一、原理简要说明
实现IAP下载,本质上相当于把单片机编程软件编译生成的bin文件,传递到“单片机的Flash”中。而在传递的过程中可以使用任何数据传输通道,比如:串口,蓝牙,网络等。而传输bin文件的协议可以采用一些标准的格式,也可以完全自定义一个协议。总之,只要满足把bin文件传输到单片机的Flash即可。本文所描述的传递方式采用:串口+私有协议。
二、上位机IAP下载工具的功能设计
- bin文件选择框和选择按钮
用于从电脑磁盘上选择一个要传输到单片机的bin文件。 - 串口通信以及协议实现
用于和下位机单片机中的bootloader建立串口通信,并依据设计好的协议,完成bin文件的传递。 - 下载状态提示与进度条显示
为了给用户反馈下载进度与状态,特意给软件设计了“进度条”和“状态提示栏” - 使用唯一的一个”下载“按钮,完成“查找设备”和“bin文件下载”
使用唯一的一个“下载”按钮,去掉了串口端口、波特率等的参数选择。实现了“自动查找串口设备”功能和“下载过程完全自动化”。提高下载效率的同时,简化用户的学习软件的负担。