チップ設計図の落書き屋 ARM は、モノのインターネット向けオペレーティング システムである mbed の最初のパブリック ベータ版のソース コードの一部を公開しました。
モノのインターネットは、組み込みエンジニアリングを表す今日のおしゃれな言葉であり、ARM はその分野のあらゆるところに存在しています。同社が設計する小型で比較的シンプルなプロセッサ コアは、無数のガジェットや機器、電話やタブレット、コントローラやセンサー、スマートカードなどに使用されています。
英国企業は、ローエンドで低消費電力のCortex-Mチップと競合する通信規格を統合するソフトウェアを提供する上で、まさに中心に位置する最適な立場にあると考えています。10月、ARMはmbed.orgの開発者コミュニティとドライバコードから生まれたmbed OSを発表しました。
アイデアとしては、デバイス上でオープンソースのmbed OSを実行し、バックエンドでARMのミドルウェアを使ってデバイスと通信・制御するというものです。ただし、スタック全体がオープンソースというわけではありません。バックエンドで処理を実行するシステムはARMのデバイスサーバー製品を使用しており、デバイス上ではハードウェアを初期化し、信頼できるファームウェアが実行されるようにするために、いくつかのバイナリBLOBが必要です。
ARM は、Apache 2.0 ライセンスを使用して、できる限りオープンソース化しようとしていると述べていますが、商業上の現実を無視することはできません。
火曜日にリリースまたは発表されたものは次のとおりです。または、ソースコードについてはここをスキップしてください。
- mbed OS ベータ版: ARMによると、これは「コアオペレーティングシステム、堅牢なセキュリティ基盤、標準ベースの通信機能、そしてセンサー、I/Oデバイス、接続用のドライバー」を提供するとのことです。このOSには、セキュリティ強化カーネル、スケジューラ、ハードウェア抽象化レイヤー、その他のモジュールが付属しています。デバイスとのデータの送受信は、暗号化されたTLS接続を介して行われます。
- mbed デバイス サーバー(バージョン 2.5): このミドルウェアは、より強力なバックエンド サーバー上で実行され、mbed OS を実行している IoT デバイスと通信して制御します。
- mbedデバイスコネクタ:これはクラウドで動作し、mbedデバイスサーバーソフトウェアのホストバージョンです。これにより、デバイスはmbed.comが提供するシステムと通信できるようになります。実験用に無料版が用意されていますが、それ以外の場合は有料版となります。
- mbed TLS (バージョン 2.1.0): これは Apache 2.0 を使用し、デバイスに暗号化アルゴリズムと TLS/DTLS サポートを提供します。
- mbed クライアント ベータ版:mbed OS は、ARM のローエンドデバイス向け軽量設計である Cortex-M コアを搭載したシステムオンチップ(SoC)を対象としています。スマートフォンやタブレットに搭載されているチップは、はるかに強力な Cortex-A コアを搭載しています。mbed クライアントは、Cortex-A 搭載デバイス、あるいはその他ほぼあらゆるデバイスで動作し、デバイスサーバーやデバイスコネクタのバックエンドと通信できるソフトウェアです。つまり、GNU/Linux シングルボードコンピュータを mbed スタックに接続できるということです。また、ARM のミドルウェアに料金を支払いたくない場合でも、デバイス側のコードはすでに公開されており、ドキュメントも整備されているため、独自のバックエンドソフトウェアを開発することも可能です。
コードの大部分はC/C++とARMアセンブリ言語で記述されています。このOSは、11月に開催されるARM TechConの開始までに正式にリリースされる予定です。®