1,ISP和IAP介绍和比较
STM32F103单片机默认支持ISP(在系统编程In System Programming, ISP),即通过ISP软件(Flash_Loader_Demonstrator)通过USART1向Flash烧写程序。它的实现方式是通过单片机的Boot0和Boot1引脚来让单片机进入系统存储器启动方式(ISP启动),系统存储器中是厂商提供的bootload固件。这种方式得优点是使用厂商的bootload和下载软件,方便简单。但缺点是必须通过硬件引脚设置,无法实现在线升级。
IAP(在应用编程(In Application Programming, IAP)是另一种可下载固件的方式,它可以实现在线升级,但需要自己开发bootload。单片机启动模式使用主Flash启动。
下图是STM32单片机的3种启动方式:(通过Boot0和Boot1引脚设置选择)
ISP模式,单片机上电启动后,会直接执行用户程序;
IAP模式,单片机上电会先运行bootloader,bootloader决定是下载固件还是执行用户程序。