Arduino ATMEGA168 ATMEGA328P bootloader 使用 FTDI Bitbang 燒錄法

回覆文章
yehlu
Site Admin
文章: 3245
註冊時間: 2004-04-15 17:20:21
來自: CodeCharge Support Engineer

Arduino ATMEGA168 ATMEGA328P bootloader 使用 FTDI Bitbang 燒錄法

文章 yehlu »

http://tw.myblog.yahoo.com/dig-in/article?mid=422

最近買了ATMega328p,沒燒錄器,到貨時東西也沒燒好,所以只好硬著頭皮找方法燒。
最後發現只要把原來的Arduino Duemilanove的ATMega168拆下,換上新買的ATMega328p,
跳個線就可以用版子上原有的FTDI(USB轉RS232)燒錄新買的ATMega328p! 原文網站

首先把你的 Duemilanove 銲上4根排針,再做一條排線,放入要燒的單晶片,按照下圖連線:


下載Avrdude-GUI
接下來插上USB線,然後開啟Avrdude-GUI,先做好下面基本設定:
1. 一定要做,因為預設值的相對路徑在我win7上不會動,還是選好絕對路徑較保險
2.選擇燒錄方式,因為我們這種跳線法燒叫BitBang,所以我們選這個
3.燒錄的晶片是ATMega328p
4.-P ft0 是BitBang埠設定,沒燒過的晶片通常都是慢速,所以要加 -B 4800


1. 按Read可以測試上面的設定是否正確,如果不正確,就不會跳出Fuse值,那就要重新檢查設定。
2. 讀出Lock Bit,應該會出現3F或0F,接下來按Chip Erase


1. 寫入新的Fuse值
hFuse: DA
lFuse: FF
eFuse: 05


1. 如果Fuse值寫入正確,你的晶片應該就可以跑更快的速度,所以拿掉-B 4800
2. 按一下Fuse Read做測試,沒跳error是可以跑新的較快的速度了
3. 選擇ATMega328p的HEX檔,Arduino主程式有附,路徑是 arduino-0018\hardware\arduino\bootloaders\atmega\ATmegaBOOT_168_atmega328.hex
4. 選擇「清除、燒錄、檢查」,卡穩啦!10幾秒就燒完了。


1. 把Lock Bit改成0F,就燒好了!


如果你是燒ATMega168,那設定如下:


1. 選擇ATMega168,除非你的晶片是ATMega168p,這最好拿放大鏡仔細看看你的精片上寫的!


2. ATMega168 Fuse bit 不太一樣
hFuse: DD
lFuse: FF
eFuse: 00

3. 燒錄的檔案可以有2種:
ATmegaBOOT_168_diecimila.hex - 一般我們燒錄的版本,閃爍13 PIN的LED 1次
ATmegaBOOT_168_ng.hex - 開機較慢,連續閃爍13 PIN的LED 3次
所以看閃爍的方式,就知道你是燒哪一種bootloader

4. 一樣,在燒錄完以後,用0F鎖起Lock Bit


網路上一直都沒有中文的燒錄說明,所以才在此寫出,希望能幫到大家。
回覆文章

回到「Arduino」