OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2159|回复: 9

APP升级异常

[复制链接]

4

主题

10

帖子

0

精华

新手上路

积分
34
金钱
34
注册时间
2017-11-1
在线时间
5 小时
发表于 2019-2-19 22:10:52 | 显示全部楼层 |阅读模式
1金钱
对原子哥的bootloader程序稍微修改了下,主要是由按键跳转至APP变为由串口通信改变标志位来跳转APP,出现了个奇怪的问题。第一次下载bootloader程序,然后更新APP,APP可以正常运行,将APP程序稍微做一下改动(改大或改小都试了),然后升级,APP不能运行(死机了)。APP程序恢复到原程序后升级,又可以重新运行了。不明白是怎么回事,求解啊,,,,,

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2019-2-20 01:42:58 | 显示全部楼层
别搞个这样的底色。。。看不清
回复

使用道具 举报

4

主题

10

帖子

0

精华

新手上路

积分
34
金钱
34
注册时间
2017-11-1
在线时间
5 小时
 楼主| 发表于 2019-2-20 08:16:19 | 显示全部楼层
APP程序为指示灯闪烁程序,分别闪烁100(A程序)   500(B程序)   1000(C程序)  毫秒。D程序为bootloader程序,使用串口IDLE中断更新标志位来判断是否运行APP。目前现象为D+A  正常  D+B  D+C均正常。但是下载D程序后串口发送A程序,A程序正常运行,再发送B(或C)程序,B或C程序死机,在此基础上再发送A程序,A程序运行正常。也就是说只能运行第一次下载的那一种APP程序。
回复

使用道具 举报

4

主题

10

帖子

0

精华

新手上路

积分
34
金钱
34
注册时间
2017-11-1
在线时间
5 小时
 楼主| 发表于 2019-2-20 08:17:05 | 显示全部楼层
正点原子 发表于 2019-2-20 01:42
别搞个这样的底色。。。看不清

APP程序为指示灯闪烁程序,分别闪烁100(A程序)   500(B程序)   1000(C程序)  毫秒。D程序为bootloader程序,使用串口IDLE中断更新标志位来判断是否运行APP。目前现象为D+A  正常  D+B  D+C均正常。但是下载D程序后串口发送A程序,A程序正常运行,再发送B(或C)程序,B或C程序死机,在此基础上再发送A程序,A程序运行正常。也就是说只能运行第一次下载的那一种APP程序。
回复

使用道具 举报

6

主题

315

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1669
金钱
1669
注册时间
2018-1-29
在线时间
160 小时
发表于 2019-2-20 21:25:21 | 显示全部楼层
:Q
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2019-2-21 02:12:53 | 显示全部楼层
he642198233 发表于 2019-2-20 08:17
APP程序为指示灯闪烁程序,分别闪烁100(A程序)   500(B程序)   1000(C程序)  毫秒。D程序为bootloa ...

被你绕晕了
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

4

主题

10

帖子

0

精华

新手上路

积分
34
金钱
34
注册时间
2017-11-1
在线时间
5 小时
 楼主| 发表于 2019-2-21 19:30:31 | 显示全部楼层

现象就是只有在BootLoader程序下载后,第一次升级的APP程序可以正常运行,后续的APP程序都会死机(只是改了闪烁时间)。重新升级第一次的APP单片机又恢复运行。相当于BootLoader只识别第一次下载的APP
回复

使用道具 举报

4

主题

10

帖子

0

精华

新手上路

积分
34
金钱
34
注册时间
2017-11-1
在线时间
5 小时
 楼主| 发表于 2019-2-21 19:31:03 | 显示全部楼层

现象就是只有在BootLoader程序下载后,第一次升级的APP程序可以正常运行,后续的APP程序都会死机(只是改了闪烁时间)。重新升级第一次的APP单片机又恢复运行。相当于BootLoader只识别第一次下载的APP
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2019-2-22 02:15:17 | 显示全部楼层
he642198233 发表于 2019-2-21 19:31
现象就是只有在BootLoader程序下载后,第一次升级的APP程序可以正常运行,后续的APP程序都会死机(只是改 ...

简化下代码,试试看
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

6

主题

315

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1669
金钱
1669
注册时间
2018-1-29
在线时间
160 小时
发表于 2019-2-24 06:04:50 | 显示全部楼层
he642198233 发表于 2019-2-21 19:31
现象就是只有在BootLoader程序下载后,第一次升级的APP程序可以正常运行,后续的APP程序都会死机(只是改 ...

是在BootLoader阶段死机? 还是在APP运行阶段死机?
如果在APP运行阶段死机,是不是中断问题?
我的处理方法是在BootLoader跳转到APP前关闭所有中断,包括FIQ。
APP运行时根据自身需要开响应中断。
如果是BootLoader阶段死机,说明APP影响了BootLoader运行,是不是APP覆盖了BootLoader的某些代码区域?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-23 19:20

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表