@wikiメニュー編集表示ツールヘルプブックマーク登録RSS登録
このウィキに参加ログイン
新規ページ作成
すでにあるページをコピーして新規ページを作成 スレッドフロート型掲示板から引用して新規ページ作成(α版) ブログの内容から引用して新規ページ作成(α版) ファイルをアップロードして新規ページ作成(α版) 他のホームページから引用して新規ページ作成(α版)
[PR] 無料ホームページ @PAGES [PR] オークション@pedia [PR] 2ch型無料レンタル掲示板 @chs
@wikiで新規wikiを作成
このページを編集 このページを編集(メニュー非表示編集;α) このページをコピーして新規ページを作成 このページのページ名を変更 このページの編集モードを変更 このページの閲覧/編集権限の変更
このページにファイルをアップロード
このウィキにファイルをアップロード(FTP機能/管理者のみ利用可)
メニューを編集(メニュー部分は非表示で編集)
このページの最新版変更点 このページの編集履歴(バックアップ) このページへのリンク元 このページへのトラックバック
このページをPDFで表示(α版)
関連ページ(α版) 関連ホットワード(α版)
このwikiのページ一覧 編集履歴(バックアップ)のあるページ一覧 このwikiのタグ一覧 このwikiの更新情報RSSこのwikiの更新情報RSS このwikiの新着ページRSSこのwikiの新着ページRSS
このwiki内を検索 @wikiパーツ▶  @wiki便利ツール▶  このwikiの管理者に連絡
@wiki助け合いコミュニティ @wiki助け合い掲示板
wiki(ウィキ)って何?
初心者ガイド
ご利用ガイド 良くある質問 プラグイン一覧 編集モードの違いについて 不具合や障害を見つけたら 管理・設定マニュアル
はてなブックマークする FC2ブックマークに追加 Livedoor クリップに追加 Yahoo!ブックマークに登録 del.icio.usに追加
はてなRSSに追加 livedoor ReaderにRSSフィードを登録 Yahoo!にRSSフィードを登録 BloglinesにRSSフィードを登録 NewsGator OnlineにRSSフィードを登録 iGoogleにRSSを追加
@wikiパーツ:あなたのサイトにWikiデータを簡単表示!
最近更新したページの一覧を表示する 最近作成したページの一覧を表示する このwiki内を検索するフォームを表示する このwikiのタグクラウドを表示する 自動リンク辞書を利用する
@wiki便利ツール:トップページ
まとめサイト作成支援ツール RSSかんたん作成 興味キーワードをチェック!!(RSSナビ) いろんなblogのRSSかんたん作成ページ アマゾン商品検索(簡単アフィリエイト) wikiに株式情報(日本)を表示 wikiに株式情報(中国)を表示 かんたんHTML直接入力 Q&Aサイトかんたん連携作成 wikiに為替情報を表示 はてなアンテナと簡単連携

BitBang Mode AVR-Writer on Mac

『外付けAVRライタ無しでBootloaderを書き込む』
http://www.geocities.jp/arduino_diecimila/bootloader/
http://www.geocities.jp/arduino_diecimila/bootloader/index_old.html
をMacでやりたい。

環境は、
  • Arduino2009
  • macbook OSX 10.4.11
です。

ドライバの準備

ダウンロード


インストール

ReadMe.rtfに従ってインストールする。
(libftd2xx.0.1.6.dylibを/usr/local/libにコピー。
libftd2xx.0.1.6.dylib -> libftd2xx.dylib にシンボリックリンク。
ftd2xx.hとWinTypes.hを/usr/local/includeにコピー。)
% ls -l /usr/local/lib/libftd2xx*
-rwxr-xr-x   1 root  wheel  212748  2 24 01:47 /usr/local/lib/libftd2xx.0.1.6.dylib
lrwxr-xr-x   1 root  wheel      36  2 24 01:50 /usr/local/lib/libftd2xx.dylib -> /usr/local/lib/libftd2xx.0.1.6.dylib

% ls -l /usr/local/include/(ftd*|Win*) 
-rwxr--r--   1 root  wheel   2230  2 24 01:49 /usr/local/include/WinTypes.h
-rwxr-xr-x   1 root  wheel  23433  2 24 01:48 /usr/local/include/ftd2xx.h

テスト

(成功例)
% cd D2XX/Samples/BitMode
% make
% ./bitmode 
ucMode = 0x0
% cd D2XX/Samples/Simple
% make
% ./simple
Device 0 Serial Number - A9005bvI
Opened device A9005bvI
^CClosed device
↑こうなれば成功なのだが、Arduinoのシリアルドライバがインストールされている場合うまくいかない。

