工具/软件:
您好、
为了构建用于 TMDS64EVM 多核固件工程的工业 SDK、我试图从工程根目录调用 gmake。
首先、我从 https://software-dl.ti.com/mcu-plus-sdk/esd/AM64X/latest/exports/docs/api_guide_am64x/SDK_DOWNLOAD_PAGE.html 下载并安装了所需的二进制文件。
gmake 调用是通过 CMake 完成的、如下所示:
set(CCS_path ${CMAKE_CURRENT_LIST_DIR}/tools/Linux/ccs2020/ccs)
set(compiler_dir ${CCS_path}/tools/compiler)
set(gmake_executable ${CCS_path}/utils/bin/gmake)
set(sysconfig_script ${CCS_path}/utils/sysconfig_1.24.0/sysconfig_cli.sh)
...
set(gmake_build_args "-j1" "-f" "makefile.am64x" "libs" "PROFILE=${profile}" "TOOLS_PATH=${compiler_dir}" "CCS_PATH=${CCS_path}")
execute_process(
COMMAND ${gmake_executable} ${gmake_build_args}
WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}/sources/sdk
COMMAND_ERROR_IS_FATAL ANY
)
execute_process(
COMMAND ${gmake_executable} ${gmake_build_args}
WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}/sources/sdk/mcu_plus_sdk
OUTPUT_FILE gmake_output.log
ERROR_FILE gmake_output.log
COMMAND_ERROR_IS_FATAL ANY
)
`CCS` PATH 仅具有以下工具:

第一个 gmake 调用(构建 industrial_comms 源)成功。 第二个(构建嵌套 MCU_PLUS_SDK)失败。 将`-j`设置为 1 以获得更好的日志记录输出。 `gmake_output.log`具有以下特性:
/home/matthijs/repos/ti-industrial-sdk/tools/Linux/ccs2020/ccs/utils/bin/gmake -C source/board -f makefile.am64x.r5f.ti-arm-clang all gmake[1]: Entering directory '/home/matthijs/repos/ti-industrial-sdk/sources/sdk/mcu_plus_sdk/source/board' gmake[1]: Nothing to be done for 'all'. gmake[1]: Leaving directory '/home/matthijs/repos/ti-industrial-sdk/sources/sdk/mcu_plus_sdk/source/board' /home/matthijs/repos/ti-industrial-sdk/tools/Linux/ccs2020/ccs/utils/bin/gmake -C source/board -f makefile.am64x.m4f.ti-arm-clang all gmake[1]: Entering directory '/home/matthijs/repos/ti-industrial-sdk/sources/sdk/mcu_plus_sdk/source/board' gmake[1]: Nothing to be done for 'all'. gmake[1]: Leaving directory '/home/matthijs/repos/ti-industrial-sdk/sources/sdk/mcu_plus_sdk/source/board' /home/matthijs/repos/ti-industrial-sdk/tools/Linux/ccs2020/ccs/utils/bin/gmake -C source/board -f makefile.am64x.a53.gcc-aarch64 all gmake[1]: Entering directory '/home/matthijs/repos/ti-industrial-sdk/sources/sdk/mcu_plus_sdk/source/board' Compiling: board.am64x.a53.gcc-aarch64.debug.lib: eeprom/eeprom.c /home/matthijs/repos/ti-industrial-sdk/tools/Linux/ccs2020/ccs/tools/compiler/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/aarch64-none-elf-gcc -c -mcpu=cortex-a53+fp+simd -mabi=lp64 -mcmodel=large -mstrict-align -mfix-cortex-a53-835769 -mfix-cortex-a53-843419 -Wall -Werror -g -Wno-int-to-pointer-cast -Wno-pointer-to-int-cast -Wno-unused-but-set-variable -fdata-sections -ffunction-sections -Wno-unused-function -Wno-uninitialized -D_DEBUG_=1 -I/home/matthijs/repos/ti-industrial-sdk/sources/sdk/mcu_plus_sdk/source -I/home/matthijs/repos/ti-industrial-sdk/sources/sdk/mcu_plus_sdk/source/board/ethphy/enet/rtos_drivers/include -I/home/matthijs/repos/ti-industrial-sdk/sources/sdk/mcu_plus_sdk/source/board/ethphy/port -DSOC_AM64X -DMCU_SDK_BUILD -DPHY_CFG_TRACE_LEVEL=3 -MMD -MT eeprom.obj -o obj/am64x/gcc-aarch64/debug/a53/board//eeprom.obj eeprom/eeprom.c as: unrecognized option '-EL' gmake[1]: *** [makefile.am64x.a53.gcc-aarch64:114: eeprom.obj] Error 1 gmake[1]: Leaving directory '/home/matthijs/repos/ti-industrial-sdk/sources/sdk/mcu_plus_sdk/source/board' gmake: *** [makefile.am64x:768: board_a53.gcc-aarch64] Error 2
我不确定此错误的来源。 SDK 中没有指定此选项的 Makefile。 GCC 是否自行添加了? 我的构建流程是否缺少 A53 库所需的环境变量或额外工具?
希望就如何尝试使用 gmake 解决此问题的选项提供建议。 或者、一种禁用构建 A53 库(因为我仅为 M4 和 R5 内核构建固件)的方法也就足够了。
此致、
Matthijs