打印
[STM32F4]

从BootLoader跳转到App应用程序后宕机

[复制链接]
443|22
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zwll|  楼主 | 2022-5-8 12:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
从BootLoader跳转到App应用程序后宕机

使用特权

评论回复
沙发
renyaq| | 2022-5-8 12:12 | 只看该作者

楼主详细说说怎么回事啊,这么说太笼统了

使用特权

评论回复
板凳
zwll|  楼主 | 2022-5-8 12:14 | 只看该作者
查看了一下代码,原来是在应用程序中没有启动Timer4,流程如下:
1,BootLoader中开启了Timer4,用于心跳灯;
2,在app应用程序中,如果也初始化和开启timer4,程序就正常;
3,如果屏蔽掉timer4,就出现死机;
之前理解的是跳转到app后,所有初始化都重新开始,互不影响,看来是理解有误。

使用特权

评论回复
地板
zwll|  楼主 | 2022-5-8 12:16 | 只看该作者
跳转到应用程序后,需要和BootLoader的初始化一样么?

使用特权

评论回复
5
renyaq| | 2022-5-8 12:18 | 只看该作者
如果可以不一样,需要如何操作?

使用特权

评论回复
6
zhenykun| | 2022-5-8 12:20 | 只看该作者
复位或清空sram?

使用特权

评论回复
7
juventus9554| | 2022-5-8 12:22 | 只看该作者
说明里面有用到这个定时器啊,没有开启

使用特权

评论回复
8
zwll|  楼主 | 2022-5-8 12:24 | 只看该作者
仅在回调函数里翻转一下呼吸灯,不开启定时器,就不会到回调里的。

使用特权

评论回复
9
wyjie| | 2022-5-8 12:27 | 只看该作者
bootloader中尽量少打开一些外设,打开的外设需要考虑跳转到app后对app的影响,建议跳转前将用的外设deinit。

使用特权

评论回复
10
dingy| | 2022-5-8 12:29 | 只看该作者
以你的这个timer为例,在boot中打开了,应该是也开了中断,实际上要仔细分析,还是很复杂的

使用特权

评论回复
11
yszong| | 2022-5-8 12:39 | 只看该作者
比如跳转到app了,但中断向量表还未设置,这个是否发生了中断是什么结果

使用特权

评论回复
12
juventus9554| | 2022-5-8 12:42 | 只看该作者
跳转到app了中断向量表也设置了,但很多变量还未初始化,这个时候发生了中断会有什么结果,……

使用特权

评论回复
13
ousj| | 2022-5-8 12:44 | 只看该作者
一般来讲,boot程序和APP程序是两套独立的工程。
在跳转前 在BOOT区开启的中断都关闭掉,这个很关键。

使用特权

评论回复
14
renyaq| | 2022-5-8 12:46 | 只看该作者
楼上说的对BOOT区开启的外设都复位掉,一方面避免跳转过程中发生中断。

使用特权

评论回复
15
zhenykun| | 2022-5-8 12:48 | 只看该作者
如果中途发生中断,这时中断矢量表往往没安排好就会导致异常。

使用特权

评论回复
16
chuxh| | 2022-5-8 12:50 | 只看该作者
避免BOOT区的外设配置莫名其妙的延申到APP区了。

使用特权

评论回复
17
zwll|  楼主 | 2022-5-8 12:52 | 只看该作者
非常感谢~学习了~

使用特权

评论回复
18
tpgf| | 2022-6-6 12:46 | 只看该作者
跳转地址错误?

使用特权

评论回复
19
wakayi| | 2022-6-6 13:07 | 只看该作者
中间有没有发生中断啊啥的

使用特权

评论回复
20
wowu| | 2022-6-6 13:16 | 只看该作者
地址异常了吧

使用特权

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

本版积分规则

885

主题

11314

帖子

5

粉丝