Bootloader范例
/***********************************************
**** AVR BootLoader应用范例 ***
**** ***
**** 作者: HJJourAVR ***
**** 编译器:WINAVR20050214 ***
***********************************************/
//程序参考 马潮老师的M128 Boot_load应用的实例,ICCAVR版本
/*
本程序简单的示范了AVR ATmega16的IAP应用,实现智能升级
Boot Loader
Xmodem-CRC传输协议
CRC16校验
出于简化程序考虑,各种数据没有对外输出,学习时建议使用JTAG ICE硬件仿真器。
熔丝位设置
BOOTSZ1=0
BOOTSZ0=0 Boot区为1K字(2K字节)大小。
BOOTRST=0 复位向量位于Boot区。
makefile中的程序基地址偏移
LDFLAGS += -Wl,--section-start=.text=0x3800 //0x3800字节=0x1C00字
移植程序时,可根据实际大小设定Boot区,但要注意更改makefile和更改BootAdd常数,以及页写的大小分配;
采用115200bps的通讯速率,升级14KB程序需要耗时约5秒[上位机是WINDOWS 2000的超级终端]
0