[lang:ja] mbed祭り2014@師走の秋葉原「Edis○nでmbed開発」プレゼン資料

僕にとっては今年5回目のmbed祭り、mbed祭り2014@師走の秋葉原で話した「Edis○nでmbed開発」のスライドです。/media/uploads/ytsuboi/mbed-fest-dec2014.pdf

me
こんな感じでしゃべってました。なお、時間押してるっていうアナウンスがありましたが、持ち時間30分のうち質疑応答分を除いて25-26分くらいでキッチリ終わってましたよ!

mbed Advent Calendar 2014に書くということで、いつもの資料アップだけで済ましてはいけないので、色々と補足を書いておきます。いつも、プレゼンのスライドを作るとき、参加者の皆さんはどんな話が聞きたいだろうか、みなさんどんなことをやっているのだろうかと気になります。僕が興味があるのは、何かをするモノを作ることよりも、それを作るためのツール作りだったりします。どういうわけか、新しいMCUを動かしてみたりが好きなので、オフライン開発を選び続けています。今年はこのネタを話続けていますが、いまいちフィードバックが無くて自分も不安なので、こういう話がききたいとか、ここをもっと掘り下げて欲しいとかそういうリクエストがあればコメントください。次のmbed祭りでのプレゼンをより良くしたいと思い続けています。

venue

当日、会場でちょうど「mbedのオンラインコンパイラでexportしたコードは、どうやってオフラインでコンパイルすれば良いのか」と質問をいただきました。半導体メーカーさんが配布している無償のツールは、どうも色々制限があって好きになれません。僕のイチオシはMDK-ARMなのですが、それなりに高価なツールなのでお仕事でない方には薦めづらいです。無償で使えるMDK-Liteは32kBまでしかビルドできませんし。

そんなわけで、コストをかけずにCortex-Mの開発を色々やりたい方にはGNU Tools for ARM Embedded Processorsをオススメします。Windows / Linux / OS X用のバイナリが配布されていますので、これをお手元の環境に解凍してインストールするだけで環境構築できるはずです。このコンパイラは、オンラインコンパイラからExportするときにExport toolchainを「GCC(ARM Embedded)」を選んでExportしたものをビルドできます。ただ、Windowsの場合、makeコマンドも用意しなければならないでしょう。

NXPのLPCに書き込むバイナリは、もしかするとチェックサムを付与しなければならないかもしれません。この件について詳しくはLPCのUSB ISPを使ってバイナリを書き込むときのTipsにまとめてあります。このchecksumコマンドのためだけに、僕はLPCXpressoをインストールしていたりします…

もうひとつ、nRF51822向けのプロジェクトはご存じのようにHEXファイルができあがります。gccはバイナリを生成しますので、これをHEXに変換するためにはsrec_catというコマンドが必要です。srec_catは、SRecordというツールに同梱されていますので、これもインストールしておきましょう。

できあがったバイナリはターゲットがmbedであれば、ドラッグ・アンド・ドロップするだけで書き込みができますし、Flash速度は高速とは言えませんが、pyOCDをからCMSIS-DAPなどのデバッグプロトコルを使って、SWD(Cortex-Mマイコンに付いているデバッグ用端子)からFlashすることもできます。

CMSIS-DAPというのは、パソコン側のデバッグソフトと、mbedのインターフェースチップなどのデバッグアダプタとの間の通信のプロトコル(規格)です。なぜこんな標準規格があるかというと、Cortex-MマイコンのデバッグアダプタにはARMのULINKとかSeggerのJ-Linkとか、デバッグアダプタだけで複数の種類、その種類だけのプロトコルが乱立していて、開発ツールとデバッグアダプタの組み合わせがヤヤコシイからです。


明日はOhtaさんです。


Please log in to post comments.