This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] 编译器/AM6548:IPCLLD 的编译器错误、带有错误的"XDC_TARGET_NAME__"

Guru**** 2998400 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/925760/compiler-am6548-compiler-error-of-ipclld-with-wrong-xdc_target_name__

器件型号:AM6548

工具/软件:TI C/C++编译器

您好!

我正在使用具有 C++的 R5F 的 IPCLLD 驱动程序构建吸血鬼。 如另一个 Thread 中所述修改 PDK 的 makefile:

如何修改 rules_ti_cgt_arm.mk 以支持编译.cp 文件?

在添加 IPCLLD 模块之前、它工作正常。 虽然-mv7R5和-Dxdc_target_name____=R5F 由 makefile 定义、但在文件 select.h 的第129行中它仍然被识别为 R4F、这是非常奇怪的

编译器的输出如下所示、

#编译 am65xx:mcu1_0:release:bnI_master_ng:IpcTaskBase.cpp
/home/zhih/ti/AM65XX_RTOS_SDK_7/ti-cgt-arm_20.2.0.LTS/bin/armcl     std.h -ppp=/home/zhih/workspace_ccs/firmware_60/src/build/am65xx/mcu1_0/release/little/.deps/IpcTaskBase.P /home/zhih/workspace_ccs/firmware_60/src/build/am65xx/mcu1_0/release/configuro/package/cfg/bni_master_ng_per5f.h -g -ms -DMakEFILE_Build -c -QQ -pdsw225 --endian=little -mv7R5 --abi=eabi -eo.oer5f -ea.ser5f --symdebug:dwarf --embedd_inline_assembly=vfpv3d16 -abi=-abi_exclus_dc/zh-drom_rom_rom_rom_rom_rom_rom_zh_rom_rom_rom_rom_rom_rom_zh_rom_rom_rom_rom_rom_rom_rom_rom_rom_rom_rom_rom_rom_rom_en_en_rom_rom_en_rom_rom_zh_rom_rom_rom_rom_rom_rom_rom_rom_rom_rom_rom_rom_rom_b_rom_rom_rom_rom_rom_b_rom_rom_rom_rom_rom_rom_rom_rom_rom_rom_rom_rom_b_rom_zh_rom_rom_rom_rom_rom_rom_rom_rom_rom_rom_ IpcTaskBase.cpp /home/zhih/workspace_ccs/firmware_60/src/build/am65xx/mcu1_0/release /home/zhih/workspace_ccs/firmware_60/src/build/am65xx/mcu1_0/release
"/home/zhih/ti/AM65XX_RTOS_SDK_7/bios_6_82_01_19/packages/ti/targets/select.h、第129行:错误:宏"XDC_TARGET_NAME______"的重新定义不兼容
在"IpcTaskBase.CPP"的编译中检测到1错误。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    它似乎缺少一些环境变量。 但我不能确定哪一个是它。  

    我的 makefile 文件: e2e.ti.com/.../makefile.txt

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Haining、

    您是否可以尝试在 make 文件中添加'-D_TI_ARM_V7R5__'? 当包含 select.h 文件时、-mv7R5选项似乎被覆盖或不起作用。

    此致、

    Garrett

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Garrett、

    '-D_TI_ARM_V7R5__'没有帮助。 问题是  __TI_ARM_V7R4_和__TI_ARM_V7R5_均已定义。 它遇到错误、因为首先检查 V7R4。 如果我在 select.h 中更改 R4和 R5的顺序、则错误消失。 CGT 编译器中似乎存在一个错误、__TI_ARM_V7R4__始终处于设置状态、 因为在我的 makefile 文件和 xdctools 中、只有 R5、没有 R4。

    在编译器库的文件夹中、例如"ti-cgt-arm_20.2.1.sps/lib"、只有 rtsv7R4_*_eabi.lib、但不适用于 R5。

    在 rules_ti_cgt_arm.mk 中、它也被硬编码为"RTSLIB_name = rtsv7R4_T_le_v3D16_eabi.lib"

    我还尝试了"-U__TI_ARM_V7R4__-U_TI_TMS470_V7R4__"、

    并出现错误"Command-line error:invalid macro undefinition:__TI_ARM_V7R4__"

    如何仅激活__TI_ARM_V7R5__ 而不激活 __TI_ARM_V7R4__?

    此致、

    海宁

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Garrett、

    如果我删除  "-DMAKEFILE_BUILE"、则不再出现编译错误。

    它在 ti/CSL/tistdtypes.h 中取消定义"XDC_TARGET_NAME____"以 排除 XDC 目标。 但我确实会首先调用 xdctools。 所以我的问题得到了解决。 但它仍然位于 TI makefile 文件中。

    此致

    海宁