工具与软件:
大家好!
我正在尝试使用主存储器引导加载程序。
通过检查参考项目、我创建了"MSPBoot"和"MSPBoot" App_Simple。
首先、我将"MSPBoot"代码写入微控制器、然后我 App_Simple 使用差分下载方法将"MSPBoot"代码写入微控制器。
我可以使用 MSPBoot 运行一个简单的 LED 闪烁项目。
我也可以使用中断(矢量重定向按照预期工作)。
引导加载程序和应用程序可以成功一起运行。
但是、随着应用程序代码复杂性的增加、在某种程度上、应用程序代码将停止工作。
我收到错误:
"在没有可用调试信息或程序代码之外的地址"0xf0000"处中断。"
这里的地址是随机生成的。
有时操作以"在没有可用调试信息的地址"0xfcfc"或程序代码之外的中断"停止。
有时操作会因"地址"0xfd22"处的中断(没有可用的调试信息)或程序代码之外"而停止。
我能够确定问题发生的位置。
当闪存段使用32752字节时、APP 正常工作;但当闪存段使用32756字节时、APP 不工作。
只添加一行代码会将和增加4字节
我收到错误消息"在地址'0xXXXXX'处中断、没有可用的调试信息、或者超出了程序代码。"
可能是关于堆栈问题。 我们 应拆分 RAM 区域。
但是、在引用的 MSPBoot 和 App_Simple 项目中、RAM 区域不会拆分。
两个项目使用相同的 RAM 区域。
我无法同时运行应用软件和引导加载程序软件的原因可能是什么?
如果您能提供帮助、我将不胜感激。
谢谢。