OSC 2014 Tokyoにいってきた!
実質、さっきの話のつづき、10月18日
オープンソースになったマイコン開発環境 .Net Micro Frameworkの紹介
-IoT時代の組み込みOSの主役
で、SAKURAボードの.net microframework対応の話メモメモ
株式会社デバイスドライバー
ロゴ変わる→マイクロソフトの気合の入れ方
.Net Micro Frameworkとは
・マイクロソフトリサーチが開発した組み込み用OS
・C,C++,アセンブラで記述
・オープンソース・ライセンスで公開
・SoC、業務アプリ
歴史
・時計の中にRSSで受け取って
・2006 Windows Vista Side Show
・2010年にオープンソース化
・2014年末に何か起こるかも!
本来はCE未満のプラットフォーム
アーキテクチャ
アプリ
Library:C#で書かれてる
CLR:逐次実行
PAL
HAL
OSとしての提供機能
・TinyCLR
ドライバとサービス
デバイスコントローラー
・GPIO
・I2C
デバイスドライバ
プラットフォームとアプリケーション
・自作ボードや未サポートボードに移植
→CQ出版社の移植事例
・周辺ハードウェアを自作して動作
→容易に接続可能.Net Gadgeteer
SDK VS PK
SDK:アプリ開発に必要なもの。アドイン
PK:移植用キット
クロスコンパイラを用意
新プラットフォームへの移植
TinyBooter
TinyCLR直接実装
U-Boot、T-Monitor
→実際にはどのようにでも作ることが可能
PKが用意しているサポートテンプレートだと移植らく
移植前のチェック
・ターゲットプラットフォーム
コンパイル;こーどそーさりーLiteを使う
JTAG-ICEデバッガ
移植に必要な知識
・ARM ハーバードアーキテクチャ
呪文を間違えると、IOができない
→メモリマップの設計
・データシート、回路図を読むことが必要
フリースケール
ソフトウェア環境とツール
・Visual Studio2012
・SDK8.0以上 Expressの場合あといれで
・.Net MicroFramework 4.3 SDK
・.Net MicroFramework 4.3 Porting Kit
・クロスコンパイラ
ARM RVDS,KEIL MDK
gcc CodeSourcery arm-2014.05-28
・開発環境
Eclipse
・ソースコード
7zipでWinMerge
ハードウェア環境とツール
・JTAG ICEまたはOpenOCD ICE
ICEが必要
・ブートローダー開発環境
・評価ボード
・測定器、信号観測ツール
移植の主要作業
・かいはつ
環境変数設定&クロス開発用ビルドサンプル
Scatter(りんかのすくりぷと)
手順
・Naitiveサンプルを動作させる
・TinyCLRの動作
InterOPの実装
・クリティカルな処理をCまたはアセンブラを記述して
アプリケーションから呼び出す
・C#でAPIを記述、コードをC/C++、アセンブラで記述
ビルド・デバッグ
・ネイティブサンプル
メモリ管理
割り込み
タイマー
ドライバ
・TinyCLR
・TinyBooter
TinyCLRとアセンブリの実行動作
Native環境への移植、OS on OSの移植
Winsock・バークレーOSのマーシャリングとか
.Net Gadgeteerとは
.Net MicroFrameworkの上の層
FEZ panda IoT Kit
がじぇったIoT入門キット
EnOceanIoT入門キット
実質、さっきの話のつづき、10月18日
オープンソースになったマイコン開発環境 .Net Micro Frameworkの紹介
-IoT時代の組み込みOSの主役
で、SAKURAボードの.net microframework対応の話メモメモ
株式会社デバイスドライバー
ロゴ変わる→マイクロソフトの気合の入れ方
.Net Micro Frameworkとは
・マイクロソフトリサーチが開発した組み込み用OS
・C,C++,アセンブラで記述
・オープンソース・ライセンスで公開
・SoC、業務アプリ
歴史
・時計の中にRSSで受け取って
・2006 Windows Vista Side Show
・2010年にオープンソース化
・2014年末に何か起こるかも!
本来はCE未満のプラットフォーム
アーキテクチャ
アプリ
Library:C#で書かれてる
CLR:逐次実行
PAL
HAL
OSとしての提供機能
・TinyCLR
ドライバとサービス
デバイスコントローラー
・GPIO
・I2C
デバイスドライバ
プラットフォームとアプリケーション
・自作ボードや未サポートボードに移植
→CQ出版社の移植事例
・周辺ハードウェアを自作して動作
→容易に接続可能.Net Gadgeteer
SDK VS PK
SDK:アプリ開発に必要なもの。アドイン
PK:移植用キット
クロスコンパイラを用意
新プラットフォームへの移植
TinyBooter
TinyCLR直接実装
U-Boot、T-Monitor
→実際にはどのようにでも作ることが可能
PKが用意しているサポートテンプレートだと移植らく
移植前のチェック
・ターゲットプラットフォーム
コンパイル;こーどそーさりーLiteを使う
JTAG-ICEデバッガ
移植に必要な知識
・ARM ハーバードアーキテクチャ
呪文を間違えると、IOができない
→メモリマップの設計
・データシート、回路図を読むことが必要
フリースケール
ソフトウェア環境とツール
・Visual Studio2012
・SDK8.0以上 Expressの場合あといれで
・.Net MicroFramework 4.3 SDK
・.Net MicroFramework 4.3 Porting Kit
・クロスコンパイラ
ARM RVDS,KEIL MDK
gcc CodeSourcery arm-2014.05-28
・開発環境
Eclipse
・ソースコード
7zipでWinMerge
ハードウェア環境とツール
・JTAG ICEまたはOpenOCD ICE
ICEが必要
・ブートローダー開発環境
・評価ボード
・測定器、信号観測ツール
移植の主要作業
・かいはつ
環境変数設定&クロス開発用ビルドサンプル
Scatter(りんかのすくりぷと)
手順
・Naitiveサンプルを動作させる
・TinyCLRの動作
InterOPの実装
・クリティカルな処理をCまたはアセンブラを記述して
アプリケーションから呼び出す
・C#でAPIを記述、コードをC/C++、アセンブラで記述
ビルド・デバッグ
・ネイティブサンプル
メモリ管理
割り込み
タイマー
ドライバ
・TinyCLR
・TinyBooter
TinyCLRとアセンブリの実行動作
Native環境への移植、OS on OSの移植
Winsock・バークレーOSのマーシャリングとか
.Net Gadgeteerとは
.Net MicroFrameworkの上の層
FEZ panda IoT Kit
がじぇったIoT入門キット
EnOceanIoT入門キット