OpenEdv-开源电子网

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

【IAP升级】stm32F103通过BootLoader升级以后程序APP可以工作,但是很多中断不工作了,比如串口什么的??????

[复制链接]

20

主题

169

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1012
金钱
1012
注册时间
2017-7-27
在线时间
162 小时
发表于 2018-3-5 08:38:42 | 显示全部楼层 |阅读模式
本帖最后由 white199494 于 2018-3-5 08:55 编辑

           __set_FAULTMASK(1);                                                                                                                                     //关掉外部所有中断
        iap_load_app(FLASH_APP1_ADDR);                                                                                                                        //执行FLASH APP代码
跳转之前关闭所有中断,是不是这个导致后来中断无法开启啊???

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

使用道具 举报

20

主题

169

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1012
金钱
1012
注册时间
2017-7-27
在线时间
162 小时
 楼主| 发表于 2018-3-5 10:07:33 | 显示全部楼层
回复 支持 反对

使用道具 举报

20

主题

169

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1012
金钱
1012
注册时间
2017-7-27
在线时间
162 小时
 楼主| 发表于 2018-3-5 10:54:44 | 显示全部楼层
lanlzp 发表于 2018-3-5 09:50
跳转之后 APP 起始 需要重新开启总中断   __set_FAULTMASK(0);

谢谢0.0.0.0.0
回复 支持 1 反对 0

使用道具 举报

20

主题

169

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1012
金钱
1012
注册时间
2017-7-27
在线时间
162 小时
 楼主| 发表于 2018-3-5 08:39:37 | 显示全部楼层
希望有类似问题的朋友看一下
回复 支持 反对

使用道具 举报

20

主题

169

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1012
金钱
1012
注册时间
2017-7-27
在线时间
162 小时
 楼主| 发表于 2018-3-5 08:39:53 | 显示全部楼层
@正点原子   原子哥,求助
回复 支持 反对

使用道具 举报

4

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
124
金钱
124
注册时间
2016-1-1
在线时间
23 小时
发表于 2018-3-5 08:46:21 | 显示全部楼层
你进APP以后打开中断了吗
回复 支持 反对

使用道具 举报

20

主题

169

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1012
金钱
1012
注册时间
2017-7-27
在线时间
162 小时
 楼主| 发表于 2018-3-5 08:48:09 | 显示全部楼层
EmperorYuan 发表于 2018-3-5 08:46
你进APP以后打开中断了吗

都重新初始化的,打开了
回复 支持 反对

使用道具 举报

4

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
124
金钱
124
注册时间
2016-1-1
在线时间
23 小时
发表于 2018-3-5 08:48:54 | 显示全部楼层
那向量表呢?
回复 支持 反对

使用道具 举报

20

主题

169

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1012
金钱
1012
注册时间
2017-7-27
在线时间
162 小时
 楼主| 发表于 2018-3-5 08:49:41 | 显示全部楼层
本帖最后由 white199494 于 2018-3-5 08:55 编辑

你指的是        SCB->VTOR=FLASH_BASE|0x30000;这个吗
回复 支持 反对

使用道具 举报

4

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
124
金钱
124
注册时间
2016-1-1
在线时间
23 小时
发表于 2018-3-5 08:56:50 | 显示全部楼层
那你只能一个一个地排查问题了
回复 支持 反对

使用道具 举报

20

主题

169

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1012
金钱
1012
注册时间
2017-7-27
在线时间
162 小时
 楼主| 发表于 2018-3-5 09:02:22 | 显示全部楼层
EmperorYuan 发表于 2018-3-5 08:56
那你只能一个一个地排查问题了

我感觉就是跳转之前关闭了所有外部中断,导致APP中无法再打开,但是跳转前不关闭所有中断又会出现错误。。。。
回复 支持 反对

使用道具 举报

34

主题

322

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1838
金钱
1838
注册时间
2014-12-4
在线时间
717 小时
发表于 2018-3-5 09:18:44 | 显示全部楼层
white199494 发表于 2018-3-5 09:02
我感觉就是跳转之前关闭了所有外部中断,导致APP中无法再打开,但是跳转前不关闭所有中断又会出现错误。 ...

是不是向量表没有重定位导致无法中断,http://blog.csdn.net/louyangyang91/article/details/52641853
回复 支持 反对

使用道具 举报

0

主题

207

帖子

0

精华

高级会员

Rank: 4

积分
959
金钱
959
注册时间
2017-5-27
在线时间
108 小时
发表于 2018-3-5 09:50:54 | 显示全部楼层
跳转之后 APP 起始 需要重新开启总中断   __set_FAULTMASK(0);
回复 支持 反对

