访问手机版页面
你的位置:老古开发网 > STM32单片机的编程烧录 > 正文  
如何升级STM32单片机的代码
内容导读:

bootloader设置:

staTIc void check_boot_mode(void)

{

uint32_t JumpAddress;

void(*Jump_To_ApplicaTIon)(void);

if (((*((__IO uint32_t*)(APP_SEGA_START_ADDRESS+8))) & 0x2FFE0000 ) == 0x20000000)

{

JumpAddress = *(__IO uint32_t*) (APP_SEGA_START_ADDRESS + 12);

Jump_To_ApplicaTIon = (void *)JumpAddress;

__set_MSP(*((__IO uint32_t*) (APP_SEGA_START_ADDRESS+8)));

Jump_To_ApplicaTIon();

}

}

application设置:

const uint8_t eh[8] __attribute__((at(0x08004000)));这个是使应用代码加载首地址向后推移8字节;

下图是应用代码加载地址和内存设置:

如何升级STM32单片机的代码

下面是中断向量表映射配置:

#define APPLICATION_ADDRESS (uint32_t)0x08004008

__IO uint32_t VectorTable[48] __attribute__((at(0x20000000)));

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

{

VectorTable[i] = *(__IO uint32_t*)(APPLICATION_ADDRESS + (i《《2));

}

标签:STM32单片机,
来源:工程师周亮 作者:lhl545545 时间:2018/12/13 15:53:00
相关阅读
推荐阅读
阅读排行
最近更新
商品推荐