STM32开发 -- IAP详解

如需转载请注明出处:https://blog.csdn.net/qq_29350001/article/details/87978183

现在只是简单的预研知道有这个功能,怎么实现我真的没做过。。。
先照着手册熟悉一遍,拿着正点原子的开发板实现以下。嗯,只能这样了。

一、STM32编程方式

1、在线编程(ICP,In-Circuit Programming)

通过JTAG/SWD协议或者系统加载程序(Bootloader)下载用户应用程序到微控制器中。

2、在程序中编程(IAP,In Application Programming)

通过任何一种通信接口(如IO端口,USB,CAN,UART,I2C,SPI等)下载程序或者应用数据到存储器中。也就是说,STM32允许用户在应用程序中重新烧写闪存存储器中的内容。然而,IAP需要至少有一部分程序已经使用ICP方式烧到闪存存储器中(Bootloader)。在不需要操作硬件平台的情况下实现升级(远程)。

二、IAP 简介

IAP(In Application Programming)即在应用编程, IAP 是用户自己的程序在运行过程中对User Flash 的部分区域进行烧写,目的是为了在产品发布后可以方便地通过预留的通信口对产品汇总的固件程序进行更新升级。 通常实现IAP功能时,即用户程序运行中作自身的更新操作,需要在设计固件程序时编写两个项目代码, 第一个项目程序不执行正常的功能操作,而只是通过某种通信方式(如 USB,USART)接收程序或数据,执行对第二部分代码的更新;第二个项目代码才是真正的功能代码。 这两部分项目代码都同时烧录在 User Flash 中,当芯片上电后,首先是第一个项目代码开始运行,它作如下操作:
1)检查

你可能感兴趣的:(stm32库开发实战指南)