SlideShare a Scribd company logo
1 of 35
オープンソースカンファレンス2014 Tokyo/Fall 
オープンソースになったマイコン開発環境 
.NET Micro Frameworkの紹介。 
- IoT 時代の組み込みOSの主役- 
ドットNETまいくろバンザイ倶楽部 
日高亜友 
info@devdrv.co.jp 
ドットNET 
まいくろ 
バンザイ 
2014/10/18 ドットNETまいくろバンザイ倶楽部1
セッション内容 
 .NET Micro Frameworkとは? 
 新プラットフォームへの移植 
 組み込みアプリケーション開発とIoT 
オープンソースカンファレンス2014 Tokyo/Fall 
ドットNET 
まいくろ 
バンザイ 
2014/10/18 ドットNETまいくろバンザイ倶楽部 
2
.NET Micro Frameworkとは? 
オープンソースカンファレンス2014 Tokyo/Fall 
ドットNET 
まいくろ 
バンザイ 
2014/10/18 ドットNETまいくろバンザイ倶楽部3
.NET Micro Framework とは? 
 Microsoft Research 開発の組み込みOS 
 Visual C# / Visual Basicで開発したIL 
.NET アセンブリを中間コードインタプリタで実行 
 豊富なドライバとライブラリを標準装備 
 オープンソース・ライセンスで公開(Apache V2) 
 30種以上のプラットフォームに移植されて動作 
 .NET Micro Framework (NETMF) 移植済みSOC 
 業務アプリケーション・システム応用事例 
オープンソースカンファレンス2014 Tokyo/Fall 
ドットNET 
まいくろ 
バンザイ 
2014/10/18 ドットNETまいくろバンザイ倶楽部 
4
ドット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 
 2014年V4.3-R2β for Visual Studio 2013/2014 
オープンソースカンファレンス2014 Tokyo/Fall 
2014/10/18 ドットNETまいくろバンザイ倶楽部5
NETMFの本質 
 本来は、Windows CE 未満のプラットフォーム用 
組込みシステム向け製品となるはずだったOS 
 (かつては)移植キット販売済 
 (かつては)製品ライセンス販売予定 
 2010年にオープンソース化 
 Apache V2 ライセンス→無償で商用利用可能 
 競合OSの台頭 
⇒ 製品相当の機能・性能・品質を無料で公開 
 2014年末に何かが起こるかも? 
オープンソースカンファレンス2014 Tokyo/Fall 
ドットNET 
まいくろ 
バンザイ 
2014/10/18 ドットNETまいくろバンザイ倶楽部 
6
ドットNET 
まいくろ 
バンザイアーキテクチャ 
 全体構成 
オープンソースカンファレンス2014 Tokyo/Fall 
アプリケーション開発 
ライブラリ開発 
プラットフォーム移植 
2 種類の実装方法 
- Native Platform 
- “OS on OS” solution 
CLR: Common Language Runtime 
HAL: Hardware Abstraction Layer 
PAL: Platform Abstraction Layer 
2014/10/18 ドットNETまいくろバンザイ倶楽部7
ドットNET 
まいくろ 
バンザイOSとしての提供機能 
 IL(.NETのアセンブリ)の実行環境= TinyCLR 
 タイマ, 割り込みハンドラ, マルチスレッド, 
スケジューラ 
 ブートローダ, 各種デバイスドライバ, リソースマネージャ 
 組み込み環境対応 
 MMU 不要 
 最小64KB RAM / 256KB ROM (特別な環境) 
 標準サポートARM7/9/Cortex-M3, Blackfin, SH-2/2A 
 サポート機能 
 ブートローダ, アプリケーションローダ, デバッガIF 
オープンソースカンファレンス2014 Tokyo/Fall 
2014/10/18 ドットNETまいくろバンザイ倶楽部8
ドライバとサービス 
デバイスコントローラデバイスドライバ 
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 
オープンソースカンファレンス2014 Tokyo/Fall 
ドットNET 
まいくろ 
バンザイ 
2014/10/18 ドットNETまいくろバンザイ倶楽部 
9
ドットNET 
まいくろ 
バンザイプラットフォームとアプリケーション 
 自作ボードや未サポートボードに移植 
 CQ出版等の移植事例(参考資料) 
 周辺ハードウェアを自作して動作 
 容易に接続可能→.NET Gadgeteer 
 ライブラリやシステムを開発・改造 
 Emulatorの開発、独自モジュールの開発 
 連係システムやアプリケーションを開発 
 他のシステムとの接続 
 PC, Smart Phone, Cloud連係 