(失敗例)
% cd D2XX/Samples/BitMode
% ./bitmode                                                        
FT_Open(0) failed = 3
% cd D2XX/Samples/Simple
% ./simple 
Device 0 Serial Number - A9005bvI
Error FT_OpenEx(3), device

USBシリアルドライバとD2XXドライバは排他的なので同時に使うことができません。
ターミナルから以下のコマンドでUSBシリアルドライバをアンロード/ロードできます。
sudo kextunload /System/Library/Extensions/FTDIUSBSerialDriver.kext
sudo kextload   /System/Library/Extensions/FTDIUSBSerialDriver.kext

(アンロード&テスト)
sudo kextunload /System/Library/Extensions/FTDIUSBSerialDriver.kext
% cd D2XX/Samples/BitMode
% ./bitmode 
ucMode = 0x0

bitbangを使い終わったらふたたびArduinoを使えるように、
sudo kextload   /System/Library/Extensions/FTDIUSBSerialDriver.kext
としてUSBシリアルドライバをロードしておきます。

serjtag-0.3 + avrdude-5.3.1のビルド

mkdir mac_bitbang
cd mac_bitbang
wget http://www.nmj.sakura.ne.jp/suz-avr/serjtag/serjtag-0.3.tar.gz
# wget http://www.geocities.jp/arduino_diecimila/bootloader/files/serjtag-0.3.tar.gz
wget http://ftp.twaren.net/Unix/NonGNU/avrdude/avrdude-5.3.1.tar.gz
# MD5 (avrdude-5.3.1.tar.gz) = 58c2be9f7a864b930ed9e6f1858f5cc7
# MD5 (serjtag-0.3.tar.gz) = 7228de34ad8221598401cd631dd6f55e
tar xvzf avrdude-5.3.1.tar.gz
tar xvzf serjtag-0.3.tar.gz
cd avrdude-5.3.1
patch -p1 < ../serjtag-0.3/avrdude-serjtag/src/avrdude-5.3.1-usb910.patch
patch -p1 < ../serjtag-0.3/avrdude-serjtag/src/avrdude-5.3.1-avr910d.patch
patch -p1 < ../serjtag-0.3/avrdude-serjtag/src/avrdude-5.3.1-serjtag.patch
patch -p1 < ../serjtag-0.3/avrdude-serjtag/src/avrdude-5.3.1-ft245r.patch
patch -p1 < ../serjtag-0.3/avrdude-serjtag/src/avrdude-5.3.1-baud.patch
mv ser_posix.c ser_posix.c.ORIG
grep -v B3000000 ser_posix.c.ORIG > ser_posix.c
./configure CFLAGS="-g -O2 -DSUPPORT_FT245R" LIBS="-lftd2xx"
make
./avrdude -v 
↑ターミナルにコピペしたらOK

配線

Arduino tiny2313V mega88 mega88p
5V Vcc 20 7,20
Gnd GND 10 8,22
(X3:2) SCK 19 19
(X3:1) MISO 18 18
(X3:3) MOSI 17 17
(X3:4) RESET 1 1

avrdude.confを編集

#arduino diecimila
programmer
 id="diecimila";
 desc  = "FT232R Synchronous BitBang";
 type  = ft245r;
 miso  = 3;  # CTS X3(1)
 sck   = 5;  # DSR X3(2)
 mosi  = 6;  # DCD X3(3)
 reset = 7;  # RI  X3(4)
;
追加する。

実行

~/tmp/mac_bitbang/avrdude-5.3.1/avrdude -C ~/tmp/mac_bitbang/avrdude-5.3.1/avrdude.conf -c diecimila -p t2313 -vv -B 4800
~/tmp/mac_bitbang/avrdude-5.3.1/avrdude -C ~/tmp/mac_bitbang/avrdude-5.3.1/avrdude.conf -c diecimila -p t2313 -vv -B 4800 -U flash:w:main.hex:i

リセットが解除されない

なんかリセットが常にLOWのような気がする。
プルアップ10kを付けてもだめ。
配線を外すと書き込んだプログラムが動き始める。


うごかないときは

ReadMe.rtfにヒントがあった。
Q. Cannot open a port even though installation has been successful.
A1. This is possibly due to the FTDI serial driver holding the port with your VID and PID. Solution is to uninstall
the serial driver (see www.ftdichip.com knowledgebase on how to do this). To completely eradicate the possibility of
this occurring in future it is recommended a new VID and PID is used to distinguish between devices.
A2. Another possibility is an incorrect VID/PID. Try changing your application to use the FT_SetVIDPID API call to
quickly determine if this is the case.


参考サイト

|新しいページ|検索|ページ一覧|RSS|@ウィキご利用ガイド | 管理者にお問合せ
|ログイン|