打印
[STM32L1]

bootloader升级app后进入hardfault

[复制链接]
4165|17
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jlyuan|  楼主 | 2021-6-2 23:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如果用keil下载程序就会出现hardfault, 复位也解决不了问题。
但是如果直接拔掉电源重新上电就怎么压力测试都不会有问题。

同样直接用bootloader下载app后会出现这个问题。但是 重新上电就没了。

还有, 如果我有keil把app重新烧写到app区域, 再用bootloader升级app擦拭flash,就没有这个问题了。
另外的条件是, 如果我单独把app烧写到开始位置 ,直接启动app也不会有问题。

那么这么看 好像问题出在bootloader的上面。
但是如果bootloader升级app后, 重新上电就没有问题。
对此我怀疑问题可能出在ymodem的部分。 但是我仔细看过代码, 也没有什么可以调节的部分。

使用特权

评论回复
沙发
wyjie| | 2021-6-2 23:51 | 只看该作者
STM32 ST-LINK Utility 这个软件用过吗?这个编程给力,ST专门做的烧录软件。

使用特权

评论回复
板凳
chuxh| | 2021-6-2 23:53 | 只看该作者
多半程序的问题,多看看代码是否存在BUG

使用特权

评论回复
地板
jlyuan|  楼主 | 2021-6-2 23:55 | 只看该作者
我也觉得是, 但是重新上电又好了  

使用特权

评论回复
5
jlyuan|  楼主 | 2021-6-2 23:57 | 只看该作者
考虑是不是中断或者堆栈的问题。但是呢,就是开始把APP 和bootloader都是刷下去 然后升级又不会有这样的问题。所以很费解

使用特权

评论回复
6
xxrs| | 2021-6-2 23:58 | 只看该作者
程序问题可能性比较大,堆栈或者指针跳转或操作了不当的地址。
再检查一下程序。

使用特权

评论回复
7
zwll| | 2021-6-3 20:38 | 只看该作者
拔掉jlink就没有任何问题了

使用特权

评论回复
8
jlyuan|  楼主 | 2021-6-3 20:41 | 只看该作者
但是我用jlink只是用来下载程序 并未用作调试

使用特权

评论回复
9
heweibig| | 2021-6-3 20:43 | 只看该作者
真是看得头晕啊。

使用特权

评论回复
10
jiajs| | 2021-6-3 20:45 | 只看该作者
注意APP的中断矢量的重定义,IAP跳转到APP的地址要正确。

使用特权

评论回复
11
zhenykun| | 2021-6-3 20:47 | 只看该作者
目前来看,ST官方都有成熟的例程了,参考下吧。

使用特权

评论回复
12
zwll| | 2021-6-3 20:49 | 只看该作者
检查JLINK复位脚,看是否拉低处于一直复位状态。

使用特权

评论回复
13
stly| | 2021-6-3 20:50 | 只看该作者
更新完程序一般是要重新启动的!

使用特权

评论回复
14
xxrs| | 2021-6-3 20:52 | 只看该作者
不重新启动的话,当前执行的映像访问的内存可能还是之前的内存,可能因为映像的变动而出错

使用特权

评论回复
15
jiajs| | 2021-6-3 20:54 | 只看该作者
然根本原因可能还是某个执行函数对内存的访问,对参数的值,或指针没有做条件约束。

使用特权

评论回复
16
jlyuan|  楼主 | 2021-6-3 20:57 | 只看该作者

嗯,预料中的结果,多谢大家啦

使用特权

评论回复
17
weifeng90| | 2021-6-3 21:32 | 只看该作者
堆栈和指针溢出

使用特权

评论回复
18
kfawj| | 2021-6-10 21:53 | 只看该作者
小心中断向量表重新加载的问题,或程序起始位置和内存起始位置再核对一下!!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

880

主题

12030

帖子

4

粉丝