打印
[AVR单片机]

发布一个AVR通用Bootloader

[复制链接]
26033|50
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
szy|  楼主 | 2007-3-28 20:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式


基本介绍
========
这个程序的主要目的是为了提供一个具有通用性的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

相关帖子

沙发
19840312| | 2007-4-2 17:44 | 只看该作者

下了 谢谢楼主

使用特权

评论回复
板凳
xiong01| | 2007-4-5 18:54 | 只看该作者

刚在找有关资料,谢谢!

使用特权

评论回复
地板
qqln007| | 2007-4-10 15:32 | 只看该作者

不错

不愧是精华哈哈

使用特权

评论回复
5
zhangsifu| | 2007-4-20 16:31 | 只看该作者

呵呵,不错

呵呵,不错。值得表扬。

使用特权

评论回复
6
tankfisher| | 2007-5-21 21:34 | 只看该作者

请教楼主

楼主,你好!非常感谢你为大家所作的工作!

我看了你的程序,发现程序好像并不是在在boot区驻留和执行的吧?这样会不会存在问题呢?

使用特权

评论回复
7
lshlin| | 2007-5-22 00:39 | 只看该作者

好人!

使用特权

评论回复
8
maomao40| | 2007-5-22 10:12 | 只看该作者

谢谢!

使用特权

评论回复
9
fanlt| | 2007-5-22 15:27 | 只看该作者

谢谢!

使用特权

评论回复
10
xiaohai326| | 2007-5-23 20:57 | 只看该作者

谢谢

使用特权

评论回复
11
judge| | 2007-5-25 18:36 | 只看该作者

顶一下

今天刚才要加个BOOTLOADER功能,就发现这贴. 还没看,顶一个,先.
多谢无私的精神.

使用特权

评论回复
12
beiji1984| | 2007-5-29 21:09 | 只看该作者

谢谢。

使用特权

评论回复
13
HotPower| | 2007-5-30 12:33 | 只看该作者

谢谢~~~

使用特权

评论回复
14
axia2008| | 2007-6-12 12:18 | 只看该作者

谢谢 我在at90can128上下载成功

使用特权

评论回复
15
dtsaint| | 2007-6-13 18:01 | 只看该作者

谢谢!!

非常感谢搂主的无私奉献

使用特权

评论回复
16
winsu| | 2007-6-14 08:38 | 只看该作者

就是长了点

适合M16等以上的,对于M8来说,就长了点。
我写(未写完)了一个,256Bytes可实现大多数功能:读/写Flash,读/写eeprom等。

使用特权

评论回复
17
科技人| | 2007-6-14 12:53 | 只看该作者

收下了,谢谢!

使用特权

评论回复
18
atmega16| | 2007-6-24 18:34 | 只看该作者

AVR通用bootloader 1.0怎么用的?

AVR通用bootloader 1.0怎么用的? 

为什么我的ATmega32总是出现“从发次数太多,下载被中止” 

使用特权

评论回复
19
zfh123| | 2009-5-1 12:54 | 只看该作者

谢谢

谢谢

使用特权

评论回复
20
天地有源| | 2009-11-26 00:19 | 只看该作者
正在用楼主的bootloader,确实很棒,但是通讯速度无法突破115200,要是能突破115200达到921600就好了!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

szy

1

主题

1

帖子

0

粉丝