こんにちは、志村です。8月5日に待望のmbed OS 5がリリースされましたので、さっそくサンプルプログラムを動かしてみます。
mbed OS 5について
私たちが普段使っていたmbed 2.0(Classicとも呼ばれていました)と2014年10月にIoTデバイス向けOSとして発表されてたmbed OS 3が合体し、mbed OS 5という名前で正式リリースされました。どこから「5」がでてきたのかとおもったら、mbed 2.0 + mbed OS 3 = mbed OS 5ということだそうです。皆に以前から愛用されてきたmbed 2.0の使いやすさを踏襲し、mbed OS 3で提唱された新機能を取り込んだみたいです。
サンプルプログラムをインポートする
mbed OS 5ではmbed Online Compilerだけでなく、コマンドラインインタフェイスのmbed CLI、サードパーティから提供されているIDE(LPCXpresso、Atmel Studioなど)から、開発者自身が開発環境を選べるようになりました。mbed CLIやサードパーティのIDEを使えば、オフライン環境でもmbedを使った開発をおこなうことができます。今回はmbed OS 5の確認が目的なので、使い慣れたOnline Compilerを使います。
サンプルプログラムはmbed Documentationのmbed OS Blinky ExampleボタンからOnline Compilerにインポートできます。
プログラムを確認する
mbed OS 5はCMSIS-RTOS RTXをベースにしてつくられています。このサンプルプログラムではRTOSのThreadクラスをつかって、LEDの点滅の時間を定義しています。
#include "mbed.h" DigitalOut led1(LED1); // main() runs in its own thread in the OS // (note the calls to Thread::wait below for delays) int main() { while (true) { led1 = !led1; Thread::wait(500); } }
また、左カラムに表示されるmbedライブラリの名称がmbedからmbed-osに変更になりました。
コンパイルとプログラムの書き込み
画面上部のコンパイルボタンをクリックすると、プログラムがコンパイルされます。コンパイルに成功するとバイナリファイルがダウンロードされます。ダウンロードされたファイルをmbedにドラッグ&ドロップをして完了です。
LEDの点滅の確認
mbed OS 5に対応しているmbed LPC1768を使って、mbed OS 5のプログラムが走ることを確認しました。
スイッチサイエンス製mbedのmbed OS 5対応について
mbed OS 5に対応しているmbedのリストはplartformsのページをmbed OS 5でフィルタすると確認できます。mbed OS 5は、RTOSが動くためmbed 2.0よりも多くのメモリを必要とします。このため、当社の製品では、Switch Science mbed TY51833r3が対応する予定です。対応までもう少しお待ちください。