Apache Mynewt

Mynewt
開発者 Apacheソフトウェア財団、コミュニティー
プログラミング言語 C (Mynewt OS)
Go (Newt Tool)
開発状況 安定版
ソースモデル オープンソース
最新安定版 1.5.0 / 2018年11月5日 (5年前) (2018-11-05)
プラットフォーム Cortex-M0、Cortex-M3、Cortex-M4、Cortex-M7、MIPS32、Microchip PIC32、RISC-V
ライセンス Apache 2.0
ウェブサイト mynewt.apache.org
テンプレートを表示

Apache MyNewtは、消費電力とメモリー、ストレージの制限された環境で長期間使用されるネットワークに接続されたモノのインターネット(IoT)デバイス用のモジュール化されたリアルタイムオペレーティングシステムである。 [1] Apache MyNewtは、FLOSSApacheソフトウェア財団のインキュベータープロジェクトであり、[2]ソースコードオープンソースソフトウェアの商用利用を許容するApache License 2.0で配布されている。[3]

概要

Apache MyNewtは、豊富なライブラリーを持ち、32ビットマイクロコントローラーベースのIoTデバイスのプロトタイピングやデプロイ、管理を容易にするリアルタイムオペレーティングシステムである。 [4] Apache MyNewtは高度に組み合わせ可能であり、組み込みシステムアプリケーション(例えば、鍵や医療機器、工業用IoTなど)を複数のタイプのマイクロコントローラーで利用できるように構成することが可能である。 MyNewtという名称は、カーネルのサイズが6KBしかないということと、非常に小さいことを意味する英語の単語であるminuteの言葉遊びである。

Apache MyNewtは、Bluetooth Low Energy 4.2スタックを完全に実装し、それにより接続できるように設計されている。 Nordic nRF51822 SoCでBLEの追加機能(プライバシー関係を除いた全てのBluetooth 4.2に準拠したセキュリティー機能)とデフォルトのファイルシステム、コンソール、シェル、ログ、統計などを利用した場合のイメージサイズは約96KBである。 [5] このサイズにはブートローダーを含まない。

中核機能

中核となる機能として以下をサポートする。

その他の機能やユーティリティーは以下の通りである。

Bluetooth Low Energy

Apache MyNewtで最初に利用可能になったネットワークスタックはBluetooth Low Energy[6]であり、NimBLEと呼ばれた。 NimBLEはBluetooth Core Specification 4.2に準拠している。[7]

NimBLEは、ホストとコントローラーの両方を含んでいる。 コントローラーのソースコードにアクセスすることで、BLEのパフォーマンスは高度に調整可能である。 例えば、接続時間間隔やデータパケットサイズ、パケットキューサイズなどを調整することで、BLEのスループットを調整できる。 同時接続数が多数である場合も同様に調整可能である、十分な量のRAMの割り当てが必要である。 利用可能なサービスの使い方を示す例としてパッケージにアプリケーションが含まれている。


サポートするボード

Apache MyNewtは、複数の組み込みシステム(デバイス)とマイクロコントローラーで使えるようにクロスプラットフォームに設計されている。 2017年3月現在、以下のボードサポートパッケージが含まれている。

  • nRF52832 ノルディック・セミコンダクター製Bluetooth SoC
  • nRF51822/nRF51422 ノルディック・セミコンダクター製Bluetooth SoC
  • STM32F3DISCOVERY ST社製STM32F3xxシリーズCortex-M4を搭載している
  • STM32-E407 STM32F407ZGT6用ST社製Cortex M4
  • Arduino ZeroとZero Pro
  • Arduino M0 Pro ATSAMD21G18 Cortex M0を搭載している
  • Arduino 101, Bluetoothコントローラーのみ
  • Arduino Primo, Bluetoothコントローラーとホスト

パッケージ管理

コマンドラインインターフェイスベースの便利なソースパッケージ管理ツールであるNewtが存在する。 Newtにより、利用するパッケージを選択したり、コンパイラーオプションを設定したり、イメージを生成したり、デジタル署名をしたり、異なるターゲットにファームウェアを書き込んでデバッグしたりすることができる。

関連項目

外部リンク

  • 公式ウェブサイト
  • Apache Mynewtソースリポジトリー

脚注

  1. ^ “Arduino and Runtime Collaborate to Introduce Apache Mynewt (incubating) to Arduino Ecosystem”. globenewswire.com. 2016年5月24日閲覧。
  2. ^ “Mynewt Incubation Status – Apache Incubator”. incubator.apache.org. 2016年5月24日閲覧。
  3. ^ “Apache Mynewt RTOS Addresses IoT Power, Memory, Storage Constraints”. www.infoq.com. 2016年6月28日閲覧。
  4. ^ “Open RTOS Targets Net of Things”. www.eetimes.com. 2016年5月24日閲覧。
  5. ^ nRF51822
  6. ^ “Apache Mynewt finds a home on Arduino Srl's latest SBCs”. www.linuxtoday.com. 2016年5月24日閲覧。
  7. ^ Bluetooth Core Specification 4.2
  • リアルタイムオペレーティングシステムの一覧(英語版)
オープンソース
  • BeRTOS(英語版)
  • ChibiOS/RT
  • Contiki
  • eCos
  • ERIKA Enterprise(英語版)
  • FreeRTOS
  • Fuchsia
  • FunkOS(英語版)
  • µC/OS-II(英語版)
  • Nano-RK(英語版)
  • NuttX(英語版)
  • RIOT
  • RTAI
  • RTEMS
  • RTLinux(英語版)
  • RT-Thread
  • seL4
  • TI-RTOS(英語版)
  • TPF
  • TRON
  • Wombat OS(英語版)
  • Xenomai
  • Zephyr
  • プロプライエタリ
    歴史的
    • カテゴリカテゴリ:リアルタイムオペレーティングシステム