通常情况下单片机的烧录都是通过ISP或者串口下载线进行程序的下载升级,mege88支持通过切换到bootloader自行进行升级。
通过上图可以知道,mega88将Flash存储区分成两块,一块用来存放bootloader,一块用来存放应用程序。当需要升级的时候,通过跳转指令调至bootloader区,串口接受应用程序的二进制文件,写入到应用区,最后跳转到0地址处开始执行应用程序。
所以先编写IAP bootloader程序,然后写一个测试的应用程序,在Linux 下用minicom自带的xmodem传输方式将程序下载到mega88。
一、通过Xmodem协议接收应用程序。
mege88设置波特率9600,串口使用xmodem协议收发数据。
协议简单介绍:
Xmodem的控制字符:<so