主题中讨论的其他器件:TMDSCNCD28335、 C2000WARE
工具/软件:
我在 TMDSCNCD28335上使用 CCS v12.3开发了固件。 如果我们在 CCS 调试器上使用 RAM 链接器命令文件、此方法效果很好。 如果我更改为使用闪存链接器命令文件 F28335并将--ramfunc 选项设置为 on、则在将固件刷写到器件后它无法很好地运行。 但是、如果我关闭--ramfunc 选项、固件在刷写后将运行良好。 如果在打开--ramfunc 选项时查看映 射文件、我会发现包含 main 函数的 obj 文件在 RAM 中被映射两次、 如下所示:
段分配映射
输出属性/
段页原点长度输入段
----- ------------------------ ----- ------------------------
.TI.ramfunc
* 0 00320000 0000065c 运行 ADDR = 00008000
00320000 00000365 DSP2833x_DefaultIsr.obj (.TI.ramfunc:retain)
00320365 000000d9 DSP2833x_sysctrl.obj (.TI.ramfunc)
0032043e 000000a0 SmartBit_2833xSci_int_1.obj (.TI.ramfunc:retain)
003204de 00000074 DSP2833x_CpuTIMERs.obj (.TI.ramfunc)
00320552 00000074 SmartBit_2833xSci_int_1.obj (.TI.ramfunc)
003205c6 00000048 DSP2833x_SCI.obj (.TI.ramfunc)
0032060e 00000028 DSP2833x_PIECTRL.obj (.TI.ramfunc)
00320636 00000022 DSP2833x_PieVect.obj (.TI.ramfunc)
00320658 00000004 DSP2833x_usDelay.obj (.TI.ramfunc)
这似乎是使固件无法正常工作的原因。 我的问题是,如何摆脱其中一个? 此固件根据 TI 的 SCI 通信示例例例程进行了修改。
提前感谢您的帮助。
Weiliang