您的位置 首页 资料

STM32单片机的IAP向量问题解决方案

STM32单片机的IAP向量问题解决方案-// 1:复制用户代码中的中断向量表到SRAM首地址

// 2: 开启SRAM的重映射功能,将SRAM的地址映射到0x00000000

// 3: MDK设置RAM运行地址时,要跳过前48个地址(地址为32位,共192字节),中断向量表

// 不能被操作,否则程序运行将出错。

// 中断向量表起始位置位于编译好的用户代码的首地址,共48个地址。

//Cortex-M0内核中断向量共有48个。

//因为M0内核不具有M3、M4内核的中断向量表重定位功用,须选用以下方法处理IAP向量问题:

// 1:仿制用户代码中的中断向量表到SRAM首地址

// 2: 敞开SRAM的重映射功用,将SRAM的地址映射到0x00000000

// 3: MDK设置RAM运转地址时,要越过前48个地址(地址为32位,共192字节),中断向量表

// 不能被操作,不然程序运转将犯错。

// 中断向量表开始方位坐落编译好的用户代码的首地址,共48个地址。

STM32单片机的IAP向量问题处理方案
 

voidNVIC_SetVectorTable(void)

{

uint8_TI;

uint32_t*pVecTab=(uint32_t*)(0x20000000);

//仿制中断向量表到SRAM首地址

for(i=0;i《48;i++)

{

*(pVecTab++)=*(__IOuint32_t*)(USER_CODE_ADDR+(i《《2));

}

//敞开SYSCFG时钟

__SYSCFG_CLK_ENABLE();

//重映射SRAM地址到0x00000000

__HAL_REMAPMEMORY_SRAM();

}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ziliao/346575.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部