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-0022\hardware\arduino\bootloaders\optiboot中。
新版的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-0022\hardware\arduino\bootloaders\optiboot中。
然后打开arduino-0022\hardware\arduino\boards.txt文件,在文件末尾下上下面代码。
- ##############################################################
- opti8.name=Arduino Optiboot8
- opti8.upload.protocol=stk500
- opti8.upload.maximum_size=7680
- opti8.upload.speed=115200
- opti8.bootloader.low_fuses=0xbf
- opti8.bootloader.high_fuses=0xcc
- opti8.bootloader.path=optiboot
- opti8.bootloader.file=optiboot_atmega8.hex
- opti8.bootloader.unlock_bits=0x3F
- opti8.bootloader.lock_bits=0x0F
- opti8.build.mcu=atmega8
- opti8.build.f_cpu=16000000L
- opti8.build.core=arduino
重新启动arduino IDE,就可以在Board菜单中,看到新的板子Arduino Optiboot8了。
在烧写bootload还是像以前mega328/168一样烧写。但是在选择的时候要选上面图示的选项。经过一个星期的逛单片机论坛和国内一些爱好者的指导下,至此对于mega8作为arduino芯片宣告成功。因为国内现在用mega8的人几乎少之又少, 所以写此文以供arduino爱好者参考学习,呵呵,当然也作为自己的资料以后忘记了可以查找用了。