SlideShare a Scribd company logo
1 of 32
オープンソースカンファレンス 2015 Tokyo/Fall
2015/10/25 ドットNETまいくろバンザイ倶楽部 1
ドットNETまいくろ バンザイ倶楽部
日高亜友
- V4.4 リリースと最新情報, LLILUM -
info@devdrv.co.jp
オープンソースになったマイコン開発環境
.NET Micro Frameworkの紹介。
ドットNET
まいくろ
バンザイ
オープンソースカンファレンス 2015 Tokyo/Fall
ドットNET
まいくろ
バンザイ
2015/10/25 2
セッション内容
 .NET Micro Frameworkとは?
 新プラットフォームへの移植とV4.4リリース
 最新情報, LLILUM
ドットNETまいくろバンザイ倶楽部
オープンソースカンファレンス 2015 Tokyo/Fall
ドットNET
まいくろ
バンザイ
2015/10/25 3ドットNETまいくろバンザイ倶楽部
.NET Micro Frameworkとは?
オープンソースカンファレンス 2015 Tokyo/Fall
ドットNET
まいくろ
バンザイ
2015/10/25 4
.NET Micro Framework とは?
 元々はMicrosoft Research 開発の組み込みOS
 Visual C# / Visual Basicで開発した IL
.NET アセンブリ を中間コードインタプリタで実行
 豊富なドライバとライブラリを標準装備
 オープンソース・ライセンスで公開 (Apache V2)
 30種以上のプラットフォームに移植されて動作
 .NET Micro Framework (NETMF) 移植済みSOC
 業務アプリケーション・システム応用事例
ドットNETまいくろバンザイ倶楽部
オープンソースカンファレンス 2015 Tokyo/Fall
ドット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
 2015年 V4.4 for Visual Studio 2015
 リポジトリ: CodePlex →GitHub
2015/10/25 5ドットNETまいくろバンザイ倶楽部
開発キット
約30万円
オープンソースカンファレンス 2015 Tokyo/Fall
ドットNET
まいくろ
バンザイ
2015/10/25 6
NETMFの本質
 元Windows CE 未満 MMU無しプラットフォーム
組込み製品となるはずだった OS
 移植キット販売、製品ライセンス販売予定 だった
 2010年にオープンソース化
 Apache V2 ライセンス→無償で商用利用可能
⇒ 製品相当の機能・性能・品質 を無料で公開
 2015年 正式サポート製品 GR-Peach 国内販売
 国産製品化第1号
 2015年にGitHubへ移行、コミュニティ化推進
ドットNETまいくろバンザイ倶楽部
オープンソースカンファレンス 2015 Tokyo/Fall
ドットNET
まいくろ
バンザイ GitHub / netmf-interpreter
 https://github.com/NETMF/netmf-interpreter
GitHub
NETMF
/ netmf-interpreter
2015/10/25 7ドットNETまいくろバンザイ倶楽部
オープンソースカンファレンス 2015 Tokyo/Fall
ドットNET
まいくろ
バンザイ アーキテクチャ
 全体構成
2 種類の実装方法
- Native Platform
- “OS on OS” solution
2015/10/25 8ドットNETまいくろバンザイ倶楽部
アプリケーション開発
ライブラリ開発
プラットフォーム移植
CLR: Common Language Runtime
HAL: Hardware Abstraction Layer
PAL: Platform Abstraction Layer
オープンソースカンファレンス 2015 Tokyo/Fall
ドットNET
まいくろ
バンザイ OSとしての提供機能
 IL(.NETのアセンブリ)の実行環境 = TinyCLR
 タイマ, 割り込みハンドラ, マルチスレッド,
スケジューラ
 ブートローダ, 各種デバイスドライバ, リソースマネージャ
 組み込み環境対応
 MMU 不要 標準メモリ128KB RAM / 512KB ROM
 標準サポート ARM7/9/Cortex-M3, Blackfin, SH-2/2A
→ V4.4 で Cortex-M4 / STM32 F4だけに?
 サポート機能
 ブートローダ, アプリケーションローダ, デバッガIF
2015/10/25 9ドットNETまいくろバンザイ倶楽部
オープンソースカンファレンス 2015 Tokyo/Fall
ドットNET
まいくろ
バンザイ
2015/10/25 10
ドライバとサービス
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まいくろバンザイ倶楽部
オープンソースカンファレンス 2015 Tokyo/Fall
ドットNET
まいくろ
バンザイ プラットフォームとアプリケーション
 自作ボードや未サポートボードに移植
 CQ出版等の移植事例(参考資料)
 周辺ハードウェアを自作して動作
 容易に接続可能→.NET Gadgeteer
 ライブラリやシステムを開発・改造
 Emulatorの開発、独自モジュールの開発
 連係システムやアプリケーションを開発
 他のシステムとの接続
 PC, Smart Phone, Cloud連係
