Other Parts Discussed in Thread: MSPM0G3519, CCSTUDIO, UNIFLASH
器件型号: MSPM0G3519
Thread 中讨论的其他器件: CCSTUDIO、 UNIFLASH
您好!
我尝试根据闪存多组功能应用手册实现存储体交换功能、但遇到了问题。 我使用 CCSTUDIO 20.4.0 和 MSPM0G3519 LaunchPad。
本应用手册中的 CSC 代码示例位于组 0 中、从 0x0000 0000 开始、我的应用程序地址为 0x0000 0800。 链接器文件会相应地更改。
我使用 CCSTUDIO 的调试功能将 CSC 编程到 μ µC 中。 随后、我使用 Memory Window 的“Import data from file“功能手动将应用程序编程到 μ µC 中。 现在、软件已启动。
如果未启用存储体交换、CSC 必须使用 start_app () 函数启动应用程序(也来自应用手册)。 方法是调用“start_app ((uint32_t *)(0x0800))“;但是、这不会启动应用程序、但始终返回 CSC。 当单步执行 start_app () 函数时,我可以看到如何正确地将指向向量表的指针传递给函数。 但是、在执行汇编语言部分后、指针突然变为 0x0000 0000、指向 CSC 的矢量表、而不是应用程序。 这显然会再次启动 CSC。 如果在执行汇编语言部分后手动输入正确的矢量表地址、则应用程序会被正确启动。
我是否需要在 assbler 或编译器中配置任何内容以使 start_app () 正常工作?
此致
Uwe
