打印

请教香主STM32F0的IAP问题

[复制链接]
3851|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
sycamin|  楼主 | 2013-4-11 14:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
香主您好,最近在做STM32F051的程序,
调试到IAP功能的时候按照资料做好了跳转的功能,但是在跳转到应用程序后程序初始化完成就会死机,
在PDF文档中没有找到关于中断向量表的修改地方,请问下M0的应用程序要对中断向量表做什么样的修改
沙发
sycamin|  楼主 | 2013-4-11 20:14 | 只看该作者
怎么都没人回答的啊,
现在程序跳转的问题已经解决,中断向量也已经修改成功,
但是应用程序运行约3秒钟后就会死机,

使用特权

评论回复
板凳
sycamin|  楼主 | 2013-4-11 22:41 | 只看该作者
不是吧,没一个人回复的吗
难道大家都还没用F0做东西???

使用特权

评论回复
地板
airwill| | 2013-8-15 08:51 | 只看该作者
经过这段时间, 有新的进展吗?

使用特权

评论回复
5
jackcheng1985| | 2013-8-30 20:32 | 只看该作者
最终解决没?这两天也在弄这个IAP升级呢

使用特权

评论回复
6
hawksabre| | 2013-8-31 09:06 | 只看该作者
楼主    问题应该解决了吧   

使用特权

评论回复
7
yyxlmq1314| | 2014-12-5 22:31 | 只看该作者
楼主能分享一下整个跳转和中断修改的过程吗

使用特权

评论回复
8
无帝老三| | 2015-11-7 09:26 | 只看该作者
#define APPLICATION_ADDRESS     ((uint32_t)0x08002000)
#if   (defined ( __CC_ARM ))
  __IO uint32_t VectorTable[48] __attribute__((at(0x20000000)));
#elif (defined (__ICCARM__))
#pragma location = 0x20000000
  __no_init __IO uint32_t VectorTable[48];
#elif defined   (  __GNUC__  )
  __IO uint32_t VectorTable[48] __attribute__((section(".RAMVectorTable")));
#elif defined ( __TASKING__ )
  __IO uint32_t VectorTable[48] __at(0x20000000);
#endif



int main(void)
{       
       
        uint32_t i = 0;
       
        /* Relocate by software the vector table to the internal SRAM at 0x20000000 ***/  
       
          /* Copy the vector table from the Flash (mapped at the base of the application
                 load address 0x08002800) to the base address of the SRAM at 0x20000000. */
                       
        for(i = 0; i < 48; i++)
        {
          VectorTable[i] = *(__IO uint32_t*)(APPLICATION_ADDRESS + (i<<2));
        }
       
        /* Enable the SYSCFG peripheral clock*/
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG, ENABLE);
        /* Remap SRAM at 0x00000000 */
        SYSCFG_MemoryRemapConfig(SYSCFG_MemoryRemap_SRAM);

使用特权

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

本版积分规则

12

主题

100

帖子

0

粉丝