なんでも作っちゃう、かも。

Arduino/Make/フィジカルコンピューティング/電子工作あたりで活動しています。スタバの空きカップを使ったスタバカップアンプなど製作。最近はもっぱらArduinoと3Dプリンタの自作に興味があります。

Arduinoで遊ぼう - AVRライタを使わないBootloaderの書き込み(2)

Posted by arms22 on 2009年12月28日 0  0

以前、AVRライタを使わないBootloaderの書き込み方法としてArduinoそのものをAVRライタに変えてしまうBoot-Clonerというスケッチを紹介した。

Boot-Clonerはあれから一度も更新されていない。ATmega168以外のAVRマイコンにもBootloaderを書き込む必要が出てきたので、他の方法を試すことにした。

今回、Arduino Duemilanoveに搭載されているUSB-SerialブリッジICであるFT232RLを使ってBootloaderを書き込む方法を紹介する。


接続



arduino_icsp.png
Arduino X3ピンとICSPピン


ft232r_icsp.png
秋月FT232RモジュールとATmega168の接続(via 外付けAVRライタ無しでBootloaderを書き込む


D2XX Direct Driversのインストール


http://www.ftdichip.com/Drivers/D2XX/MacOSX/UniBin/Universal%20D2XX0.1.6.dmg

sudo mkdir /usr/local/lib
sudo mkdir /usr/local/include

sudo cp D2XX/bin/libftd2xx.0.1.6.dylib /usr/local/lib/libftd2xx.0.1.6.dylib
sudo ln -sf /usr/local/lib/libftd2xx.0.1.6.dylib /usr/local/lib/libftd2xx.dylib

sudo cp D2XX/Samples/ftd2xx.h /usr/local/include/ftd2xx.h
sudo cp D2XX/Samples/WinTypes.h /usr/local/include/WinTypes.h


※OSX用のD2XXの最新版は 0.1.7 だが、OSX10.6ではセグメントフォルトでavrdudeが強制終了してしまう。またOSX10.4.11ではavrdudeのconfigureに失敗する。その為、OSX10.4.11+D2XX 0.1.6で動作を確認した。


avrdudeとserjtag04eのインストール


avrdude5.8に対応したserjtagの最新版がリリースされていたので、最新版を利用。
mkdir avrdude-serjtag04e
cd avrdude-serjtag04e

curl -O http://nmj.sumomo.ne.jp/suz-avr/serjtag/avrdude-serjtag04e.zip
curl -O http://ftp.twaren.net/Unix/NonGNU/avrdude/avrdude-5.8.tar.gz

tar xvzf avrdude-5.8.tar.gz
unzip avrdude-serjtag04e.zip

cd avrdude-5.8
patch -p1 < ../avrdude-serjtag04e/src/avrdude-5.8-serjtag.patch
patch -p1 < ../avrdude-serjtag04e/src/avrdude-5.8-ft245r.patch
patch -p1 < ../avrdude-serjtag04e/src/avrdude-5.8-conf.patch

./configure CFLAGS="-g -O2 -DSUPPORT_FT245R" LIBS="-lftd2xx"
make
sudo make install



FTDIシリアルドライバのアンロード

sudo kextunload /System/Library/Extensions/FTDIUSBSerialDriver.kext



ブートローダの書き込み

avrdude -c diecimila -P ft0 -p m168 -B 4800 -U efuse:w:0×00:m -U hfuse:w:0xdd:m -U lfuse:w:0xff:m
avrdude -c diecimila -P ft0 -p m168 -U flash:w:"ATmegaBOOT_168_diecimila.hex":i
avrdude -c diecimila -P ft0 -p m168 -U lock:w:0x0f:m



FTDIシリアルドライバのロード

sudo kextload   /System/Library/Extensions/FTDIUSBSerialDriver.kext






BitBang Mode AVR-Writer on Mac
http://www15.atwiki.jp/arduino/pages/23.html

外付けAVRライタ無しでBootloaderを書き込む
http://www.geocities.jp/arduino_diecimila/bootloader/index.html#top

FTDI BitBang AVR-Writer
http://www.geocities.jp/arduino_diecimila/avr-writer/index.html

FT245R/FT232R で avrdude (2)
http://suz-avr.sblo.jp/category/780472-1.html

FT245R/FT232R で avrdude
http://suz-avr.sblo.jp/article/30760403.html

Arduinoで遊ぼう - AVRライタを使わないBootloaderの書き込み
http://arms22.blog91.fc2.com/blog-entry-219.html


該当の記事は見つかりませんでした。