开发环境
我用的是STM32F103,正点原子的库函数版本。刚开始用的用的是STM32C8T6,后来发现程序编译完都有28K,FLASH总共64K,考虑的要IAP,换了STM32CBT6,封装都是 LQFP-48的,但是FLASH大一点,价格贵一点,咋们不差钱,免得后面不够用(最后换了国产GD32CBT6)。
编译环境keil5破解版,嘘嘘嘘~
下载器ST-LINK,淘宝45包邮
IAP
什么是IAP?为啥要IAP?IAP即为In Application Programming(在应用中编程),简单理解就是跟手机OTA一样在线升级。一般单片机出厂都会烧录好程序,但是这个万一测试不足。人有失蹄,马有失手,程序员总会写BUG。到了用户手上,用户使用环境,操作方式都和测试环境不用,一下就出问题了。怎么办?快递回来?重新烧录程序?快递费加人工费,卖产品还赚个球啊。这时候你就需要OTA啊,给用户在线升级到下个版本就好了,解决问题。
单片机怎么实现在线升级?就是IAP功能。一片STM32芯片的flash内一个用户程序,开机复位地址是0x08000000,接着是中断向量变,0X08000004才是用户的main函数入口。
而IAP方案则是将主程序为两部分,两部分区域各存放一个程序,一个叫b