.NET Micro Framework (NETMF)の世界へようこそ

.NET Micro Framework(以下、NETMFと記載)は、マイクロソフト社がリリースしている小型組込機器向けのオープンソースプラットフォームです。

開発環境にVisual Studioを使い、言語にはVisual C#が使えるなどパソコンソフトの開発と同じ環境、同じ構文でマイコン向けのファームウエアが作れる、それがNETMFの最大の特徴です。

パソコンソフトをVisual Studioで作ったことのある技術者であれば、その使い勝手は同じですから、すぐに慣れ親しむことができます。但し、パソコン用ソフトとマイコン用のファームウエアでは必要なライブラリも違いますし想定される動作環境も全く違います。例えばパソコンソフト開発者はI2C通信を使うことはまずないでしょうが、マイコンのファームウエア開発ではI2C通信は頻繁に使われます。

そのため、マイクロソフトではパソコンソフト用の開発には.NET Frameworkを、マイコンなど組込機器向けのファームウエア開発には.NET Micro Frameworkを用意しているのです。

NETMFには、組込用途向けのマイコン開発に適したADCをはじめシリアル通信関係、データベースサポートなどの様々な機能が搭載されています。 

.NET Micro Frameworkの公式サイトはこちらです。

当方からも、簡単に.NET Micro Frameworkの世界を体験できるように、開発環境を整える手順から、LED点滅をはじめ、RTCやSPI通信の使い方までご紹介した日本語マニュアルをご提供しております。こちらからご覧ください。

 
●NETMFが搭載する提供機能と特徴:
下表一覧は、NETMFが提供する機能です。開発に基本的な機能はほとんどがNETMFで提供されています。
配列 ハードウエア制御
(ADC、DAC、デジタル入出力、I2C、SPI、UART、割込、ワンワイヤI/F、PWM)
クラス 各種演算
コレクション
(配列リスト、ディクショナリ、スタック、キュー)
ネームスペース
暗号
(暗号化、デクリプティング、ハッシュ、SSL)
ネットワーキング
(DHCP、DNS、HTTP、ソケット、TCP、UDP、ワイヤレス)
ディスプレイ ランタイムデバッギング
ガベージコレクション機能 シリアリゼーション
例外の発生 ストリングス
ファイルI/O
(ファイル、ディレクトリ、様々な記憶媒体タイプ)
テキストエンコーディング/デコーディング
グローバリゼーション スレッディング、イベント、デリゲート、タイム
グラフィックス
(BMP,GIF,JPG,WPF,フォント、タッチパネル)
タイムキーピング
数値、統計計算 USBクライアント
パワーマネージメント XML
リフレクション リソーシズ

●GHI社が独自に提供する機能:
 
下表一覧は、上表の標準的なNETMF以外にGHI社が提供する機能です。NETMFだけでは実現できない、又は実現が難しい機能を提供しています。NETMFと組み合わせて使うことで、飛躍的に機能が向上します。
ディスプレイコンフィギュレーション
スタートアップロゴ
RLP
I/O
(CAN、シグナルキャプチャ、信号生成、ソフトウエアI2C、USBマスストレージ)
SQLiteデータベース
インフィールドアップデート USBクライアント
(ジョイスティック、キーボード、マウス、マスストレージ)
PPP SBクライアント
(ジョイスティック、キーボード、マウス、マスストレージ、USBシリアル、WEBカム)
リアルタイムクロック(RTC) ウォッチドッグ
レジスタアクセス


●どのデバイスを選べばいいでしょうか?

デバイスには3種類があります。G30, G80, G120です。ピン数の違いやRAM、ROMの大きさの違い、実現できる機能の違いがあります。

G30とG80はIC単体でもご提供しておりますし、開発に便利な2.54mmピッチにしてリセット回路やUSBコネクタ等を実装したモジュールも提供しております。

G120はIC単体でのご提供はせず、ICを実装したモジュール(SoM)のみご提供しております。

開発機器の内容や、必要なIOピンの数、USBホスト機能の有無等を下記の表にてご参照頂き、G30,G80,G120からデバイスをご選択ください。





●インテリジェンスな開発環境

マイクロソフトのVisual Studioはとても高性能な開発環境です。

特にIntelliSenseはコードエディタの中でプログラムを書く際、メンバーの一覧、パラメーター ヒント、クイック ヒント、入力候補などを表示してユーザーの入力負担を軽減する機能です。

使用中のコードに関する情報の確認、入力中のパラメーターの追跡、プロパティおよびメソッドの呼び出しの追加などが、わずかなキーストロークで可能になります。

●最も簡単なLED点滅プログラムの例

.NET Micro Frameworkで最も簡単なLED点滅のプログラム例を見てみましょう。
500ミリ秒間隔でピンをH/Lさせるプログラムです。
例では、G120を使った例です。P3_26ピンを出力ピンとして設定しています。
C#に慣れている方なら、とても簡単にプログラムが作れることが分かります。

デバイスへの書き込みはボタン一発。USB経由でPCと接続していれば、Visual Studio上からデプロイできます。
デバイスをPCにUSB経由で接続してデバイスドライバーをインストールすれば、Visual Studio内のデプロイメント設定のウインドウでデバイスが表示されます。あとは、「開始」ボタンをクリックするか、F5キーでプログラムを実行できます。

実行したらすぐにLEDが0.5秒間隔で点滅する様子がわかります。
●その他のリソース

NETMFを使う上で便利なリソースをまとめました。ぜひご活用ください。

●GHI社のNETMFに関するページ
https://www.ghielectronics.com/support/netmf

●GHI社のサポートフォーラム
https://www.ghielectronics.com/community/forum

●GHI社製のコードシェア(ユーザー同士のコード交換)
https://www.ghielectronics.com/community/codeshare

●マイクロテクニカのFAQ
http://www.microtechnica.tv/faq/faq.cgi?mode=kate&kate=netmf

●日本語補足マニュアル
http://www.microtechnica.tv/support/manual/netmf_man.pdf


※その他記載されている会社名や商品名などは各社の商標および登録商標です。当Webサイトに記載されているシステム名や製品などには必ずしも商標表示を付記していません

 
(C) 2016 Microtechnica All rights reserved.