mbed OS 5でLEDを光らせてみる

投稿者:

こんにちは、志村です。8月5日に待望のmbed OS 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_docs

プログラムを確認する

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_os_5_main_cpp

コンパイルとプログラムの書き込み

画面上部のコンパイルボタンをクリックすると、プログラムがコンパイルされます。コンパイルに成功するとバイナリファイルがダウンロードされます。ダウンロードされたファイルをmbedにドラッグ&ドロップをして完了です。

LEDの点滅の確認

mbed OS 5に対応しているmbed LPC1768を使って、mbed OS 5のプログラムが走ることを確認しました。
mbed_os_1768

スイッチサイエンス製mbedのmbed OS 5対応について

mbed OS 5に対応しているmbedのリストはplartformsのページをmbed OS 5でフィルタすると確認できます。mbed OS 5は、RTOSが動くためmbed 2.0よりも多くのメモリを必要とします。このため、当社の製品では、Switch Science mbed TY51833r3が対応する予定です。対応までもう少しお待ちください。