重置和引导装载程序

⚠️
大家好. .感谢来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台的过程中,它将提供更好的功能,并包含在主对话网站。所有的帖子和账号已经迁移。我们现在只接受新论坛的流量-请发布任何新的帖子在//www.xmece.com/support.我们会在接下来的几天修复bug /优化搜索和标记。
4个职位/ 0个新职位
最后发表
garzola
离线
最后看到:2个月2天前
加入:2018-07-23 13:21
重置和引导装载程序

你好,

我必须重新设置应用程序从引导加载程序引导…似乎调用NVIC_SystemReset应用程序没有从SW引导加载程序再次传递,这是可能的吗?

谢谢

马可

设备:
PM_Dialog
离线
最后看到:3天43分钟前
工作人员
加入:2018-02-08 11:03
嗨garzola,

嗨garzola,

软件复位后,引导加载程序将不再执行,应用程序将从主程序运行。如果您想在重新设置D1468x之后重新运行引导加载程序,则应该进行硬件重置。HW重置基本上是由RST垫、Watchdog过期、POR和调试器触发的(通过写入SWD_RESTET_REG)。对于您的问题,一个可能的解决方案是显式触发看门狗机制,但可能需要一些修改来导致HW重置。请查看5重启分析- WDOG部分调试技术教程(HTML)教程。缺省情况下,系统被配置为当WDOG值为零时发出一个NMI中断。因此,您应该注释掉hw_watchdog_freeze(),以便在每次您想要击中WDOG并导致HW重置时不会引起NMI。下一步是停止通知任务中的WDOG,因为您希望显式触发WDAG机制而不是触发NMI机制。例如,您可以注释掉IDLE任务中的sys_watchdog_notify()。在DA1468x首次引导时描述的过程中,WDOG将不会被通知,超时将过期,并且WDOG将被显式触发。当它被触发时,NMI将不会被执行,硬件将被重置。硬件复位后,将再次运行引导加载程序。注意,每次系统启动时,都会发生硬件复位。因此,我的建议是在WDAG第一次命中时在SPI flash中添加一个标志,当系统重新启动时,您应该读取该标志,而不是显式触发WDAG机制。

谢谢,PM_Dialog

garzola
离线
最后看到:2个月2天前
加入:2018-07-23 13:21
谢谢。

谢谢。

现在我明白了…顺便说一下,我调用hw_cpm_reboot_system(),似乎引导加载程序又被调用了。

致以最亲切的问候。

马可

PM_Dialog
离线
最后看到:3天43分钟前
工作人员
加入:2018-02-08 11:03
嗨garzola,

嗨garzola,

谢谢你的提示。

PM_Dialog