[STM32F1] APP 无法回到 bootload

[复制链接]
2364|9
 楼主| haitianhappy 发表于 2013-12-3 12:03 | 显示全部楼层 |阅读模式
我的程序是有 bootload 起始地址0x0800 0000   然后app 起始地址 0x0800 3000   我设置了一个按键   是实现 从app重新回到bootload  但是 使用了
__set_FAULTMASK(1);      // 关闭所有中断
NVIC_SystemReset();// 复位

这两个函数   只能重启我的app  无法回到bootload的部分
zchong 发表于 2013-12-3 12:48 | 显示全部楼层
会不会已经回到了bootloader,之后又跳转到了app?
zchong 发表于 2013-12-3 12:51 | 显示全部楼层
实在不行复位前,设置一下中断向量表便宜地址
airwill 发表于 2013-12-3 13:05 | 显示全部楼层
NVIC_SystemReset();// 复位
这个方案是可行的, 我也是这么用的.
我觉得应该是 bootloader 又跳转到了app

评论

明天结贴给你分啊  发表于 2013-12-3 13:30
 楼主| haitianhappy 发表于 2013-12-3 13:12 | 显示全部楼层
我的功能是  开机  程序进入bootload    触发按键  程序进入 app     再触发按键 进入bootload    如果 程序可以回到bootload  有个按键需要判断  但是这个时候 按键并未触发 所以回到bootload 可能性不大
 楼主| haitianhappy 发表于 2013-12-3 13:25 | 显示全部楼层
确实是已经回到了bootload   我把 bootload 里面 按键判断的时间加了个大延时 功能OK
lsh505 发表于 2013-12-7 17:30 | 显示全部楼层
使用备份寄存器应该是最方便的.在APP跳转IAP前先写一下备份寄存器,比如0xAA55再后再执行跳转.
IAP程序运行后.判断一下该备份寄存器就可以进行相应的处理了
ahuzjh 发表于 2013-12-8 15:28 | 显示全部楼层
我是来学习的,多看看大婶们的想法。
chuangpu 发表于 2013-12-8 18:53 | 显示全部楼层
是不是哪里一不小心进入死循环了   楼主   这个有可能的
拿起书本 发表于 2013-12-8 20:06 | 显示全部楼层
实在不行还是用清除所有中断试试看
您需要登录后才可以回帖 登录 | 注册

本版积分规则

15

主题

131

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部