下面以Arduino 2009為例來介紹一下如何使用它來bootloader。
1.Arduino IDE軟件Arduino 0018及UTINYISP驅(qū)動
Arduino 0018
https://arduino.googlecode.com/files/arduino-0018.zip
UTINYISP
https://blog.flamingoeda.com/wp-content/uploads/2009/05/utinyisp-w32-driver-v112.zip
以上兩個后解壓縮到硬盤上。
2. UTINYISP的驅(qū)動安裝:在PC上次使用UTINYISP時,要先安裝其驅(qū)動,步驟如下:
用U線把UTINYISP板和電腦相連(記得PWR處跳線帽要插上,系統(tǒng)會提示找到相應(yīng)的硬件
在隨后出現(xiàn)的“找到新的硬件向?qū)?rdquo;對話框中,選“否,暫時不”,然后單擊“下一步”按鈕:
在隨后出現(xiàn)的對話框中,選“從列表或指定位置安裝()”,然后單擊“下一步”按鈕:
接著指定之前解壓縮開的UTINYISP板驅(qū)動文件所在的目錄:
單擊“下一步”按鈕之后,系統(tǒng)就開始安裝UtinyISP所需要的驅(qū)動文件:
后單擊“完成”按鈕,驅(qū)動的安裝就完成了
此時在系統(tǒng)的硬件管理器中,我們能夠找到“UtinyISP R Programmer”,表明該線已經(jīng)可以使用了。
可以看到板上PWR處的綠色LED是亮起的。
3. 給Arduino2009Bootloader
用6芯的連接線將UtinyISP和Arduino 2009板上的ICSP座連接起來,如下圖,此時Arduino 2009板處的PWR指示紅燈會亮起。
,s
要注意的是6芯線的紅線處位置:
打開解壓后的Arduino0018,然后選擇Tools/Board/Arduino Duemilanove
在Burn Bootloader下選擇UtinyISP.
此時程序進(jìn)入燒程序狀態(tài),UTINYISP板的BUSY紅燈亮起,
Arduino IDE 界面如下
等待10~20秒,如現(xiàn)如下界面,系統(tǒng)程序燒完,Arduino 2009板上的L的紅色LED開始閃爍。
如果是MEGA板的Bootloader,基本步驟與Arduino 2009板的Bootloader一樣,需注意的是在打開Arduino IDE時要選擇的Board為Mega,如下圖。
如果是Arduino 2009(168)板的Bootloader,基本步驟與Arduino 2009(328)板的Bootloader一樣,需注意的是在打開Arduino IDE時要選擇的Board為Arduino Diecimila, Duemilanove, or Nono w/ATmega168,如下圖。
需要注意的是如果是168P的話,要在Arduino 0018里做一些小小修改才能用UTINYISP來燒寫B(tài)ootloader,在Arduino 0018目錄下有arduino-0018\\hardware\\tools\\r\\etc 打開rdude文件,找到如下代碼:
#------------------------------------------------------------
# ATmega168
#------------------------------------------------------------
part
id = "m168";
desc = "ATMEGA168";
has_debugwire = yes;
flash_instr = 0xB6, 0x01, 0x11;
eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00,
0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF,
0x99, 0xF9, 0xBB, 0xAF;
stk500_devcode = 0x86;
# r910_devcode = 0x;
signature = 0x1e 0x94 0x06;
把后的0x06改為0x0B,保存后就可以和燒寫168一樣的來進(jìn)行168P的Bootloader燒寫了。至于原因,主要是168P的signature和168的不一樣,所以不改一下的話Arduino 0018會認(rèn)不出來。當(dāng)然,燒好后記得改回0x06,不然就沒有辦法在Arduino 0018下進(jìn)行Upload"