STM32 IAP 研究设计
1. 概念
IAP:In-Application Programming”,中文解释为“在程序中编程”。ICP(In-Circuit Programming)技术即通过在线仿真器对单片机进行程序烧写,而ISP技术则是通过单片机内置的bootloader程序引导的烧写技术。
2. 框架设计
简要说明: 将STM32 的Flash 512Kb 分为两个部分,一个256Kb 用来存放最小系统,一个256Kb用来存放APP代码。具体最小系统与APP的Flash大小可根据实际情况调整。
难点解析:
最小系统与APP的存放地址
要找到最小系统与APP的存放地址,那么就需要了解STM32的Flash存储空间,如下:
最小系统与APP的跳转
系统启动之后首先进入最小系统,这是由硬件决定的,进入最小系统之后,再判断APP系统烧录的地址的栈顶指针是否正确来判断是否烧录了APP,启动APP。官方例程代码如下:
/* Test if user code is programmed starting from address "ApplicationAddress" */ if (((*(__IO uint32_t*)ApplicationAddress) & 0x2FFE0000 ) == 0x20000000) {

本文详细介绍了STM32的In-Application Programming (IAP)技术,包括概念理解、框架设计以及难点解析。内容涵盖如何将Flash分为最小系统和APP代码两部分,并讨论了启动顺序、编译设置及中断向量表重定位的方法。
最低0.47元/天 解锁文章
5296

被折叠的 条评论
为什么被折叠?



