Other Parts Discussed in Thread: TMS570LC4357
器件型号: TMS570LC4357
你好,我又来了!
所以我有一段时间的应用程序工作了、但随着在引导中添加了 saftey-lib 自测功能、启动要复杂得多。 我发现当跳转到应用程序时,我在 systemInit() 中得到一个数据中止,具体地在 periphInit() 中。
在执行期间调用该函数两次是否存在问题? 在引导启动期间、再次在应用中(当然是不同的)?
我以不同的方式解决了这个问题 — 在引导中,而不是跳过:
((void (*)(void))entryPointAddress)();
我将入口点地址存储在特定的存储器位置、然后执行软件复位。
然后在_c_int00 () 中、用 SW_RESET 表示:我检查该地址并直接跳转到应用程序。 然后它将执行所有常用的_c_int00 () 数据。
这意味着所有的启动工作只执行一次。 它似乎更可靠、但可能不太直观/合乎逻辑。