2015/10/25 11ドットNETまいくろバンザイ倶楽部
オープンソースカンファレンス 2015 Tokyo/Fall
ドットNET
まいくろ
バンザイ
2015/10/25 12
SDK vs. PK (Porting Kit)
 SDK: 組み込みアプリケーション開発
 アプリケーション開発に必須
 Visual Studio / VC# Express に組み込んで使用
 Simulator, Debugger, Deployment Tools を含む
 PK: 動作プラットフォームの構築(移植)
 .NET Micro Framework の移植 に必須
 ほかに クロスコンパイラ(+デバッガ)が必須
 ツール類を含めた全ソースコードが提供
 ほとんどを C++ で記述 (一部アセンブラ, C, C#)
ドットNETまいくろバンザイ倶楽部
バージョンを
合わせる必要がある
オープンソースカンファレンス 2015 Tokyo/Fall
ドットNET
まいくろ
バンザイ
2015/10/25 13ドットNETまいくろバンザイ倶楽部
組み込み開発で何ができるか?
オープンソースカンファレンス 2015 Tokyo/Fall
ドットNET
まいくろ
バンザイ
2015/10/25 14
アプリケーション開発手順
 事前調査・基本設計
 Interface 仕様の確認 (H/W, S/W, Network, …)
 コーディング
 Full .NET 環境用コードの流用
 ソースコード・デバッグ
 エミュレータ, オンライン・デバッガ
 Full .NET 環境でのデバッグ (ソース流用化)
 デプロイ
 Flash ROM焼き, 配布用署名付きコード生成
ドットNETまいくろバンザイ倶楽部
.NET Gadgeteeer
で簡単に!
オープンソースカンファレンス 2015 Tokyo/Fall
ドットNET
まいくろ
バンザイ
2015/10/25 15
デバッガ インターフェース
 デバッガとの接続手段:3種類から選択
 独自ハードウエア開発の注意点
 OS更新用のデバッガ(ブート)・スイッチの対応
 通常はGPIOタクトSW(ボタン), DIP-SW等を使用
ドットNETまいくろバンザイ倶楽部
ドライバ
ドライバ
ドライバ
Serial (RS232C)
USB
LAN (TCP/IP)
Host PC Target
オープンソースカンファレンス 2015 Tokyo/Fall
ドットNET
まいくろ
バンザイ .NET Gadgeteer とは?
2015/10/25 ドットNETまいくろバンザイ倶楽部 16
 .NET Micro Framework ベース組み込みシステム統合
開発環境とそれを構成するモジュール製品群
 MMU無しマイコン上でVisual Studioで開発した
.NETアセンブリ(中間コード)をインタプリタ実行
 GUI操作で自動的に
初期化コードとクラスラ
イブラリを追加
.NET MF
OS / Driver
Interpreter
App. / Lib.
Gadgeteer
オープンソースカンファレンス 2015 Tokyo/Fall
ドットNET
まいくろ
バンザイ .NET Gadgeteer とは?
2015/10/25 ドットNETまいくろバンザイ倶楽部 17
 具体的には次のもの
 ハードウェア
 専用メインボード、専用モジュール群、
開発環境としての Windows PC
 ソフトウェア
 ROM化されたOS、組み込み用各種ドライバとライブラリ、
Visual Studio用Plug In(ライブラリとGUIツール、シミュレータ)
 新規モジュール開発やカスタマイズ可能
 オープンソース
オープンソースカンファレンス 2015 Tokyo/Fall
ドットNET
まいくろ
バンザイ
2015/10/25
.NET Gadgeteer とは?
 C#/VB言語レベルでライブラリと豊富なミドルウェアを提供
 プロトコル、グラフィック
 ファイルシステム
 サービス、マルチスレッド
 10種以上のCPUボードと
100種以上の
アクチュエータ,
センサー,
ネットワークアダプタ,
コネクティビティ,
ディスプレイ等の
モジュール を提供
ドットNETまいくろバンザイ倶楽部 18
オープンソースカンファレンス 2015 Tokyo/Fall
ドットNET
まいくろ
バンザイ IoT入門キット事例
 IoT 入門キット
 Spider IoT 入門キット
 IoT植物栽培キット
 EnOcean IoT 入門キット
2015/10/25 19ドットNETまいくろバンザイ倶楽部
オープンソースカンファレンス 2015 Tokyo/Fall
ドットNET
まいくろ
バンザイ
2015/10/25 20ドットNETまいくろバンザイ倶楽部
V4.4 対応版
新プラットフォームへの移植
オープンソースカンファレンス 2015 Tokyo/Fall
ドットNET
まいくろ
バンザイ V4.4 で何が変わったか?
 GitHubへの移行
 SDK開発ツールの変更
 Visual Studio 2015 のみ対応 OSは Windows 7~10
 ログイン名にスペースがあるとインストール出来ない!バグ
 ARM-CMSIS 対応
 テンプレートが2CPU/ 2ボードに激減
 STM32系だけに!
 デバッグ機能の高速化と安定化
 UWP に影響を受けたクラスライブラリのサポート
 バグFIX
2015/10/25 21ドットNETまいくろバンザイ倶楽部
オープンソースカンファレンス 2015 Tokyo/Fall
ドットNET
まいくろ
バンザイ
2015/10/25 22
移植前のチェック
 ターゲット・プラットフォーム
 RAM/RAM容量(ROM不足は RAMで代用可能)
 CPU アーキテクチャ (Cortex-M4 or NOT)
 最低メモリ目安
 RAM 256KB / ROM 512KB (Thumb2 命令)
 コンパイラとデバッガ
 Windows上で動作するクロスコンパイラ
 Windows上で動作する JTAG-ICE デバッガ
 Native 実装 vs. “OS on OS” 実装
 ターゲット・プラットフォームの適正
ドットNETまいくろバンザイ倶楽部
オープンソースカンファレンス 2015 Tokyo/Fall
ドットNET
まいくろ
バンザイ
2015/10/25 23
移植に必要な知識
 組み込みシステム全般
 割り込み処理, 割り込みVector, Cache, MMU, PLL
 ブートローダ
 移植対象のCPU, ターゲット・ボード
 データシート, 回路図, メモリマップ, クロック
 ツール
 Toolchain(コンパイラ, アセンブラ, リンカ, ライブラリアン)
C, C++, CPUのアセンブラ命令, コマンドプロンプト, VB Script
 デバッガ, JTAG ICE, Eclipse, OpenOCD+GDB
 OSアーキテクチャとリソース管理
 メモリ, タイマ, 割り込み, イベント
 .NET Framework と CLR
ドットNETまいくろバンザイ倶楽部
オープンソースカンファレンス 2015 Tokyo/Fall
ドットNET
まいくろ
バンザイ
2015/10/25 24
V4.4 ソフトウェア環境とツール
 Visual Studio 2015 (Express版不可, Community版可)
 .NET Micro Framework 4.4 SDK (バイナリインストーラ配布)
 .NET Micro Framework 4.4 Porting Kit (GitHub)
 クロスコンパイラ, デバッガ
 推奨は ARM RVDS, KEIL MDK
 gccは Launchpad GCC ARM Embedded 4_9 以降
一部スクリプト(環境変数)に不具合がある場合も…
 クロス開発統合環境
 Eclipse (自分で作る必要…)
 ソースコード管理
 7zip, WinMerge, VSS, svn, …
ドットNETまいくろバンザイ倶楽部
オープンソースカンファレンス 2015 Tokyo/Fall
ドットNET
まいくろ
バンザイ
2015/10/25 25
ハードウェア環境とツール
 STM32系を使えばほぼ問題ない
 STM32 F4 DISCOVERYはOpenOCD対応
オンボード・デバッガ搭載
(他のSTM32もデバッグ可能)
 そうでない場合
 JTAG ICE, またはOpenOCD ICE
 対応CPUやボード構成をよく確認する
 Flash ROM書き込みツール(必要に応じて)
 ブートローダ開発環境(必要に応じて)
 評価ボード(ターゲットが利用できない場合)
 測定器、信号観測ツール
ドットNETまいくろバンザイ倶楽部
オープンソースカンファレンス 2015 Tokyo/Fall
ドットNET
まいくろ
バンザイ
2015/10/25 26
移植の主要作業
 開発環境構築と基本設計
 環境変数設定&クロス開発用ビルドスクリプト作成
 メモリ割当て設計&Scatter ファイル設定
 Solution の作成 (手作業)
 ビルド&デバッグ
 NativeSample を動作させる
 ブートローダ, 初期化処理 (Clock, Cache, MMU, PLL)
 ドライバ, PAL IF (Flash ROMドライバ開発必須, UART)
 TinyCLR の動作
 TinyBooter, アプリケーション・ロードとデバッグIF
ドットNETまいくろバンザイ倶楽部
オープンソースカンファレンス 2015 Tokyo/Fall
ドットNET
まいくろ
バンザイ
2015/10/25 27
InterOpの実装
 NETMF標準APIに無いOS機能を
アプリケーションから呼び出す
 使用方法
 標準APIに無いドライバの実装
 例:USB Host ドライバ, Flash ROM管理,
 クリティカルな処理をCまたはアセンブラで記述して
アプリケーションから呼び出す
 実装方法
 C#でAPIを記述、コードをC/C++/アセンブラで記述
 パラメータ、リターン値、非同期処理、イベントが利用可能
ドットNETまいくろバンザイ倶楽部
OS 移植の醍醐味
オープンソースカンファレンス 2015 Tokyo/Fall
ドットNET
まいくろ
バンザイ
2015/10/25 ドットNETまいくろバンザイ倶楽部 28
ビルド&デバッグ
 NativeSample
 Native Code での”Hello world” 表示出力
 ビルド環境の検証(自由にカスタマイズ可能)
 ドライバ類の初期化&動作の検証
 TinyCLR
 .NET Micro Frameworkの移植対象・本体
 実行にはIL (コンパイル済アセンブリ)が必須
 ProductSampleディレクトリ(HelloWorld, Network など)
 TinyBooter
 NETMF 純正ブートローダ(MFDepoy IF)
• メモリ管理
• 割り込み
• タイマー
• 232C/USB
ドライバ
オープンソースカンファレンス 2015 Tokyo/Fall
ドットNET
まいくろ
バンザイ
2015/10/25 29ドットNETまいくろバンザイ倶楽部
LLILUM
オープンソースカンファレンス 2015 Tokyo/Fall
ドットNET
まいくろ
バンザイ
2015/10/25 30
LLILUM とは?
 NETMFと同じ開発者が開発している
組込みアプリケーション実行環境
 Visual C# で開発したUWP (NETMF)互換の ILを
LLVMベースの.NET コンパイラでコンパイル後
mbed アプリケーション (.binを作成) 実行
 Visual Studioでgdbデバッグ
 豊富なサービスとクラスライブラリを標準装備
 オープンソース・ライセンスで公開 (Apache V2)
 開発環境/SDKのビルド手順が大変!
 x64, VS2015, LLVM 3.7.0, ARM GCC, Make, CMake, Python 2.7.4
MIEngine, Visual Studio Extensibility Tools, …. まだまだほかにも
ドットNETまいくろバンザイ倶楽部
オープンソースカンファレンス 2015 Tokyo/Fall
ドットNET
まいくろ
バンザイ
 対応ボード
 NXP LPC1768 512KB/64KB (mbed)
 Freescale FRDM-K64F 1MB/256KB (mbed)
2015/10/25 ドットNETまいくろバンザイ倶楽部 31
オープンソースカンファレンス 2015 Tokyo/Fall
ドットNET
まいくろ
バンザイ
2015/10/25 32
まとめ
 .NET Micro Frameworkとは?
 新プラットフォームへの移植とV4.4リリース
 最新情報, LLILUM
ドットNETまいくろバンザイ倶楽部

More Related Content

What's hot

3.RTCプログラミング演習
3.RTCプログラミング演習3.RTCプログラミング演習
3.RTCプログラミング演習openrtm
 
Chrome Extensionで スクリーンシェアをやってみる
Chrome ExtensionでスクリーンシェアをやってみるChrome Extensionでスクリーンシェアをやってみる
Chrome Extensionで スクリーンシェアをやってみるYusuke Naka
 
What's EasyHacks? / EasyHacksについて
What's EasyHacks? / EasyHacksについてWhat's EasyHacks? / EasyHacksについて
What's EasyHacks? / EasyHacksについてNaruhiko Ogasawara
 
5分で分るWebRTCコーデックウォーズ
5分で分るWebRTCコーデックウォーズ5分で分るWebRTCコーデックウォーズ
5分で分るWebRTCコーデックウォーズYusuke Naka
 
PeerConnectionリレーとMediaRecorder
PeerConnectionリレーとMediaRecorderPeerConnectionリレーとMediaRecorder
PeerConnectionリレーとMediaRecordermganeko
 
The Basic of How to build LibreOffice / LibreOffice開発版ビルドの基礎 for Windows
The Basic of How to build LibreOffice / LibreOffice開発版ビルドの基礎 for WindowsThe Basic of How to build LibreOffice / LibreOffice開発版ビルドの基礎 for Windows
The Basic of How to build LibreOffice / LibreOffice開発版ビルドの基礎 for WindowsNaruhiko Ogasawara
 
スマートフォンでの WebRTC活用
スマートフォンでのWebRTC活用スマートフォンでのWebRTC活用
スマートフォンでの WebRTC活用minamotot
 
Breakouts で Presentation API の 拡張提案したよ
Breakouts でPresentation API の拡張提案したよBreakouts でPresentation API の拡張提案したよ
Breakouts で Presentation API の 拡張提案したよSaki Homma
 
2013 WebRTC node
2013 WebRTC node2013 WebRTC node
2013 WebRTC nodemganeko
 
WebRTC/ORTCの最新動向まるわかり!
WebRTC/ORTCの最新動向まるわかり!WebRTC/ORTCの最新動向まるわかり!
WebRTC/ORTCの最新動向まるわかり!Yusuke Naka
 
WebRTC SFU mediasoup sample
WebRTC SFU mediasoup sampleWebRTC SFU mediasoup sample
WebRTC SFU mediasoup samplemganeko
 
201110 02 Polytech center 2
201110 02 Polytech center 2201110 02 Polytech center 2
201110 02 Polytech center 2openrtm
 
HoloLens2とPCで、WebRTCで映像をやりとり
HoloLens2とPCで、WebRTCで映像をやりとりHoloLens2とPCで、WebRTCで映像をやりとり
HoloLens2とPCで、WebRTCで映像をやりとり聡 大久保
 
Nedo講座・rtmセミナー
Nedo講座・rtmセミナーNedo講座・rtmセミナー
Nedo講座・rtmセミナーopenrtm
 
ラズパイでWebRTC ヾ(*´∀`*)ノキャッキャ uv4l-webrtc 軽くハックしてみたよ!
ラズパイでWebRTC ヾ(*´∀`*)ノキャッキャ    uv4l-webrtc 軽くハックしてみたよ!ラズパイでWebRTC ヾ(*´∀`*)ノキャッキャ    uv4l-webrtc 軽くハックしてみたよ!
ラズパイでWebRTC ヾ(*´∀`*)ノキャッキャ uv4l-webrtc 軽くハックしてみたよ!Kensaku Komatsu
 
WebRTC on Edge
WebRTC on EdgeWebRTC on Edge
WebRTC on EdgeSaki Homma
 
【Unite Tokyo 2019】Unity Test Runnerを活用して内部品質を向上しよう
【Unite Tokyo 2019】Unity Test Runnerを活用して内部品質を向上しよう【Unite Tokyo 2019】Unity Test Runnerを活用して内部品質を向上しよう
【Unite Tokyo 2019】Unity Test Runnerを活用して内部品質を向上しようUnityTechnologiesJapan002
 

What's hot (20)

3.RTCプログラミング演習
3.RTCプログラミング演習3.RTCプログラミング演習
3.RTCプログラミング演習
 
Chrome Extensionで スクリーンシェアをやってみる
Chrome ExtensionでスクリーンシェアをやってみるChrome Extensionでスクリーンシェアをやってみる
Chrome Extensionで スクリーンシェアをやってみる
 
What's EasyHacks? / EasyHacksについて
What's EasyHacks? / EasyHacksについてWhat's EasyHacks? / EasyHacksについて
What's EasyHacks? / EasyHacksについて
 
5分で分るWebRTCコーデックウォーズ
5分で分るWebRTCコーデックウォーズ5分で分るWebRTCコーデックウォーズ
5分で分るWebRTCコーデックウォーズ
 
WebRTC on Native App
WebRTC on Native AppWebRTC on Native App
WebRTC on Native App
 
PeerConnectionリレーとMediaRecorder
PeerConnectionリレーとMediaRecorderPeerConnectionリレーとMediaRecorder
PeerConnectionリレーとMediaRecorder
 
The Basic of How to build LibreOffice / LibreOffice開発版ビルドの基礎 for Windows
The Basic of How to build LibreOffice / LibreOffice開発版ビルドの基礎 for WindowsThe Basic of How to build LibreOffice / LibreOffice開発版ビルドの基礎 for Windows
The Basic of How to build LibreOffice / LibreOffice開発版ビルドの基礎 for Windows
 
スマートフォンでの WebRTC活用
スマートフォンでのWebRTC活用スマートフォンでのWebRTC活用
スマートフォンでの WebRTC活用
 
Breakouts で Presentation API の 拡張提案したよ
Breakouts でPresentation API の拡張提案したよBreakouts でPresentation API の拡張提案したよ
Breakouts で Presentation API の 拡張提案したよ
 
2013 WebRTC node
2013 WebRTC node2013 WebRTC node
2013 WebRTC node
 
WebRTC/ORTCの最新動向まるわかり!
WebRTC/ORTCの最新動向まるわかり!WebRTC/ORTCの最新動向まるわかり!
WebRTC/ORTCの最新動向まるわかり!
 
WebRTC SFU mediasoup sample
WebRTC SFU mediasoup sampleWebRTC SFU mediasoup sample
WebRTC SFU mediasoup sample
 
WebRTC再び
WebRTC再びWebRTC再び
WebRTC再び
 
201110 02 Polytech center 2
201110 02 Polytech center 2201110 02 Polytech center 2
201110 02 Polytech center 2
 
HoloLens2とPCで、WebRTCで映像をやりとり
HoloLens2とPCで、WebRTCで映像をやりとりHoloLens2とPCで、WebRTCで映像をやりとり
HoloLens2とPCで、WebRTCで映像をやりとり
 
Nedo講座・rtmセミナー
Nedo講座・rtmセミナーNedo講座・rtmセミナー
Nedo講座・rtmセミナー
 
Lpicl304 20170318
Lpicl304 20170318Lpicl304 20170318
Lpicl304 20170318
 
ラズパイでWebRTC ヾ(*´∀`*)ノキャッキャ uv4l-webrtc 軽くハックしてみたよ!
ラズパイでWebRTC ヾ(*´∀`*)ノキャッキャ    uv4l-webrtc 軽くハックしてみたよ!ラズパイでWebRTC ヾ(*´∀`*)ノキャッキャ    uv4l-webrtc 軽くハックしてみたよ!
ラズパイでWebRTC ヾ(*´∀`*)ノキャッキャ uv4l-webrtc 軽くハックしてみたよ!
 
WebRTC on Edge
WebRTC on EdgeWebRTC on Edge
WebRTC on Edge
 
【Unite Tokyo 2019】Unity Test Runnerを活用して内部品質を向上しよう
【Unite Tokyo 2019】Unity Test Runnerを活用して内部品質を向上しよう【Unite Tokyo 2019】Unity Test Runnerを活用して内部品質を向上しよう
【Unite Tokyo 2019】Unity Test Runnerを活用して内部品質を向上しよう
 

Viewers also liked

2016 1102 EnOcean Alliance Japan Event
2016 1102 EnOcean Alliance Japan Event2016 1102 EnOcean Alliance Japan Event
2016 1102 EnOcean Alliance Japan EventAtomu Hidaka
 
Data center to distributed cloud slideshare
Data center to distributed cloud slideshareData center to distributed cloud slideshare
Data center to distributed cloud slideshareshigeyoko
 
Dockerの事例紹介
Dockerの事例紹介Dockerの事例紹介
Dockerの事例紹介Hiroki Endo
 
Dockerを活用したリクルートグループ開発基盤の構築
Dockerを活用したリクルートグループ開発基盤の構築Dockerを活用したリクルートグループ開発基盤の構築
Dockerを活用したリクルートグループ開発基盤の構築Recruit Technologies
 
Використання сервісів Web 2.0 у навчально-виховному процесі початкової школи
Використання сервісів Web 2.0 у навчально-виховному процесі початкової школиВикористання сервісів Web 2.0 у навчально-виховному процесі початкової школи
Використання сервісів Web 2.0 у навчально-виховному процесі початкової школиГалина Сляднєва
 
Luis martin uc_hdz_tesis_doctoral23_mar2017
Luis martin uc_hdz_tesis_doctoral23_mar2017Luis martin uc_hdz_tesis_doctoral23_mar2017
Luis martin uc_hdz_tesis_doctoral23_mar2017Luis Martin Uc Hernandez
 
OSC Tokyo/Spring NETMF 170311
OSC Tokyo/Spring NETMF 170311OSC Tokyo/Spring NETMF 170311
OSC Tokyo/Spring NETMF 170311Atomu Hidaka
 
Continuous Performance Testing
Continuous Performance TestingContinuous Performance Testing
Continuous Performance TestingMark Price
 
Prism presentation
Prism presentationPrism presentation
Prism presentationLakshmi .
 
Apache Solr as a compressed, scalable, and high performance time series database
Apache Solr as a compressed, scalable, and high performance time series databaseApache Solr as a compressed, scalable, and high performance time series database
Apache Solr as a compressed, scalable, and high performance time series databaseFlorian Lautenschlager
 
πειραματα χημειας στην στ1 του 2ου δημοτικου σχολειου
πειραματα χημειας στην στ1 του 2ου δημοτικου σχολειουπειραματα χημειας στην στ1 του 2ου δημοτικου σχολειου
πειραματα χημειας στην στ1 του 2ου δημοτικου σχολειουalexkonta
 

Viewers also liked (18)

2016 1102 EnOcean Alliance Japan Event
2016 1102 EnOcean Alliance Japan Event2016 1102 EnOcean Alliance Japan Event
2016 1102 EnOcean Alliance Japan Event
 
Data center to distributed cloud slideshare
Data center to distributed cloud slideshareData center to distributed cloud slideshare
Data center to distributed cloud slideshare
 
my resume
my resumemy resume
my resume
 
P2P
P2PP2P
P2P
 
Dockerの事例紹介
Dockerの事例紹介Dockerの事例紹介
Dockerの事例紹介
 
Dockerを活用したリクルートグループ開発基盤の構築
Dockerを活用したリクルートグループ開発基盤の構築Dockerを活用したリクルートグループ開発基盤の構築
Dockerを活用したリクルートグループ開発基盤の構築
 
Використання сервісів Web 2.0 у навчально-виховному процесі початкової школи
Використання сервісів Web 2.0 у навчально-виховному процесі початкової школиВикористання сервісів Web 2.0 у навчально-виховному процесі початкової школи
Використання сервісів Web 2.0 у навчально-виховному процесі початкової школи
 
Luis martin uc_hdz_tesis_doctoral23_mar2017
Luis martin uc_hdz_tesis_doctoral23_mar2017Luis martin uc_hdz_tesis_doctoral23_mar2017
Luis martin uc_hdz_tesis_doctoral23_mar2017
 
Laser beam machining
Laser beam machiningLaser beam machining
Laser beam machining
 
Números (comic)
Números (comic)Números (comic)
Números (comic)
 
OSC Tokyo/Spring NETMF 170311
OSC Tokyo/Spring NETMF 170311OSC Tokyo/Spring NETMF 170311
OSC Tokyo/Spring NETMF 170311
 
Continuous Performance Testing
Continuous Performance TestingContinuous Performance Testing
Continuous Performance Testing
 
Платиновое пособие 2016
Платиновое пособие 2016Платиновое пособие 2016
Платиновое пособие 2016
 
Form 7
Form 7Form 7
Form 7
 
Sorolla y la_luz
Sorolla y la_luzSorolla y la_luz
Sorolla y la_luz
 
Prism presentation
Prism presentationPrism presentation
Prism presentation
 
Apache Solr as a compressed, scalable, and high performance time series database
Apache Solr as a compressed, scalable, and high performance time series databaseApache Solr as a compressed, scalable, and high performance time series database
Apache Solr as a compressed, scalable, and high performance time series database
 
πειραματα χημειας στην στ1 του 2ου δημοτικου σχολειου
πειραματα χημειας στην στ1 του 2ου δημοτικου σχολειουπειραματα χημειας στην στ1 του 2ου δημοτικου σχολειου
πειραματα χημειας στην στ1 του 2ου δημοτικου σχολειου
 

Similar to 2015 1025 OSC-Fall Tokyo NETMF

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
 
2014 0228 OSC-Spring Tokyo NETMF
2014 0228 OSC-Spring Tokyo NETMF2014 0228 OSC-Spring Tokyo NETMF
2014 0228 OSC-Spring Tokyo NETMFAtomu Hidaka
 
.NET Core と Container, そして Azure Web Apps on Linux による Web アプリ開発最前線
.NET Core と Container, そして Azure Web Apps on Linux による Web アプリ開発最前線.NET Core と Container, そして Azure Web Apps on Linux による Web アプリ開発最前線
.NET Core と Container, そして Azure Web Apps on Linux による Web アプリ開発最前線Akira Inoue
 
[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用
[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用
[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用de:code 2017
 
デモで楽しむ Visual Studio 2022 & .NET 6 最新アップデート
デモで楽しむ Visual Studio 2022 & .NET 6 最新アップデートデモで楽しむ Visual Studio 2022 & .NET 6 最新アップデート
デモで楽しむ Visual Studio 2022 & .NET 6 最新アップデートAkira Inoue
 
.NET Coreとツール類の今
.NET Coreとツール類の今.NET Coreとツール類の今
.NET Coreとツール類の今Yuki Igarashi
 
新しい Visual Studio & .NET と新時代のアーキテクチャ
新しい Visual Studio & .NET と新時代のアーキテクチャ新しい Visual Studio & .NET と新時代のアーキテクチャ
新しい Visual Studio & .NET と新時代のアーキテクチャ慎一 古賀
 
~ アプリ開発に新たな息吹を ~ クラウドが当たり前の今こそ知っておきたい Azure & Visual Studio コラボレーション
~ アプリ開発に新たな息吹を ~ クラウドが当たり前の今こそ知っておきたい Azure & Visual Studio コラボレーション~ アプリ開発に新たな息吹を ~ クラウドが当たり前の今こそ知っておきたい Azure & Visual Studio コラボレーション
~ アプリ開発に新たな息吹を ~ クラウドが当たり前の今こそ知っておきたい Azure & Visual Studio コラボレーションAkira Inoue
 
マイクロサービス開発が捗る Project Tye
マイクロサービス開発が捗る Project Tyeマイクロサービス開発が捗る Project Tye
マイクロサービス開発が捗る Project TyeYuta Matsumura
 
ASP.NET 新時代に向けて ~ ASP.NET 5 / Visual Studio 2015 基礎解説
ASP.NET 新時代に向けて ~ ASP.NET 5 / Visual Studio 2015 基礎解説ASP.NET 新時代に向けて ~ ASP.NET 5 / Visual Studio 2015 基礎解説
ASP.NET 新時代に向けて ~ ASP.NET 5 / Visual Studio 2015 基礎解説Akira Inoue
 
Introduction to VSCode
Introduction to VSCodeIntroduction to VSCode
Introduction to VSCodeYuki Igarashi
 
.NET Core と .NET Framework (続きは de:code 2016 で!)
.NET Core と .NET Framework (続きは de:code 2016 で!).NET Core と .NET Framework (続きは de:code 2016 で!)
.NET Core と .NET Framework (続きは de:code 2016 で!)Akira Inoue
 
18-D-1 .Net Framework 4 概要
18-D-1 .Net Framework 4 概要18-D-1 .Net Framework 4 概要
18-D-1 .Net Framework 4 概要Developers Summit
 
そろそろレガシーな.Net開発をやめなイカ?
そろそろレガシーな.Net開発をやめなイカ?そろそろレガシーな.Net開発をやめなイカ?
そろそろレガシーな.Net開発をやめなイカ?Yuta Matsumura
 
Getting Started .NET Core
Getting Started .NET CoreGetting Started .NET Core
Getting Started .NET CoreYuta Matsumura
 
.NET Micro Framework で IoT
.NET Micro Framework で IoT.NET Micro Framework で IoT
.NET Micro Framework で IoTYoshitaka Seo
 
Visual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイル
Visual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイルVisual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイル
Visual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイルAkira Inoue
 

Similar to 2015 1025 OSC-Fall Tokyo NETMF (20)

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 の今と未来
 
Netmf-180224
Netmf-180224Netmf-180224
Netmf-180224
 
2014 0228 OSC-Spring Tokyo NETMF
2014 0228 OSC-Spring Tokyo NETMF2014 0228 OSC-Spring Tokyo NETMF
2014 0228 OSC-Spring Tokyo NETMF
 
.NET Core と Container, そして Azure Web Apps on Linux による Web アプリ開発最前線
.NET Core と Container, そして Azure Web Apps on Linux による Web アプリ開発最前線.NET Core と Container, そして Azure Web Apps on Linux による Web アプリ開発最前線
.NET Core と Container, そして Azure Web Apps on Linux による Web アプリ開発最前線
 
[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用
[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用
[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用
 
デモで楽しむ Visual Studio 2022 & .NET 6 最新アップデート
デモで楽しむ Visual Studio 2022 & .NET 6 最新アップデートデモで楽しむ Visual Studio 2022 & .NET 6 最新アップデート
デモで楽しむ Visual Studio 2022 & .NET 6 最新アップデート
 
.NET Coreとツール類の今
.NET Coreとツール類の今.NET Coreとツール類の今
.NET Coreとツール類の今
 
新しい Visual Studio & .NET と新時代のアーキテクチャ
新しい Visual Studio & .NET と新時代のアーキテクチャ新しい Visual Studio & .NET と新時代のアーキテクチャ
新しい Visual Studio & .NET と新時代のアーキテクチャ
 
~ アプリ開発に新たな息吹を ~ クラウドが当たり前の今こそ知っておきたい Azure & Visual Studio コラボレーション
~ アプリ開発に新たな息吹を ~ クラウドが当たり前の今こそ知っておきたい Azure & Visual Studio コラボレーション~ アプリ開発に新たな息吹を ~ クラウドが当たり前の今こそ知っておきたい Azure & Visual Studio コラボレーション
~ アプリ開発に新たな息吹を ~ クラウドが当たり前の今こそ知っておきたい Azure & Visual Studio コラボレーション
 
マイクロサービス開発が捗る Project Tye
マイクロサービス開発が捗る Project Tyeマイクロサービス開発が捗る Project Tye
マイクロサービス開発が捗る Project Tye
 
it's Qt!
it's Qt!it's Qt!
it's Qt!
 
ASP.NET 新時代に向けて ~ ASP.NET 5 / Visual Studio 2015 基礎解説
ASP.NET 新時代に向けて ~ ASP.NET 5 / Visual Studio 2015 基礎解説ASP.NET 新時代に向けて ~ ASP.NET 5 / Visual Studio 2015 基礎解説
ASP.NET 新時代に向けて ~ ASP.NET 5 / Visual Studio 2015 基礎解説
 
[Japan Tech summit 2017] APP 001
[Japan Tech summit 2017] APP 001[Japan Tech summit 2017] APP 001
[Japan Tech summit 2017] APP 001
 
Introduction to VSCode
Introduction to VSCodeIntroduction to VSCode
Introduction to VSCode
 
.NET Core と .NET Framework (続きは de:code 2016 で!)
.NET Core と .NET Framework (続きは de:code 2016 で!).NET Core と .NET Framework (続きは de:code 2016 で!)
.NET Core と .NET Framework (続きは de:code 2016 で!)
 
18-D-1 .Net Framework 4 概要
18-D-1 .Net Framework 4 概要18-D-1 .Net Framework 4 概要
18-D-1 .Net Framework 4 概要
 
そろそろレガシーな.Net開発をやめなイカ?
そろそろレガシーな.Net開発をやめなイカ?そろそろレガシーな.Net開発をやめなイカ?
そろそろレガシーな.Net開発をやめなイカ?
 
Getting Started .NET Core
Getting Started .NET CoreGetting Started .NET Core
Getting Started .NET Core
 
.NET Micro Framework で IoT
.NET Micro Framework で IoT.NET Micro Framework で IoT
.NET Micro Framework で IoT
 
Visual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイル
Visual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイルVisual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイル
Visual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイル
 

More from Atomu 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
 
Microsoft Azure IoT central main menu
Microsoft Azure IoT central main menuMicrosoft Azure IoT central main menu
Microsoft Azure IoT central main menuAtomu Hidaka
 

More from Atomu Hidaka (20)

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
 
Microsoft Azure IoT central main menu
Microsoft Azure IoT central main menuMicrosoft Azure IoT central main menu
Microsoft Azure IoT central main menu
 

Recently uploaded

PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdffurutsuka
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 

Recently uploaded (8)

PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 

2015 1025 OSC-Fall Tokyo NETMF

  • 1. オープンソースカンファレンス 2015 Tokyo/Fall 2015/10/25 ドットNETまいくろバンザイ倶楽部 1 ドットNETまいくろ バンザイ倶楽部 日高亜友 - V4.4 リリースと最新情報, LLILUM - info@devdrv.co.jp オープンソースになったマイコン開発環境 .NET Micro Frameworkの紹介。 ドットNET まいくろ バンザイ
  • 2. オープンソースカンファレンス 2015 Tokyo/Fall ドットNET まいくろ バンザイ 2015/10/25 2 セッション内容  .NET Micro Frameworkとは?  新プラットフォームへの移植とV4.4リリース  最新情報, LLILUM ドットNETまいくろバンザイ倶楽部
  • 3. オープンソースカンファレンス 2015 Tokyo/Fall ドットNET まいくろ バンザイ 2015/10/25 3ドットNETまいくろバンザイ倶楽部 .NET Micro Frameworkとは?
  • 4. オープンソースカンファレンス 2015 Tokyo/Fall ドットNET まいくろ バンザイ 2015/10/25 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/Fall ドット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  2015年 V4.4 for Visual Studio 2015  リポジトリ: CodePlex →GitHub 2015/10/25 5ドットNETまいくろバンザイ倶楽部 開発キット 約30万円
  • 6. オープンソースカンファレンス 2015 Tokyo/Fall ドットNET まいくろ バンザイ 2015/10/25 6 NETMFの本質  元Windows CE 未満 MMU無しプラットフォーム 組込み製品となるはずだった OS  移植キット販売、製品ライセンス販売予定 だった  2010年にオープンソース化  Apache V2 ライセンス→無償で商用利用可能 ⇒ 製品相当の機能・性能・品質 を無料で公開  2015年 正式サポート製品 GR-Peach 国内販売  国産製品化第1号  2015年にGitHubへ移行、コミュニティ化推進 ドットNETまいくろバンザイ倶楽部
  • 7. オープンソースカンファレンス 2015 Tokyo/Fall ドットNET まいくろ バンザイ GitHub / netmf-interpreter  https://github.com/NETMF/netmf-interpreter GitHub NETMF / netmf-interpreter 2015/10/25 7ドットNETまいくろバンザイ倶楽部
  • 8. オープンソースカンファレンス 2015 Tokyo/Fall ドットNET まいくろ バンザイ アーキテクチャ  全体構成 2 種類の実装方法 - Native Platform - “OS on OS” solution 2015/10/25 8ドットNETまいくろバンザイ倶楽部 アプリケーション開発 ライブラリ開発 プラットフォーム移植 CLR: Common Language Runtime HAL: Hardware Abstraction Layer PAL: Platform Abstraction Layer
  • 9. オープンソースカンファレンス 2015 Tokyo/Fall ドットNET まいくろ バンザイ OSとしての提供機能  IL(.NETのアセンブリ)の実行環境 = TinyCLR  タイマ, 割り込みハンドラ, マルチスレッド, スケジューラ  ブートローダ, 各種デバイスドライバ, リソースマネージャ  組み込み環境対応  MMU 不要 標準メモリ128KB RAM / 512KB ROM  標準サポート ARM7/9/Cortex-M3, Blackfin, SH-2/2A → V4.4 で Cortex-M4 / STM32 F4だけに?  サポート機能  ブートローダ, アプリケーションローダ, デバッガIF 2015/10/25 9ドットNETまいくろバンザイ倶楽部
  • 10. オープンソースカンファレンス 2015 Tokyo/Fall ドットNET まいくろ バンザイ 2015/10/25 10 ドライバとサービス 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まいくろバンザイ倶楽部
  • 11. オープンソースカンファレンス 2015 Tokyo/Fall ドットNET まいくろ バンザイ プラットフォームとアプリケーション  自作ボードや未サポートボードに移植  CQ出版等の移植事例(参考資料)  周辺ハードウェアを自作して動作  容易に接続可能→.NET Gadgeteer  ライブラリやシステムを開発・改造  Emulatorの開発、独自モジュールの開発  連係システムやアプリケーションを開発  他のシステムとの接続  PC, Smart Phone, Cloud連係 2015/10/25 11ドットNETまいくろバンザイ倶楽部
  • 12. オープンソースカンファレンス 2015 Tokyo/Fall ドットNET まいくろ バンザイ 2015/10/25 12 SDK vs. PK (Porting Kit)  SDK: 組み込みアプリケーション開発  アプリケーション開発に必須  Visual Studio / VC# Express に組み込んで使用  Simulator, Debugger, Deployment Tools を含む  PK: 動作プラットフォームの構築(移植)  .NET Micro Framework の移植 に必須  ほかに クロスコンパイラ(+デバッガ)が必須  ツール類を含めた全ソースコードが提供  ほとんどを C++ で記述 (一部アセンブラ, C, C#) ドットNETまいくろバンザイ倶楽部 バージョンを 合わせる必要がある
  • 13. オープンソースカンファレンス 2015 Tokyo/Fall ドットNET まいくろ バンザイ 2015/10/25 13ドットNETまいくろバンザイ倶楽部 組み込み開発で何ができるか?
  • 14. オープンソースカンファレンス 2015 Tokyo/Fall ドットNET まいくろ バンザイ 2015/10/25 14 アプリケーション開発手順  事前調査・基本設計  Interface 仕様の確認 (H/W, S/W, Network, …)  コーディング  Full .NET 環境用コードの流用  ソースコード・デバッグ  エミュレータ, オンライン・デバッガ  Full .NET 環境でのデバッグ (ソース流用化)  デプロイ  Flash ROM焼き, 配布用署名付きコード生成 ドットNETまいくろバンザイ倶楽部 .NET Gadgeteeer で簡単に!
  • 15. オープンソースカンファレンス 2015 Tokyo/Fall ドットNET まいくろ バンザイ 2015/10/25 15 デバッガ インターフェース  デバッガとの接続手段:3種類から選択  独自ハードウエア開発の注意点  OS更新用のデバッガ(ブート)・スイッチの対応  通常はGPIOタクトSW(ボタン), DIP-SW等を使用 ドットNETまいくろバンザイ倶楽部 ドライバ ドライバ ドライバ Serial (RS232C) USB LAN (TCP/IP) Host PC Target
  • 16. オープンソースカンファレンス 2015 Tokyo/Fall ドットNET まいくろ バンザイ .NET Gadgeteer とは? 2015/10/25 ドットNETまいくろバンザイ倶楽部 16  .NET Micro Framework ベース組み込みシステム統合 開発環境とそれを構成するモジュール製品群  MMU無しマイコン上でVisual Studioで開発した .NETアセンブリ(中間コード)をインタプリタ実行  GUI操作で自動的に 初期化コードとクラスラ イブラリを追加 .NET MF OS / Driver Interpreter App. / Lib. Gadgeteer
  • 17. オープンソースカンファレンス 2015 Tokyo/Fall ドットNET まいくろ バンザイ .NET Gadgeteer とは? 2015/10/25 ドットNETまいくろバンザイ倶楽部 17  具体的には次のもの  ハードウェア  専用メインボード、専用モジュール群、 開発環境としての Windows PC  ソフトウェア  ROM化されたOS、組み込み用各種ドライバとライブラリ、 Visual Studio用Plug In(ライブラリとGUIツール、シミュレータ)  新規モジュール開発やカスタマイズ可能  オープンソース
  • 18. オープンソースカンファレンス 2015 Tokyo/Fall ドットNET まいくろ バンザイ 2015/10/25 .NET Gadgeteer とは?  C#/VB言語レベルでライブラリと豊富なミドルウェアを提供  プロトコル、グラフィック  ファイルシステム  サービス、マルチスレッド  10種以上のCPUボードと 100種以上の アクチュエータ, センサー, ネットワークアダプタ, コネクティビティ, ディスプレイ等の モジュール を提供 ドットNETまいくろバンザイ倶楽部 18
  • 19. オープンソースカンファレンス 2015 Tokyo/Fall ドットNET まいくろ バンザイ IoT入門キット事例  IoT 入門キット  Spider IoT 入門キット  IoT植物栽培キット  EnOcean IoT 入門キット 2015/10/25 19ドットNETまいくろバンザイ倶楽部
  • 20. オープンソースカンファレンス 2015 Tokyo/Fall ドットNET まいくろ バンザイ 2015/10/25 20ドットNETまいくろバンザイ倶楽部 V4.4 対応版 新プラットフォームへの移植
  • 21. オープンソースカンファレンス 2015 Tokyo/Fall ドットNET まいくろ バンザイ V4.4 で何が変わったか?  GitHubへの移行  SDK開発ツールの変更  Visual Studio 2015 のみ対応 OSは Windows 7~10  ログイン名にスペースがあるとインストール出来ない!バグ  ARM-CMSIS 対応  テンプレートが2CPU/ 2ボードに激減  STM32系だけに!  デバッグ機能の高速化と安定化  UWP に影響を受けたクラスライブラリのサポート  バグFIX 2015/10/25 21ドットNETまいくろバンザイ倶楽部
  • 22. オープンソースカンファレンス 2015 Tokyo/Fall ドットNET まいくろ バンザイ 2015/10/25 22 移植前のチェック  ターゲット・プラットフォーム  RAM/RAM容量(ROM不足は RAMで代用可能)  CPU アーキテクチャ (Cortex-M4 or NOT)  最低メモリ目安  RAM 256KB / ROM 512KB (Thumb2 命令)  コンパイラとデバッガ  Windows上で動作するクロスコンパイラ  Windows上で動作する JTAG-ICE デバッガ  Native 実装 vs. “OS on OS” 実装  ターゲット・プラットフォームの適正 ドットNETまいくろバンザイ倶楽部
  • 23. オープンソースカンファレンス 2015 Tokyo/Fall ドットNET まいくろ バンザイ 2015/10/25 23 移植に必要な知識  組み込みシステム全般  割り込み処理, 割り込みVector, Cache, MMU, PLL  ブートローダ  移植対象のCPU, ターゲット・ボード  データシート, 回路図, メモリマップ, クロック  ツール  Toolchain(コンパイラ, アセンブラ, リンカ, ライブラリアン) C, C++, CPUのアセンブラ命令, コマンドプロンプト, VB Script  デバッガ, JTAG ICE, Eclipse, OpenOCD+GDB  OSアーキテクチャとリソース管理  メモリ, タイマ, 割り込み, イベント  .NET Framework と CLR ドットNETまいくろバンザイ倶楽部
  • 24. オープンソースカンファレンス 2015 Tokyo/Fall ドットNET まいくろ バンザイ 2015/10/25 24 V4.4 ソフトウェア環境とツール  Visual Studio 2015 (Express版不可, Community版可)  .NET Micro Framework 4.4 SDK (バイナリインストーラ配布)  .NET Micro Framework 4.4 Porting Kit (GitHub)  クロスコンパイラ, デバッガ  推奨は ARM RVDS, KEIL MDK  gccは Launchpad GCC ARM Embedded 4_9 以降 一部スクリプト(環境変数)に不具合がある場合も…  クロス開発統合環境  Eclipse (自分で作る必要…)  ソースコード管理  7zip, WinMerge, VSS, svn, … ドットNETまいくろバンザイ倶楽部
  • 25. オープンソースカンファレンス 2015 Tokyo/Fall ドットNET まいくろ バンザイ 2015/10/25 25 ハードウェア環境とツール  STM32系を使えばほぼ問題ない  STM32 F4 DISCOVERYはOpenOCD対応 オンボード・デバッガ搭載 (他のSTM32もデバッグ可能)  そうでない場合  JTAG ICE, またはOpenOCD ICE  対応CPUやボード構成をよく確認する  Flash ROM書き込みツール(必要に応じて)  ブートローダ開発環境(必要に応じて)  評価ボード(ターゲットが利用できない場合)  測定器、信号観測ツール ドットNETまいくろバンザイ倶楽部
  • 26. オープンソースカンファレンス 2015 Tokyo/Fall ドットNET まいくろ バンザイ 2015/10/25 26 移植の主要作業  開発環境構築と基本設計  環境変数設定&クロス開発用ビルドスクリプト作成  メモリ割当て設計&Scatter ファイル設定  Solution の作成 (手作業)  ビルド&デバッグ  NativeSample を動作させる  ブートローダ, 初期化処理 (Clock, Cache, MMU, PLL)  ドライバ, PAL IF (Flash ROMドライバ開発必須, UART)  TinyCLR の動作  TinyBooter, アプリケーション・ロードとデバッグIF ドットNETまいくろバンザイ倶楽部
  • 27. オープンソースカンファレンス 2015 Tokyo/Fall ドットNET まいくろ バンザイ 2015/10/25 27 InterOpの実装  NETMF標準APIに無いOS機能を アプリケーションから呼び出す  使用方法  標準APIに無いドライバの実装  例:USB Host ドライバ, Flash ROM管理,  クリティカルな処理をCまたはアセンブラで記述して アプリケーションから呼び出す  実装方法  C#でAPIを記述、コードをC/C++/アセンブラで記述  パラメータ、リターン値、非同期処理、イベントが利用可能 ドットNETまいくろバンザイ倶楽部 OS 移植の醍醐味
  • 28. オープンソースカンファレンス 2015 Tokyo/Fall ドットNET まいくろ バンザイ 2015/10/25 ドットNETまいくろバンザイ倶楽部 28 ビルド&デバッグ  NativeSample  Native Code での”Hello world” 表示出力  ビルド環境の検証(自由にカスタマイズ可能)  ドライバ類の初期化&動作の検証  TinyCLR  .NET Micro Frameworkの移植対象・本体  実行にはIL (コンパイル済アセンブリ)が必須  ProductSampleディレクトリ(HelloWorld, Network など)  TinyBooter  NETMF 純正ブートローダ(MFDepoy IF) • メモリ管理 • 割り込み • タイマー • 232C/USB ドライバ
  • 30. オープンソースカンファレンス 2015 Tokyo/Fall ドットNET まいくろ バンザイ 2015/10/25 30 LLILUM とは?  NETMFと同じ開発者が開発している 組込みアプリケーション実行環境  Visual C# で開発したUWP (NETMF)互換の ILを LLVMベースの.NET コンパイラでコンパイル後 mbed アプリケーション (.binを作成) 実行  Visual Studioでgdbデバッグ  豊富なサービスとクラスライブラリを標準装備  オープンソース・ライセンスで公開 (Apache V2)  開発環境/SDKのビルド手順が大変!  x64, VS2015, LLVM 3.7.0, ARM GCC, Make, CMake, Python 2.7.4 MIEngine, Visual Studio Extensibility Tools, …. まだまだほかにも ドットNETまいくろバンザイ倶楽部
  • 31. オープンソースカンファレンス 2015 Tokyo/Fall ドットNET まいくろ バンザイ  対応ボード  NXP LPC1768 512KB/64KB (mbed)  Freescale FRDM-K64F 1MB/256KB (mbed) 2015/10/25 ドットNETまいくろバンザイ倶楽部 31
  • 32. オープンソースカンファレンス 2015 Tokyo/Fall ドットNET まいくろ バンザイ 2015/10/25 32 まとめ  .NET Micro Frameworkとは?  新プラットフォームへの移植とV4.4リリース  最新情報, LLILUM ドットNETまいくろバンザイ倶楽部