应用官方Bootloader后,APP中调用reboot命令死机。那么,应用官方Bootloader后,APP中如何软件复位呢?
查看更多
[i=s] 本帖最后由 aozima 于 2019-5-29 15:15 编辑 [/i]
reboot是如何实现的? 芯片是啥?是否用了外置看门狗芯片?
reboot是如何实现的?
芯片是啥?是否用了外置看门狗芯片?
reboot是官方的代码:
#ifdef RT_USING_FINSH#include <finsh.h>static void reboot(uint8_t argc, char **argv){ rt_hw_cpu_reset();}FINSH_FUNCTION_EXPORT_ALIAS(reboot, __cmd_reboot, Reboot System);#endif /* RT_USING_FINSH *//** * reset CPU */RT_WEAK void rt_hw_cpu_reset(void){ SCB_AIRCR = SCB_RESET_VALUE;}我重写rt_hw_cpu_reset也不行:/** * overwrite reset CPU */void rt_hw_cpu_reset(void){ NVIC_SystemReset();}
#ifdef RT_USING_FINSH
#include <finsh.h>
static void reboot(uint8_t argc, char **argv)
{
rt_hw_cpu_reset();
}
FINSH_FUNCTION_EXPORT_ALIAS(reboot, __cmd_reboot, Reboot System);
#endif /* RT_USING_FINSH */
/**
* reset CPU
*/
RT_WEAK void rt_hw_cpu_reset(void)
SCB_AIRCR = SCB_RESET_VALUE;
我重写rt_hw_cpu_reset也不行:
* overwrite reset CPU
void rt_hw_cpu_reset(void)
NVIC_SystemReset();
上述MCU复位函数在不使用bootload的情况下都能正常复位
MCU型号:STM32F105RC没有外部看门狗
芯片是啥?是否用了外置看门狗芯片?APP启动后按复位键是否可以重启成功,并由boot再次跳往app?
同样的问题,不知道你们解决了吗?
欢迎发表与嵌入式相关的技术分享、开发技巧、工具介绍、技术设想、职业心得、行业评论等对他人有启发,排版优雅的文章
回到 顶部
发布 问题
分享 好友
手机 浏览
投诉 建议
回到 底部