请教香主STM32F0的IAP问题

[复制链接]
 楼主| 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 | 显示全部楼层
经过这段时间, 有新的进展吗?
jackcheng1985 发表于 2013-8-30 20:32 | 显示全部楼层
最终解决没?这两天也在弄这个IAP升级呢
hawksabre 发表于 2013-8-31 09:06 | 显示全部楼层
楼主    问题应该解决了吧   
yyxlmq1314 发表于 2014-12-5 22:31 | 显示全部楼层
楼主能分享一下整个跳转和中断修改的过程吗
无帝老三 发表于 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

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

12

主题

100

帖子

0

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