如何升级STM32单片机的代码

发布者:Meilin8888最新更新时间:2024-03-12 来源: elecfans关键字:升级  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  单片机 引用地址:如何升级STM32单片机的代码

上一篇:STM32中电源各引脚说明分析
下一篇:史上最全STM32调试步骤!

小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved