主题中讨论的其他器件:TM4C123、 DK-TM4C123G
工具/软件:Code Composer Studio
您好、Team CCS、
客户报告..
"此问题适用于 TM4C123的引导加载程序。 发现我们无法使用引导加载程序在0x0调试应用软件、应用软件将提升到0xc00。 不过奇怪的是、应用软件在闪存之外运行、而不使用调试器。
当 main()启用中断时,应用软件会在调试器上崩溃。 虽然在启用中断后很难判断代码的位置,但在我停止调试器后,程序计数器位于0x02FC。 Call Stack 窗口显示[_IAR_systems$MODULE + 0x2fb]。 该地址与程序计数器一致。 任何到向量表的跳转应该位于地址0xc00或更高。 由于这个错误引用了一个 IAR 符号、我找不到这个符号的信息、我们用 IAR 进行了检查。
IAR 说他们以前看到过这个问题、建议 CPU 制造商提供的启动代码经常将 VTABLE 重置回0x0、覆盖在 IAR 链接器文件中所做的更改。 但是、看不到 TI 提供的代码在哪里执行此操作。 IAR 通过在 main()内将 VTABLE 设置回0xc00的第一项来提供了一个部分解决方案。 我们使用了 TI 提供的 CPU_RegisterWrite()函数将 VTABLE 设置回0c00。 我不确定这是最佳解决方案。 我们认为,我们需要更改 TI 提供的启动代码,以便 VTABLE 不会改回0x0。
IAR 建议的解决方案似乎略低于最佳解决方案。
您以前是否见过此问题?
我们是否已经对此有权变措施?
源是否可用于启动功能? 如果是、在哪里?"
谢谢、Merril