2011年6月16日 星期四

Arduino IDE Tweak (開發環境調校)

我在 Arduino 官網上找不到 Arduino IDE 調校 (Tweak) 的資料,只好自己動手整理。

首先,因為底下幾個招式會動到 Arduino 的 preference.txt,所以你得先知道 preference.txt 的位置。preferences.txt 可以在這個資料夾中找到:

  • Mac: /Users/<USERNAME>/Library/Arduino/preferences.txt
  • Windows: C:\Documents and Settings\<USERNAME>\Application Data\Arduino\preferences.txt
  • Linux: ~/.arduino/preferences.txt

另外,如果你要更動 preference.txt,記得要先關閉 Arduino IDE,等改完後再重開 IDE,這樣設定值才會生效。

底下就是降服 Arduino IDE 的幾個招式:

1. 顯示 HEX 檔所在的位置

Arduino IDE 預設不會顯示 hex 檔所在的位置,如果你想知道 hex 檔在哪,在編譯的時候只要按著 SHIFT 鍵不放,再點 Verify 編譯程式,畫面下方的狀態視窗就會顯示 HEX 檔所在的位置:

image

2. 顯示 HEX 檔所在位置第二式
為了顯示 HEX 所在位置,每次編譯要按 Shift 鍵總是有點麻煩,這招是一勞永逸的方法,直接在 preference.txt 加上底下這行就搞定了:

build.verbose=true 

3. 設定 HEX 檔的資料夾

這招可以自訂 HEX 檔的資料夾,在 preference.txt 加上底下這行:

build.path=C:\ArduinoHex

這會叫 Arduino IDE 把產生的 HEX 檔放到 C:\ArduinoHex 資料夾中。

記得要自己先建個 C:\ArduinoHex 資料夾,不然 Arduino IDE 會跟你抱怨找不到資料夾。

4. 顯示 upload 的資訊
在 preference.txt 加上底下這行: 

upload.verbose=true

之後,當你上傳程式時,狀態視窗就會顯示 upload 的資訊,如下圖:

image
▲ 這是 Arduino IDE 的狀態視窗截圖

上面這張圖是上傳 Blink 範例的畫面,從圖中的訊息可知,Arduino 用的是 avrdude 這支上傳程式,它下的指令是:

C:\arduino-0021\hardware/tools/avr/bin/avrdude -CC:\arduino-0021\hardware/tools/avr/etc/avrdude.conf -v -v -v -v -patmega328p -cstk500v1 -P\\.\COM4 b57600 -D -Uflash:w:C:\ArduinoHex\Blink.cpp.hex:i

從這裏你也可以知道 avrdude 所在的位置,它的路徑是 "C:\arduino-00xx\hardware\tools\avr\bin\avrdude.exe"

5. 指定燒錄工具 (programmer)

preference.txt 預設有這麼一行設定:

upload.using=bootloader

這個設定是 Arduino 的預設值,也就是說韌體燒錄的工作是透過 Arduino 板子上的 bootloader 進行的。

其實你也可以指定燒錄工具 (programmer),例如使用 arduino isp:

upload.using=arduinoisp

這種做法是直接把 Arduino Sketch 燒錄到板子上,沒有用到 bootloader,這讓你得以使用 ATmega 晶片全部的程式空間 (program space)。這部份請參考這篇的說明。

除了 arduinoisp 外,你也可以使用其它 programmer。Arduino 所支援的 programmers 全登記在 "C:\arduino-00xx\hardware\arduino\programmers.txt" 這個檔案裏,它的內容如下:

由此可知,Arduino 預設支援 avrisp, avrispmkii, usbtinyisp, parallel 和 arduinoisp 這 5 種燒錄工具。

延伸閱讀

0 意見: