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.
工具与软件:
嗨,大家好,我每次组装(构建)我的 asm 文件时都有一个错误。 错误是这样的
说明 资源 路径 位置 类型
#10440-D 创建输出段".init_array"、没有段规范。 有关本节的更多信息、请参阅 software-dl.ti.com/.../C2000_c28x_migration_from_coff_to_eabi.html TMS320F28075_GPU_ASM C/C++问题上的"C2000从 COFF 迁移到 EABI"指南
CCS 说这是 C/C++问题、但我的 asm 文件是一个只汇编文件、而不是带有.extern ASM_FILE 的 C/C++文件。
在我的 asm 文件的开头、我有以下内容:
.global _c_int00
.sect .reset
.long _c_int00
.sect "Pete_asm"
.retain
.text
.nolist
_c_int00 .asmfunc
spm 0 ;初始化状态位字段
C28OBJ ;设置 C28x 模式
CLRC AMODE
C28ADDR
C28MAP
asp ;对齐栈指针
我的 ASM 文件下载到我的 F28075文件并且运行良好。 每次我构建 ASM 文件时、错误都令人厌烦。
请告诉我如何消除此错误。
感谢大家和 Gals、希望很快收到您的回复。
Peter
尊敬的 Peter:
请了解一下类似的 E2E -
(+) TMS320F28379D:#10247-D 创建不含 SECTIONS 规范的输出段".data"- C2000微控制器论坛- C2000 ︎ 微控制器- TI E2E 支持论坛
您需要 在链接器 cmd 文件中定义.init_array。
请查看 C2000Ware SDK 中的2807x_Generic_RAM_lnk.cmd 文件、 该文件为 C2000Ware_5_04_00_00\device_support\f2807x\common\cmd。
我们已定义 .init_array :> RAMM0、 PAGE = 0并映射 ti RAMM0。 此外、请确认您是否使用 EABI 格式(步骤显示在上面随附的 E2E 中)。
谢谢
Aswin
大家好、Aswin P、感谢您的帮助。 甚至在我的链接器文件中也不包含.init_array 文本。 不知道该行是如何删除的、但它现在都可以正常工作。
再次感谢您的帮助。 祝你度过美好的一天!