使用道具 举报

20

主题

169

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1012
金钱
1012
注册时间
2017-7-27
在线时间
162 小时
 楼主| 发表于 2018-3-5 10:54:56 | 显示全部楼层
loudianxin 发表于 2018-3-5 09:18
是不是向量表没有重定位导致无法中断,http://blog.csdn.net/louyangyang91/article/details/52641853

已解决谢谢
回复 支持 反对

使用道具 举报

17

主题

194

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1049
金钱
1049
注册时间
2016-9-3
在线时间
158 小时
发表于 2018-8-10 10:53:12 | 显示全部楼层
楼主怎么解决的
回复 支持 反对

使用道具 举报

9

主题

796

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2038
金钱
2038
注册时间
2017-8-2
在线时间
522 小时
发表于 2018-8-10 10:55:43 | 显示全部楼层
怕是 中断向量表没有重映射
猪猪熊呢?
回复 支持 反对

使用道具 举报

20

主题

169

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1012
金钱
1012
注册时间
2017-7-27
在线时间
162 小时
 楼主| 发表于 2018-8-10 21:58:43 | 显示全部楼层

我前面有连接啊,你可以看一下
回复 支持 反对

使用道具 举报

20

主题

169

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1012
金钱
1012
注册时间
2017-7-27
在线时间
162 小时
 楼主| 发表于 2018-8-10 21:59:22 | 显示全部楼层
323232 发表于 2018-8-10 10:55
怕是 中断向量表没有重映射

有点忘了,主要就是中断和向量表重映射的原因
回复 支持 反对

使用道具 举报

17

主题

194

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1049
金钱
1049
注册时间
2016-9-3
在线时间
158 小时
发表于 2018-8-11 09:58:01 | 显示全部楼层
white199494 发表于 2018-8-10 21:58
我前面有连接啊,你可以看一下

看过了,还是没解决,网上有的方法都尝试过了,基本就是地址和向量表的问题,但是都试过了,还是不行。我现在是在IAP和APP里面都开启了USART1接收中断,但是执行APP时,串口接收到数据时只会跳到IAP里面的中断处理函数;但是如果我不在APP里开启USART1及中断,则接收到数据时,没任何反应,连IAP的中断都进不了
回复 支持 反对

使用道具 举报

20

主题

169

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1012
金钱
1012
注册时间
2017-7-27
在线时间
162 小时
 楼主| 发表于 2018-8-13 11:30:21 | 显示全部楼层
午夜狼嚎 发表于 2018-8-11 09:58
看过了,还是没解决,网上有的方法都尝试过了,基本就是地址和向量表的问题,但是都试过了,还是不行。我 ...

我直接修改“system_stm32f10x.c”里面的中断向量偏移解决的,自己多试一下,当时我也是搞了好久,网上查查看
回复 支持 反对

使用道具 举报

17

主题

194

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1049
金钱
1049
注册时间
2016-9-3
在线时间
158 小时
发表于 2018-8-13 12:29:48 | 显示全部楼层
好的  谢谢!
回复 支持 反对

使用道具 举报

6

主题

60

帖子

0

精华

初级会员

Rank: 2

积分
196
金钱
196
注册时间
2017-7-18
在线时间
31 小时
发表于 2018-8-14 09:39:38 | 显示全部楼层
本帖最后由 zdphpn 于 2018-8-14 09:40 编辑

int main()
{  
   NVIC_SetVectorTable(NVIC_VectTab_FLASH,0x10000);
   __enable_irq();
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
2
金钱
2
注册时间
2018-10-16
在线时间
0 小时
发表于 2018-10-16 12:11:33 | 显示全部楼层
用这个方法我碰到一个问题,关闭之后,到iap里面打开之后,会出现tick中断服务程序找不到,中断向量偏移量更改对了,串口也能用。就是这个tick会找不到
回复 支持 反对

使用道具 举报

82

主题

589

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1255
金钱
1255
注册时间
2017-11-18
在线时间
296 小时
发表于 2019-1-17 08:27:37 | 显示全部楼层
white199494 发表于 2018-3-5 09:02
我感觉就是跳转之前关闭了所有外部中断,导致APP中无法再打开,但是跳转前不关闭所有中断又会出现错误。 ...

我也遇到这个问题,重启就没事,不重启系统跳转到IAP时候就会死在中断当中
没有脑袋
回复 支持 反对

使用道具 举报

2

主题

474

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6549
金钱
6549
注册时间
2018-6-27
在线时间
551 小时
发表于 2019-1-23 08:33:57 | 显示全部楼层
学习学习,学习学习。
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-23 07:40

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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