工具/软件:Code Composer Studio
您好、先生、
我在另一个主题中提出了类似的问题: https://e2e.ti.com/support/microcontrollers/c2000/f/171/t/684746
但我不知道这一主题是否已经结束,因为我在大约2天内没有收到对最近答复的答复。 因此、我必须创建新线程。
请查看下面的问题以红色突出显示。
目前、我对 cmd 文件修改有疑问。
当前状态:
次级引导区域:FLASH_H + FLASH_G (0x30 0000H 至0x30 FFFFh)
应用领域:FLASH_F + FLASH_D (0x31 0000H 至0x32 7FFFH)
1.当 secondary 引导跳转到应用程序时,它是否仅使用 ASM (" lb 0x327FFE ");?
由于应用领域= Flash_F 到 Flash_D,跳转地址为0x327FFE,对吧?
(我执行了跳转到应用程序起始地址0x310000H 的测试、但失败了、它进入了中止。 EXIT.c 的说明)
3.如果1. 和2. 正确,如何更改应用程序项目的 cmd 文件?
1) 1)起始地址= 0x33FFF6、不应更改、对吧?
2) 2)在我展示的这个主题的设置下、您可以在 cmd 文件内容中看到上述信息的其他区域。
init/.pinit /.text:> FLASHF_D,page = 0 //此处应为应用程序闪存区,应用程序的请求应是 FlashF:0x310000H 的起始地址,
今天、我测试了跳转至0x327FFEH 和0x310000H、都失败了。
1)跳转至0x310000H (该地址具有有效数据,而不是0xFFFF)时,它会输入 exit.c 的 abort()
2)跳转至0x327FFEH (此地址数据:FFFF FFFF 1901 56C3 FFFF 0006)时,它会输入 ILLEGAL_ISR(),不会运行从不运行的应用程序代码。
BTW、在跳转到 secondary 引导中的应用程序之前、我禁用 CPU 中断并清除所有 CPU 中断标志:
IER = 0x0000;
IFR = 0x0000;
希望您尽快做出响应。 任何详细信息,请参阅主题: e2e.ti.com/.../684746
谢谢。
此致、
文森特