| 開発者 | Microsoftと.NET Foundation |
|---|---|
| 初回リリース | 2007年 |
| 安定版リリース | 4.4 [1]
/ 2015年10月20日 |
| リポジトリ | github.com/NETMF/netmf-interpreter |
| 書かれた | C++ |
| オペレーティング·システム | ウィンドウズ |
| プラットフォーム | ARM、ブラックフィン |
| 利用可能 | 英語 |
| タイプ | ソフトウェアフレームワーク |
| ライセンス | Apacheライセンス2.0 [2] |
| Webサイト | netmf.github.io/netmf-interpreter/ |
.NET Micro Framework (NETMF) は、少なくとも 512 KBのフラッシュと 256 KB のランダム アクセス メモリ(RAM) を備えた、リソースが制限されたデバイス用の.NET Frameworkプラットフォームです。.NET共通言語ランタイム(CLR) の小型バージョンが含まれており、 C#、Visual Basic .NETでの開発、およびMicrosoft Visual Studioを使用したデバッグ (エミュレーター内またはハードウェア上) をサポートしています。NETMF は、.NET 基本クラス ライブラリのサブセット (約 70 のクラスと約 420 のメソッド)、Windows Communication Foundation (WCF) の実装、Windows Presentation Foundation (WPF)に基づいたGUI フレームワーク、および Simple Object Access Protocol ( SOAP ) とWeb サービス記述言語(WSDL) に基づいた Web サービス スタックを備えています。NETMF には、組み込みアプリケーションに固有の追加ライブラリも備わっています。これは、 Apache License 2.0に基づいてリリースされた無料のオープン ソース ソフトウェアです。
Micro Framework は、組み込み開発者がデスクトップ アプリケーション開発者が使用する最新のテクノロジとツールにアクセスできるようにすることで、組み込み開発をより簡単に、より迅速に、より低コストで実現することを目的としています。また、デスクトップ .NET 開発者が組み込みシステムでスキルを活用できるようにすることで、有能な組み込み開発者のプールを拡大します。
Micro Framework は.NET Foundationの一部です。[3] Build 2014 カンファレンスで発表されたこの Foundation は、.NET 向けのオープンソース テクノロジの増加に伴うオープン開発とコラボレーションを促進する独立したフォーラムとして設立されました。[4]
特徴
他の .NET プラットフォームと比較した場合、Micro Framework の独自の機能は次のとおりです。
- メモリは約300kB必要です。対照的に、次に小さい.NET実装であるWindows CEで動作する.NET Compact Frameworkでは約12MBが必要です。
- オペレーティング システムのないベア マシン上で直接実行することも、オペレーティング システム(OS)上で実行することもできます。
- フラッシュメモリ、EEPROM、GPIO、I 2 C、シリアル周辺機器インタフェースバス(SPI)、シリアルポート、USBなどの一般的な組み込み周辺機器と相互接続をサポートします。
- バッテリー駆動デバイスのエネルギー効率を最適化
- メモリ管理ユニットは不要
- シングルスレッドのオペレーティングシステム上で実行している場合でも、マルチスレッドのサポートを提供します。
- ハードウェア抽象化レイヤーにより他のアーキテクチャへの移植が可能
- 管理されたデバイスドライバモデルにより、多くのデバイスのドライバをC#で記述できます。
- デバイスのロックアップやクラッシュを捕捉するための実行制約
- 不揮発性メモリにオブジェクトを保存するための透過的なサポート
Micro Framework は、その動作上の制約により、スリム化されたライブラリによって課せられる制限以外にもいくつかの制限があります。たとえば、このプラットフォームでは、対称型マルチプロセス、多次元配列、マシン依存型、または安全でない命令はサポートされていません。CLR はジャストインタイム コンパイラではなくインタープリタであり、世代別方式ではなく、より単純なマーク アンド スイープガベージ コレクタを使用します。改良されたLLVMコンパイラを使用して、事前コンパイラが開発されています[5]。マネージド コードとネイティブ コードの相互運用性には、現在いくつかの制限があります。2011 年現在、Micro Framework は 2 つの .NET 言語 (C# と Visual Basic) をサポートしていました。[6]
サポート
2013 年現在、.NET Micro Framework はARM アーキテクチャプロセッサ (ARM7、ARM9、Cortex-M を含む) でサポートされており、過去にはAnalog Devices Blackfinでもサポートされていました。現在、Porting Kit は、 Apache License 2.0 に基づいて、Microsoft ダウンロード センターから ソース コードとともに無料でダウンロードできます。
Micro Framework は、Microsoft のSmart Personal Objects Technology (SPOT) イニシアチブに由来し、 2007 年初頭にサードパーティの開発者に提供される前には、スマートウォッチなどのMSN Direct製品で使用されていました。 [7]これは、 Windows SideShowデバイスの共通プラットフォームであり、エネルギー管理、ヘルスケア、産業オートメーション、センサー ネットワークなどの他の市場でも採用されています。
マイクロソフトは、開発者がMicro Frameworkを使用してアプリケーションを無料で作成できるようにし、無料のExpressエディションを含むすべてのバージョンのVisual Studioで使用できるソフトウェア開発キット(SDK)を無料でダウンロードできるようにしています。[8]
歴史
2009年11月、マイクロソフトはMicro FrameworkのソースコードをApache License 2.0に基づく無料のオープンソースソフトウェアとして開発コミュニティにリリースしました。 [9]
2010年1月、マイクロソフトはオープンソースコミュニティと連携してコア実装の継続的な開発を調整するために、netmf.comコミュニティ開発サイトを立ち上げました。 [10]
2010年1月9日、GHIエレクトロニクスは、オープンソースハードウェアと独自のクローズドソースバージョンの.NET Micro Frameworkを組み合わせたFEZ(Freakin' Easy!)と呼ばれる製品ラインの最初のメンバーであるFEZ Dominoを発表しました。[11]
2010年8月3日、Secret Labsは.NET Micro Frameworkを使用した初の完全オープンソースの電子プラットフォームであるNetduinoを発表しました。[12]
2011年2月、ノベルは.NET Micro Framework用の最初のオープンソースコンパイラであるMono 2.12 C#コンパイラのプレビューを公開しました。[13]
2017年1月23日、.NET Microframeworkプロジェクトを復活させてコミュニティガバナンスに持ち込もうとする数多くの試み([14]および[15])と「暗闇の中で」の作業期間を経て、組み込みシステム開発者のグループが.NET Micro Frameworkのスピンオフとして.NET nanoFrameworkを公式に発表しました。[16]ビルドシステムの大幅な改訂、新しいターゲットを追加するより簡単な方法、UWPに準拠した最新API 、ターゲットの管理に必要なすべてのツールを備えたVisual Studio拡張機能、ネイティブコードでのコーディングからデバッグまでの完全な開発エクスペリエンス、ARM Cortex-MおよびESP32のサポートが、当時の主な違いでした。2018年10月12日、クラスライブラリとファームウェアイメージの最初の公式リリースが発表されました。[17] 2020年6月17日、開発者はnanoFrameworkのリリースを発表しました[18]
2016年12月16日、GHIエレクトロニクスは、マイクロソフトによるNETMFのメンテナンス不足を理由に、TinyCLR OSと呼ばれる独自のマイクロフレームワーク実装を発表しました。[19] 2017年7月7日、GHIはTinyCLR OSの5番目のプレビューを発表しました。 [20] 2018年2月2日、GHIはTinyCLR OSの8番目のプレビューを発表しました。 [21] 2018年4月5日、GHIはTinyCLR OSの10番目のプレビューを発表しました。 [22] 2022年4月27日、GHIはTinyCLR OSバージョン2.2のリリースを発表しました。[23]
2023 年現在、マイクロコントローラー上で .NET コードを実行できるフレームワークの開発を継続しているのは、nanoFramework と TinyCLR OS のみです。
ハードウェア
複数のベンダーが、Micro Frameworkを実行するチップ、開発キットなどを製造しています。[24]
Wilderness Labs の Netduino
Netduino は、Micro Framework を使用したオープンソースの電子プラットフォームです。Netduino は元々 Secret Labs によって作成されましたが、2017 年に Secret Labs が買収して以来、 Wilderness Labs Inc. [25]によって製造および保守されています。[26] 168Mhz Cortex-M4 (STM32F4) をベースに、最大 1,408 KB のコード ストレージと 164 KB の RAM を搭載しています。オンボード USB、イーサネット、Wifi、SD カード スロット。開発環境は MS Visual Studio と C# です。Arduino シールドとピン互換ですが、一部のシールドにはドライバーが必要です。
GHIエレクトロニクス
GHI Electronics は、Micro Framework をサポートするいくつかのモジュールを製造しています。
- EMXモジュール[27]
- ChipworkXモジュール[28]
- USBizi144チップセット[29]とUSBizi100の唯一の違いは、USBizi100にはUSBホストサポートがないことです[30]
GHI Electronicsは、初心者向けに独自のファームウェアを搭載した非常に小さなオープンソースハードウェアボードの.NET FEZラインも製造しています。これらはUSBiziチップセットとそのすべての機能に基づいています。FEZ DominoボードはUSBホストを提供します。FEZは初心者向けですが、NETMFを探求したい専門家にとっても低コストの出発点となります。 [31]これらのボードの一部はArduinoと物理的に互換性があります。
GHIエレクトロニクスは、新しい設計にはMicro Frameworkベースのデバイスの使用を推奨しておらず、代わりにTinyCLRベースのデバイスを推奨しています。[32]
登山用ボード
Mountaineerグループの一部であるMountaineerボードは、Micro Frameworkを利用するオープンソースのオープンハードウェアボードを小規模に製造していました。Mountaineerは、 Mountaineerボードやその他の製品に搭載されているSTM32ファミリーのマイクロコントローラで使用するためにMicro Frameworkを移植しました。 [33]
STマイクロエレクトロニクス
マイクロコントローラSTM32ファミリーの開発元であるSTマイクロエレクトロニクスは、コントローラを紹介するための低コストのディスカバリーボードを製造し、その上で動作するためのMicro Frameworkのポートを提供しています。 [34]
ネットmfデバイス
NetmfdevicesはFEZHackerと.NET Micro Frameworkを使用したオープンソースのエレクトロニクスプラットフォームでした。[35]
マイクロミント
Micromint Bambino 200は、.NET Gadgeteerフレームワークと互換性のある最初のマルチコアプロセッサSBCです。 [36] モデル200は、最初のデュアルコアARM Cortex-MマイクロコントローラであるNXP LPC4330を搭載しています。Cortex-M4コアとCortex-M0コアはどちらも204MHzの性能があります。オンボードのSRAMは264KB、フラッシュは4MBです。モデル200Eはモデル200と同じ機能をすべて備えており、フラッシュメモリが8MBに増加し、Gadgeteerソケットが10個、イーサネットポート、microSDソケットなどの機能があります。
.NET Gadgeteer デバイス
いくつかのメーカーが、フレームワークの.NET Gadgeteerラピッドプロトタイピング標準 と互換性のあるボードとモジュールを製造しています。
参照
参考文献
- ^ “.NET Micro Framework 4.4 が利用可能になりました!”。Microsoft。2017年 10 月 25 日時点のオリジナルよりアーカイブ。2018 年12 月 9 日閲覧。
- ^ 「.NET Micro Framework」。Microsoft。
- ^ Malliet, Steve. 「.Net MF は廃止されるのか?」GitHub . 2019 年4 月 13 日閲覧。
- ^ .NET ファウンデーション
- ^ 「LLILUM ロードマップと最新の追加機能」。Microsoft。2018年8月26日時点のオリジナルよりアーカイブ。2016年6月30日閲覧。
- ^ .NET Micro FrameworkはC#とVisual Basicのみをサポートしています
- ^ 「Microsoft SPOT Initiative、MSN Direct to Navigation Devices の追加により加速」。Microsoft Corporation。2007 年 1 月 8 日。2024年7 月 2 日に閲覧。
- ^ 「NETMF4 SDK」。Microsoft。
- ^ 「Microsoft、.NET Micro Framework をオープンソース化」。Microsoft。2018年11月14日時点のオリジナルよりアーカイブ。2017年2月6日閲覧。
- ^ “netmf.com”. 2012年7月5日時点のオリジナルよりアーカイブ。2012年6月29日閲覧。
- ^ FEZ: .NET MF を使用した多くのオープンソース コンポーネント ドライバーを備えたオープンソースの電子ボード
- ^ 「Netduino: .NET MF を使用したオープンソースのエレクトロニクス プラットフォーム」。2016 年 3 月 20 日時点のオリジナルよりアーカイブ。2010 年9 月 8 日閲覧。
- ^ Mac/Linux 向けの実験的な Mono サポート
- ^ 「.NETMF のマニフェスト (現在の状態と、それに望む将来)」。GitHub。
- ^ 「.NETMF の将来 (テイク #999999)」。GitHub。
- ^ 「名前はフレームワーク、nanoFramework」。2019年2月22日時点のオリジナルよりアーカイブ。2019年2月22日閲覧。
- ^ 「nanoFramework v1.0 is official!」。2019年2月22日時点のオリジナルよりアーカイブ。2019年2月22日閲覧。
- ^ 安定版リリースがリリースされました
- ^ 「TinyCLR OS の紹介: NETMF デバイスへの新しい道」。2017 年 7 月 28 日時点のオリジナルよりアーカイブ。2017年7 月 28 日閲覧。
- ^ 「TinyCLR OS コア機能と移植の 5 回目のプレビュー」。2017 年 7 月 28 日時点のオリジナルよりアーカイブ。2017年7 月 28 日閲覧。
- ^ 「TinyCLR OS 第8リリース: FEZ Hydra、Wi-Fi、Cortex-M7」。2018年3月9日時点のオリジナルよりアーカイブ。2018年2月15日閲覧。
- ^ TinyCLR OS 第 10 リリース: バグ、RTC、STM32F7
- ^ TinyCLR OS 2.2 リリース
- ^ 「互換デバイスマトリックス」。Microsoft。2010年12月23日時点のオリジナルよりアーカイブ。2010年10月29日閲覧。
- ^ 「Netduino: home」。Wilderness Labs, Inc. 2016年3月20日時点のオリジナルよりアーカイブ。 2010年10月29日閲覧。
- ^ 「Netduino、Wilderness Labs に買収される」。PRWeb。2017 年 7 月 20 日。2024 年7 月 2 日閲覧。
- ^ 「カタログ - 最新製品 - GHI Electronics」。GHI Electronics, LLC。2012年3月20日時点のオリジナルよりアーカイブ。 2011年2月20日閲覧。
- ^ 「カタログ - 最新製品 - GHI Electronics」。2012年12月4日時点のオリジナルよりアーカイブ。 2011年2月20日閲覧。
- ^ 「USBizi144 チップセット - GHI Electronics」。GHI Electronics, LLC。2014年1月7日時点のオリジナルよりアーカイブ。2011年2月20日閲覧。
- ^ 「USBizi100 チップセット - GHI Electronics」。GHI Electronics, LLC。2014年1月7日時点のオリジナルよりアーカイブ。 2011年2月20日閲覧。
- ^ 「カタログ - 最新製品 - GHI Electronics」。2013年3月2日時点のオリジナルよりアーカイブ。 2011年2月20日閲覧。
- ^ 「.NET Micro Framework デバイス」。GHI Electronics。2023年10 月 26 日閲覧。
- ^ 「NETMF for STM32 - Mountaineer Group」。2018年11月19日時点のオリジナルよりアーカイブ。
- ^ UM1676: STM32F429 ディスカバリ キットでの .Net Micro Framework の使用開始
- ^ “Netmfdevices”. 2019年6月26日時点のオリジナルよりアーカイブ。2019年6月26日閲覧。
- ^ “Micromint Bambino 200”。2014年11月13日時点のオリジナルよりアーカイブ。2014年6月19日閲覧。
外部リンク
- 公式サイト
