主题中讨论的其他器件:SysConfig
工具与软件:
您好!
我正在尝试在运行 FreeRTOS 的 A53内核上集成 Open62541 v1.3。
当我使用 UA_namespace_zero=reduced 编译 Open62541时成功运行服务器时、当我使用 UA_namespace_zero=full 编译完整节点集时、会遇到重定位问题。
以下是链接器发出的重定位错误以及使用的编译标志列表:
"C pie:/ti/gcc-arm-9.2-2019.12-mingw-w64-i686-aarch64-none-elf/bin/aarch64-none-elf-gcc-9.2.1.exe /ti/mcu_plus_sdk_am64x_10_01_00_32/source/drivers/lib /ti/mcu_plus_sdk_am64x_10_01_00_32/source/board/lib -Dua_architecture_FREERTOSLWIP -C:/ti/mcu_plus_sdk_am64x_10_01_00_32/source/kernel/freertos/lib /ti/mcu_plus_sdk_am64x_10_01_00_32/source/networking/enet/lib -C:dosc_AM64X -D_debug_=1 -O0 -ffuncections-fdata-sections-g /ti/mcu_plus_sdk_am64x_10_01_00_32/source/networking/lwip/lib -o -gdwarf-dwarf -wall -mcmodel=large -fno-dstrict-align -mfix-cortex-A53-cortex-835769 /syscfg/ti_dpl_config.o /syscfg/ti_drivers_config.o /syscfg/ti_drivers_open_close.o /syscfg/ti_pinmux_config.o /syscfg/ti_power_clock_config.o /syscfg/ti_board_config.o /syscfg/ti_board_open_close.o /syscfg/ti_enet_config.o /syscfg/ti_enet_open_close.o /syscfg/ti_enet_soc.o /syscfg/ti_enet_lwipif.o /driver/adin1300/adin1300.o /driver/ascii_conv src /driver/corcomm src /driver/coremon src /driver/eth_cdd/eth_cdd.o /driver/osal src /driver/sw_support src src /Users/quant/Documents/Projects/lemac/atacama-opc/tool/projectConfig/a53ss0-0_freertos/linker.cmd freertos.am64x.a53.gcc-aarch64.debug.lib drivers.am64x.a53.gcc-aarch64.debug.lib board.am64x.a53.gcc-aarch64.debug.lib enet-cpsw.am64x.a53.gcc-aarch64.debug.lib lwipif-cpsw-freertos.am64x.a53.gcc-aarch64.debug.lib lwip-freertos.am64x.a53.gcc-aarch64.debug.lib lwip-contrib-freertos.am64x.a53.gcc-aarch64.debug.lib
Makefile:186:目标"application__main_cortex_a53_0.out"的配方失败
c:/ti/mcu_plus_sdk_am64x_10_01_00_32/source/kernel/freertos/lib freertos.am64x.a53.gcc-aarch64.debug.lib(portASM.obj): in function `vPortRestoreTaskContext':
C:\ti\mcu_plus_sdk_am64x_10_01_00_32\source\kernel\freertos/portable/GCC/GCC/ARM_CA53/portasm.S:382:(.vecs+0x80c):重定位截断以拟合:R_AArch64_LD_default_LO19对比`.text.HwiP_pretHandler'
C:\ti\mcu_plus_sdk_am64x_10_01_00_32\source\kernel\freertos/portable/GCC/GCC/ARM_CA53/portASM.S:382:(.vecs+0x820):重定位截断以拟合:R_AArch64_LD_prel_LO19对应的` text.Hwip_defaultHandler'
C:\ti\mcu_plus_sdk_am64x_10_01_00_32\source\kernel\freertos/portable/GCC/GCC/ARM_CA53/portasm.S:382:(.vecs+0x840):重定位截断以拟合:R_AArch64_LD_prel_LO19对应的`.text.Hwip_exceptHandler'
C:/ti/mcu_plus_sdk_am64x_10_01_00_32/source/kernel/freertos/lib 在函数`HwiP_SVC_Handler'中的 freertos.am64x.a53.gcc-aarch64.debug.lib(portASM.obj)::
C:\ti\mcu_plus_sdk_am64x_10_01_00_32\source\kernel\freertos/portable/GCC/GCC/ARM_CA53/portasm.S:391:(.vecs+0x950):重定位截断以拟合:R_AArch64_LD_prel_LO19对比`.text.Hwip_exceptHandler'
C:\ti\mcu_plus_sdk_am64x_10_01_00_32\source\kernel\freertos/portable/GCC/GCC/ARM_CA53/portasm.S:391:(.vecs+0x958):重定位截断以拟合:R_AArch64_LD_default_LO19对比`.text.HwiP_pretHandler'
C:\ti\mcu_plus_sdk_am64x_10_01_00_32\source\kernel\freertos/portable/GCC/GCC/ARM_CA53/portasm.S:391:(.vecs+0x9ac):重定位截断以拟合:R_AArch64_LD_default_LO19对比`.text.HwiP_pretHandler'
C:\ti\mcu_plus_sdk_am64x_10_01_00_32\source\kernel\freertos/portable/GCC/GCC/ARM_CA53/portasm.S:397:(.vecs+0x9d8):重定位截断以拟合:R_AArch64_LD_Excel_LO19对比`.text.HwiP_pretHandler'
C:\ti\mcu_plus_sdk_am64x_10_01_00_32\source\kernel\freertos/portable/GCC/GCC/ARM_CA53/portasm.S:397:(.vecs+0x9ec):重定位截断以拟合:R_AArch64_LD_default_LO19对比`.text.Hwip_pretHandler'
C:\ti\mcu_plus_sdk_am64x_10_01_00_32\source\kernel\freertos/portable/GCC/GCC/ARM_CA53/portasm.S:397:(.vecs+0xa0c):重定位截断以拟合:R_AArch64_LD_Excel_LO19对比`.text.HwiP_pretHandler'
函数`HwiP_IRQ_Handler'中的 c:/ti/mcu_plus_sdk_am64x_10_01_00_32/source/kernel/freertos/lib:freertos.am64x.a53.gcc-aarch64.debug.lib(portASM.obj)::
C:\ti\mcu_plus_sdk_am64x_10_01_00_32\source\kernel\freertos/portable/GCC/GCC/arm_CA53/portasm.S:(.vecs+0xb38):重定位截断以拟合:R_AArch64_LD_prel_LO19对比`.text.Hwip_defaultHandler'
C:\ti\mcu_plus_sdk_am64x_10_01_00_32\source\kernel\freertos/portable/GCC/gcc/arm_CA53/portasm.s:442:(.vecs+0xb6c):输出中省略的其他重定位溢出
collect2.exe:错误:LD 返回1退出状态
gmake[1]:***[application__MAIN_Cortex_A53_0.out]错误1.
gmake:***[All]错误2.
Makefile:182:目标"全部"的配方失败
我还想指出的是、当我使用 TI-clang 4.0.1工具链为 R5F 内核编译相同的软件时、一切都运行顺利、不会发生此类重定位错误。
请告知如何解决此问题。
此致、
保罗·马蒂尼