Show page source of ArmUsbTiny #53573

= ARM-USB-TINYでいろいろする =

既に同じことをしていた方がおられました...
[http://homepage3.nifty.com/zus/ARM_LPC2388_Dev_Flame.html ARM LPC2388 開発環境構築方法]

以下は半分自己流
|| ハードウェア || 説明 ||
|| ARM-USB-TINY || 千石電商で6825円 ||
|| LPC2388の載ったボード || Interface 2009年5月号の付録 ||

|| ソフトウェア || 説明 ||
|| GCC 4.1.1 for ARM for Windows || [http://www.teamknox.com/RoboShellTools/RoboShellToolsj.html RoboShellTools]から入手 ||

|| 資料 || 説明 ||
|| Eclipse/ARMプロセッサによる組み込み開発 || 書籍 2800円+税 翔泳社 ||

 * ARM-USB-TINYに付属のCD-ROMでインストールしたものはなんだかうまくいかなかったので、本のほうの手順を頼ってやってみる。
 * とりあえずGCC 4.1.1 for ARM for Windowsの動作は問題ない。
 * OpenOCDは、Webを検索したら[http://www.besttechnology.co.jp/modules/knowledge/?OpenOCD ベストテクノロジー]さんのところにWindowsバイナリがあったので、それを使用。
 * {{{ocd.bat}}}は以下のように書き換えたら動作した(localhost:4444へのTelnet接続でちゃんと応答が返る)。
{{{
openocd.exe -d 3 -s ./tcl -f daemon.cfg -f interface/olimex-jtag-tiny.cfg -f target/lpc2388.cfg
pause
}}}

== OpenOCDについて ==
=== ドライバ ===
 * http://sourceforge.net/projects/openocd/ で配布されているopenocdのバイナリ
 (molelordが使用したのはopenocd-0.3.1.zip)では、ftd2xx.dllを扱えない。
 よって、USBドングルのドライバとしてftd2xx.dllが使用されている場合
 (デバイスマネージャでUSBドングルのプロパティ-ドライバの詳細 を見たときにftd2xx.dllが出てくる場合)は、
 そのUSBドングルをopenocd.exeで使用することはできない。
 * [http://sourceforge.jp/projects/ported4hdl/svn/view/trunk/openocd/makefile?view=co&root=ported4hdl 「FTDIのドライバを使用できるopenocd.exe」をビルドできるmakefile]で作ったopenocd_d2xx.exeならば、ftd2xx.dllを使用しているUSBドングルを扱える。

 * [http://www.olimex.com/dev/index.html Olimex]の、「Drivers for working with OpenOCD」というリンクで
 ダウンロードできるdriver-libftdi-openocd.zipはlibsub0.dllを使ったドライバで、ftd2xx.dllは使わない。
 * [http://www.olimex.com/dev/index.html Olimex]の、「Drivers for CrossWorks (FTDI drivers)」というリンクで
 ダウンロードできるdriver-ftd2xx.zipはtd2xx.dllを使うのだけれど、
 デバイス名が「USB Serial Converter A」とかになるので役に立たない。
 * ARM-USB-TINYに同梱されているCDに記録されていた「ARM-USB-OCD-DRIVER」は、ftd2xx.dllを使う。

=== ~.cfg ===
 * http://sourceforge.net/projects/openocd/ のopenocd-0.3.1.zipの中では、interface/olimex-jtag-tiny.cfgを使えばARM-SUB-TINYを認識できる。
 * cfgの中のft2232_device_descは、デバイスマネージャに出てくるデバイスの名前と完全に一致しないと駄目。
 * openocd-0.3.1.zipのtarget/にはlpc23'''8'''8.cfgが無くて、lpc23'''7'''8.cfgしかないので、lpc2378.cfgをコピーして、-work-area-sizeを0x8000から0x10000に変えることでlpc2388.cfgを作る。