avrdude-GUI 簡介
avrdude 是很普遍使用的 AVR 燒錄程式 (programmer),不過 avrdude 是指令列的工具,對初學者來說很容易令人怯步,sourceForge 上有個 avrdude-gui 的專案,那是給 avrdude 用的 GUI 介面,不過 avrdude-gui 一直停留在 2004 的版本,已經很久沒有更新了。本文要介紹的是另一個 avrdude 的 GUI 介面,是由 KAWAKAMI Yukio 用 C# 撰寫而成的 avrdude-GUI。
avrdude-GUI 主畫面如下:
使用 avrdude-GUI 第一件事是設定 avrdude.exe 執行檔的路徑:
▲ 上圖使用 Arduino IDE 裏的 avrdude.exe
設定 PATH 環境變數
為了使用 avrdude,你必須把底下幾個路徑加到 PATH 環境變數裏:
C:\arduino-00xx\hardware\tools\avr\bin;
C:\arduino-00xx\hardware\tools\avr\utils\bin;
C:\arduino-00xx\hardware\tools\avr\etc
其中,arduino-00xx 是 Arduino IDE 的版本號碼,例如 arduino-0021。
接下來將介紹如何用 avrdude-GUI 燒錄 Arduino Sketch。
燒錄 Arduino Sketch
以 Blink 程式為例,底下是使用 avrdude-GUI 燒錄韌體的步驟:
1. 參考底下畫面設定 Programmer, Port, Device 以及 Command line Option:
其中:
● Programmer: 由於 Arduino 大部份 bootloader 講的都是 stk500v1 協定,因此這個選項選擇 "Atmel STK500 Version 1.x firmware (stk500v1)
● Port: 設定 Arduino 連接的 Serial Port,此例使用 COM4,如果你的 Serial port 不是 COM4,請適當調整。
● Device: 設定所用的 AVR 晶片,我使用的是 atmega328p 晶片,你必須知道你 Arduino 板子所用的 AVR 晶片為何。
● Command line Option: 這裏設 -b 57600 是指以 57600 bps 的 baud rate 速率燒錄。關於 Arduino 板子的 baud rate 設定,可以在 "arduino-00xx\hardware\arduino\boards.txt" 裏找到,這部份請參考「用 avrdude 燒錄 Arduino Sketch」的說明。
2. 選擇 hex 檔路並開始燒錄
參考下圖所示,接著只要在 Flash 欄位選擇 hex 檔的路徑,然後按下 Write 或 "Erase – Write – Verify" 按鈕,就可以把 hex 檔燒錄到 Arduino 板子上了:
用 AVR dragon 燒錄 Arduino bootloader
如果你手上有 AVR dragon 燒錄器,可以參考底下的步驟燒錄 Arduino bootloader:
參考下圖的指示:
主要是:
(1) Programmer 要選擇 "Atmel AVR Dragon in ISP mode (dragon_isp)"
(2) Port 要用 "usb" 並設定好所用的 Device,本例使用 ATmega328P
(3) 選擇 hex 檔的路徑,Arduino bootloader 的 hex 檔都放在 "arduino-00xx\hardware\arduino\bootloaders" 底下,以 Arduino Duemilanove (atmega328p) 為例,hex 檔是 "arduino-00xx\hardware\arduino\bootloaders\ATmegaBOOT_168_atmega328.hex"
(4) 最後按下 "Erase – Write - Verify" 便可以完成 bootloader 的燒錄工作。
註:你也可以用 AVR Dragon 搭配 avrdude-GUI 讀取與設定 Fuse 與 Lock Bit,不過,以 Arduino 而言,通常是不需要更改的。
延伸閱讀
- avrdude-GUI (yuki-lab.jp Version)
- Arduino Duemilanove 初體驗 (FTDI bitbang 燒錄 bootloader)
- 把 Arduino 當成一個 AVR ISP (In-System Programmer) 使用(1), (2), (3)
沒有留言:
張貼留言
注意:只有此網誌的成員可以留言。