Raspberry Pi mbed環境(LPC1114FN28)を試してみる

Raspberry Piでmbed環境を構築してみました。

mbedについては下記のページにある「mbed & LPC1114入門」というPDFが簡潔、明瞭に書かれていて非常に参考になります。
DSP空挺団 mbed & LPC1114

Raspberry Piではなによりwebブラウザでmbedがまともに動くのか?という点が心配でしたが起動に少々時間がかかるも割と普通に動いてくれました。もちろんガリガリプログラムを書くことはできませんが私のような初心者の学習程度には十分使えるものと思います。
mbed00
mbedを導入するにはアカウントを作る必要があります。PDFのとおりhttpss://mbed.org/のページからLogin or SignupをクリックするとLoginとSignupの項目があります。Signupをクリック、Yes I have…クリックしてからユーザー名、パスワードほかを入力します。(私は間違えました:)

プラットフォームのLPC1114FN28は現在スイッチサイエンスのmbed LPC1114FN28に変更されています。
プラットフォームは後からでも追加、削除が可能です。

PDFの記述どおりプロジェクトを作成、mbed_blinky_LPC1114.binの実行ファイルがダウンロードできました。
とりあえずRaspberry Piのwebブラウザ(Iceweasel)でもなんとか使えるようですね。
Midoriでも起動、閲覧は可能ですが編集に問題があるようです。

書き込みソフトのインストール
lpc21ispを下記のサイトよりダウンロードします。
https://sourceforge.net/projects/lpc21isp/
ダウンロードしたファイルを展開、コンパイルします。

$ tar -xzvf lpc21isp_197.tar.gz
$ cd lpc21isp_197
$ make

lpc21ispという実行ファイルができます。必要なファイルはこれだけですのでパスの通った場所にコピーします。
user単位であればホームの~/binでもいいのですが今回は/usr/local/binに置いてみました。
root権限で

# cp lpc21isp /usr/local/bin
# chown root:root /usr/local/bin/lpc21isp

現バージョン(V1.97)はLPC1114FN28/102はサポートされています。
$ lpc21isp 引数なしでオプションを表示します。

以上でソフトウェアの準備ができたのでここからはハードウェアの準備をします。
プアでジャンク好きのホビーストにはDIPタイプということでLPC1114FN28/102とLPC810をマルツから購入してきました。
LPC1114FN28/102 158(170) (便乗か:)
LPC810 75(81)

LPC1114FN28/102を使用して簡単な学習用ボードを組んでみます。
lpc1114
モニタ用にLED1を取り付けてあります。

TXD,RXDはクロス接続
LPC1114 TXD –> CH340G RXD
CH340G TXD –> LPC1114 RXD

ch340g
USB-シリアル変換は前回のArduinoで使用したCH340G

RTSを12番ピンヘッダに接続

USB-5Vは一旦LPC1114ボードに供給して3.3vをVCCとして受けます。

lpc1114-01
抵抗、パスコンはチップ部品を取り付け(ジャンク品)

lpc1114-02
ICの両側にピンソケットを配置

ダウンロードしたmbed_blinky_LPC1114.binを書き込んでみます。

$ lpc21isp -control -bin mbed_blinky_LPC1114.bin /dev/ttyUSB0 115200 12000

lpc21isp
こんな感じで書き込めます。

同時にリセットもかかってLチカが始まります。

Arduinoと同じ感覚で扱えます。(あくまでサンプルプログラムですが)

但し一旦USBを抜き差しするとLチカが止まってしまいます。
どうもDTR,RTS信号が初期値のLowに固定されてしまうようです。(電源のみを加えるとプログラムは走っています)
再度書き込んであげると復活するのですが無駄に書き込むのもどうかなと思いいろいろ試したところcuでポートにアクセスしてあげるとDTR,RTSをHighにできることがわかりました。(ほかに方法があるのかな?)

cuをインストール

# apt-get install cu
$ cu -l /dev/ttyUSB0 -s 9600

上記のコマンドを実行してすぐ終了させます。
cuを終了するには、”~” (Shift+^ チルダ) と “.” (ピリオド)を順に入力します。
一瞬タイムラグがありますが終了した時点からLチカが復活すると思います。
.bashrcにalias登録してあげると便利かもしれません。

$ cd
$ vi .bashrc
# some more ls aliases
#alias ll='ls -la'
#alias la='ls -A'
#alias l='ls -CF'
alias cu='cu -l /dev/ttyUSB0 -s 9600' ←ここを追加
$ source .bashrc

cuと打つだけでcu -l /dev/ttyUSB0 -s 9600を実行してくれます。