OpenEdv-开源电子网

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

STM32F103的IAP中Bootloader中断以及App程序不能进入中断的问题解决方法。

[复制链接]

8

主题

90

帖子

0

精华

初级会员

Rank: 2

积分
146
金钱
146
注册时间
2012-7-27
在线时间
1 小时
发表于 2014-2-12 10:44:59 | 显示全部楼层 |阅读模式
IAP是个好东西,开发板上讲的很细很明白,在实际用途上来说,串口IAP过程需要校验。ST官方给的例子很好用,超级终端Ymodem协议发送,带CRC校验。
1,Bootloader介绍,修改的官方IAP程序。官方的程序使用的它自己的开发板,要用按键进入Bootloader然后选择是否进入IAP等等选项,我改成启动时串口是否收到指定字符来判断是否进入IAP的Bootloader(打开超级终端,连上自己开发板,键盘一直点字符‘a’,然后重启开发板就进入Bootloader)。


2,原ST官方给的Bootloader程序中在跳转到APP程序后没有给关掉中断,我在调试STM32F103RB(20kRAM 128kROM)中发现总是不能正常运行App程序,困扰了我很长时间,后来在Bootloader加上了关闭中断,后解决了这个问题,同时也隐藏了另一个问题3。
3,我换了CPU改成STM32F103RD(60kRAM)发现APP程序不能进入中断,我找了好久,最终发现是中断关闭没有打开,而STM32F103RB片子上却没有这个问题。。。我在代码上做如下如理,解决了这个问题,终于解决了。。。


int main(void) 
{    
        SystemInit();      //系统时钟等初始化
NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x5000);
__enable_irq();//开启总中断
delay_init(72);          //延时初始化
NVIC_Configuration();     //设置NVIC中断分组2:2位抢占优先级,2位响应优先级

。。。。。
}

App程序偏移地址 0x5000
设置如下







IAP BootLoader ST Ver 2.0 HD STM32RDT6.rar

470.84 KB, 下载次数: 4323

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

使用道具 举报

120

主题

7877

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12010
金钱
12010
注册时间
2013-9-10
在线时间
427 小时
发表于 2014-2-12 11:07:43 | 显示全部楼层
回复【楼主位】zhaojiangbao:
---------------------------------
沙发。。。

谢谢分享!继续加油
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2014-2-12 11:45:40 | 显示全部楼层
谢谢分享,COOL.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

1

主题

8

帖子

0

精华

新手上路

积分
32
金钱
32
注册时间
2014-5-28
在线时间
0 小时
发表于 2014-5-28 14:47:09 | 显示全部楼层
遇到了类似的问题,不过我的问题主要是因为在串口中断中进行的跳转,所以实际上跳转之后仍然没有恢复终端,造成了滴答定时器无法进入中断,依靠滴答定时器进行的操作无法执行而死机。谢谢分享,帮我解决了困扰的问题。
向着目标前进
回复 支持 反对

使用道具 举报

30

主题

705

帖子

1

精华

新手上路

积分
21
金钱
21
注册时间
2013-3-14
在线时间
52 小时
发表于 2015-5-11 15:25:15 | 显示全部楼层
cool,very cool! 正是我想要的。楼主太好了。
原子哥是不是又要出黑科技了呀。^_^...
回复 支持 反对

使用道具 举报

13

主题

225

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
289
金钱
289
注册时间
2013-11-12
在线时间
29 小时
发表于 2015-7-20 11:23:30 | 显示全部楼层
楼主大人表示就是你这样做的,但是还是进不了接收中断的啊
回复 支持 反对

使用道具 举报

10

主题

20

帖子

0

精华

新手上路

积分
23
金钱
23
注册时间
2015-3-26
在线时间
9 小时
发表于 2015-11-4 16:41:58 | 显示全部楼层
請問這個適用於STM32F103C8T6嗎?
用超級終端機顯示檔案成功
但是APP並有沒更新 還是iap的Code
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
44
金钱
44
注册时间
2015-11-24
在线时间
7 小时
发表于 2015-11-24 18:14:24 | 显示全部楼层
非常感谢楼主,正好用到!有时间发个蓝牙无线的方案,基于楼主的方案。
回复 支持 反对

使用道具 举报

38

主题

109

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
294
金钱
294
注册时间
2014-8-1
在线时间
6 小时
发表于 2016-9-6 16:08:39 | 显示全部楼层
好贴顶起来
回复 支持 反对

使用道具 举报

11

主题

56

帖子

0

精华

初级会员

Rank: 2

积分
109
金钱
109
注册时间
2016-4-30
在线时间
44 小时
发表于 2016-10-22 13:00:35 | 显示全部楼层
xuanfeng008200 发表于 2014-5-28 14:47
遇到了类似的问题,不过我的问题主要是因为在串口中断中进行的跳转,所以实际上跳转之后仍然没有恢复终端, ...

