大家好、TI 和 TI 社区、
我注意到、当我的程序复杂性增加(文本/数据增加很多)时、它将不再从闪存开始、即使 Code Composer Studio 在运行闪存配置时没有问题。
我可以使用 LED_ex1_blinky 示例通过进行一些简单的更改来重现问题。
我在 TI 控制卡评估板上的 CPU1上运行。 我使用的是 CCS 10和 TI 编译器20.2.2。 但问题似乎与工具无关、我使用 CCS 9和编译器20.2.1复制了它
我更改链接器命令文件、使其合并 RAMLS0 - RAMLS4、因此我有更大的连续存储器供链接器放置.text、.bss 等 我将所有内容都放在这个 RAM 区域中、并且不会从编译或链接中收到警告。
然后、我只需声明一个全局变量、并在 Blinky 循环中对其进行写入。 如果我使这个全局变量占用0x1f6f 字、并使用 CCS 将程序加载到闪存中、我可以对电路板进行下电上电、它将从闪存开始、这可以通过闪烁的灯来证明。
如果我使全局变量大于一个字(0x1f70字)、它将从调试器进行编译、链接和运行。 但在下电上电时不会运行。
我怀疑我对链接器命令文件的修改不够充分、但我不知道我缺少什么。 相关文件已附加-我已将其扩展名更改为.txt、以满足上传 tool.e2e.ti.com/.../2063.led_5F00_ex1_5F00_blinky.ce2e.ti.com/.../2838x_5F00_FLASH_5F00_lnk_5F00_cpu1_5F00_cmd.txte2e.ti.com/.../1f6f_5F00_works_5F00_map.txte2e.ti.com/.../1f70_5F00_fails_5F00_map.txt 的要求
非常感谢您的帮助。
一切都很棒
镍氢电池