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愛好者參考學習,呵呵,當然也作為自己的資料以后忘記了可以查找用了。