用 ATmega8L-8PU 体验 Arduino (提供bootloader 下载)
本帖最后由 aGuegu 于 2012-3-27 18:30 编辑转自 (阿)古作坊
玩了一阵子 Arduino,发现一个诡异的问题,玩 Arduino 核心的单片机,基本是 ATmega168,例如 Diecimila,而现在基本都是更为高级的 ATmega328,以 UNO 为代表。因为 Arduino 的逐渐流行,这两款芯片也是水涨船高,身价倍增,甚至供货都比较紧张。而另一方面,市面上货源最为稳定的,而且价格实惠的,(虽然有人说这个型号十年前就停产了),却是 ATmega8L,注意是带L的,也就是额定最高主频是8M的那款。##############################################################
atmega8_8M.name=ATmega8_8MHz
atmega8_8M.upload.protocol=arduino
atmega8_8M.upload.maximum_size=7168
atmega8_8M.upload.speed=115200
atmega8_8M.bootloader.low_fuses=0xa4
atmega8_8M.bootloader.high_fuses=0xdc
atmega8_8M.bootloader.path=optiboot
atmega8_8M.bootloader.file=optiboot_atmega8_8M.hex
atmega8_8M.bootloader.unlock_bits=0x3F
atmega8_8M.bootloader.lock_bits=0x0F
atmega8_8M.build.mcu=atmega8
atmega8_8M.build.f_cpu=8000000L
atmega8_8M.build.core=arduino
atmega8_8M.build.variant=standard使用新的 Bootloader,只是选择不同的 Bootloader 文件,以及在 (ADE)\hardware\arduino\boards.txt 文件内添加配置信息就可以了。我使用的ADE(Arduino Development Environment)是1.0的版本。
适用于 ATmega8L 的 Bootloader 下载地址:Atmega8_8M.zip
需要向 Board.txt 文件中添加的内容,见文章开头部分。
一些说明:
[*]该Bootloader为自定义OptiBoot 后编译生成,hex和lst文件,可保存在bootloaders\optiboot文件夹内。
[*]使用内部 RC 振荡器,时钟频率为 8MHz。
[*]同样适用于 ATmega8-16PU、ATmega8L-8PU
[*]阅读配置文件可知,熔丝位配置为,低位0xa4,高位0xdc,下载波特率为115200
一些诡异的情况:
[*]如果自动下载不稳定,可以尝试手动复位。对 M8-16PU 的 DTR 自动复位比较成功,而对于M8L经常无法自动复位,按说是挺没道理的。
[*]若给ATMega8L采用3.3v供电,程序依然可以运行,但是似乎无法烧写程序,手动复位依然不行。
[*]串口通讯不稳定。如果项目牵扯到串口通讯,建议还是采用 时钟更为稳定的外部晶振。但是实测中,按照115200这样的高波特率又能完成下载,是不是很神奇?
本文参考了以下文章:
[*]ATMega8 Arduino Bootloader (Optiboot)
[*]Arduino Standalone 3.3 V 8MHz without external crystal
[*]Minimal Arduino with ATmega8
在此向各位 Arduino 开源社区的前辈表示感谢。
同时,可以参考本人之前的2篇Blog,分别是:
[*]【Hardware】AVR之旅的第一步~ | Beginning AVR
[*]【Arduino】使用ATmega8-16PU制作Arduino最小系统
我自己实验的时候使用的板子及方法,在这两片文章都有介绍。
希望找到更加实惠方案体验 Arduino ,不急于购买 Arduino 标准板的朋友,不妨试试看。
原文地址:http://aguegu.net/?p=699
欢迎大家多来我的博客看看。(阿)古作坊 http://aguegu.net 很好的文章,咋没人顶啊 顶啊好文。。 为什么啊,我一直都烧不进去啊 新人,手里还没片子
等到了之后上面包板看看 ATMEGA8L用内部 RC振荡器,时钟频率为 8MHz,USB 5V供电,选用optiboot,串口通信115200Kb/s很正常,但4800,9600,19200等速率要不乱码,要不无法通信,不知道是啥原因,按道理速率越低越可靠,这下可是反过来的。 支持············· 我的ATMEGA现在用的是16M的外部时钟,跑得很欢呢 superid888 发表于 2013-3-8 22:41 static/image/common/back.gif
ATMEGA8L用内部 RC振荡器,时钟频率为 8MHz,USB 5V供电,选用optiboot,串口通信115200Kb/s很正常,但4800 ...
这样啊···················· superid888 发表于 2013-3-8 22:41 static/image/common/back.gif
ATMEGA8L用内部 RC振荡器,时钟频率为 8MHz,USB 5V供电,选用optiboot,串口通信115200Kb/s很正常,但4800 ...
bootloader是按115200Kb/s编译的,
页:
[1]