[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インターフェースが必要になります。たくさん種類はありますが、

あたりがメジャーどころではないでしょうか。

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にしています。リセットする前に抵抗を取り付け、リセットしたあと抵抗を外しましょう。
/media/uploads/ytsuboi/lpc1114-isp-blinky.png
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ユーザーのあなたへのアドバイスは何もありません。
/media/uploads/ytsuboi/lpc1114-swd-blinky.png

オフラインコンパイル

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でも動作を確認しています。
ピンアウトはこちらですので遊んでみてください。:-)
/media/uploads/ytsuboi/pinout_xpresso-20130816-o.png

クレジット

mbedのLPC1114へのポーティングは次のメンバーによって行われました。

また、mbedチームの皆さんに加え、次の人々にもご協力いただきました。

フィードバック

このポーティングに問題があった場合、このページへのコメントやTwitter( @ytsuboi )などでお知らせ下さい。


1 comment on [lang:ja] mbed LPC1114での遊び方:

23 Aug 2013

名前を掲載いただいてありがとうございます (>_<;

ところでMac OS Xでのバイナリ(.bin)→インテルhex(.hex)フォーマット変換はhttp://www.headcrashers.org/comp/programs/bin2hex.htmlが使えました.
「bin2hex」コマンドが使えるまでの手順は下の通り

  1. bin2hex.tar.gzを解凍したディレクトリでmakeして,実行コードのbin2hexを作成し,
  2. 3.binと名付けたファイルを同ディレクトリにコピーして,
  3. 「bin2hex 3.bin > 3.hex」でhexファイルを作成
  4. 出来上がったhexファイルの中身を確認している様子です

/media/uploads/okano/bin2hex_sample.png

Please log in to post comments.