NeXtPinoとeXodusino

DIPなARMマイコンで有名なLPC1114を使ってみたいと思って色々探してみると、NeXtPinoというのを見つけました。
そして速攻でポチりましたwww

スポンサーリンク

どうやらArduino風の基板で、eXodusinoと合わせるとLPC1114がより使いやすくなりそうです。
eXodusinoは下記のサイトを見ながら導入しました。
LPC Linkは以前に当たったLPCXpresso LPC812に付いているのでそれを使います。

LPCXpressoと接続
早速接続して、サンプルプログラムを書き込み!
しかし、こんなエラーが出て書き込めないという・・・

02:Failed on connect: Ee(07). Bad ACK returned from status - wire error.

調べてみるとRESETピンをGNDに落とすといいらしい。
NeXtPinoにはリセットボタンが付いているので書き込むときにリセットボタンを押してみます。
するとエラーもなく書き込むことが出来ました。

サンプルプログラムはシリアル通信でカウントアップするというプログラムだったのですが、やっぱり新しい基板を手に入れたらLチカをしたいという事でおなじみのプログラムに書き換えてプログラムを書き込んでみます。
ここで同じく上のエラーが出るのでリセット押しながら・・・
と思ったら今度はこんなエラーが出る(´・ω・`)

02: Failed on connect: Em(02). MEM-AP is not selected.

これは調べてみるとどうやらP0.1(NeXtPinoの2ピン目)をGNDに落とすといいらしい。
その通りにしてみると、リセットボタンを押さなくても書き込みが成功しました。

ただこれでは書き込み毎に導線を5本も接続しないといけないので面倒です。
そこでFlash Magicというものを使ってシリアル通信で書き込みます。
書き込むには.hexファイルがいるのでLPCXpressoに.hexファイルを出力させるようにします。

プロジェクト(今回はeXodusino)を右クリックして[Properties] → [C/C++ Build] → [Settings] → [Build Steps] → [Post-build Steps] →[Command:]に

arm-none-eabi-objcopy -O ihex ${BuildArtifactFileName} ${BuildArtifactFileBaseName}.hex ;

と書き込めば.hexファイルが出力されるらしいです。
デフォルトでも出力されるのかな、そのあたりはわからないです。

Flash Magicの設定はこんな感じに。
Flash Magic
Hexファイルを選択して[Start]を押すと書き込みが始まります。
この時もP0.1はGNDに落としておきます。
その他の方法として、ブートローダを書き込んでバイナリを書き込む方法もあるみたいですが、なぜかうまく行かないので今はFlash Magicで書き込む方法がメインになっています。

やっと書き込み方法が確立されたのでいろんなプログラムが書き込めます。
アナログ入力とアナログ出力
アナログ入力とアナログ出力を試してみました。
デバッグ(?)用にシリアル通信も同時に。
eXodusinoには標準ではアナログ入力が実装されていませんので、このあたりを参考してみるといいかもしれません。

スポンサーリンク

Leave a Comment

  • matty

    NeXtPinoのご紹介ありがとうございます。
    eXodusinoは非常によくできており関心します。
    ブートローダーを焼いておくと、シリアル通信からのプログラムの書き換えができとおり、
    重宝してます。
    ADCに関してはやっつけでw

    えとせとら(なかのひと)