利用片内 FLASH 虚拟 U 盘,使用文件复制方式实现 IAP
USART IAP功能想必大家都很熟悉了,我们通过 USART IAP,可以很方便的实现程序升级。
但是在实际工作中,遇到一些特殊情况时,USART IAP功能却不像我们应用中那么方便,甚至
成了一大制约因素:
1.板子交给远方的用户,用户手头没有带串口的电脑。
2.用户找到带串口的电脑,却仍然没有合适的串口连接线。
3.终于找到了合适的串口连接线,仍没有 IAP软件。
4.IAP软件连同 HEX 文件一同发给用户,用户却不会操作。在我们手头很简单的操作,到用户手
里,却总也搞不定(即便是简单的超级终端,想要远程教会用户,也是很考验功力的)。
5.不是所有的板子都设计有串口,没有串口的板子,呵呵……
幸好 STM还给我们提供了 DFU 升级方式,基本可以解决以上多数问题,只需要留出 USB 接口就
行。
但是 DFU 方式,仍然对用户的要求很高,需要用户熟悉软件的操作过程和流程(见制约因素
4)。
只有找到一种更简单的方式,只要简单的复制、粘贴操作,就可以实现程序更新,才能最大限度
解决以上问题。
现在我们通过虚拟 U 盘 IAP 程序,将程序存储的 FLASH空间虚拟为 U盘,只要将程序文件复制
到这个 U 盘,就完成了程序更新,消除了用户升级操作的学习过程。
0x8000000
0x800
3
000
0x800
8
000
无
IAP
程序
一般
IAP
程序
U
盘
IAP
程序
文件系统
IAP
程序
IAP
程序
用户程序
用户程序
用户程序