[lang:ja] mbed LPC1114での遊び方
.
If you can't read Japanese, here is the documentation in English.
/users/ytsuboi/notebook/getting-started-with-mbed-lpc1114/
mbed LPC1114のピンアウト
LPC1114FN28をmbedで開発する際に使用するピン指定は次の通りです。
IRC(内蔵オシレーター)を使うようにしてありますので、XTALを接続していただく必要はありません。
将来的にはmbedインターフェースを用意することも検討しているため、インターフェースチップと接続されるSWDのピンは指定できないようにしてあります。
とりあえず手始めのLEDチカチカにはLED1(dp14)やLED2(dp28)がオススメです。
Information
dp5とdp27は"open-drain(オープンドレイン)です。
オープンドレインってなんじゃらほいって方は、この2つのピンをI2C以外の用途に使わない方が良いでしょう。
mbed LPC1114とPCの接続
オンラインコンパイラで生成したバイナリをLPC1114にFlashするには、大きく分けて2つの方法があります。一つはUARTを使うISP(In-System Programming)です。もう一つはSWD(Serial Wire Debug)で接続して書き込む方法です。
ISP
ISPで書き込むには、FTDI Basicなどの3.3VのUARTインターフェースが必要になります。たくさん種類はありますが、
- Switch Science FTDI USBシリアル変換アダプター(5V/3.3V切り替え機能付き)
- 秋月電子 FTDI USBシリアル変換ケーブル(3.3V)
- Sparkfun FTDI Basic Breakout - 3.3V
あたりがメジャーどころではないでしょうか。
Warning
注: 秋月電子通商さんなどで売られている、FTDI社のUSBシリアル変換ケーブル(3.3V)は、信号は3.3Vですが、電源は5Vが出力されているので注意してください。
ISPで書き込みをするには、FTDI BasicのTX,RXをLPC1114FN28のRX(dp15), TX(dp16)と接続します。
また、LPC1114FN28は、リセット時にPIO0_1(dp24)をLOWにしておくことでISPモードに投入することができます。
写真では24番ピンとGNDの間に330Ωの抵抗を挟むことでLOWにしています。リセットする前に抵抗を取り付け、リセットしたあと抵抗を外しましょう。
ISPで書き込むソフトウェアですが、いくつか種類があります。
イカ醤油ポッポ焼き
イカ醤油ポッポ焼きは、mbedをISPプログラマにするプログラムです。
もし、青いmbed LPC1768をお持ちでしたら、これが最も簡単な方法です。
イカ醤油ポッポ焼きは、テッド岡野さんが開発してくださいました。
Flash Magic
Flash Magicは、WindowsとMac OS Xに対応しています。
問題は、オンラインコンパイラーからダウンロードしたバイナリファイルをそのまま扱うことができず、バイナリをいったんHEXに変換してやらなければ転送できないことです。
WindowsでバイナリをHEXに変換するにはbin2hexを利用すると良いでしょう。
BIN2HEXは、私の手元のWindows 7 x64で動かなかったのですが、HEXファイルツールというツールならx64でも問題無く動作したそうです。
OS Xでは、bin2hexを使えば変換できるそうです。(Tedd OKANOさん、Thanks!!)
lpc21isp
筆者はlpc21ispを使っていました。これならバイナリでもHEXでも転送することができます。
筆者がOS X用にビルドしたファイルはこれです。(無保証) /media/uploads/ytsuboi/lpc21isp chmod +x して使ってください。
lpc21ispは次の様にして使います。
$ lpc21isp -bin LEDBlink_LPC1114.bin /dev/cu.usbserial-AD020SZ2 115200 48000
SWD
SWDユーザーのあなたへのアドバイスは何もありません。
オフラインコンパイル
MDK (uVision 4)は本当に素晴らしい開発環境です。32kBまでという制限があるものの、無償のMDK-Liteがあります。LPC1114FN28のFlashは32kBですので、Liteで十分に堪能することができます。
MDKとデバッグアダプタがあれば、オフラインコンパイルのみならずデバッグも可能ですし、MDKに含まれるarmccは本当に高効率でサイズの小さいバイナリを吐いてくれるのでオススメです。私たちはMDKでこのポーティング作業を行いました。
現在は、mbedのオンラインコンパイラからexportしてMDKでビルドすることができます。
が、できなかった頃に渡した配っていてアーカイブを一応このまま置いておきます。
/media/uploads/ytsuboi/1114ledblink.zip
おまけの情報
LPC1114ポーティングはLPCXpresso LPC1114でも動作を確認しています。
ピンアウトはこちらですので遊んでみてください。:-)
クレジット
mbedのLPC1114へのポーティングは次のメンバーによって行われました。
また、mbedチームの皆さんに加え、次の人々にもご協力いただきました。
フィードバック
このポーティングに問題があった場合、このページへのコメントやTwitter( @ytsuboi )などでお知らせ下さい。
2 comments on [lang:ja] mbed LPC1114での遊び方:
Please log in to post comments.
名前を掲載いただいてありがとうございます (>_<;
ところでMac OS Xでのバイナリ(.bin)→インテルhex(.hex)フォーマット変換はhttp://www.headcrashers.org/comp/programs/bin2hex.htmlが使えました.
「bin2hex」コマンドが使えるまでの手順は下の通り