AV R 单片机的 BootLoader 宏帝科技
作者:冯地明 QQ:56138242
cai_fdm@163.net
-1-
AV R 单片机的 Boot 应用
本文向大家介绍 Atmel 公司的 AVR 单片机 BootLoader 的编写和应用。以 ATmega16 为
例,通过 RS-232 口,用超级终端的 xModem 协议来完成应用程序的升级。其应用的实用价
值就不提了,方便升级这点是肯定的。
关键字:ATmega16、BootLoader、xModem 协议
一.AV R 单片机的特点
对于 AV R 单片机的特点,本文只就与 BootLoader 有关的来描述。
Atmel 公司的 AV R 系列单片机中具有 Boot 区的单片机,提供了对自身 FLASH 编程的
能力。为此,这批单片机就能很容易的升级程序。
二.BootLoader 的原理
BootLoader 从字面上讲,就是引导程序执行和下载程序。BootLoader 的原理简单地讲,
就是需要升级程序时可以升级程序,升级完后自动引导程序执行;或者不需升级程序时,能
自动引导程序执行。可看如下示意图。
BootLoader 原理示意流程图
三.xModem 协议
xModem 协议是简单慢速的文件传输协议,计算机的超级终端带有该传输协议。因此,
用这种协议来升级系统程序,方便有节省成本。
xModem 发送 128 字节的数据块,每一个数据块都需要传输应答和一个简单的校验和。
X Modem 的协议格式如下:
1 字节 1字节 1字节 128 字节 1 字节
<SOH> <Block No> <~Block No> <Data> <Check sum>
⊕SOH:标示块的开始
⊕BlockNo:块序号数。在 1 到 255;到 255 后又从 1 开始。
上电复位
等待升级命令
Y
N
Y
超时了
?
执行应用程序
Load 程序
N
收到命令
?
结束