7172|17

70

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

关于STM32IAP的问题 [复制链接]

我的IAP程序地址空间0x8000000-0x8004000
开机后进入IAP,判断是否满足IAP的条件,如果否则进入APP;我的APP用的 ucOS;在 APP里检测到上位机的IAP请求时程序跳转到IAP;但是在IAP里却不能响应中断?IAP和APP程序入口都进行中断端口重映射了!请问各位这是为什么啊?
此帖出自stm32/stm8论坛

最新回复

                                 我的问题解决了,原因是在跳入应用区时程序处于中断服务程序中 这样整个应用区都为BOOT区的ISR程序了。所以会有低于此中断优先级的中断不响应 同样,如果在应用区跳向BOOT区时是在中断服务程序中跳转的,也会出现在BOOT程序中不响应低优先级中断问题,楼主同各位同仁可以参考。  详情 回复 发表于 2010-1-15 01:12
点赞 关注
 

回复
举报

66

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
上面的内容可能表述不清楚,重新说一下:
我的IAP程序地址空间0x8000000-0x8004000,APP地址空间 0x8004000---结尾
我是用CAN做IAP,我的思路是这样的:开机进入IAP,此时检测后背寄存器预设值,如果不满足IAP条件,进入APP执行用户程序,否则,执行在线升级,
在APP里如果检测到上位机的IAP请求,此时往后背寄存器写预设值,直接跳转到IAP或者通过看门狗让程序复位执行IAP程序,我的APP用的ucOS;
我现在用的直接跳转,IAP里设置中断向量表0x8000000,APP里重设0x8004000;
目前情况是这样:开机进入IAP,能跳转到APP,且APP执行正常,收到IAP请求的时候跳转到IAP,即0x8000000,虽然此时重映射了中断向量表,但是却不相应中断了; 请问各位高手这是为什么啊????
此帖出自stm32/stm8论坛
 
 

回复

59

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
                                 从APP进入IAP时应该确保系统的状态与从复位直接进入IAP时的状态一致,最好也是最简单的办法是通过复位进入IAP,即写完后备寄存器后,直接复位随后就会进入IAP模式。
此帖出自stm32/stm8论坛
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

4
 
                                 请再次check中断向量的问题,八成问题在这里。
此帖出自stm32/stm8论坛
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

5
 
                                 通过复位我也想到了,只是不明白单单向量表重映射为啥不行!如果不中断的话APP和IAP可以自由转换的,而且刚上电的时候IAP启用了can接受中断,APP里也启用了CAN中断(还有别的中断),从IAP--->APP(第一次)一切都正常,再APP---->IAP,IAP的中断就不能用了,一发就死了,我在IAP里把RTC,以及ucOS用的系统中断都关了^
此帖出自stm32/stm8论坛
 
 
 

回复

61

帖子

0

TA的资源

一粒金砂(初级)

6
 
中断向量表我在IAP和APP里都做了映射
IAP     NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x0);         
APP     NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x4000);
此帖出自stm32/stm8论坛
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

7
 
可能的原因之一是中断的优先级设置问题。

待想到其它可能的问题再回来补充。
此帖出自stm32/stm8论坛
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

8
 


版主可以加你吗?你qq多少啊?
此帖出自stm32/stm8论坛
 
 
 

回复

88

帖子

0

TA的资源

一粒金砂(初级)

9
 
                                 不好意思,俺是老土,没有QQ。
此帖出自stm32/stm8论坛
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

10
 
                                 学习哦
此帖出自stm32/stm8论坛
 
 
 

回复

51

帖子

0

TA的资源

一粒金砂(初级)

11
 
                                 请问谁有《STM32F10x闪存编程手册》中文版啊 ,香水有吗
此帖出自stm32/stm8论坛
 
 
 

回复

63

帖子

0

TA的资源

一粒金砂(初级)

12
 
                                 请看置顶帖:如何查找官方文档。
此帖出自stm32/stm8论坛
 
 
 

回复

82

帖子

0

TA的资源

一粒金砂(初级)

13
 
我也遇到了同样的问题
也是用CAN做的IAP
APP程序运行正常
但不能响应中断,很郁闷~
此帖出自stm32/stm8论坛
 
 
 

回复

62

帖子

0

TA的资源

一粒金砂(初级)

14
 
lth93
我跟你做的是同一个东西啊
我遇到的问题是在APP中不响应中断,在BOOT程序中是响应中断的。
把你的QQ给我吧,我们交流交流。
此帖出自stm32/stm8论坛
 
 
 

回复

87

帖子

0

TA的资源

一粒金砂(初级)

15
 
                                 就在这说吧,我们也学习学习
此帖出自stm32/stm8论坛
 
 
 

回复

16

帖子

0

TA的资源

一粒金砂(初级)

16
 
                                 我也遇到了这样的问题,我是用UART作IAP的
此帖出自stm32/stm8论坛
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

17
 
                                 大家交流下吧,我的qq78917793
此帖出自stm32/stm8论坛
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

18
 
我的问题解决了,原因是在跳入应用区时程序处于中断服务程序中
这样整个应用区都为BOOT区的ISR程序了。所以会有低于此中断优先级的中断不响应
同样,如果在应用区跳向BOOT区时是在中断服务程序中跳转的,也会出现在BOOT程序中不响应低优先级中断问题,楼主同各位同仁可以参考。
此帖出自stm32/stm8论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表