Arduino 0023 でoptibootに染まってみる
2011/11/27Arduinoソフトウエアが0023版にアップデートされたので中身をのぞいてみると、
多くのAVRに対応したoptibootが含まれており、optibootが標準になってきたようです。
optibootは、アップロードの高速化、ユーザエリアの拡大など、メリットが多いので実装してみます。
–
●まず、ちびでぃ~の2ユーザーの方から要望のあった、ちび2optiboot化を試してみました。
フラッシュメモリのブートローダーイメージ arduino-0023\hardware\arduino\bootloaders\optiboot\optiboot_atmega328.HEX ヒューズ設定値 arduino-0023\hardware\arduino\boards.txt の uno.bootloader.low_fuses=0xff uno.bootloader.high_fuses=0xde uno.bootloader.extended_fuses=0x05
をMEGA328に焼きます。
Arduinoの Tools ? board プルダウンメニューから”Arduino Uno”を選択すると、高速にアップロードができるようになりました。
今後、ちびでぃ~の2は、optiboot版で頒布していきます。
–
●つぎに、なのぼ~どV1.2での内臓8MHzクロック用のoptibootをMAKEしてみました。
従来のなのぼ~どは、16MHzクロックのMEGA8用optibootのオブジェクトを焼いていました。
8MHz用のオブジェクトは用意されていなかったので、MAKEファイルに定義を追加します。
arduino-0023\hardware\arduino\bootloaders\optiboot\MakeFile に下記を追加
# ATmega8-8m # atmega8-8m: TARGET = atmega8 atmega8-8m: MCU_TARGET = atmega8 atmega8-8m: CFLAGS += '-DLED_START_FLASHES=3' '-DBAUD_RATE=115200' atmega8-8m: AVR_FREQ = 8000000L atmega8-8m: LDSECTIONS? = -Wl,--section-start=.text=0x1e00 -Wl,--section-start=.version=0x1ffe atmega8-8m: $(PROGRAM)_atmega8-8m.hex atmega8-8m: $(PROGRAM)_atmega8-8m.lst atmega8-8m_isp: atmega8-8m atmega8-8m_isp: TARGET = atmega8-8m atmega-8m8_isp: MCU_TARGET = atmega8 # SPIEN, CKOPT, Bootsize=512B atmega8-8m_isp: HFUSE = DC # 2.7V brownout, Internal 8MHz osc (8MHz) atmega8-8m_isp: LFUSE = 94 atmega8-8m_isp: isp ###
コマンドプロンプトで、このフォルダに移動して、”omake atmega8-8m” を実行して、オブジェクトを作成。
出来上がった “optiboot_atmega8-8m” を AVRに焼きます。
ヒューズも下記のように焼きます。
low_fuses=0x94 high_fuses=0xDC
arduinoフォルダの中にある、hardware\arduino\boards.txt の末尾に下記を追加します。
############################################################## atmega8o8.name=[Optiboot] ATmega8 8MHz atmega8o8.upload.protocol=stk500 atmega8o8.upload.maximum_size=7680 atmega8o8.upload.speed=115200 atmega8o8.bootloader.low_fuses=0x94 atmega8o8.bootloader.high_fuses=0xDC atmega8o8.bootloader.path=optiboot atmega8o8.bootloader.file=optiboot_atmega8-8m.hex atmega8o8.bootloader.unlock_bits=0x3F atmega8o8.bootloader.lock_bits=0x0F atmega8o8.build.mcu=atmega8 atmega8o8.build.f_cpu=8000000L atmega8o8.build.core=arduino ##############################################################
Arduinoの Tools ? board プルダウンメニューから”[Optiboot] ATmega8 8MHz”を選択すると、
スケッチのアップロードができるようになりました。
なのぼ~どV1.2からは、このブートローダーを書き込んでいきます。
__________________________________________________
[…] ArduinoIDEの設定方法はArduino 0023 でoptibootに染まってみるの末尾部分を参照してください。(ちびでぃ~のPROと同じ使い方です) 出来上がったAVRチップをターゲット基板に差替えれば、シ […]
[…] https://tiisai.ddo.jp/?p=1413 Arduino 1.0.3 […]
[…] https://tiisai.ddo.jp/?p=1413 Arduino 1.0.3 […]