关于IAP的bootloader升级程序后,原先在bootloader里面运行的LED灯,在跳转过去的程序里面任然在运行,为什么

2019-07-21 07:41发布

本帖最后由 HongLJ 于 2018-11-16 15:40 编辑

我最近在看原子个的IAP升级程序,我把原子里面的bootloader程序里面改成led灯常亮,然后升级程序,发现转到新升级的程序时,led灯仍然点亮着,可是我没有在升级的程序里面对led的IO口进行过初始化和其他操作,这是为什么,求大佬指点,谢谢!!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
szczyb1314
1楼-- · 2019-07-21 11:57
跳转之前复位下GPIO口,原来初始化过led的引脚,跳转之前没复位,对led的GPIO来说他的寄存器的值你没复位过
HongLJ
2楼-- · 2019-07-21 15:03
自顶,自顶,求大佬解惑!!
HongLJ
3楼-- · 2019-07-21 19:07
szczyb1314 发表于 2018-11-16 16:40
跳转之前复位下GPIO口,原来初始化过led的引脚,跳转之前没复位,对led的GPIO来说他的寄存器的值你没复位过

那我要完成按照新程序里面的来运行的话,我需要在这之前复位所有的寄存器的值,我需要怎么操作
szczyb1314
4楼-- · 2019-07-21 22:22
HongLJ 发表于 2018-11-16 16:56
那我要完成按照新程序里面的来运行的话,我需要在这之前复位所有的寄存器的值,我需要怎么操作

最好是bootloader里跳转之前复位所有你初始化过的外设,时钟,中断,GPIO,外设(串口、定时器等)等,APP里面需要啥初始化啥
HongLJ
5楼-- · 2019-07-22 02:27
 精彩回答 2  元偷偷看……
szczyb1314
6楼-- · 2019-07-22 06:55
HongLJ 发表于 2018-11-18 14:18
我试过用软复位操作,但是程序会跳转到0x08000000处,所以有没有一个可以复位所有寄存器的操作,但是不进 ...

没有,自己手动复位寄存器

一周热门 更多>