LPCとmbedについては知らないことが多すぎるので用語など曖昧であることを先に断っておく。

秋月電子のLPC11U35ボードは、ファームウェアを変えるとMbedインタフェース(DAPLink)となる。DAPLinkとは、mbedのドロップ&ドラッグスタイルの書き込み機能、仮想シリアルポート、CMSIS-DAP対応のデバッガーがひとまとまりになっているもの、ということらしいです。

aitendoの店頭で、このLPC1114FDH28/102のDIP化モジュールの未実装マイコンセットが安かったので購入してあった。これはシルクがIchigoJam用になっているけど一応汎用基板である。これと秋月のLPC11U35ボードを組み合わせてLPC1114をmbedボード化してみることにした。

LCP1114 DIP化モジュールは、そのままでもmbedで開発したバイナルが動くのだけど、書き込みは、USBシリアルポートか、デバッガ系の書き込みツールで行う必要がある。mBedといえば、USB接続したらドライブと見えて、そこにビルドしたバイナリをドラッグ&ドロップすれれば即動作という印象があるので、そういう使い方を試してみたい。

やり方自体は実に簡単。手順を紹介する。macOSの場合だけどWin機でもほとんど同じはず。

LPC11U35にDAPLinkファームウェアをインストール

  • Github上にある開発元 https://github.com/ARMmbed/DAPLink のリリースページ(https://github.com/ARMmbed/DAPLink/releases) から0244_release_package_392f85aa.zip というファイルをダウンロードして展開する。
  • 中の「0244_lpc11u35_ssci1114_0x0000.bin」が今回の目的のファイル。これはおそらくSwitch-Scienceさんのこのmbed用ボードのものだけど流用させて頂く。
  • LPC11U35ボードのISPボタンを押しながらMacに接続する。ドライブ名が「CRP DISABLD」と表示されるはず。
  • 「CRP DISABLD」上の「firmware.bin」 というファイルを削除する。
  • 先程の「0244_lpc11u35_ssci1114_0x0000.bin」を「CRP DISABLD」に書き込む。ただしドラッグ&ドロップだとうまくいかないと思うので、ターミナルでCPコマンドでコピーする。CPコマンドについては割愛。
  • 書き込んだらボードのResetボタンを押して「MBED」というドライブ名でマウントされたらインストールOK。

この状態でMBEDドライブにファイルを書き込んでもどこにも書き込まれないです。汎用なUSBシリアル&CMSIS-DAPデバッガーとしては使える(未テストですが)。

LPC11U35とLPC1114の接続

LPC11U35側で使うピンはこんな感じ。ライター側になるのでSWDインタフェースではないことに注意。

LPC1114側のLPC11U35と接続するピン。LPC11U35側のTGT_〜とSWDインタフェースを接続します。
その他のピンアサインは、https://os.mbed.com/users/ytsuboi/notebook/getting-started-with-mbed-lpc1114-ja/ の図と同じです。

実際の接続図がこちら。

nRESETにタクトスイッチを付け、押したらGNDに落ちるようにする。
これでMBEDボードのように使えるようになります。プログラムを書き込んだらタクトスイッチを押してLPC1114側をリセットすると(LPC11U35側もリセットかかるけど)プログラムが実行されます。
LPC1114用のDAPLinkファームウェアをインストールしているのでプログラムの書き込みはLPC1114しかできませんが、それ以外のMCUを接続した場合は、USBシリアル、CMSIS-DAPインタフェース(デバッガ)としては利用できるようですのでそれなりに汎用性があることがあります(そもそも元のファームウェアの書き換えも簡単)
僕レベルだとデバッガー機能を使うことはあまり無いと思いますが、USBシリアルとしても機能するのでそれでデバッグ作業をする感じになるかな。そのうち基板に起こして使いやすくしてみようかなと思っています。

 

Share