Anúncio
Anúncio

Mais conteúdo relacionado

Anúncio

Similar a 2015 0227 OSC-Spring Tokyo NETMF(20)

Anúncio

Último(20)

2015 0227 OSC-Spring Tokyo NETMF

  1. オープンソースカンファレンス 2015 Tokyo/Spring 2015/2/27 ドットNETまいくろバンザイ倶楽部 1 ドットNETまいくろ バンザイ倶楽部 日高亜友 - RZ マイコン搭載 GR-Peach を始めとする新しい流れ - info@devdrv.co.jp オープンソースになったマイコン開発環境 .NET Micro Frameworkの紹介。 ドットNET まいくろ バンザイ
  2. オープンソースカンファレンス 2015 Tokyo/Spring ドットNET まいくろ バンザイ 2015/2/27 2 セッション内容  .NET Micro Frameworkとは?  新プラットフォームへの移植  組み込みアプリケーション開発とIoT開発  GR-Peachへの移植 参加者募集! ドットNETまいくろバンザイ倶楽部
  3. オープンソースカンファレンス 2015 Tokyo/Spring ドットNET まいくろ バンザイ 2015/2/27 3ドットNETまいくろバンザイ倶楽部 .NET Micro Frameworkとは?
  4. オープンソースカンファレンス 2015 Tokyo/Spring ドットNET まいくろ バンザイ 2015/2/27 4 .NET Micro Framework とは?  元々はMicrosoft Research 開発の組み込みOS  Visual C# / Visual Basicで開発した IL .NET アセンブリ を中間コードインタプリタで実行  豊富なドライバとライブラリを標準装備  オープンソース・ライセンスで公開(Apache V2)  30種以上のプラットフォームに移植されて動作  .NET Micro Framework (NETMF) 移植済みSOC  業務アプリケーション・システム応用事例 ドットNETまいくろバンザイ倶楽部
  5. オープンソースカンファレンス 2015 Tokyo/Spring ドットNET まいくろ バンザイ .NET Micro Framework の歴史  2001年 V 1.0 SPOT Watch / MSN Direct Service (Microsoft リサーチ)  2006年 V2.0 Windows SideShow Device  2008 年 V3.0 , 3.5 for Network  2010年 V4.0 for Open Source  2011年 V4.2 for Visual Basic  2012年 V4.3 for Visual Studio 2012  2015年 V4.3-QFE2 for Visual Studio 2013/2015 2015/2/27 5ドットNETまいくろバンザイ倶楽部
  6. オープンソースカンファレンス 2015 Tokyo/Spring ドットNET まいくろ バンザイ 2015/2/27 6 NETMFの本質  本来は、Windows CE 未満のプラットフォーム用 組込みシステム向け製品となるはずだった OS  移植キット販売、製品ライセンス販売予定  2010年にオープンソース化  Apache V2 ライセンス→無償で商用利用可能  競合OSの台頭 ⇒ 製品相当の機能・性能・品質 を無料で公開  2015年 正式サポート製品 GR-Peach 国内販売  国産製品化第1号 ドットNETまいくろバンザイ倶楽部
  7. オープンソースカンファレンス 2015 Tokyo/Spring ドットNET まいくろ バンザイ アーキテクチャ  全体構成 2 種類の実装方法 - Native Platform - “OS on OS” solution 2015/2/27 7ドットNETまいくろバンザイ倶楽部 アプリケーション開発 ライブラリ開発 プラットフォーム移植 CLR: Common Language Runtime HAL: Hardware Abstraction Layer PAL: Platform Abstraction Layer
  8. オープンソースカンファレンス 2015 Tokyo/Spring ドットNET まいくろ バンザイ OSとしての提供機能  IL(.NETのアセンブリ)の実行環境 = TinyCLR  タイマ, 割り込みハンドラ, マルチスレッド, スケジューラ  ブートローダ, 各種デバイスドライバ, リソースマネージャ  組み込み環境対応  MMU 不要  最小 64KB RAM / 256KB ROM (特別な環境)  標準サポート ARM7/9/Cortex-M3, Blackfin, SH-2/2A  サポート機能  ブートローダ, アプリケーションローダ, デバッガIF 2015/2/27 8ドットNETまいくろバンザイ倶楽部 ARM製コンパイラ 利用時のみ!
  9. オープンソースカンファレンス 2015 Tokyo/Spring ドットNET まいくろ バンザイ 2015/2/27 9 ドライバとサービス Cache Ethernet, WiFi GPIO I2C INTC LCD / Display Piezo / Speeker PMC SDRAM SDCARD / MMC SPI Thermistor TIME (RTC) TIMER USART USB Client Backlight (GPIO,SPI) BatteryCharger / Measurement BlockStorage (Flash, SD) Buttons COM DPWS Gesture Font, Graphics HTTP Ink Interop FileSystem (FAT) Security, Crypto TCP/IP, Socket, RPC, SSL Touch Panel (Multi Touch) XML デバイスドライバデバイスコントローラ ドットNETまいくろバンザイ倶楽部
  10. オープンソースカンファレンス 2015 Tokyo/Spring ドットNET まいくろ バンザイ プラットフォームとアプリケーション  自作ボードや未サポートボードに移植  CQ出版等の移植事例(参考資料)  周辺ハードウェアを自作して動作  容易に接続可能→.NET Gadgeteer  ライブラリやシステムを開発・改造  Emulatorの開発、独自モジュールの開発  連係システムやアプリケーションを開発  他のシステムとの接続  PC, Smart Phone, Cloud連係 2015/2/27 10ドットNETまいくろバンザイ倶楽部
  11. オープンソースカンファレンス 2015 Tokyo/Spring ドットNET まいくろ バンザイ 2015/2/27 11 SDK vs. PK (Porting Kit)  SDK: 組み込みアプリケーション開発  アプリケーション開発に必須  Visual Studio / VC# Express に組み込んで使用  Simulator, Debugger, Deployment Tools を含む  PK: 動作プラットフォームの構築(移植)  .NET Micro Framework の移植 に必須  ほかに クロスコンパイラ(+デバッガ)が必須  ツール類を含めた全ソースコードが提供  ほとんどを C++ で記述 (一部アセンブラ, C, C#) ドットNETまいくろバンザイ倶楽部 バージョンを 合わせる必要がある
  12. オープンソースカンファレンス 2015 Tokyo/Spring ドットNET まいくろ バンザイ 2015/2/27 12ドットNETまいくろバンザイ倶楽部 新プラットフォームへの移植 とIoT開発
  13. オープンソースカンファレンス 2015 Tokyo/Spring ドットNET まいくろ バンザイ 移植方法の選択  Native実装  TinyCLR直接実装 VS. TinyBooter実装  TinyCLR / TinyBooter のメンテナンス手順が必須  他のブートローダ利用  U-Boot, T-Monitor (T-Engine)等  Network ブート  OS on OS  他のOSのアプリケーションとしてNETMFを実装  ソースコードが公開されているので 実際にはどの様にでも作ることが可能 2015/2/27 13ドットNETまいくろバンザイ倶楽部 TinyBooter = NETMF専用ブートローダ Monoへの エクスポート
  14. オープンソースカンファレンス 2015 Tokyo/Spring ドットNET まいくろ バンザイ 2015/2/27 14 サポート・プラットフォーム  PK が用意しているサポート・テンプレート(標準サポート環境)  BF537 -- ADI Blackfin  EA_LPC2478 -- NXP LPC2478 (Embedded Artists LPC2478 4MB / 512KB)  iMXS -- MC9328MXS (32MB RAM / 8MB Flash ROM)  MCBSTM32E – STM32F103 Cortex-M3 (KEIL MCBSTM32E 8MB / 1MB)  MOTE2 -- Marvell PXA271 (Crossbow imote2)  PCM023 -- NXP LPC22xx ARM7  SAM7S_EK -- Atmel AT91SAM7S256 (64KB RAM / 256KB Flash ROM)  SAM7X_EK -- Atmel AT91SAM7X512 (128KB RAM / 512KB Flash ROM)  SAM9RL64 -- Atmel AT91SAM9RL64EK (64MB RAM / 256MB Flash ROM)  SAM9261_EK -- Atmel AT91SAM9261EK (64MB RAM / 256MB Flash ROM)  SH7216_RSK -- SH-2A 16MB SRAM / 1MB Flash ROM  SH7264_M3A_HS64 -- SH-2A 64MB RAM / 516MB Flash ROM  SH7264_RSK -- SH-2A 64MB RAM / 64MB Flash ROM  SH7619_EVB -- SH2 8MB RAM / 4MB Flash ROM  STM32Stamp -- STM32F103 Cortex-M3 (ET-STM32 Stamp 512KB RAM / 64KB)  Windows2 -- Windows Emulator  そのほか公開されている事例  STM32F4 -- STM32F4-Discovery, Netduino Plus, FEZ Cerberus Oberon microsystems  FM3/FM4 -- SK-FM4-U120-9B560, MB9BF506, CQ_FRK_FM3 ksekimoto  RX62 ドットNETまいくろバンザイ倶楽部
  15. オープンソースカンファレンス 2015 Tokyo/Spring ドットNET まいくろ バンザイ 2015/2/27 15 移植前のチェック  ターゲット・プラットフォーム  RAM/RAM容量(ROM不足は RAMで代用可能)  CPU アーキテクチャ  gcc利用時の最低メモリ目安  RAM 256KB / ROM 512KB (Thumb / Thumb2 命令)  コンパイラとデバッガ  Windows上で動作するクロスコンパイラ  Windows上で動作する JTAG-ICE デバッガ  Native 実装 vs. “OS on OS” 実装  ターゲット・プラットフォームの適正 ドットNETまいくろバンザイ倶楽部
  16. オープンソースカンファレンス 2015 Tokyo/Spring ドットNET まいくろ バンザイ 2015/2/27 16 移植に必要な知識  組み込みシステム全般  割り込み処理, 割り込みVector, Cache, MMU, PLL  ブートローダ  移植対象のCPU, ターゲット・ボード  データシート, 回路図, メモリマップ, クロック  ツール  Toolchain(コンパイラ, アセンブラ, リンカ, ライブラリアン) C, C++, CPUのアセンブラ命令, コマンドプロンプト, VB Script  デバッガ, JTAG ICE, Eclipse, OpenOCD+GDB  OSアーキテクチャとリソース管理  メモリ, タイマ, 割り込み, イベント  .NET Framework と CLR ドットNETまいくろバンザイ倶楽部
  17. オープンソースカンファレンス 2015 Tokyo/Spring ドットNET まいくろ バンザイ 2015/2/27 17 ソフトウェア環境とツール  Visual Studio 2012 (VC++ 2012 exp, VC# 2012 exp も可)  Windows SDK 8.0 (MSBuild)  .NET Micro Framework 4.3 SDK (QFE1)  .NET Micro Framework 4.3 Porting Kit (QFE1)  クロスコンパイラ, デバッガ  推奨は ARM RVDS, KEIL MDK  gccは CodeSourcery arm-2014.05-28 (GCC 4.8.3まで) 一部ソースコードが非対応なので自力で問題解決  クロス開発統合環境  Eclipse (自分で作る場合も…)  ソースコード管理  7zip, WinMerge, VSS, svn, … ドットNETまいくろバンザイ倶楽部
  18. オープンソースカンファレンス 2015 Tokyo/Spring ドットNET まいくろ バンザイ 2015/2/27 18 ハードウェア環境とツール  JTAG ICE, またはOpenOCD ICE  対応CPUやボード構成をよく確認する  Flash ROM書き込みツール(必要に応じて)  ブートローダ開発環境(必要に応じて)  評価ボード(ターゲットが利用できない場合)  測定器、信号観測ツール ドットNETまいくろバンザイ倶楽部
  19. オープンソースカンファレンス 2015 Tokyo/Spring ドットNET まいくろ バンザイ 2015/2/27 19 移植の主要作業  開発環境構築と基本設計  環境変数設定&クロス開発用ビルドスクリプト作成  メモリ割当て設計&Scatter ファイル設定  Solution の作成  ビルド&デバッグ  NativeSample を動作させる  ブートローダ, 初期化処理 (Clock, Cache, MMU, PLL)  ドライバ, PAL IF (Flash ROMドライバ開発必須, UART)  TinyCLR の動作  TinyBooter, アプリケーション・ロードとデバッグIF ドットNETまいくろバンザイ倶楽部
  20. オープンソースカンファレンス 2015 Tokyo/Spring ドットNET まいくろ バンザイ 2015/2/27 20 InterOpの実装  NETMF標準APIに無いOS機能を アプリケーションから呼び出す  使用方法  標準APIに無いドライバの実装  例:USB Host ドライバ, Flash ROM管理,  クリティカルな処理をCまたはアセンブラで記述して アプリケーションから呼び出す  実装方法  C#でAPIを記述、コードをC/C++/アセンブラで記述  パラメータ、リターン値、非同期処理、イベントが利用可能 ドットNETまいくろバンザイ倶楽部 OS 移植の醍醐味
  21. オープンソースカンファレンス 2015 Tokyo/Spring ドットNET まいくろ バンザイ 2015/2/27 ドットNETまいくろバンザイ倶楽部 21 ビルド&デバッグ  NativeSample  Native Code での”Hello world” 表示出力  ビルド環境の検証(自由にカスタマイズ可能)  ドライバ類の初期化&動作の検証  TinyCLR  .NET Micro Frameworkの移植対象・本体  実行にはIL (コンパイル済アセンブリ)が必須  ProductSampleディレクトリ(HelloWorld, Network など)  TinyBooter  NETMF 純正ブートローダ(MFDepoy IF) • メモリ管理 • 割り込み • タイマー • 232C/USB ドライバ
  22. オープンソースカンファレンス 2015 Tokyo/Spring ドットNET まいくろ バンザイ 2015/2/27 22 考察:Native 環境への移植  利点  全ソースコードが用意されている  ブートローダ, CPU初期化, リソース管理  動作している実機サンプルが入手し易い  割り込み / イベント処理が実装し易い  欠点  未対応アーキテクチャには移植し難い  クロスコンパイル, デバッグ環境を手当てする必要 ドットNETまいくろバンザイ倶楽部
  23. オープンソースカンファレンス 2015 Tokyo/Spring ドットNET まいくろ バンザイ 2015/2/27 23 考察: OS on OS 環境への移植  利点  OSが用意している開発環境を流用可能  JTAG-ICEの代わりにデバッガで代用可能  1回移植すれば、同一OSへの移植が容易  欠点  参考にするソースコードが用意されていない  動作している実機サンプルが入手し難い  OS依存APIを変換する作業(PAL層開発)が必須 (Timer, Event, Select, Socket, …)  ドライバの移植数、作業工数はNativeよりも多い ドットNETまいくろバンザイ倶楽部 参考: .NET Micro Framework for Linux
  24. オープンソースカンファレンス 2015 Tokyo/Spring ドットNET まいくろ バンザイ 2015/2/27 24ドットNETまいくろバンザイ倶楽部 組み込みアプリケーション開発
  25. オープンソースカンファレンス 2015 Tokyo/Spring ドットNET まいくろ バンザイ 2015/2/27 25 アプリケーション開発手順  事前調査・基本設計  Interface 仕様の確認 (H/W, S/W, Network, …)  コーディング  Full .NET 環境用コードの流用  ソースコード・デバッグ  エミュレータ, オンライン・デバッガ  Full .NET 環境でのデバッグ (ソース流用化)  デプロイ  Flash ROM焼き, 配布用署名付きコード生成 ドットNETまいくろバンザイ倶楽部 .NET Gadgeteeer で簡単に!
  26. オープンソースカンファレンス 2015 Tokyo/Spring ドットNET まいくろ バンザイ 2015/2/27 26 デバッガ インターフェース  デバッガとの接続手段:3種類から選択  独自ハードウエア開発の注意点  OS更新用のデバッガ(ブート)・スイッチの必須  通常はGPIOタクトSW(ボタン), DIP-SW等を使用 ドットNETまいくろバンザイ倶楽部 ドライバ ドライバ ドライバ Serial (RS232C) USB LAN (TCP/IP) Host PC Target
  27. オープンソースカンファレンス 2015 Tokyo/Spring ドットNET まいくろ バンザイ .NET Gadgeteer とは? 2015/2/27 ドットNETまいくろバンザイ倶楽部 27  .NET Micro Framework ベース組み込みシステム統合 開発環境とそれを構成するモジュール製品群  MMU無しマイコン上でVisual Studioで開発した .NETアセンブリ(中間コード)をインタプリタ実行  GUI操作で自動的に 初期化コードとクラスラ イブラリを追加 .NET MF OS / Driver Interpreter App. / Lib. Gadgeteer
  28. オープンソースカンファレンス 2015 Tokyo/Spring ドットNET まいくろ バンザイ .NET Gadgeteer とは? 2015/2/27 ドットNETまいくろバンザイ倶楽部 28  具体的には次のもの  ハードウェア  専用メインボード、専用モジュール群、 開発環境としての Windows PC  ソフトウェア  ROM化されたOS、組み込み用各種ドライバとライブラリ、 Visual Studio用Plug In(ライブラリとGUIツール、シミュレータ)  新規モジュール開発やカスタマイズ可能  オープンソース
  29. オープンソースカンファレンス 2015 Tokyo/Spring ドットNET まいくろ バンザイ 2015/2/27 .NET Gadgeteer とは?  C#/VB言語レベルでライブラリと豊富なミドルウェアを提供  プロトコル、グラフィック  ファイルシステム  サービス、マルチスレッド  10種以上のCPUボードと 100種以上の アクチュエータ, センサー, ネットワークアダプタ, コネクティビティ, ディスプレイ等の モジュール を提供 ドットNETまいくろバンザイ倶楽部 29
  30. オープンソースカンファレンス 2015 Tokyo/Spring ドットNET まいくろ バンザイ IoT入門キット事例  IoT 入門キット  ガジェッター IoT 入門キット  EnOcean IoT 入門キット 2015/2/27 30ドットNETまいくろバンザイ倶楽部
  31. オープンソースカンファレンス 2015 Tokyo/Spring ドットNET まいくろ バンザイ GR-Peach  特長  RZ/A1H搭載 ARM Cortex-A9 Core  400MHz, 10MB RAM, 8MB FLASH  Arduino互換ピンアサイン &ピンソケット豊富な各種シールドと接続可能  mbed 対応 2015/2/27 31ドットNETまいくろバンザイ倶楽部
  32. オープンソースカンファレンス 2015 Tokyo/Spring ドットNET まいくろ バンザイ GR-Peach と IoT Kit  2014年8月  GR-Peach プレスリリース  2014年11月  第1回プロデューサミーティング 試用版配布  NETMF for mbed 活動開始  2015年3月15日  IoYTコミュニティー(仮称)キックオフ!  2015年3月21日  第3回プロデューサミーティング 最終発表会 2015/2/27 32ドットNETまいくろバンザイ倶楽部
  33. オープンソースカンファレンス 2015 Tokyo/Spring ドットNET まいくろ バンザイ NETMF for mbed  mbed対応の GR-Peach上で .NET Micro Framework 及び .NET Gadgeteerを 移植して動作させよう! 2015/2/27 33ドットNETまいくろバンザイ倶楽部
  34. オープンソースカンファレンス 2015 Tokyo/Spring ドットNET まいくろ バンザイ NETMF for mbed 活動内容  関本健太郎氏(インターフェース誌で移植記事執筆)が 中心となって移植・評価中  情報交換  Facebook : NETMF on mbed 準備会  成果公開  Codeplex : NETMF for MBED https://netmf4mbed.codeplex.com/  GitHub : http://ms-iotkithol-jp.github.io/  mbed : http://developer.mbed.org/teams/NETMF-on-mbed/ 2015/2/27 34ドットNETまいくろバンザイ倶楽部
  35. オープンソースカンファレンス 2015 Tokyo/Spring ドットNET まいくろ バンザイ NETMF for mbed 募集  賛同者、協力者、開発者 募集中!  Visual StudioとGR-Peach で組み込み開発  GR-Peach への移植の作業分担  IoT 学習用教材の開発、活用  国産 MCU RZマイコンと .NET Micro Frameworkの普及促進と宣伝 2015/2/27 35ドットNETまいくろバンザイ倶楽部
  36. オープンソースカンファレンス 2015 Tokyo/Spring ドットNET まいくろ バンザイ IoYT コミュニティー (仮称)  Internet of Your Things 活動  http://kokucheese.com/event/index/266921/  IoTあるじゃん(ALGYAN)  facebook: IoTあるじゃん(ALGYAN)本会  https://www.facebook.com/groups/ioytjp/ 2015/2/27 36ドットNETまいくろバンザイ倶楽部
  37. オープンソースカンファレンス 2015 Tokyo/Spring ドットNET まいくろ バンザイ 2015/2/27 37 まとめ  .NET Micro Frameworkとは?  新プラットフォームへの移植  組み込みアプリケーション開発とIoT開発  GR-Peachへの移植 参加者募集! ドットNETまいくろバンザイ倶楽部
  38. オープンソースカンファレンス 2015 Tokyo/Spring ドットNET まいくろ バンザイ 2015/2/27 38 参考URL  .NET Micro Framework (NETMF)  http://www.netmf.com/  http://netmf.codeplex.com/  http://en.wikipedia.org/wiki/.NET_Micro_Framework  .NET Gadgeteer  http://www.netmf.com/gadgeteer/  https://gadgeteer.codeplex.com/  http://ja.wikipedia.org/wiki/.NET_Gadgeteer ドットNETまいくろバンザイ倶楽部
Anúncio