[STM32F1] 请教STM32 IAP 进入APP后运行一段时间后死机

[复制链接]
 楼主| joshuachiang 发表于 2014-2-23 10:09 | 显示全部楼层 |阅读模式
请教个问题:
1、IAP+APP下载成功,IAP运行跳转到APP后,运行正常。
2、APP串口一直外发数据,外部对APP应答后,APP死机。
3、只有APP程序从0地址下载后,运行从来没问题。
4、IAP+APP运行后一旦接收到外部串口中断数据死机。

测了2天调不出原因来,麻烦大家给看看,非常感谢!

#define INFLASH_APP_ADDRESS         (0x08008000)

void Iap_JumpToApp(void)
{
        u32 i=0;
    __disable_irq();
       
        for(i= 0; i < 32; i++)
    {
           NVIC_ClearPendingIRQ((IRQn_Type)i);
    }
   
    Jump_Address = *(vu32*)(INFLASH_APP_ADDRESS + 4);
    Jump_To_Application  = (pFunction)Jump_Address;
   
    //³ÌÐòÇøÓдúÂë
    if (((*(u32*)INFLASH_APP_ADDRESS) & 0x2FFE0000 ) == 0x20000000)
    {
                __set_PSP(*(__IO uint32_t*) INFLASH_APP_ADDRESS);
        __set_CONTROL(0);                                                                    //Ñ¡ÔñÖ÷¶ÑÕ»Ö¸ÕëMSP
       
        __set_MSP(*(vu32*)INFLASH_APP_ADDRESS);        
        Jump_To_Application();
    }
    else
    {
            Iap_UpdateDead();
    }
}

评论

楼主,这个问题当年你怎么解决的啊  发表于 2019-12-24 16:17
zchong 发表于 2014-2-23 11:31 | 显示全部楼层
应用程序中,需要设置中断相量的便宜地址
#define VECT_TAB_OFFSET  0x00 /*!< Vector Table base offset field.
                                   This value must be a multiple of 0x200. */
keji1 发表于 2014-2-23 12:04 | 显示全部楼层
帮顶
 楼主| joshuachiang 发表于 2014-2-23 12:29 | 显示全部楼层
在初始化RCC后,已经添加了  NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x8000);
#define VECT_TAB_OFFSET   0x8000也更改,

APP还是出现串口接收数据死机,串口无数据过来一直OK。
 楼主| joshuachiang 发表于 2014-2-23 12:35 | 显示全部楼层
Time2中断也打开了,没有问题,LED灯一直工作正常。
看起来不是全部中断的问题,就是串口接收中断的问题。
菜鸟同学 发表于 2014-2-23 15:38 | 显示全部楼层
像2楼说的需要设置中断映射地址!
lnhjsdf 发表于 2014-2-23 17:09 | 显示全部楼层
帮顶
604603487 发表于 2014-2-23 17:45 来自手机 | 显示全部楼层
貌似需要两个中断向量表吧,新手不懂勿喷
nienianhong 发表于 2014-2-23 22:10 | 显示全部楼层
需要两个中断向量表
anybody 发表于 2014-2-24 08:42 | 显示全部楼层
应该是楼主在跳转到应用程序前没有关掉IAP里面的串行接收中断
zhangyang86 发表于 2014-2-24 18:39 | 显示全部楼层
可以参考我们战舰的串口iap 实例
figoxwm 发表于 2014-4-15 10:21 | 显示全部楼层
nienianhong 发表于 2014-2-23 22:10
需要两个中断向量表

两个中断向量表, 请问哪里修改呢?
yuansvip 发表于 2019-12-24 16:19 | 显示全部楼层
楼主当年怎么解决的啊
香水城 发表于 2019-12-25 11:48 | 显示全部楼层
IAP应用中最常见的问题集中在  中断矢量的正确初始化、中断的处理。

下面**可以参考下:
STM32 IAP应用中的几个常见问题

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

本版积分规则

3

主题

7

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部