基本介绍 ======== 这个程序的主要目的是为了提供一个具有通用性的AVR Bootloader,不同型号的AVR单片机只需要修改一下几个简单的配置参数就可以直接使用了,不用再修改主程序。因为现在网上流传的很多Bootloader程序都是针对某几个特定型号的,在换用其它型号后,需要对程序进行较多的修改,使用起来不太方便,所以我写了这个程序。它是在网上流传的马潮老师的ATmega128 Bootloader程序的基础上,结合了我以前在PIC18单片机中使用Bootloader的一点经验,以及学习自AVR USB中一些使用宏定义的技巧,再经过多次优化后得到的。
这个通用的Bootloader可以支持目前的大部分具有自编程功能,带有Boot区和UART串口的AVR单片机(主要是Mega系列)。如果是带有多串口的单片机,可以任意选择使用其中的一个串口。程序也支持RS485/RS422方式,如果程序稍加修改,也应当可以很容易的支持USI、SPI、I2C等接口。 这个Bootloader已经在ATmega8、ATmega64、ATMega168、ATmega169(Butterfly)等型号的AVR单片机上测试通过。对于其它型号,也基本都编译通过。虽然如此,也无法保证对其它没有经过完全测试的型号上使用不出现问题。如果你发现这个程序在某个型号的单片机上存在问题,请与我联系以便及时修正。 整个Bootloader最大占用不到1K Word的空间。在最小情况下,占用的空间不到300 Word(具体占用空间的大小与单片机的型号、配置的参数、功能裁剪的多少以及程序的优化等级有关)。 主要特点 ========
- 支持多种型号的AVR单片机
- 支持多串口的AVR单片机
- 支持RS232/RS485/RS422模式
- 支持多种通信波特率和时钟频率
- 自动计算波特率误差,如果波特率误差>2%,将给出错误提示
- 完全C语言编写,容易修改
- 为移植做了很多优化,将移植的工作量减少到了最低
- 代码高度优化,占用空间小
- 方便的功能裁剪,适应不同的要求
- 支持看门狗
- 支持使用LED指示升级状态
- 支持超级终端下载
...
开发环境 ======== 本项目的开发环境是:WinAVR + AVR Studio WinAVR版本: 20070122 AVR Studio版本: 4.13.258 相关链接:http://shaoziyang.bloger.com.cn/user2/88141/archives/2007/avrcboot.shtml |