
要燒錄 Arduino 的單晶片 ATmega8 或 ATmega168 需要用到 ISP 介面,
市面上已經有很多工具可以提供這樣的功能, 原廠的 AVR ISP 2 也在台幣一千多元上下, 甚至網路上也有很多的 DIY 電路和軟體, 有興趣的朋友不仿可以上網搜尋一下, 一定會跑出一堆, 挑個簡單實用的電路自己做一個也是很有趣. 這次主題是燒錄 Arduino 的 bootloader, 所以暫時不討論ISP 電路的自製.
我是用 Atmel 原廠的 AVR Dragon, USB 介面, 支援 ISP, JTAG 和 high voltage 燒錄, 也支援 32KB (含) flash以下的 AVR JTAG debug 功能, 單價低, 所以是一個經濟實惠的開發工具.
將 AVR Dragon 用 USB cable 連上電腦, 並將 6-pin 的 ISP ribbon 連上 Arduino 的 ISP 連接座, 如下圖. 因為沒有防呆設計, 要注意第一 pin 的位置, 別插錯方向了. 最後將 9V adaptor 插上 Arduino. 這樣就完成連線準備了!
接著就來開啟工具軟體進行燒錄工作吧.
這次用的工具軟體就是 Atmel 原廠的 AVR Studio, 可到 Atmel 原廠網站 www.atmel.com 下載, 完全免費喔! 功能挺多的, 也支援 C source level debugging, JTAG 和 ISP 燒錄,….等, 容易上手, 是不可多得的好工具.
先選燒錄硬體
接著在此 dialogbox 中選取 AVR Dragon, 介面當然就是 USB 囉. 然後按 Connect.
之後跳出此 dialogbox, 這裡要做些設定. 我們就一項一項來吧.
首先當然要挑選晶片型號, 所以是 ATmega8, 再來是選取燒錄模式, 選 ISP mode.按 “Read Signature” 可讀出晶片的 ID.
換到 “Program” 這個頁面, 在 Flash 區, 選取要燒錄的 bootloader HEX 檔案, 可在安裝 Arduino 軟體的目錄下找到, 例如:
E:\arduino-0017\hardware\bootloaders\atmega8
如果晶片是選用 ATmega168, bootloader 檔案則在
E:\arduino-0017\hardware\bootloaders\atmega
其它的選項則使用 default 設定.
Fuses 這個頁面有一些重要的設定, 設錯了, 可能無法燒錄, 或者燒完了不會動, 請參考下圖.
其他的頁面可以不要理管他. 回到 Program 頁面, 按下 “Program” 鍵, 就開始進行燒錄工作了. 整個燒錄過程只要幾秒鐘, 只要看到底下一堆的 OK 就表示順利成功了!
燒錄完成, 當然就要進行測試, 這又要等下回分解了.