修正AVR通用Bootloader的两个bug | 发布时间:2012-06-03 21:33:08 |
技术类别:单片机 |
http://www.amobbs.com/thread-930003-1-1.html
(目前最新版本是v4.5)
基本介绍
========
这个程序的主要目的是为了提供一个具有通用性的 AVR Bootloader,不同型号的AVR单片机只需要修改一下几个简单的配置参数就可以直接使用了,不需要再修改主程序。因为现在网上流传的很多 Bootloader程序都是针对某个或几个特定型号的,在换用其它型号后,需要对程序进行较多的修改;而且很多Bootloader程序虽然实现了基本功能,但是存在着一些缺陷或隐患,或者使用起来不够方便,所以我写了这个程序。它是在网上流传的马潮老师的ATmega128 Bootloader程序的基础上,结合了我以前在PIC18单片机中使用Bootloader的一点经验,以及学习自AVR USB中一些使用宏定义的技巧,再经过多次优化和反复测试后得出的。
这个通用的Bootloader可以支持大部分具有自编程功能、带有Boot区和UART串口的AVR单片机(主要是Mega系列)。如果是多串口的单片机,可以任意选择使用其中的一个串口。程序支持RS232/RS485/RS422方式,如果程序稍加修改,也应当可以很容易的支持USI、SPI、I2C等接口。
整个Bootloader最大占用不到1K Word的空间。在最小情况下,占用的空间不到300 Word(具体占用空间的大小与单片机的型号、配置的参数、功能裁剪的多少以及程序的优化等级有关)。
主要特点
========
* 支持多种型号的AVR单片机
* 支持多串口的AVR单片机
* 支持RS232/RS485/RS422模式
* 支持多种通信波特率和时钟频率
* 自动计算波特率误差,如果波特率误差>2%,将给出错误提示
* 完全C语言编写,容易修改
* 代码高度优化,占用空间小
* 方便的功能裁剪,适应不同的要求
* 支持看门狗
* 支持使用LED指示升级状态
* 支持使用超级终端做为上位机下载软件
* 支持Flash写入校验
* 可以自定义用户程序区大小
* ...
更多内容请参考文件里带有的说明文档。
[4.5]
* 增加了安全升级模式
GCC源码
点击此处下载 ourdev_388493.zip(文件大小:27K) (原文件名:avrub_cn.zip)
上位机软件(Win32)
点击此处下载 ourdev_388494.zip(文件大小:341K) (原文件名:avrubd.zip)
上位机软件源码(Delphi7)
点击此处下载 ourdev_388495.zip(文件大小:139K) (原文件名:avrubd_src.zip)
[4.2]
* 增加了128/256位AES加密解密算法
* 修正了看门狗初始化的宏定义笔误
* 修正了LED初始化在某些情况下造成RS485错误的问题
* 优化了部分代码,减少了代码大小
上位机软件(Win32)
点击此处下载 ourdev_325785.zip(文件大小:341K) (原文件名:avrubd_v42.zip)
上位机软件源码(Delphi7)
点击此处下载 ourdev_325784.zip(文件大小:140K) (原文件名:avrubd_src_v42.zip)
(谢谢zxq6 小马哈帮助上传文件!)
GCC源码(中文版)
点击此处下载 ourdev_325322.zip(文件大小:26K) (原文件名:avrub_cn.zip)
GCC源码(英文版)
点击此处下载 ourdev_325323.zip(文件大小:25K) (原文件名:avrub_en.zip)
[V4.1]
* 修正了MCUSR宏定义的问题
* AVRUBD中一处缓冲区调用的错误
感谢seu gab发现并解决了这个问题
上位机软件(Win32)
点击此处下载 ourdev_285382.zip(文件大小:338K) (原文件名:avrubd.zip)
上位机软件源码(Delphi7)
点击此处下载 ourdev_285383.zip(文件大小:134K) (原文件名:avrubd_src.zip)
GCC源码(中文版)
点击此处下载 ourdev_285384.zip(文件大小:23K) (原文件名:avrub_cn.zip)
GCC源码(英文版)
点击此处下载 ourdev_285385.zip(文件大小:21K) (原文件名:avrub_en.zip)
此外Jerry Jacobs建立了一个Linux下的上位机下载软件的项目, 因为我没有使用Linux, 所以请有条件的网友试用一下并提出意见.
http://code.google.com/p/avr-ub/
[V4.0]
* 增加了128/256位PC1加密解密算法
* 修正了一个下载大文件时出错的问题
GCC源码(中文版)ourdev_271222.zip(文件大小:23K) (原文件名:avrub_cn.zip)
GCC源码(英文版)ourdev_271223.zip(文件大小:21K) (原文件名:avrub_en.zip)
上位机软件ourdev_271224.zip(文件大小:338K) (原文件名:avrubd.zip)
上位机软件源码(Delphi7)ourdev_271225.zip(文件大小:133K) (原文件名:avrubd_src.zip)
[V3.5版]
AVR通用Bootloader中文版:点击此处下载ourdev_229535.zip(文件大小:21K)
AVR通用Bootloader英文版:点击此处下载ourdev_229436.zip(文件大小:19K)
AVR通用Bootloader上位机软件:点击此处下载ourdev_229437.zip(文件大小:330K)
AVR通用Bootloader上位机软件源代码(Delphi7):点击此处下载ourdev_229438.zip(文件大小:124K)
[V3.2版]
AVR通用Bootloader中文版:点击此处下载ourdev_222855.zip(文件大小:41K)
AVR通用Bootloader英文版:点击此处下载ourdev_222856.zip(文件大小:39K)
AVR通用Bootloader上位机软件(带有中文帮助):点击此处下载ourdev_222857.zip(文件大小:477K)
AVR通用Bootloader上位机软件源代码(Delphi7):点击此处下载ourdev_222858.zip(文件大小:239K)
AVR通用Bootloader中文使用教程:点击此处打开ourdev_222859.pdf(文件大小:405K)
特别感谢网友stephon1编写此中文教程
AVR通用Bootloader英文使用教程:
http://www.scienceprog.com/testing-avr-universal-bootloader-on-atmega128/