打印
[STM32F0]

求教,stm32030r8的APP跳转到IAP后再次跳回APP后,APP中断不能。

[复制链接]
4022|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
thebearontree|  楼主 | 2015-2-16 11:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
参考了AN4065,上电后从IAP跳转到APP后,正常工作。但是当从APP跳转到IAP(不更新程序)后再直接跳回APP,APP就不能中断了。是什么原因?
//                      __disable_irq();//关中断
//                        for(u8 i = 0; i < 48; i++)
//                              {
//                                VectorTable[i] = *(__IO uint32_t*)(IAP_ADDRESS + (i<<2));
//                              }
//                     
//                       RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG, ENABLE);
//                       SYSCFG_MemoryRemapConfig(SYSCFG_MemoryRemap_Flash );
  
      
                        /* Test if user code is programmed starting from address "APPLICATION_ADDRESS" */
                        if (((*(__IO uint32_t*)IAP_ADDRESS) & 0x2FFE0000 ) == 0x20000000)
                          {
                            /* Jump to user application */
                            JumpAddress = *(__IO uint32_t*) (IAP_ADDRESS + 4);
                            Jump_To_Application = (pFunction) JumpAddress;
                           
                            /* Initialize user application's Stack Pointer */
                            __set_MSP(*(__IO uint32_t*) IAP_ADDRESS);
                           
                            /* Jump to application */
                            Jump_To_Application();
                          }

还有就是APP跳转到IAP时 需要重映射中断吗,很疑惑。对M0不了解,请教大家
沙发
airwill| | 2015-2-16 19:20 | 只看该作者
感觉是 NVIC 的初始化的问题.

使用特权

评论回复
板凳
搞IT的| | 2015-2-16 21:40 | 只看该作者
APP跳转到IAP时 需要重映射中断吗??同问。。

使用特权

评论回复
地板
thebearontree|  楼主 | 2015-2-28 09:22 | 只看该作者
问题解决了,我在主程序里面里面使用了SysTick_Handler中断,跳转到IAP时没有关断。后来不使用嘀嗒中断采用定时器查询延时,跳转前关闭并清除所有中断,APP就可以跳转到IAP,超时之后再次跳回APP。

至于APP跳转IAP时是否要映射中断向量,个人觉得IAP中一般不会使用中断,无映射必要,我没有映射,可以跳转之后可以正常中断的。

使用特权

评论回复
5
zh113214| | 2015-2-28 15:06 | 只看该作者
关中断看不出有什么问题。。

使用特权

评论回复
6
墨白色雨天| | 2016-1-28 15:09 | 只看该作者
thebearontree 发表于 2015-2-28 09:22
问题解决了,我在主程序里面里面使用了SysTick_Handler中断,跳转到IAP时没有关断。后来不使用嘀嗒中断采用 ...

楼主,我想问一下,如果APP程序中使用中断,那么在跳转IAP之前,需要把所有用到的中断关闭么?

使用特权

评论回复
7
wangliuliu566| | 2016-1-28 15:24 | 只看该作者
墨白色雨天 发表于 2016-1-28 15:09
楼主,我想问一下,如果APP程序中使用中断,那么在跳转IAP之前,需要把所有用到的中断关闭么? ...

是需要的,一般关掉全局中断就可以了。

使用特权

评论回复
8
wangliuliu566| | 2016-1-28 15:28 | 只看该作者
thebearontree 发表于 2015-2-28 09:22
问题解决了,我在主程序里面里面使用了SysTick_Handler中断,跳转到IAP时没有关断。后来不使用嘀嗒中断采用 ...

我当时用的其它MCU,从APP跳到IAP时就没有重新进行中断映射,完全没问题,当时从APP跳到IAP用到一个软复位指令,跑的uCOS-II

使用特权

评论回复
9
捉虫天师| | 2016-1-30 10:32 | 只看该作者
使用了SysTick_Handler中断,跳转到IAP时没有关断

使用特权

评论回复
10
仙女山| | 2016-1-30 15:57 | 只看该作者
你的中断是怎么配置的啊

使用特权

评论回复
11
wode112233| | 2016-10-26 16:57 | 只看该作者

楼主,你的问题解决了吗、。我也遇到了这样的问题, IAP可以跳转并正常运行APP,一用中断就死机了。。。

使用特权

评论回复
12
mesutozil| | 2017-9-15 14:01 | 只看该作者
@thebearontree 你这个问题解决了吗

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

12

主题

48

帖子

2

粉丝