×
嵌入式 > 嵌入式开发 > 详情

研究arduino支持Atmega8作为主控制芯片

发布时间:2021-03-30 发布时间:
|
arduino uno相对于duemilanove的一个显著变化就是其bootloader,uno使用了新版的bootloader后,同样是328P芯片,使用空间有32256字节,而duemilanove只有30720字节。

新版的bootloader叫做Optiboot,是国外某位大侠觉得老版bootloader太过古董了,小宇宙爆发,就写了出来。。。

新版bootloader的主要特点
1,可用空间大了,比起原来2K的体积,减少了接近1.5KB。(对于NG的古董bootloader也缩小了0.5K)
2,上传程序速度更快,新版的bootloader波特率是115200。
3,对代码进行了优化,提高了运行效率,而且无看门狗问题。
4,支持使用ATMEGA8 168 328芯片的arduino,未来可能会支持更多芯片。

可是现在的arduino IDE中,不管是ng,nano等老于uno的板子,还是一成不变的默认下载老bootloader,跟不上时代了。

自己动手丰衣足食,先解决最古董的ATmega8芯片,其他的就好说了。
先到arduino官方下载回来最新版本的optiboot。

以arduino 0022为例,为了更接近官方的那么简单的下载方法,我们先把解压缩出来的两个文件optiboot_atmega8.hex与optiboot_atmega8.lst放入
arduino-0022hardwarearduinoootloadersoptiboot中。

本文引用地址:/zixunimg/eepwimg/www.eepw.com.cn/article/201611/323776.htm


然后打开arduino-0022hardwarearduinooards.txt文件,在文件末尾下上下面代码。

  1. ##############################################################

  2. opti8.name=Arduino Optiboot8
  3. opti8.upload.protocol=stk500
  4. opti8.upload.maximum_size=7680
  5. opti8.upload.speed=115200
  6. opti8.bootloader.low_fuses=0xbf
  7. opti8.bootloader.high_fuses=0xcc
  8. opti8.bootloader.path=optiboot
  9. opti8.bootloader.file=optiboot_atmega8.hex
  10. opti8.bootloader.unlock_bits=0x3F
  11. opti8.bootloader.lock_bits=0x0F
  12. opti8.build.mcu=atmega8
  13. opti8.build.f_cpu=16000000L
  14. opti8.build.core=arduino

重新启动arduino IDE,就可以在Board菜单中,看到新的板子Arduino Optiboot8了。


在烧写bootload还是像以前mega328/168一样烧写。但是在选择的时候要选上面图示的选项。经过一个星期的逛单片机论坛和国内一些爱好者的指导下,至此对于mega8作为arduino芯片宣告成功。因为国内现在用mega8的人几乎少之又少,所以写此文以供arduino爱好者参考学习,呵呵,当然也作为自己的资料以后忘记了可以查找用了。




『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
ARM入门篇之(一)概念