后来你是怎么恢复中断的请问
回复 支持 反对

使用道具 举报

11

主题

56

帖子

0

精华

初级会员

Rank: 2

积分
109
金钱
109
注册时间
2016-4-30
在线时间
44 小时
发表于 2016-10-22 13:00:55 | 显示全部楼层
jiushibuzhidao 发表于 2015-7-20 11:23
楼主大人表示就是你这样做的,但是还是进不了接收中断的啊

后来怎么解决啦
回复 支持 反对

使用道具 举报

1

主题

8

帖子

0

精华

新手上路

积分
28
金钱
28
注册时间
2017-3-16
在线时间
10 小时
发表于 2017-3-17 11:06:22 来自手机 | 显示全部楼层
楼主太棒了,我也遇到类似问题,解决了。
回复 支持 反对

使用道具 举报

12

主题

73

帖子

0

精华

新手上路

积分
29
金钱
29
注册时间
2017-5-2
在线时间
45 小时
发表于 2017-9-28 16:25:32 | 显示全部楼层
jiushibuzhidao 发表于 2015-7-20 11:23
楼主大人表示就是你这样做的,但是还是进不了接收中断的啊

你好,请问你是怎么解决的啊,我的现在也是这样子,在跳转前关中断,复位NVIC和RCC,跳转到APP后,先SystemInit(),然后NVIC_SetVectorTable(0x08000000, 0x10000),然后开中断,但是APP还是不能进入中断。。。求解。。。
回复 支持 反对

使用道具 举报

2

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
61
金钱
61
注册时间
2017-5-16
在线时间
14 小时
发表于 2017-12-6 14:16:12 | 显示全部楼层
为什么我的超级终端怎么都连不上通信啊,有没有遇到类似问题的
回复 支持 反对

使用道具 举报

0

主题

19

帖子

0

精华

初级会员

Rank: 2

积分
80
金钱
80
注册时间
2018-3-8
在线时间
11 小时
发表于 2018-3-12 09:44:01 | 显示全部楼层
学习了
回复 支持 反对

使用道具 举报

15

主题

57

帖子

0

精华

初级会员

Rank: 2

积分
105
金钱
105
注册时间
2017-8-4
在线时间
48 小时
发表于 2018-8-27 09:47:52 | 显示全部楼层
楼主,我在app程序里面也加上了开启总中断这条语句,但是app程序还是任何中断都进不了
回复 支持 反对

使用道具 举报

15

主题

57

帖子

0

精华

初级会员

Rank: 2

积分
105
金钱
105
注册时间
2017-8-4
在线时间
48 小时
发表于 2018-8-27 09:51:59 | 显示全部楼层
jiushibuzhidao 发表于 2015-7-20 11:23
楼主大人表示就是你这样做的,但是还是进不了接收中断的啊

问题解决了吗?我也是,加了打开总中断这条语句,还是什么中断都进不了
回复 支持 反对

使用道具 举报

108

主题

194

帖子

0

精华

高级会员

Rank: 4

积分
713
金钱
713
注册时间
2016-6-29
在线时间
165 小时
发表于 2020-6-18 17:41:55 | 显示全部楼层
我按照这样了  跳转到app还是进不了中断
回复 支持 反对

使用道具 举报

8

主题

90

帖子

0

精华

初级会员

Rank: 2

积分
146
金钱
146
注册时间
2012-7-27
在线时间
1 小时
 楼主| 发表于 2021-1-28 13:38:26 | 显示全部楼层
14年5月份换了工作就再也没做过嵌入式。六年多过去了,我已经忘掉STM32的一切。今天找回密码又看了看帖子,各位老师对不住了,我彻底忘记以前怎么搞的了。现在有个STM32的项目,很简单,我不会下手了。只能找原子哥的论坛慢慢看看资料。祝大家在这个新的世界(新冠病毒可能永久和人类共存)平安健康。
回复 支持 反对

使用道具 举报

1

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
96
金钱
96
注册时间
2019-12-3
在线时间
21 小时
发表于 2021-1-28 15:52:36 | 显示全部楼层
acer1204 发表于 2015-11-4 16:41
請問這個適用於STM32F103C8T6嗎?
用超級終端機顯示檔案成功
但是APP並有沒更新 還是iap的Code

我也遇到你这样的问题,请问你解决了吗?
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
8
金钱
8
注册时间
2024-4-28
在线时间
3 小时
发表于 2024-8-13 15:07:46 | 显示全部楼层
zhaojiangbao 发表于 2021-1-28 13:38
14年5月份换了工作就再也没做过嵌入式。六年多过去了,我已经忘掉STM32的一切。今天找回密码又看了看帖子, ...

牛的vfvh
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-22 07:07

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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