| 開発者 | Armが管理する共同プロジェクト |
|---|---|
| 書かれた | C、C++ |
| 作業状態 | 現在 |
| ソースモデル | オープンソース |
| 初回リリース | 2009年9月21日 |
| リポジトリ | github.com/ARMmbed |
| マーケティングターゲット | マイクロコントローラ、モノのインターネット、ウェアラブル |
| プラットフォーム | 32 ビット ARM Cortex-M |
| ライセンス | Apache ライセンス2.0 |
| 公式サイト | mbed.com |
Mbedは、32ビットARM Cortex-Mマイクロコントローラをベースにしたインターネット接続デバイス(モノのインターネットデバイス)向けの開発プラットフォームおよびオペレーティングシステムです。このプロジェクトは、 Armとその技術パートナーが共同で開発しました。[1] 2024年7月現在、MbedはArmによって積極的に開発されていません。[2]
フルバージョンはリアルタイムオペレーティングシステム(RTOS)ですが、リソースが制限されているデバイスでは非RTOSサブセットの使用を選択できます。[3]
開発環境
このプラットフォームは、以下を含む開発環境を提供します。
- Mbed OS: 標準化された API を提供し、C/C++ プログラミング言語をサポートするコア オペレーティング システム。
- Mbed Studio: デバッグツールとコードエディターを提供する IDE (統合開発環境)。
- Mbed CLI: コマンドライン ツール。
ソフトウェア開発
アプリケーション
Mbed アプリケーションを開発する主な方法は、Arm オンライン IDE「Keil Studio Cloud」を使用することです。これは、クラウド サービスを使用して mbed アプリケーションをビルドおよびコンパイルするオンライン IDE です。アプリケーションは、Keil μVision、IAR Embedded Workbench、Arduino IDE、GCC ARM Embedded ツールを使用したEclipseなどの他の開発環境でも開発できます。
Mbed OS
Mbed OS は、IoT デバイスで実行されるマイクロコントローラ ファームウェアを作成するための Mbed C/C++ ソフトウェア プラットフォームとツールを提供します。マイクロコントローラ ペリフェラル ドライバー、ネットワーク、RTOS およびランタイム環境、ビルド ツール、テストおよびデバッグ スクリプトを提供するコア ライブラリで構成されています。これらの接続は、 mbed-rtos をサポートするMbed TLSやwolfSSLなどの互換性のあるSSL/TLSライブラリによって保護できます。
コンポーネント データベースは、マイクロコントローラに接続して最終製品を構築できるコンポーネントとサービス用のドライバー ライブラリを提供します。
RTOSであるMbed OSはKeil RTX5をベースにしている。[4] [5] [6]
主要リリース履歴
ハードウェア開発
デモボード
_MCU.jpg/500px-Mbed_RapidPrototypingBoard_with_NXP_LPC1768(ARM_Cortex-M3)_MCU.jpg)
Mbed プラットフォームにはさまざまなハードウェア デモ ボードがありますが、最初のものはオリジナルの Mbed マイクロコントローラ ボードです。Mbed マイクロコントローラ ボード (「mbed NXP LPC1768」として販売) は、NXPマイクロコントローラをベースにしたデモ ボードで、 ARM Cortex M3コアを搭載し、96 MHz で動作し、512 KBフラッシュ、32 KB RAM、およびEthernet、USBデバイス、CAN、SPI、I2C、その他のI/Oなどの複数のインターフェイスを備えています。[20] [21] Mbed マイクロコントローラは、 2010 年にEDNイノベーション アワードのソフトウェア/組み込みツール部門で最優秀賞を受賞しました。 [22]
NXP LPC2368(ARM7TDMI-S)、NXP LPC1768(Cortex-M3)、NXP LPC11U24(Cortex-M0)[23]マイクロコントローラ を搭載したさまざまなバージョンのボードがリリースされました。
ハード
Mbed ハードウェア開発キット (HDK) はOEM向けに設計されており、Mbed OS をサポートするカスタム ハードウェアを構築するための情報を提供します。これは、開発ボード、OEM モジュール、および生産に適した再プログラム可能な製品を簡単に作成するために使用できるインターフェイス ファームウェアと回路図で構成されています。
プロジェクト開発
このプロジェクトは、Arm が他の大手テクノロジー企業や Mbed 開発者コミュニティと連携して開発しています。開発と貢献はさまざまなレベルで行われています。
- コア プラットフォーム – コア コントリビューターとパートナー企業によって開発され、Mbed チームによって管理および保守されるコア ソフトウェア プラットフォーム。このコア プラットフォームは、コントリビューター契約を通じてApache License 2.0に基づいて開発されています。これには、プラットフォームが提供するすべてのコア汎用ソフトウェア コンポーネントに加えて、Mbed をさまざまなメーカーのマイクロコントローラー上で透過的に実行できるようにする HAL ポートと、さまざまな組み込みツールチェーンを使用して開発できるようにするツールチェーン ポートが含まれます。
- コンポーネント データベース – エンド デバイスの構築に必要な周辺コンポーネント、センサー、無線、プロトコル、クラウド サービス API のサポートを提供するために、企業やコミュニティ全体によって開発されたライブラリ コンポーネント。これらは、Apache License 2.0 (推奨) または作成者が選択したその他のライセンスに基づいて提供され、個々の企業や開発者コミュニティのメンバーによってサポートされています。
開発ツール
Mbed OS は、さまざまな開発ツールをサポートしており、これまでもサポートしてきました。
Mbed オンライン コンパイラ (2022 年以降は非推奨)
Mbedプラットフォーム用のアプリケーションは、無料のオンラインコードエディタおよびコンパイラであるMbedオンラインIDEを使用して開発できます。プロジェクトはクラウド、つまりリモートサーバー上でARMCC C/C++コンパイラを使用してコンパイルされるため、ローカルPCにインストールする必要があるのはWebブラウザだけです。Mbed IDEは、分散Mercurial バージョンコントロールを使用してコードをインポート、エクスポート、共有する機能を備えたプライベートワークスペースを提供し、コードドキュメントの生成にも使用できます。[24]
Mbed オンライン コンパイラにはデバッグ機能が一切含まれておらず、ユーザーがコンパイルされたコードを .bin ファイルとしてダウンロードし、それを手動で Mbed ボード (USB フラッシュ ドライブとして表示されます) にコピーするという開発サイクルに依存していました。
Mbed Online Compilerは2023年3月1日に廃止され、Keil Studio Cloudに置き換えられました。[25]
Mbed CLI
Mbed OSのオフライン開発のニーズを満たすために、ARMはMbed CLIを公開しました。これは、コマンドラインからMbed OSプログラムを作成、インポート、コンパイルできるPythonパッケージです。また、外部のGitリポジトリやMbedのライブラリリポジトリと統合されており、リモートソースからライブラリをダウンロードして更新するためのコマンドも提供しています。[26]
内部的には、Mbed CLI は 2 つの異なるコードベースで構成されています。mbed コマンドを提供する mbed-cli pip パッケージは、ユーザーからのコマンドを受け入れ、Mbed OS とライブラリをダウンロードできるフロントエンドとして機能します。Mbed とそれを使用したソフトウェアをコンパイルするために、mbed-cli フロントエンドは mbed-os リポジトリ内のビルド ツール スクリプトを呼び出します。これらのスクリプトは、正しいコンパイル オプションを決定し、コンパイラとリンカーを実行する役割を担います。
何年もの開発を経て、複雑なビルドツールスクリプトのメンテナンスはMbed OS開発者にとって大きな負担となっていました。そのため、彼らはビルドツールコードを凍結し、代わりにMbed CLI 2の作成に取り組むことになりました。[27]
Mbedスタジオ
Mbed Studio は、Mbed OS で動作するように特別に設計されたデスクトップ IDE です。2019 年 2 月に初めてリリースされた Mbed Studio は、インテリジェントなコード補完機能やデバッグ サポートなど、オンライン コンパイラよりも充実した機能を備えた編集エクスペリエンスを提供しました。オンライン コンパイラと同様に、新しい Mbed プロジェクトを作成し、Git リポジトリと Mbed のライブラリ リポジトリのライブラリへの依存関係を宣言するための組み込みサポートが含まれています。
Mbed StudioはC/C++コンパイラとして、IDEに組み込むためにARMから特別にライセンス供与されたArm Compiler 6を使用しています。デバッグ機能については、Mbed StudioはpyOCDデバッグブリッジソフトウェアを使用しており、pyOCDがサポートするデバイスのみをデバッグできます。IDE自体はEclipse Theiaに基づいており、Webブラウザでの実行に簡単に適応できるように設計されており、このプロジェクトは後にKeil Studio Cloudとして誕生しました。[28] Mbed Studioは当初WindowsとMacのホストプラットフォームをサポートしていましたが、後に2020年6月の1.0リリースでUbuntu Linuxで実行できるように移植されました。[29]
Keil Studio クラウド
Mbed オンライン コンパイラと同様に、Keil Studio Cloud を使用すると、ローカル マシンに開発ツールをインストールせずに Mbed OS アプリケーションを開発できます。ただし、改善されたインテリジェント コード補完機能や Git を使用した組み込みバージョン管理など、多くの追加機能がサポートされています。オンライン コンパイラとは異なり、Keil Studio Cloud はWebUSB機能を使用して、サポートされている Mbed ボードにブラウザーから直接ダウンロードしてデバッグすることができます。これにより、デスクトップ IDE が提供するものと同等の、真のワンクリック ビルドおよびデバッグ エクスペリエンスが可能になります。ただし、この機能はすべての Mbed ボードまたはデバッグ プローブをサポートしているわけではありません。[25]
参考文献
- ^ 「Arm Keil Studio Cloud ユーザーガイド」。ドキュメントサービス Arm 。 2023年1月9日閲覧。
- ^ abc 「Mbedに関する重要なアップデート」。2024年7月16日閲覧。
- ^ 「はじめに - Mbed OS 6 の紹介 | Mbed OS 6 ドキュメント」os.mbed.com . 2024 年 3 月 15 日閲覧。
- ^ 「メインページ」。arm-software.github.io 。 2021年4月5日閲覧。
- ^ “Keil RTX5”. www2.keil.com . 2021年4月5日閲覧。
- ^ 「アーキテクチャ - Mbed OS 6 の概要 | Mbed OS 6 ドキュメント」。os.mbed.com。2021年4 月 5 日閲覧。
- ^ 「mbed-dev - mbed ライブラリソース。mbed-src に代わるものです。 | Mbed」。os.mbed.com 。2023 年 8 月 8 日閲覧。
- ^ abc 「mbed OS 5の紹介 | Mbed」。os.mbed.com 。 2023年8月8日閲覧。
- ^ “mbed OS 15.09 | mbed”. 2016年6月10日. 2016年6月10日時点のオリジナルよりアーカイブ。2024年7月1日閲覧。
- ^ “Releases | mbed”. 2016-06-10. 2016-06-10時点のオリジナルよりアーカイブ。2023-08-08閲覧。
- ^ ab 「mbed v3.0 の計画を発表 | Mbed」os.mbed.com . 2023 年 8 月 8 日閲覧。
- ^ ARM Mbed OS 3、Arm Mbed、2018-09-24、2023-08-08取得
- ^ 「リリース mbed-os-5.1.0 · ARMmbed/mbed-os」。GitHub 。2024年7月1日閲覧。
- ^ 「リリース mbed-os-5.15.9 · ARMmbed/mbed-os」。GitHub 。2023年8月8日閲覧。
- ^ ab 「Arm Mbed OS 6.0が本日リリース | Mbed」。os.mbed.com 。 2023年8月8日閲覧。
- ^ 「リリース mbed-os-6.17.0 · ARMmbed/mbed-os」。GitHub 。2023年8月8日閲覧。
- ^ 「新しい Mbed OS ディレクトリ構造 | Mbed」. os.mbed.com . 2023 年 8 月 8 日閲覧。
- ^ 「新しい Mbed ツールの紹介 | Mbed」os.mbed.com . 2023 年 8 月 8 日閲覧。
- ^ 「mbed-os/tools/cmake/README.md at mbed-os-6.15.0 · ARMmbed/mbed-os」。GitHub 。 2023年8月8日閲覧。
- ^ mbed LPC1768 | Mbed.com
- ^ “devmonkey.edn.com のレビュー”. 2018 年 4 月 1 日時点のオリジナルよりアーカイブ。2014 年 12 月 13 日閲覧。
- ^ ARM プレスリリース
- ^ mbed Cortex M0 LPC11U24 の発表
- ^ 「mbed コンパイラ - ハンドブック | Mbed」. os.mbed.com . 2023 年 8 月 8 日閲覧。
- ^ ab 「Keil Studio Cloud の導入と Mbed オンラインコンパイラの廃止 | Mbed」。os.mbed.com 。2023 年 8 月 8 日閲覧。
- ^ 「Mbed CLI 1 - ビルドツール | Mbed OS 6 ドキュメント」. os.mbed.com . 2024年7月1日閲覧。
- ^ 「新しい Mbed ツールの紹介 | Mbed」os.mbed.com . 2024 年 7 月 1 日閲覧。
- ^ 「Mbed Studio パブリックベータ | Mbed」。os.mbed.com 。 2024年7月1日閲覧。
- ^ 「Mbed Studio 1.0 リリース | Mbed」。os.mbed.com 。 2024年7月1日閲覧。
外部リンク
- 公式サイト
