| 開発者 | Apacheソフトウェア財団、コミュニティ |
|---|---|
| 書かれた | C (Mynewt OS) Go (Newt ツール) |
| 作業状態 | 安定した |
| ソースモデル | オープンソース |
| 最新リリース | 1.11.0 / 2023年9月7日[1] |
| リポジトリ | github.com/apache/mynewt-core |
| プラットフォーム | Cortex-M0、Cortex-M3、Cortex-M4、Cortex-M7、MIPS32、マイクロチップ PIC32、RISC-V |
| ライセンス | Apache ライセンス 2.0 |
| 公式サイト | 翻訳元 |
Apache Mynewtは、電力、メモリ、ストレージの制約下で長時間動作する必要があるインターネットに接続されたモノのインターネット(IoT)[2]デバイス用のモジュール式リアルタイムオペレーティングシステムです。Apache Software Foundation [3]の下でインキュベートされている無料のオープンソースソフトウェアであり、ソースコードはApache License 2.0に基づいて配布されています。これは、オープンソースソフトウェアの商用採用につながる許容ライセンスです。[4]
概要
Apache Mynewtは、 32ビットマイクロコントローラベースのIoTデバイスのプロトタイプ作成、展開、管理を容易にすることを目的とした豊富なライブラリを備えたリアルタイムオペレーティングシステムです。 [5]非常に構成しやすく、さまざまな種類のマイクロコントローラにまたがる組み込みシステムアプリケーション(ロック、医療機器、産業用IoTなど)を構築できます。Mynewtという名前は、非常に小さいという意味の英語の単語「minute」の言葉遊びです。カーネルのサイズはわずか6KBです。
このOSは接続性を重視して設計されており、Bluetooth Low Energy 4.2スタックが完全に実装されています。BLE(プライバシーを除くすべてのBluetooth 4.2準拠のセキュリティ機能をサポート)と、デフォルトのファイルシステム、コンソール、シェル、ログ、統計などのさまざまなユーティリティが追加され、Nordic nRF51822 Bluetooth SoCのイメージサイズは約96KBです。[6]このサイズメトリックにはブートローダーイメージは含まれていません。
コア機能
コアオペレーティングシステムは以下をサポートします: [3]
- プリエンプティブマルチスレッド
- ティックレス優先度ベースのスケジューリング
- プログラム可能なタイマー
- システム時間
- セマフォ
- ミューテックス
- イベントキュー
- メモリ管理(割り当て):動的(ヒープ)とプール
- 多段ソフトウェアウォッチドッグタイマー
- メモリまたはデータ バッファ。ネットワーク プロトコル スタックを上下に移動するパケット データを保持します。
その他の機能とユーティリティは次のとおりです。
- CPU 時間、アナログ/デジタル コンバーター(ADC)、デジタル/アナログ コンバーター(DAC)、汎用入出力(GPIO)、集積回路間 ( I2C )、パルス幅変調(PWM)、シリアル ポート、シリアル ペリフェラル インターフェイス バス( SPI )、汎用非同期受信機/送信機(UART)をサポートするハードウェア抽象化レイヤー。
- RAM 使用量を最小限に抑え、信頼性機能を備えたNewtronフラッシュ ファイル システム(nffs)
- クライアントコードが代替ファイルシステムを選択できるようにするファイルシステムの抽象化
- コンソールアクセスとシェルパッケージ
- SHA-256を使用したイメージ整合性検証と、イメージ実行前のオプションのデジタル署名検証を含む、セキュアブート ローダーおよびイメージ オーガナイザー(マネージャー)
- 回帰テストを構築するためのテストユーティリティ
- すべての主要パッケージの統計とログ
- JavaScript Object Notation ( JSON ) エンコーダーおよびデコーダー ライブラリ
- Luaインタプリタ
Bluetooth 低エネルギー
Mynewtで利用できる最初のネットワークスタックはBluetooth low energy [7]で、NimBLEと呼ばれています。これはBluetooth Core仕様4.2に準拠しています。[8]
NimBLE には、ホスト コンポーネントとコントローラ コンポーネントの両方が含まれています。コントローラのソース コードにアクセスすることで、BLE パフォーマンスを高度に構成できます。たとえば、接続間隔、データ パケット サイズ、パケット キュー サイズなどを変更することで、BLE スループットを調整できます。十分な RAM が割り当てられていれば、多数の同時接続を必要とするユース ケースも同様に構成できます。利用可能なサービスの使用方法を示すサンプル アプリケーションがパッケージに含まれています。
サポートされているボード
このオペレーティングシステムは、組み込みシステム(デバイス)およびマイクロコントローラでのクロスプラットフォーム使用を目的として設計されています。2023年7月現在、以下のボードサポートパッケージが含まれています。[9][update]
- Nordic Semiconductor の nRF52 DK (Cortex-M4)
- RuuviTag センサー ビーコン プラットフォーム (Nordic nRF52832 ベース)
- Nordic Semiconductor の nRF51 DK (Cortex-M0)
- VNG IoT Lab の VBLUno51 (Nordic nRF51822 SoC ベース)
- VNG IoT Lab の VBLUno52 (Nordic nRF52832 SoC ベース、Cortex-M4)
- RedBear の BLE Nano (Nordic nRF51822 SoC ベース)
- RedBear の BLE Nano2 および Blend2 (Nordic nRF52832 SoC ベース)
- Rigado の BMD-300-EVAL-ES (Cortex-M4)
- Rigado の BMD-200 (Cortex-M0)
- アダフルーツ フェザー nRF52 プロ
- ST Micro の STM32F4DISCOVERY (Cortex-M4)
- Olimex の STM32-E407 (Cortex-M4)
- Arduinoゼロ(Cortex-M0)
- Arduino Zero Pro (Cortex-M0)
- Arduino M0 Pro (Cortex-M0)
- Arduino MKR1000 (Cortex-M0)
- Arduino プリモ NRF52 (Cortex-M4)
- NUCLEO-F401RE (Cortex-M4)
- NUCLEO-F767ZI (Cortex-M7)
- STM32F7 シリーズ (Cortex-M7) のディスカバリー キット
- NXP の FRDM-K64F (Cortex-M4)
- BBC micro:bit (Nordic nrf51822; Cortex-M0)
- SiFive HiFive1 (RISC-V 命令セットアーキテクチャ)
- u-blox の NINA-B1 BLE モジュール (Cortex-M4)
- MikroElectronika の 6LoWPAN クリッカー (PIC32MX470 マイクロコントローラ)
- chipKIT Wi-FIRE (PIC32MZ マイクロコントローラ)
- Creator Ci40 モジュール (デュアル MIPS interAptiv CPU)
- Telenor の Semtech Sx1276 チップを搭載した EE-02 ボード (Cortex-M4)
- Dialog Semiconductor の DA1469x Pro DK (Cortex-M33)
パッケージ管理
このプロジェクトには、組み込みシステム開発用のコマンドライン インターフェイス(CLI) ベースのスマート ソースパッケージ マネージャーシステムである Newt ツールが含まれています。また、指定されたパッケージとコンパイラ オプションを使用してビルドを構成し、イメージとそのデジタル署名を生成し、最後にさまざまなターゲットにファームウェアをダウンロードしてデバッグすることもできます。
参照
参考文献
- ^ 「ダウンロード - Apache Mynewt」。mynewt.apache.org。Apache Software Foundation 。 2023年10月7日閲覧。
- ^ 「Arduino と Runtime が協力して Arduino エコシステムに Apache Mynewt (incubating) を導入」globenewswire.com (プレスリリース) 2016 年 5 月 20 日 。2016年 5 月 24 日閲覧。
- ^ 「Mynewt Incubation Status – Apache Incubator」。incubator.apache.org 。 2016年5月24日閲覧。
- ^ 「Apache Mynewt RTOS が IoT の電力、メモリ、ストレージの制約に対応」www.infoq.com 。2016年 6 月 28 日閲覧。
- ^ 「Open RTOS Targets Net of Things」www.eetimes.com . 2016年5月24日閲覧。
- ^ “nRF51822”. 2016年5月17日時点のオリジナルよりアーカイブ。2016年5月24日閲覧。
- ^ 「Apache Mynewt が Arduino Srl の最新 SBC に採用」www.linuxtoday.com。2016 年 5 月 28 日時点のオリジナルよりアーカイブ。2016 年 5 月 24 日閲覧。
- ^ Bluetooth コア仕様 4.2
- ^ 「ヘルプの取得」。GitHub。
外部リンク
- 公式サイト