オープンソースカンファレンス2014 Tokyo/Fall 
2014/10/18 ドットNETまいくろバンザイ倶楽部10
SDK vs. PK (Porting Kit) 
 SDK: 組み込みアプリケーション開発 
 アプリケーション開発に必須 
 Visual Studio / VC# Express に組み込んで使用 
 Simulator, Debugger, Deployment Tools を含む 
 PK: 動作プラットフォームの構築(移植) 
 .NET Micro Framework の移植に必須 
 ほかにクロスコンパイラ(+デバッガ)が必須 
 ツール類を含めた全ソースコードが提供 
 ほとんどをC++ で記述(一部アセンブラ, C, C#) 
オープンソースカンファレンス2014 Tokyo/Fall 
ドットNET 
まいくろ 
バンザイ 
2014/10/18 ドットNETまいくろバンザイ倶楽部 
11 
バージョンを 
合わせる必要がある
新プラットフォームへの移植 
オープンソースカンファレンス2014 Tokyo/Fall 
ドットNET 
まいくろ 
バンザイ 
2014/10/18 ドットNETまいくろバンザイ倶楽部12
ドットNET 
まいくろ 
バンザイ移植方法の選択 
 Native実装 
TinyBooter = NETMF専用ブートローダ 
 TinyCLR直接実装VS. TinyBooter実装 
 TinyCLR / TinyBooter のメンテナンス手順が必須 
 他のブートローダ利用 
 U-Boot, T-Monitor (T-Engine)等 
 Network ブート 
 OS on OS 
 他のOSのアプリケーションとしてNETMFを実装 
 ソースコードが公開されているので 
実際にはどの様にでも作ることが可能 
オープンソースカンファレンス2014 Tokyo/Fall 
Monoへの 
エクスポート 
2014/10/18 ドットNETまいくろバンザイ倶楽部13
サポート・プラットフォーム 
 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 
オープンソースカンファレンス2014 Tokyo/Fall 
ドットNET 
まいくろ 
バンザイ 
2014/10/18 ドットNETまいくろバンザイ倶楽部 
14
移植前のチェック 
 ターゲット・プラットフォーム 
 RAM/RAM容量(ROM不足はRAMで代用可能) 
 CPU アーキテクチャ 
 gcc利用時の最低メモリ目安 
 RAM 256KB / ROM 512KB (Thumb / Thumb2 命令) 
 コンパイラとデバッガ 
 Windows上で動作するクロスコンパイラ 
 Windows上で動作するJTAG-ICE デバッガ 
 Native 実装vs. “OS on OS” 実装 
 ターゲット・プラットフォームの適正 
オープンソースカンファレンス2014 Tokyo/Fall 
ドットNET 
まいくろ 
バンザイ 
2014/10/18 ドットNETまいくろバンザイ倶楽部 
15
移植に必要な知識 
 組み込みシステム全般 
 割り込み処理, 割り込みVector, Cache, MMU, PLL 
 ブートローダ 
 移植対象のCPU, ターゲット・ボード 
 データシート, 回路図, メモリマップ, クロック 
 ツール 
 Toolchain(コンパイラ, アセンブラ, リンカ, ライブラリアン) 
C, C++, CPUのアセンブラ命令, コマンドプロンプト, VB Script 
 デバッガ, JTAG ICE, Eclipse, OpenOCD+GDB 
 OSアーキテクチャとリソース管理 
 メモリ, タイマ, 割り込み, イベント 
 .NET Framework とCLR 
オープンソースカンファレンス2014 Tokyo/Fall 
ドットNET 
まいくろ 
バンザイ 
2014/10/18 ドットNETまいくろバンザイ倶楽部 
16
ソフトウェア環境とツール 
 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, … 
オープンソースカンファレンス2014 Tokyo/Fall 
ドットNET 
まいくろ 
バンザイ 
2014/10/18 ドットNETまいくろバンザイ倶楽部 
17
ハードウェア環境とツール 
 JTAG ICE, またはOpenOCD ICE 
 対応CPUやボード構成をよく確認する 
 Flash ROM書き込みツール(必要に応じて) 
 ブートローダ開発環境(必要に応じて) 
 評価ボード(ターゲットが利用できない場合) 
 測定器、信号観測ツール 
オープンソースカンファレンス2014 Tokyo/Fall 
ドットNET 
まいくろ 
バンザイ 
2014/10/18 ドットNETまいくろバンザイ倶楽部 
18
移植の主要作業 
 開発環境構築と基本設計 
 環境変数設定&クロス開発用ビルドスクリプト作成 
 メモリ割当て設計&Scatter ファイル設定 
 Solution の作成 
 ビルド&デバッグ 
 NativeSample を動作させる 
 ブートローダ, 初期化処理(Clock, Cache, MMU, PLL) 
 ドライバ, PAL IF (Flash ROMドライバ開発必須, UART) 
 TinyCLR の動作 
 TinyBooter, アプリケーション・ロードとデバッグIF 
オープンソースカンファレンス2014 Tokyo/Fall 
ドットNET 
まいくろ 
バンザイ 
2014/10/18 ドットNETまいくろバンザイ倶楽部 
19
InterOpの実装 
 NETMF標準APIに無いOS機能を 
アプリケーションから呼び出す 
 使用方法 
 標準APIに無いドライバの実装 
 例:USB Host ドライバ, Flash ROM管理, 
 クリティカルな処理をCまたはアセンブラで記述して 
アプリケーションから呼び出す 
 実装方法 
 C#でAPIを記述、コードをC/C++/アセンブラで記述 
 パラメータ、リターン値、非同期処理、イベントが利用可能 
オープンソースカンファレンス2014 Tokyo/Fall 
ドットNET 
まいくろ 
バンザイ 
2014/10/18 ドットNETまいくろバンザイ倶楽部 
20
ビルド&デバッグ 
 NativeSample 
 Native Code での”Hello world” 表示出力 
 ビルド環境の検証(自由にカスタマイズ可能) 
 ドライバ類の初期化&動作の検証 
 TinyCLR 
 .NET Micro Frameworkの移植対象・本体 
 実行にはIL (コンパイル済アセンブリ)が必須 
• メモリ管理 
• 割り込み 
• タイマー 
• 232C/USB 
ドライバ 
 ProductSampleディレクトリ(HelloWorld, Network など) 
 TinyBooter 
 NETMF 純正ブートローダ(MFDepoy IF) 
オープンソースカンファレンス2014 Tokyo/Fall 
ドットNET 
まいくろ 
バンザイ 
2014/10/18 ドットNETまいくろバンザイ倶楽部21
TinyCLRとアセンブリの実行動作 
起動 
初期化 
Debugger 接続 
アセンブリ検索 
アセンブリのロード 
アセンブリの実行 
無し 
‘F5’ キーで 
ビルド、デプロイ、 
実行、デバッグ 
オープンソースカンファレンス2014 Tokyo/Fall 
ドットNET 
まいくろ 
バンザイ 
Flash ROM 
読み出し・書き込み 
デプロイ後 
2014/10/18 ドットNETまいくろバンザイ倶楽部22
考察:Native 環境への移植 
 利点 
 全ソースコードが用意されている 
 ブートローダ, CPU初期化, リソース管理 
 動作している実機サンプルが入手し易い 
 割り込み/ イベント処理が実装し易い 
 欠点 
 未対応アーキテクチャには移植し難い 
 クロスコンパイル, デバッグ環境を手当てする必要 
オープンソースカンファレンス2014 Tokyo/Fall 
ドットNET 
まいくろ 
バンザイ 
2014/10/18 ドットNETまいくろバンザイ倶楽部 
23
考察: OS on OS 環境への移植 
 利点 
 OSが用意している開発環境を流用可能 
 JTAG-ICEの代わりにデバッガで代用可能 
 1回移植すれば、同一OSへの移植が容易 
 欠点 
参考: .NET Micro Framework for Linux 
 参考にするソースコードが用意されていない 
 動作している実機サンプルが入手し難い 
 OS依存APIを変換する作業(PAL層開発)が必須 
(Timer, Event, Select, Socket, …) 
 ドライバの移植数、作業工数はNativeよりも多い 
オープンソースカンファレンス2014 Tokyo/Fall 
ドットNET 
まいくろ 
バンザイ 
2014/10/18 ドットNETまいくろバンザイ倶楽部 
24
組み込みアプリケーション開発 
オープンソースカンファレンス2014 Tokyo/Fall 
ドットNET 
まいくろ 
バンザイ 
2014/10/18 ドットNETまいくろバンザイ倶楽部25
アプリケーション開発手順 
 事前調査・基本設計 
 Interface 仕様の確認(H/W, S/W, Network, …) 
 コーディング 
 Full .NET 環境用コードの流用 
 ソースコード・デバッグ 
.NET Gadgeteeer 
 エミュレータ, オンライン・デバッガ 
で簡単に! 
 Full .NET 環境でのデバッグ(ソース流用化) 
 デプロイ 
 Flash ROM焼き, 配布用署名付きコード生成 
オープンソースカンファレンス2014 Tokyo/Fall 
ドットNET 
まいくろ 
バンザイ 
2014/10/18 ドットNETまいくろバンザイ倶楽部 
26
デバッガインターフェース 
 デバッガとの接続手段:3種類から選択 
ドライバ 
ドライバ 
ドライバ 
 独自ハードウエア開発の注意点 
 OS更新用のデバッガ(ブート)・スイッチの必須 
 通常はGPIOタクトSW(ボタン), DIP-SW等を使用 
オープンソースカンファレンス2014 Tokyo/Fall 
ドットNET 
まいくろ 
バンザイ 
2014/10/18 ドットNETまいくろバンザイ倶楽部 
27 
Serial (RS232C) 
USB 
LAN (TCP/IP) Host PC Target
ドットNET 
まいくろ 
バンザイ.NET Gadgeteer とは? 
 Microsoftリサーチが開発している 
.NET Micro Framework ベース組み込みシステム統合 
開発環境とそれを構成するモジュール製品群 
 MMU無しマイコン上でVisual Studioで開発した 
.NETアセンブリ(中間コード)をインタプリタ実行 
 GUI操作で自動的に 
初期化コードとクラスラ 
イブラリを追加 
Gadgeteer 
.NET MF 
App. / Lib. 
Interpreter 
OS / Driver 
オープンソースカンファレンス2014 Tokyo/Fall 
2014/10/18 ドットNETまいくろバンザイ倶楽部28
ドットNET 
まいくろ 
バンザイ.NET Gadgeteer とは? 
 具体的には次のもの 
 ハードウェア 
 専用メインボード、専用モジュール群、 
開発環境としてのWindows PC 
 ソフトウェア 
 ROM化されたOS、組み込み用各種ドライバとライブラリ、 
Visual Studio用Plug In(ライブラリとGUIツール、シミュレータ) 
 新規モジュール開発やカスタマイズ可能 
 オープンソース 
オープンソースカンファレンス2014 Tokyo/Fall 
2014/10/18 ドットNETまいくろバンザイ倶楽部29
オープンソースカンファレンス2014 Tokyo/Fall 
ドットNET 
まいくろ 
バンザイ 
2014/10/18 
.NET Gadgeteer とは? 
 C#/VB言語レベルでライブラリと豊富なミドルウェアを提供 
 プロトコル、グラフィック 
 ファイルシステム 
 サービス、マルチスレッド 
 10種以上のCPUボードと 
100種以上の 
アクチュエータ, 
センサー, 
ネットワークアダプタ, 
コネクティビティ, 
ディスプレイ等の 
モジュールを提供 
ドットNETまいくろバンザイ倶楽部30
ドットNET 
まいくろ 
バンザイIoT (Internet of Things) 
 IoT と.NET Micro Framework 
 2010年12月 
 NETMF搭載 
FEZ Panda Internet of Things Kit 販売開始 
Network + LED + Switch + Sensor 
オープンソースカンファレンス2014 Tokyo/Fall 
2014/10/18 ドットNETまいくろバンザイ倶楽部31
ドットNET 
まいくろ 
バンザイIoT Internet of Things 
 デバイスとITの架け橋 
 http://blogs.msdn.com/b/hirosho/ 
 Internet Of Things ハンズオン 
 http://aka.ms/IoTHandsOn 
 Microsoft Azure モバイルサービスと 
センサー類を接続 
 IoT 入門キット 
 ガジェッターIoT 入門キット 
 EnOcean IoT 入門キット 
オープンソースカンファレンス2014 Tokyo/Fall 
2014/10/18 ドットNETまいくろバンザイ倶楽部32
ドットNET 
まいくろ 
バンザイIoT入門キット 
 IoT 入門キット 
 ガジェッターIoT 入門キット 
 EnOcean IoT 入門キット 
オープンソースカンファレンス2014 Tokyo/Fall 
2014/10/18 ドットNETまいくろバンザイ倶楽部33
参考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 
 https://www.ghielectronics.com/ 
 http://tinyclr.jp/ 
オープンソースカンファレンス2014 Tokyo/Fall 
ドットNET 
まいくろ 
バンザイ 
2014/10/18 ドットNETまいくろバンザイ倶楽部 
34
まとめとFacebook Group 
 .NET Micro Frameworkとは? 
 .NET Micro Framework (英語) 
 新プラットフォームへの移植 
 .NET Micro Framework Porting勉強会(日本語) 
 組み込みアプリケーション開発とIoT 
 .NET Micro Framework/Gadgeteer 作品自慢(日本語) 
興味がある方、是非facebook groupにご参加ください! 
オープンソースカンファレンス2014 Tokyo/Fall 
ドットNET 
まいくろ 
バンザイ 
2014/10/18 ドットNETまいくろバンザイ倶楽部 
35

More Related Content

What's hot

Xilinx SDSoC(2016.2)解体新書ソフトウェア編
Xilinx SDSoC(2016.2)解体新書ソフトウェア編Xilinx SDSoC(2016.2)解体新書ソフトウェア編
Xilinx SDSoC(2016.2)解体新書ソフトウェア編Mr. Vengineer
 
Robomec2014 rtm講習会第2部
Robomec2014 rtm講習会第2部Robomec2014 rtm講習会第2部
Robomec2014 rtm講習会第2部openrtm
 
Robomec2014 rtm講習会第3部
Robomec2014 rtm講習会第3部Robomec2014 rtm講習会第3部
Robomec2014 rtm講習会第3部openrtm
 
130711 01
130711 01130711 01
130711 01openrtm
 
Xilinx SDSoC(2016.3)解体新書ソフトウェア編
Xilinx SDSoC(2016.3)解体新書ソフトウェア編Xilinx SDSoC(2016.3)解体新書ソフトウェア編
Xilinx SDSoC(2016.3)解体新書ソフトウェア編Mr. Vengineer
 
Robomec2014 rtm講習会第1部(その2)
Robomec2014 rtm講習会第1部(その2)Robomec2014 rtm講習会第1部(その2)
Robomec2014 rtm講習会第1部(その2)openrtm
 
Rtミドルウェア講習会 第2部資料
Rtミドルウェア講習会 第2部資料Rtミドルウェア講習会 第2部資料
Rtミドルウェア講習会 第2部資料openrtm
 
Zynq + Vivado HLS入門
Zynq + Vivado HLS入門Zynq + Vivado HLS入門
Zynq + Vivado HLS入門narusugimoto
 
Rtmコンテスト必勝法
Rtmコンテスト必勝法Rtmコンテスト必勝法
Rtmコンテスト必勝法openrtm
 
Rtミドルウェア講習会 第1部資料
Rtミドルウェア講習会 第1部資料Rtミドルウェア講習会 第1部資料
Rtミドルウェア講習会 第1部資料openrtm
 
2013 summercamp 02
2013 summercamp 022013 summercamp 02
2013 summercamp 02openrtm
 
Robomec2015講習会 150517 01
Robomec2015講習会 150517 01Robomec2015講習会 150517 01
Robomec2015講習会 150517 01openrtm
 
Appearances are deceiving: Novel offensive techniques in Windows 10/11 on ARM
Appearances are deceiving: Novel offensive techniques in Windows 10/11 on ARMAppearances are deceiving: Novel offensive techniques in Windows 10/11 on ARM
Appearances are deceiving: Novel offensive techniques in Windows 10/11 on ARMFFRI, Inc.
 
FPGAアクセラレータの作り方
FPGAアクセラレータの作り方FPGAアクセラレータの作り方
FPGAアクセラレータの作り方Mr. Vengineer
 
SDSoC勉強会_170128_スライド「SDx 2016.3のプラグマによるハードウェアと性能」
SDSoC勉強会_170128_スライド「SDx 2016.3のプラグマによるハードウェアと性能」SDSoC勉強会_170128_スライド「SDx 2016.3のプラグマによるハードウェアと性能」
SDSoC勉強会_170128_スライド「SDx 2016.3のプラグマによるハードウェアと性能」marsee101
 
130522 00
130522 00130522 00
130522 00openrtm
 
Ss systemdのwslディストロを作る kernelvm探検隊online part 3
Ss systemdのwslディストロを作る kernelvm探検隊online part 3Ss systemdのwslディストロを作る kernelvm探検隊online part 3
Ss systemdのwslディストロを作る kernelvm探検隊online part 3Takaya Saeki
 
Rtshell 2017
Rtshell 2017Rtshell 2017
Rtshell 2017openrtm
 

What's hot (20)

Xilinx SDSoC(2016.2)解体新書ソフトウェア編
Xilinx SDSoC(2016.2)解体新書ソフトウェア編Xilinx SDSoC(2016.2)解体新書ソフトウェア編
Xilinx SDSoC(2016.2)解体新書ソフトウェア編
 
Robomec2014 rtm講習会第2部
Robomec2014 rtm講習会第2部Robomec2014 rtm講習会第2部
Robomec2014 rtm講習会第2部
 
Robomec2014 rtm講習会第3部
Robomec2014 rtm講習会第3部Robomec2014 rtm講習会第3部
Robomec2014 rtm講習会第3部
 
130711 01
130711 01130711 01
130711 01
 
Xilinx SDSoC(2016.3)解体新書ソフトウェア編
Xilinx SDSoC(2016.3)解体新書ソフトウェア編Xilinx SDSoC(2016.3)解体新書ソフトウェア編
Xilinx SDSoC(2016.3)解体新書ソフトウェア編
 
Robomec2014 rtm講習会第1部(その2)
Robomec2014 rtm講習会第1部(その2)Robomec2014 rtm講習会第1部(その2)
Robomec2014 rtm講習会第1部(その2)
 
Rtミドルウェア講習会 第2部資料
Rtミドルウェア講習会 第2部資料Rtミドルウェア講習会 第2部資料
Rtミドルウェア講習会 第2部資料
 
Zynq + Vivado HLS入門
Zynq + Vivado HLS入門Zynq + Vivado HLS入門
Zynq + Vivado HLS入門
 
Rtmコンテスト必勝法
Rtmコンテスト必勝法Rtmコンテスト必勝法
Rtmコンテスト必勝法
 
Rtミドルウェア講習会 第1部資料
Rtミドルウェア講習会 第1部資料Rtミドルウェア講習会 第1部資料
Rtミドルウェア講習会 第1部資料
 
2013 summercamp 02
2013 summercamp 022013 summercamp 02
2013 summercamp 02
 
Google 20130218
Google 20130218Google 20130218
Google 20130218
 
Robomec2015講習会 150517 01
Robomec2015講習会 150517 01Robomec2015講習会 150517 01
Robomec2015講習会 150517 01
 
Appearances are deceiving: Novel offensive techniques in Windows 10/11 on ARM
Appearances are deceiving: Novel offensive techniques in Windows 10/11 on ARMAppearances are deceiving: Novel offensive techniques in Windows 10/11 on ARM
Appearances are deceiving: Novel offensive techniques in Windows 10/11 on ARM
 
FPGAアクセラレータの作り方
FPGAアクセラレータの作り方FPGAアクセラレータの作り方
FPGAアクセラレータの作り方
 
SDSoC勉強会_170128_スライド「SDx 2016.3のプラグマによるハードウェアと性能」
SDSoC勉強会_170128_スライド「SDx 2016.3のプラグマによるハードウェアと性能」SDSoC勉強会_170128_スライド「SDx 2016.3のプラグマによるハードウェアと性能」
SDSoC勉強会_170128_スライド「SDx 2016.3のプラグマによるハードウェアと性能」
 
130522 00
130522 00130522 00
130522 00
 
Ss systemdのwslディストロを作る kernelvm探検隊online part 3
Ss systemdのwslディストロを作る kernelvm探検隊online part 3Ss systemdのwslディストロを作る kernelvm探検隊online part 3
Ss systemdのwslディストロを作る kernelvm探検隊online part 3
 
Lpicl304 20170318
Lpicl304 20170318Lpicl304 20170318
Lpicl304 20170318
 
Rtshell 2017
Rtshell 2017Rtshell 2017
Rtshell 2017
 

Similar to 2014 1018 OSC-Fall Tokyo NETMF

2015 0227 OSC-Spring Tokyo NETMF
2015 0227 OSC-Spring Tokyo NETMF2015 0227 OSC-Spring Tokyo NETMF
2015 0227 OSC-Spring Tokyo NETMFAtomu Hidaka
 
OSC Nagoya NETMF 160528
OSC Nagoya NETMF 160528OSC Nagoya NETMF 160528
OSC Nagoya NETMF 160528Atomu Hidaka
 
OSC Tokyo/Fall NETMF 161105
OSC Tokyo/Fall NETMF 161105OSC Tokyo/Fall NETMF 161105
OSC Tokyo/Fall NETMF 161105Atomu Hidaka
 
2015 1025 OSC-Fall Tokyo NETMF
2015 1025 OSC-Fall Tokyo NETMF2015 1025 OSC-Fall Tokyo NETMF
2015 1025 OSC-Fall Tokyo NETMFAtomu Hidaka
 
Microsoft Intelligent Edge Technologies
Microsoft Intelligent Edge TechnologiesMicrosoft Intelligent Edge Technologies
Microsoft Intelligent Edge TechnologiesTakeshi Fukuhara
 
Cell/B.E. プログラミング事始め
Cell/B.E. プログラミング事始めCell/B.E. プログラミング事始め
Cell/B.E. プログラミング事始めYou&I
 
ET2016 Smart Japan Alliance Llilum 161118
ET2016 Smart Japan Alliance Llilum 161118ET2016 Smart Japan Alliance Llilum 161118
ET2016 Smart Japan Alliance Llilum 161118Atomu Hidaka
 
Microsoft Intelligent Edge Technologies
Microsoft Intelligent Edge TechnologiesMicrosoft Intelligent Edge Technologies
Microsoft Intelligent Edge TechnologiesTakeshi Fukuhara
 
DEV-002_.NET Core/ASP.NET Core が実現するクロスプラットフォーム .NET の今と未来
DEV-002_.NET Core/ASP.NET Core が実現するクロスプラットフォーム .NET の今と未来DEV-002_.NET Core/ASP.NET Core が実現するクロスプラットフォーム .NET の今と未来
DEV-002_.NET Core/ASP.NET Core が実現するクロスプラットフォーム .NET の今と未来decode2016
 
ROBOMECH2023 RTミドルウェア講習会 第1部
ROBOMECH2023 RTミドルウェア講習会 第1部ROBOMECH2023 RTミドルウェア講習会 第1部
ROBOMECH2023 RTミドルウェア講習会 第1部openrtm
 
Getting Started .NET Core
Getting Started .NET CoreGetting Started .NET Core
Getting Started .NET CoreYuta Matsumura
 
Nedo講座・rtmセミナー
Nedo講座・rtmセミナーNedo講座・rtmセミナー
Nedo講座・rtmセミナーopenrtm
 
1.コース概要
1.コース概要1.コース概要
1.コース概要openrtm
 
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会Hitoshi Sato
 
.NET Micro Framework (プラレールと電子工作)
.NET Micro Framework (プラレールと電子工作).NET Micro Framework (プラレールと電子工作)
.NET Micro Framework (プラレールと電子工作)Akira Hatsune
 
JTF2020 クロスコンパイルだけが能ではない組み込みLinuxシステムのCI/CDインフラ構築
JTF2020 クロスコンパイルだけが能ではない組み込みLinuxシステムのCI/CDインフラ構築JTF2020 クロスコンパイルだけが能ではない組み込みLinuxシステムのCI/CDインフラ構築
JTF2020 クロスコンパイルだけが能ではない組み込みLinuxシステムのCI/CDインフラ構築yaegashi
 
201110 01 Polytech Center 1
201110 01 Polytech Center 1201110 01 Polytech Center 1
201110 01 Polytech Center 1openrtm
 
Linux & Mac OS でも動く! ~ クロスプラットフォーム対応に見る ASP.NET Core 5 の可能性 ~
Linux & Mac OS でも動く! ~ クロスプラットフォーム対応に見る ASP.NET Core 5 の可能性 ~Linux & Mac OS でも動く! ~ クロスプラットフォーム対応に見る ASP.NET Core 5 の可能性 ~
Linux & Mac OS でも動く! ~ クロスプラットフォーム対応に見る ASP.NET Core 5 の可能性 ~Akira Inoue
 
.NET Coreから概観する.NETのOSSへの取り組み
.NET Coreから概観する.NETのOSSへの取り組み.NET Coreから概観する.NETのOSSへの取り組み
.NET Coreから概観する.NETのOSSへの取り組みKouji Matsui
 

Similar to 2014 1018 OSC-Fall Tokyo NETMF (20)

2015 0227 OSC-Spring Tokyo NETMF
2015 0227 OSC-Spring Tokyo NETMF2015 0227 OSC-Spring Tokyo NETMF
2015 0227 OSC-Spring Tokyo NETMF
 
OSC Nagoya NETMF 160528
OSC Nagoya NETMF 160528OSC Nagoya NETMF 160528
OSC Nagoya NETMF 160528
 
OSC Tokyo/Fall NETMF 161105
OSC Tokyo/Fall NETMF 161105OSC Tokyo/Fall NETMF 161105
OSC Tokyo/Fall NETMF 161105
 
2015 1025 OSC-Fall Tokyo NETMF
2015 1025 OSC-Fall Tokyo NETMF2015 1025 OSC-Fall Tokyo NETMF
2015 1025 OSC-Fall Tokyo NETMF
 
Microsoft Intelligent Edge Technologies
Microsoft Intelligent Edge TechnologiesMicrosoft Intelligent Edge Technologies
Microsoft Intelligent Edge Technologies
 
Cell/B.E. プログラミング事始め
Cell/B.E. プログラミング事始めCell/B.E. プログラミング事始め
Cell/B.E. プログラミング事始め
 
ET2016 Smart Japan Alliance Llilum 161118
ET2016 Smart Japan Alliance Llilum 161118ET2016 Smart Japan Alliance Llilum 161118
ET2016 Smart Japan Alliance Llilum 161118
 
Microsoft Intelligent Edge Technologies
Microsoft Intelligent Edge TechnologiesMicrosoft Intelligent Edge Technologies
Microsoft Intelligent Edge Technologies
 
DEV-002_.NET Core/ASP.NET Core が実現するクロスプラットフォーム .NET の今と未来
DEV-002_.NET Core/ASP.NET Core が実現するクロスプラットフォーム .NET の今と未来DEV-002_.NET Core/ASP.NET Core が実現するクロスプラットフォーム .NET の今と未来
DEV-002_.NET Core/ASP.NET Core が実現するクロスプラットフォーム .NET の今と未来
 
ROBOMECH2023 RTミドルウェア講習会 第1部
ROBOMECH2023 RTミドルウェア講習会 第1部ROBOMECH2023 RTミドルウェア講習会 第1部
ROBOMECH2023 RTミドルウェア講習会 第1部
 
Getting Started .NET Core
Getting Started .NET CoreGetting Started .NET Core
Getting Started .NET Core
 
Nedo講座・rtmセミナー
Nedo講座・rtmセミナーNedo講座・rtmセミナー
Nedo講座・rtmセミナー
 
1.コース概要
1.コース概要1.コース概要
1.コース概要
 
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会
 
.NET Micro Framework (プラレールと電子工作)
.NET Micro Framework (プラレールと電子工作).NET Micro Framework (プラレールと電子工作)
.NET Micro Framework (プラレールと電子工作)
 
JTF2020 クロスコンパイルだけが能ではない組み込みLinuxシステムのCI/CDインフラ構築
JTF2020 クロスコンパイルだけが能ではない組み込みLinuxシステムのCI/CDインフラ構築JTF2020 クロスコンパイルだけが能ではない組み込みLinuxシステムのCI/CDインフラ構築
JTF2020 クロスコンパイルだけが能ではない組み込みLinuxシステムのCI/CDインフラ構築
 
201110 01 Polytech Center 1
201110 01 Polytech Center 1201110 01 Polytech Center 1
201110 01 Polytech Center 1
 
Linux & Mac OS でも動く! ~ クロスプラットフォーム対応に見る ASP.NET Core 5 の可能性 ~
Linux & Mac OS でも動く! ~ クロスプラットフォーム対応に見る ASP.NET Core 5 の可能性 ~Linux & Mac OS でも動く! ~ クロスプラットフォーム対応に見る ASP.NET Core 5 の可能性 ~
Linux & Mac OS でも動く! ~ クロスプラットフォーム対応に見る ASP.NET Core 5 の可能性 ~
 
Clrh 20140906 lt
Clrh 20140906 ltClrh 20140906 lt
Clrh 20140906 lt
 
.NET Coreから概観する.NETのOSSへの取り組み
.NET Coreから概観する.NETのOSSへの取り組み.NET Coreから概観する.NETのOSSへの取り組み
.NET Coreから概観する.NETのOSSへの取り組み
 

More from Atomu Hidaka

How to use EnOcean Gateway with Azure OpenAI
How to use EnOcean Gateway with Azure OpenAIHow to use EnOcean Gateway with Azure OpenAI
How to use EnOcean Gateway with Azure OpenAIAtomu Hidaka
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
Tips and Tricks for developing Windows APO drivers
Tips and Tricks for developing Windows APO driversTips and Tricks for developing Windows APO drivers
Tips and Tricks for developing Windows APO driversAtomu Hidaka
 
Useful Tips and Tricks for Windows 11 TPM
Useful Tips and Tricks for Windows 11 TPMUseful Tips and Tricks for Windows 11 TPM
Useful Tips and Tricks for Windows 11 TPMAtomu Hidaka
 
Develop Windows 11 drivers with GitHub Copilot's AI capabilities
Develop Windows 11 drivers with GitHub Copilot's AI capabilitiesDevelop Windows 11 drivers with GitHub Copilot's AI capabilities
Develop Windows 11 drivers with GitHub Copilot's AI capabilitiesAtomu Hidaka
 
Windows 11 22H2 Feature-Update, Copilot, and Tips
Windows 11 22H2 Feature-Update, Copilot, and TipsWindows 11 22H2 Feature-Update, Copilot, and Tips
Windows 11 22H2 Feature-Update, Copilot, and TipsAtomu Hidaka
 
Windows 11 information that can be used at the development site
Windows 11 information that can be used at the development siteWindows 11 information that can be used at the development site
Windows 11 information that can be used at the development siteAtomu Hidaka
 
ChatGPT solution with EnOcean Gateway
ChatGPT solution with EnOcean GatewayChatGPT solution with EnOcean Gateway
ChatGPT solution with EnOcean GatewayAtomu Hidaka
 
Windows ChatGPT Bing AI
Windows ChatGPT Bing AIWindows ChatGPT Bing AI
Windows ChatGPT Bing AIAtomu Hidaka
 
Windows ChatGPT Bing AI.pptx
Windows ChatGPT Bing AI.pptxWindows ChatGPT Bing AI.pptx
Windows ChatGPT Bing AI.pptxAtomu Hidaka
 
Music Tech Community LT, Introducing Windows APO
Music Tech Community LT, Introducing Windows APOMusic Tech Community LT, Introducing Windows APO
Music Tech Community LT, Introducing Windows APOAtomu Hidaka
 
LLILUM and TinyCLR OS
LLILUM and TinyCLR OSLLILUM and TinyCLR OS
LLILUM and TinyCLR OSAtomu Hidaka
 
Introducing new features of EnOcean Gateway
Introducing new features of EnOcean GatewayIntroducing new features of EnOcean Gateway
Introducing new features of EnOcean GatewayAtomu Hidaka
 
Windows 11 Overview
Windows 11 OverviewWindows 11 Overview
Windows 11 OverviewAtomu Hidaka
 
IoT implemented in Windows 11.pptx
IoT implemented in Windows 11.pptxIoT implemented in Windows 11.pptx
IoT implemented in Windows 11.pptxAtomu Hidaka
 
How to use Windows 11 effectively.pptx
How to use Windows 11 effectively.pptxHow to use Windows 11 effectively.pptx
How to use Windows 11 effectively.pptxAtomu Hidaka
 
Recent my activities in 2022 1Q.pptx
Recent my activities in 2022 1Q.pptxRecent my activities in 2022 1Q.pptx
Recent my activities in 2022 1Q.pptxAtomu Hidaka
 
My highlight topics_in_2021
My highlight topics_in_2021My highlight topics_in_2021
My highlight topics_in_2021Atomu Hidaka
 
Windows 11 insider tips for developer
Windows 11 insider tips for developerWindows 11 insider tips for developer
Windows 11 insider tips for developerAtomu Hidaka
 
Azure Skkynet datahub service
Azure Skkynet datahub serviceAzure Skkynet datahub service
Azure Skkynet datahub serviceAtomu Hidaka
 

More from Atomu Hidaka (20)

How to use EnOcean Gateway with Azure OpenAI
How to use EnOcean Gateway with Azure OpenAIHow to use EnOcean Gateway with Azure OpenAI
How to use EnOcean Gateway with Azure OpenAI
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
Tips and Tricks for developing Windows APO drivers
Tips and Tricks for developing Windows APO driversTips and Tricks for developing Windows APO drivers
Tips and Tricks for developing Windows APO drivers
 
Useful Tips and Tricks for Windows 11 TPM
Useful Tips and Tricks for Windows 11 TPMUseful Tips and Tricks for Windows 11 TPM
Useful Tips and Tricks for Windows 11 TPM
 
Develop Windows 11 drivers with GitHub Copilot's AI capabilities
Develop Windows 11 drivers with GitHub Copilot's AI capabilitiesDevelop Windows 11 drivers with GitHub Copilot's AI capabilities
Develop Windows 11 drivers with GitHub Copilot's AI capabilities
 
Windows 11 22H2 Feature-Update, Copilot, and Tips
Windows 11 22H2 Feature-Update, Copilot, and TipsWindows 11 22H2 Feature-Update, Copilot, and Tips
Windows 11 22H2 Feature-Update, Copilot, and Tips
 
Windows 11 information that can be used at the development site
Windows 11 information that can be used at the development siteWindows 11 information that can be used at the development site
Windows 11 information that can be used at the development site
 
ChatGPT solution with EnOcean Gateway
ChatGPT solution with EnOcean GatewayChatGPT solution with EnOcean Gateway
ChatGPT solution with EnOcean Gateway
 
Windows ChatGPT Bing AI
Windows ChatGPT Bing AIWindows ChatGPT Bing AI
Windows ChatGPT Bing AI
 
Windows ChatGPT Bing AI.pptx
Windows ChatGPT Bing AI.pptxWindows ChatGPT Bing AI.pptx
Windows ChatGPT Bing AI.pptx
 
Music Tech Community LT, Introducing Windows APO
Music Tech Community LT, Introducing Windows APOMusic Tech Community LT, Introducing Windows APO
Music Tech Community LT, Introducing Windows APO
 
LLILUM and TinyCLR OS
LLILUM and TinyCLR OSLLILUM and TinyCLR OS
LLILUM and TinyCLR OS
 
Introducing new features of EnOcean Gateway
Introducing new features of EnOcean GatewayIntroducing new features of EnOcean Gateway
Introducing new features of EnOcean Gateway
 
Windows 11 Overview
Windows 11 OverviewWindows 11 Overview
Windows 11 Overview
 
IoT implemented in Windows 11.pptx
IoT implemented in Windows 11.pptxIoT implemented in Windows 11.pptx
IoT implemented in Windows 11.pptx
 
How to use Windows 11 effectively.pptx
How to use Windows 11 effectively.pptxHow to use Windows 11 effectively.pptx
How to use Windows 11 effectively.pptx
 
Recent my activities in 2022 1Q.pptx
Recent my activities in 2022 1Q.pptxRecent my activities in 2022 1Q.pptx
Recent my activities in 2022 1Q.pptx
 
My highlight topics_in_2021
My highlight topics_in_2021My highlight topics_in_2021
My highlight topics_in_2021
 
Windows 11 insider tips for developer
Windows 11 insider tips for developerWindows 11 insider tips for developer
Windows 11 insider tips for developer
 
Azure Skkynet datahub service
Azure Skkynet datahub serviceAzure Skkynet datahub service
Azure Skkynet datahub service
 

Recently uploaded

モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成Hiroshi Tomioka
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 

Recently uploaded (9)

モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 

2014 1018 OSC-Fall Tokyo NETMF

  • 1. オープンソースカンファレンス2014 Tokyo/Fall オープンソースになったマイコン開発環境 .NET Micro Frameworkの紹介。 - IoT 時代の組み込みOSの主役- ドットNETまいくろバンザイ倶楽部 日高亜友 info@devdrv.co.jp ドットNET まいくろ バンザイ 2014/10/18 ドットNETまいくろバンザイ倶楽部1
  • 2. セッション内容  .NET Micro Frameworkとは?  新プラットフォームへの移植  組み込みアプリケーション開発とIoT オープンソースカンファレンス2014 Tokyo/Fall ドットNET まいくろ バンザイ 2014/10/18 ドットNETまいくろバンザイ倶楽部 2
  • 3. .NET Micro Frameworkとは? オープンソースカンファレンス2014 Tokyo/Fall ドットNET まいくろ バンザイ 2014/10/18 ドットNETまいくろバンザイ倶楽部3
  • 4. .NET Micro Framework とは?  Microsoft Research 開発の組み込みOS  Visual C# / Visual Basicで開発したIL .NET アセンブリを中間コードインタプリタで実行  豊富なドライバとライブラリを標準装備  オープンソース・ライセンスで公開(Apache V2)  30種以上のプラットフォームに移植されて動作  .NET Micro Framework (NETMF) 移植済みSOC  業務アプリケーション・システム応用事例 オープンソースカンファレンス2014 Tokyo/Fall ドットNET まいくろ バンザイ 2014/10/18 ドットNETまいくろバンザイ倶楽部 4
  • 5. ドット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  2014年V4.3-R2β for Visual Studio 2013/2014 オープンソースカンファレンス2014 Tokyo/Fall 2014/10/18 ドットNETまいくろバンザイ倶楽部5
  • 6. NETMFの本質  本来は、Windows CE 未満のプラットフォーム用 組込みシステム向け製品となるはずだったOS  (かつては)移植キット販売済  (かつては)製品ライセンス販売予定  2010年にオープンソース化  Apache V2 ライセンス→無償で商用利用可能  競合OSの台頭 ⇒ 製品相当の機能・性能・品質を無料で公開  2014年末に何かが起こるかも? オープンソースカンファレンス2014 Tokyo/Fall ドットNET まいくろ バンザイ 2014/10/18 ドットNETまいくろバンザイ倶楽部 6
  • 7. ドットNET まいくろ バンザイアーキテクチャ  全体構成 オープンソースカンファレンス2014 Tokyo/Fall アプリケーション開発 ライブラリ開発 プラットフォーム移植 2 種類の実装方法 - Native Platform - “OS on OS” solution CLR: Common Language Runtime HAL: Hardware Abstraction Layer PAL: Platform Abstraction Layer 2014/10/18 ドットNETまいくろバンザイ倶楽部7
  • 8. ドットNET まいくろ バンザイOSとしての提供機能  IL(.NETのアセンブリ)の実行環境= TinyCLR  タイマ, 割り込みハンドラ, マルチスレッド, スケジューラ  ブートローダ, 各種デバイスドライバ, リソースマネージャ  組み込み環境対応  MMU 不要  最小64KB RAM / 256KB ROM (特別な環境)  標準サポートARM7/9/Cortex-M3, Blackfin, SH-2/2A  サポート機能  ブートローダ, アプリケーションローダ, デバッガIF オープンソースカンファレンス2014 Tokyo/Fall 2014/10/18 ドットNETまいくろバンザイ倶楽部8
  • 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 オープンソースカンファレンス2014 Tokyo/Fall ドットNET まいくろ バンザイ 2014/10/18 ドットNETまいくろバンザイ倶楽部 9
  • 10. ドットNET まいくろ バンザイプラットフォームとアプリケーション  自作ボードや未サポートボードに移植  CQ出版等の移植事例(参考資料)  周辺ハードウェアを自作して動作  容易に接続可能→.NET Gadgeteer  ライブラリやシステムを開発・改造  Emulatorの開発、独自モジュールの開発  連係システムやアプリケーションを開発  他のシステムとの接続  PC, Smart Phone, Cloud連係 オープンソースカンファレンス2014 Tokyo/Fall 2014/10/18 ドットNETまいくろバンザイ倶楽部10
  • 11. SDK vs. PK (Porting Kit)  SDK: 組み込みアプリケーション開発  アプリケーション開発に必須  Visual Studio / VC# Express に組み込んで使用  Simulator, Debugger, Deployment Tools を含む  PK: 動作プラットフォームの構築(移植)  .NET Micro Framework の移植に必須  ほかにクロスコンパイラ(+デバッガ)が必須  ツール類を含めた全ソースコードが提供  ほとんどをC++ で記述(一部アセンブラ, C, C#) オープンソースカンファレンス2014 Tokyo/Fall ドットNET まいくろ バンザイ 2014/10/18 ドットNETまいくろバンザイ倶楽部 11 バージョンを 合わせる必要がある
  • 12. 新プラットフォームへの移植 オープンソースカンファレンス2014 Tokyo/Fall ドットNET まいくろ バンザイ 2014/10/18 ドットNETまいくろバンザイ倶楽部12
  • 13. ドットNET まいくろ バンザイ移植方法の選択  Native実装 TinyBooter = NETMF専用ブートローダ  TinyCLR直接実装VS. TinyBooter実装  TinyCLR / TinyBooter のメンテナンス手順が必須  他のブートローダ利用  U-Boot, T-Monitor (T-Engine)等  Network ブート  OS on OS  他のOSのアプリケーションとしてNETMFを実装  ソースコードが公開されているので 実際にはどの様にでも作ることが可能 オープンソースカンファレンス2014 Tokyo/Fall Monoへの エクスポート 2014/10/18 ドットNETまいくろバンザイ倶楽部13
  • 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 オープンソースカンファレンス2014 Tokyo/Fall ドットNET まいくろ バンザイ 2014/10/18 ドットNETまいくろバンザイ倶楽部 14
  • 15. 移植前のチェック  ターゲット・プラットフォーム  RAM/RAM容量(ROM不足はRAMで代用可能)  CPU アーキテクチャ  gcc利用時の最低メモリ目安  RAM 256KB / ROM 512KB (Thumb / Thumb2 命令)  コンパイラとデバッガ  Windows上で動作するクロスコンパイラ  Windows上で動作するJTAG-ICE デバッガ  Native 実装vs. “OS on OS” 実装  ターゲット・プラットフォームの適正 オープンソースカンファレンス2014 Tokyo/Fall ドットNET まいくろ バンザイ 2014/10/18 ドットNETまいくろバンザイ倶楽部 15
  • 16. 移植に必要な知識  組み込みシステム全般  割り込み処理, 割り込みVector, Cache, MMU, PLL  ブートローダ  移植対象のCPU, ターゲット・ボード  データシート, 回路図, メモリマップ, クロック  ツール  Toolchain(コンパイラ, アセンブラ, リンカ, ライブラリアン) C, C++, CPUのアセンブラ命令, コマンドプロンプト, VB Script  デバッガ, JTAG ICE, Eclipse, OpenOCD+GDB  OSアーキテクチャとリソース管理  メモリ, タイマ, 割り込み, イベント  .NET Framework とCLR オープンソースカンファレンス2014 Tokyo/Fall ドットNET まいくろ バンザイ 2014/10/18 ドットNETまいくろバンザイ倶楽部 16
  • 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, … オープンソースカンファレンス2014 Tokyo/Fall ドットNET まいくろ バンザイ 2014/10/18 ドットNETまいくろバンザイ倶楽部 17
  • 18. ハードウェア環境とツール  JTAG ICE, またはOpenOCD ICE  対応CPUやボード構成をよく確認する  Flash ROM書き込みツール(必要に応じて)  ブートローダ開発環境(必要に応じて)  評価ボード(ターゲットが利用できない場合)  測定器、信号観測ツール オープンソースカンファレンス2014 Tokyo/Fall ドットNET まいくろ バンザイ 2014/10/18 ドットNETまいくろバンザイ倶楽部 18
  • 19. 移植の主要作業  開発環境構築と基本設計  環境変数設定&クロス開発用ビルドスクリプト作成  メモリ割当て設計&Scatter ファイル設定  Solution の作成  ビルド&デバッグ  NativeSample を動作させる  ブートローダ, 初期化処理(Clock, Cache, MMU, PLL)  ドライバ, PAL IF (Flash ROMドライバ開発必須, UART)  TinyCLR の動作  TinyBooter, アプリケーション・ロードとデバッグIF オープンソースカンファレンス2014 Tokyo/Fall ドットNET まいくろ バンザイ 2014/10/18 ドットNETまいくろバンザイ倶楽部 19
  • 20. InterOpの実装  NETMF標準APIに無いOS機能を アプリケーションから呼び出す  使用方法  標準APIに無いドライバの実装  例:USB Host ドライバ, Flash ROM管理,  クリティカルな処理をCまたはアセンブラで記述して アプリケーションから呼び出す  実装方法  C#でAPIを記述、コードをC/C++/アセンブラで記述  パラメータ、リターン値、非同期処理、イベントが利用可能 オープンソースカンファレンス2014 Tokyo/Fall ドットNET まいくろ バンザイ 2014/10/18 ドットNETまいくろバンザイ倶楽部 20
  • 21. ビルド&デバッグ  NativeSample  Native Code での”Hello world” 表示出力  ビルド環境の検証(自由にカスタマイズ可能)  ドライバ類の初期化&動作の検証  TinyCLR  .NET Micro Frameworkの移植対象・本体  実行にはIL (コンパイル済アセンブリ)が必須 • メモリ管理 • 割り込み • タイマー • 232C/USB ドライバ  ProductSampleディレクトリ(HelloWorld, Network など)  TinyBooter  NETMF 純正ブートローダ(MFDepoy IF) オープンソースカンファレンス2014 Tokyo/Fall ドットNET まいくろ バンザイ 2014/10/18 ドットNETまいくろバンザイ倶楽部21
  • 22. TinyCLRとアセンブリの実行動作 起動 初期化 Debugger 接続 アセンブリ検索 アセンブリのロード アセンブリの実行 無し ‘F5’ キーで ビルド、デプロイ、 実行、デバッグ オープンソースカンファレンス2014 Tokyo/Fall ドットNET まいくろ バンザイ Flash ROM 読み出し・書き込み デプロイ後 2014/10/18 ドットNETまいくろバンザイ倶楽部22
  • 23. 考察:Native 環境への移植  利点  全ソースコードが用意されている  ブートローダ, CPU初期化, リソース管理  動作している実機サンプルが入手し易い  割り込み/ イベント処理が実装し易い  欠点  未対応アーキテクチャには移植し難い  クロスコンパイル, デバッグ環境を手当てする必要 オープンソースカンファレンス2014 Tokyo/Fall ドットNET まいくろ バンザイ 2014/10/18 ドットNETまいくろバンザイ倶楽部 23
  • 24. 考察: OS on OS 環境への移植  利点  OSが用意している開発環境を流用可能  JTAG-ICEの代わりにデバッガで代用可能  1回移植すれば、同一OSへの移植が容易  欠点 参考: .NET Micro Framework for Linux  参考にするソースコードが用意されていない  動作している実機サンプルが入手し難い  OS依存APIを変換する作業(PAL層開発)が必須 (Timer, Event, Select, Socket, …)  ドライバの移植数、作業工数はNativeよりも多い オープンソースカンファレンス2014 Tokyo/Fall ドットNET まいくろ バンザイ 2014/10/18 ドットNETまいくろバンザイ倶楽部 24
  • 25. 組み込みアプリケーション開発 オープンソースカンファレンス2014 Tokyo/Fall ドットNET まいくろ バンザイ 2014/10/18 ドットNETまいくろバンザイ倶楽部25
  • 26. アプリケーション開発手順  事前調査・基本設計  Interface 仕様の確認(H/W, S/W, Network, …)  コーディング  Full .NET 環境用コードの流用  ソースコード・デバッグ .NET Gadgeteeer  エミュレータ, オンライン・デバッガ で簡単に!  Full .NET 環境でのデバッグ(ソース流用化)  デプロイ  Flash ROM焼き, 配布用署名付きコード生成 オープンソースカンファレンス2014 Tokyo/Fall ドットNET まいくろ バンザイ 2014/10/18 ドットNETまいくろバンザイ倶楽部 26
  • 27. デバッガインターフェース  デバッガとの接続手段:3種類から選択 ドライバ ドライバ ドライバ  独自ハードウエア開発の注意点  OS更新用のデバッガ(ブート)・スイッチの必須  通常はGPIOタクトSW(ボタン), DIP-SW等を使用 オープンソースカンファレンス2014 Tokyo/Fall ドットNET まいくろ バンザイ 2014/10/18 ドットNETまいくろバンザイ倶楽部 27 Serial (RS232C) USB LAN (TCP/IP) Host PC Target
  • 28. ドットNET まいくろ バンザイ.NET Gadgeteer とは?  Microsoftリサーチが開発している .NET Micro Framework ベース組み込みシステム統合 開発環境とそれを構成するモジュール製品群  MMU無しマイコン上でVisual Studioで開発した .NETアセンブリ(中間コード)をインタプリタ実行  GUI操作で自動的に 初期化コードとクラスラ イブラリを追加 Gadgeteer .NET MF App. / Lib. Interpreter OS / Driver オープンソースカンファレンス2014 Tokyo/Fall 2014/10/18 ドットNETまいくろバンザイ倶楽部28
  • 29. ドットNET まいくろ バンザイ.NET Gadgeteer とは?  具体的には次のもの  ハードウェア  専用メインボード、専用モジュール群、 開発環境としてのWindows PC  ソフトウェア  ROM化されたOS、組み込み用各種ドライバとライブラリ、 Visual Studio用Plug In(ライブラリとGUIツール、シミュレータ)  新規モジュール開発やカスタマイズ可能  オープンソース オープンソースカンファレンス2014 Tokyo/Fall 2014/10/18 ドットNETまいくろバンザイ倶楽部29
  • 30. オープンソースカンファレンス2014 Tokyo/Fall ドットNET まいくろ バンザイ 2014/10/18 .NET Gadgeteer とは?  C#/VB言語レベルでライブラリと豊富なミドルウェアを提供  プロトコル、グラフィック  ファイルシステム  サービス、マルチスレッド  10種以上のCPUボードと 100種以上の アクチュエータ, センサー, ネットワークアダプタ, コネクティビティ, ディスプレイ等の モジュールを提供 ドットNETまいくろバンザイ倶楽部30
  • 31. ドットNET まいくろ バンザイIoT (Internet of Things)  IoT と.NET Micro Framework  2010年12月  NETMF搭載 FEZ Panda Internet of Things Kit 販売開始 Network + LED + Switch + Sensor オープンソースカンファレンス2014 Tokyo/Fall 2014/10/18 ドットNETまいくろバンザイ倶楽部31
  • 32. ドットNET まいくろ バンザイIoT Internet of Things  デバイスとITの架け橋  http://blogs.msdn.com/b/hirosho/  Internet Of Things ハンズオン  http://aka.ms/IoTHandsOn  Microsoft Azure モバイルサービスと センサー類を接続  IoT 入門キット  ガジェッターIoT 入門キット  EnOcean IoT 入門キット オープンソースカンファレンス2014 Tokyo/Fall 2014/10/18 ドットNETまいくろバンザイ倶楽部32
  • 33. ドットNET まいくろ バンザイIoT入門キット  IoT 入門キット  ガジェッターIoT 入門キット  EnOcean IoT 入門キット オープンソースカンファレンス2014 Tokyo/Fall 2014/10/18 ドットNETまいくろバンザイ倶楽部33
  • 34. 参考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  https://www.ghielectronics.com/  http://tinyclr.jp/ オープンソースカンファレンス2014 Tokyo/Fall ドットNET まいくろ バンザイ 2014/10/18 ドットNETまいくろバンザイ倶楽部 34
  • 35. まとめとFacebook Group  .NET Micro Frameworkとは?  .NET Micro Framework (英語)  新プラットフォームへの移植  .NET Micro Framework Porting勉強会(日本語)  組み込みアプリケーション開発とIoT  .NET Micro Framework/Gadgeteer 作品自慢(日本語) 興味がある方、是非facebook groupにご参加ください! オープンソースカンファレンス2014 Tokyo/Fall ドットNET まいくろ バンザイ 2014/10/18 ドットNETまいくろバンザイ倶楽部 35