zwll 发表于 2022-5-8 12:10

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

从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的初始化一样么?

renyaq 发表于 2022-5-8 12:18

如果可以不一样,需要如何操作?

zhenykun 发表于 2022-5-8 12:20

复位或清空sram?

juventus9554 发表于 2022-5-8 12:22

说明里面有用到这个定时器啊,没有开启

zwll 发表于 2022-5-8 12:24

仅在回调函数里翻转一下呼吸灯,不开启定时器,就不会到回调里的。

wyjie 发表于 2022-5-8 12:27

bootloader中尽量少打开一些外设,打开的外设需要考虑跳转到app后对app的影响,建议跳转前将用的外设deinit。

dingy 发表于 2022-5-8 12:29

以你的这个timer为例,在boot中打开了,应该是也开了中断,实际上要仔细分析,还是很复杂的

yszong 发表于 2022-5-8 12:39

比如跳转到app了,但中断向量表还未设置,这个是否发生了中断是什么结果

juventus9554 发表于 2022-5-8 12:42

跳转到app了中断向量表也设置了,但很多变量还未初始化,这个时候发生了中断会有什么结果,……

ousj 发表于 2022-5-8 12:44

一般来讲,boot程序和APP程序是两套独立的工程。
在跳转前 在BOOT区开启的中断都关闭掉,这个很关键。

renyaq 发表于 2022-5-8 12:46

楼上说的对BOOT区开启的外设都复位掉,一方面避免跳转过程中发生中断。

zhenykun 发表于 2022-5-8 12:48

如果中途发生中断,这时中断矢量表往往没安排好就会导致异常。

chuxh 发表于 2022-5-8 12:50

避免BOOT区的外设配置莫名其妙的延申到APP区了。

zwll 发表于 2022-5-8 12:52

非常感谢~学习了~

tpgf 发表于 2022-6-6 12:46

跳转地址错误?

wakayi 发表于 2022-6-6 13:07

中间有没有发生中断啊啥的

wowu 发表于 2022-6-6 13:16

地址异常了吧
页: [1] 2
查看完整版本: 从BootLoader跳转到App应用程序后宕机