主题中讨论的其他器件:TMS570LS1227、 TMS570LS1224、 HALCOGEN
工具/软件:Code Composer Studio
您好!
我目前正在为 TMS570LS1224开发基于 CAN 的引导加载程序。 是的、有一 个基于 CAN 的示例、但它是针对 TMS570LS1227 MCU 而设计的。 因此、我更喜欢 通过引用该示例自己开发一个。
现在、我使用了两个不同的项目、 通过 在 链接器 cmd 文件(sys_link.cmd)和中断矢量文件(sys_intvecs.asm)中进行更改、我能够在闪存存储器中放置这两个具有不同位置的代码。 在调试这些项目后、我能够 正确地从第一个测试引导加载程序代码跳转到另一个测试应用程序代码。
接下来我要做 的是在应用代码中使用基于 RTI 的中断并重新调试代码、并测试引导加载程序代码是否正确跳转到未发生的应用代码。
问题是引导加载程序运行正常、但此后不会跳转到应用程序代码。
我已经附上了这两个项目、请查看。
我尝试更改引导加载程序 CAN 示例中给定的引导加载程序项目参数的中断矢量文件(sys_intvecs.asm)。
从以下 位置完成的更改:
b _c_int00
UndefEntry
b 未定义尝试
svcEntry
b svcEntry
PrefetchEntry
B prefetchEntry
b _dabort
b 相位中断
LDR PC、[PC、#-0x1b0]
LDR PC、[PC、#-0x1b0]
更改为
b _c_int00;0x00
b #0x1FFF8;0x04
b #0x1FFF8;0x08、软件中断
b #0x1FFF8;0x0C、中止(预取)
b #0x1FFF8;0x10、中止(数据)
保留尝试
b reservedEntry;0x14
LDR PC、[PC、#-0x1b0];0x18
LDR PC、[PC、#-0x1b0];0x1C
其中、0x1FFF8 =跳转地址(即0x20000)- 0x08
这会导致代码进入某种错误循环、其中 launchpad 上的 ERR LED 会开启全时、程序不可调试。
我认为中断矢量文件 (sys_intvecs.asm)中可能会有一些不同的更改。 但我无法获取任何与中断矢量文件相关的文档。
我尝试阅读以下参考手册和文档:
请帮助我解决问题、并提供参考文档、以帮助我编辑中断矢量文件 (sys_intvecs.asm)。