mbed

ここ一週間ほど、mbedについて調べました。

改めて認識したのは、mbedは手軽にマイコンを使って外部機器を操作するための環境です。もっとも重要視されるのは手軽さで、拡張性や性能はそれほど重要視されていないようです。拡張性や性能を重要視する環境は他にたくさんあるので、これを以てmbedの欠点と言うことはできません。苦手分野、くらいのつもりでいいでしょう。

拡張性や性能が重要視されていないことの一つの証拠が、割り込みにあります。mbedが割り込みをどう扱うのか、私自身は公式な文書を見つけることができませんでした。mbedが手軽さを狙っているのなら、割り込みについて書いていないのは不思議ではありません。ユーザー自身が書いた割り込みに関する文書がいくつもありますが、どれも正式文書へのリンクがありませんから独自解析結果なのでしょう。公式mbedライブラリには割り込みを使うものがありますが、それらはティッカー(周期割り込み)やタイムアウト(ワンショット)であり、一般的な割り込みフレームワークというわけでは有りません。

と言うことで、mbedで割り込み使う場合、可搬性に関してははじめからあきらめてもいいでしょう。手持ちのボードで動いたとして、他のボードで自分が使う割り込みが同様に「空き」であるかどうかはわかりません。また、他の人が作ったプログラムと衝突することもあるでしょう。

割り込みに関しては、mbed-RTOSを使うと上に挙げた欠点が解決されます。が、今度は標準mbedライブラリを気軽に使えなくなるため、なんのためにmbedをプラットホームとして選ぶのかわからなくなります。mbed-RTOSを選ぶくらい性能を重要視するのなら、むしろLPCXpresso IDELPCOpenFreeRTOSを組み合わせることを検討した方が前向きに思えます。

mbedのよいところは、敷居の低さと多くの書籍やネット上の情報です。これらを殺さないように使うのが、よいアプリケーションの秘訣のように感じます。

コメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください