SlideShare a Scribd company logo
オープンソースカンファレンス 2018 Tokyo/Spring
2018/2/24 ドットNETまいくろバンザイ倶楽部 1
ドットNETまいくろ バンザイ倶楽部
日高亜友
- NETMF の現状は? -
info@devdrv.co.jp
オープンソースになったマイコン開発環境
.NET Micro Frameworkの紹介と今後
ドットNET
まいくろ
バンザイ
オープンソースカンファレンス 2018 Tokyo/Spring
ドットNET
まいくろ
バンザイ
2018/2/24 2
セッション内容
 はじめに:出会い
 .NET Micro Framework
 LLILUM
 今後はどうなる?
ドットNETまいくろバンザイ倶楽部
オープンソースカンファレンス 2018 Tokyo/Spring
ドットNET
まいくろ
バンザイ
2018/2/24 3
はじめに:自己紹介
ドットNETまいくろバンザイ倶楽部
 名前:日高亜友(ひだか あとむ)
 職歴:組み込みシステム・ソフトウェア開発35年
 趣味:仕事、プログラミング、酒、…
オープンソースカンファレンス 2018 Tokyo/Spring
ドットNET
まいくろ
バンザイ
2018/2/24 4
出会い
ドットNETまいくろバンザイ倶楽部
 2003年に組み込みLinuxボード開発&販売
 Au-1100 400MHz / 128MB RAM / 4MB ROM
 少しは売れた、ロボットや人工衛星に載った
 2006年に次のLinuxボード開発&販売
 ADSP-BF533 / 600MHz / 64MB RAM / 4MB ROM
 全然売れない→目玉となる特長が必要
 他社でやっているような製品はやりたくない
 .NET Micro Framework というOSが動作するらしい
→情報収集&移植ライセンス購入
オープンソースカンファレンス 2018 Tokyo/Spring
ドットNET
まいくろ
バンザイ
2018/2/24 5
補足:組み込み開発者の悩み
 当時は…
 非同期処理と同期処理を容易に扱いたい
 マルチIOを容易に扱いたい
 マルチスレッドを容易に扱いたい
 複雑なプログラムを簡単に書きたい
↓
 組込みシステムでもC# を使いたい
ドットNETまいくろバンザイ倶楽部
C#は偉大な言語
ハードウェアが
急激に進化
拡大
複雑化
実際にマイコンで移植済NETMFを使うと、2か月規模の
組み込みシステムプログラムが1週間で完成!
オープンソースカンファレンス 2018 Tokyo/Spring
ドットNET
まいくろ
バンザイ
2018/2/24 6ドットNETまいくろバンザイ倶楽部
NET Micro Framework
(NETMF)
オープンソースカンファレンス 2018 Tokyo/Spring
ドットNET
まいくろ
バンザイ
2018/2/24 7
.NET Micro Framework とは?
 元々はMicrosoft Research 開発の組み込みOS
 Colin Miller氏を中心とするグループが開発
 Visual C# / Visual Basicで開発した IL
.NET アセンブリ を中間コードインタプリタで実行
 豊富なドライバとライブラリを標準装備
 オープンソース・ライセンスで公開 (Apache V2)
 30種以上のプラットフォームに移植されて動作
 .NET Micro Framework (NETMF) 移植済みSOC
 業務アプリケーション・システム応用事例
 Microsoft Azure と接続してIoT用途活用
ドットNETまいくろバンザイ倶楽部
オープンソースカンファレンス 2018 Tokyo/Spring
ドットNET
まいくろ
バンザイ NETMF 開発リーダー
 Colin Miller
 Steve Maillet
2018/2/24 ドットNETまいくろバンザイ倶楽部 8
オープンソースカンファレンス 2018 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
 2015年 V4.4 for Visual Studio 2015
 リポジトリ: CodePlex →GitHub
2018/2/24 9ドットNETまいくろバンザイ倶楽部
開発キット
約30万円
オープンソースカンファレンス 2018 Tokyo/Spring
ドットNET
まいくろ
バンザイ .NET Micro Framework の歴史
 2016年 9月 更新停止
2018/2/24 10ドットNETまいくろバンザイ倶楽部
オープンソースカンファレンス 2018 Tokyo/Spring
ドットNET
まいくろ
バンザイ
2018/2/24 11
NETMFの本質
 元Windows CE 未満 MMU無しプラットフォーム
組込み製品となるはずだった OS
 移植キット販売、製品ライセンス販売予定 だった
 2010年にオープンソース化
 Apache V2 ライセンス→無償で商用利用可能
⇒ 製品相当の機能・性能・品質 を無料で公開
 2015年 正式サポート製品 GR-Peach 国内販売
 国産製品化第1号
 2015年にGitHubへ移行、コミュニティ化推進
ドットNETまいくろバンザイ倶楽部
オープンソースカンファレンス 2018 Tokyo/Spring
ドットNET
まいくろ
バンザイ アーキテクチャ
 全体構成
2 種類の実装方法
- Native Platform
- “OS on OS” solution
2018/2/24 12ドットNETまいくろバンザイ倶楽部
アプリケーション開発
ライブラリ開発
プラットフォーム移植
CLR: Common Language Runtime
HAL: Hardware Abstraction Layer
PAL: Platform Abstraction Layer
オープンソースカンファレンス 2018 Tokyo/Spring
ドットNET
まいくろ
バンザイ
2018/2/24 13
V4.4 が動作するボード
 PK標準サポートボード
 STM32F4Discovery
 STM32F429Discovery
 KEIL MCBSTM32F400
ドットNETまいくろバンザイ倶楽部
オープンソースカンファレンス 2018 Tokyo/Spring
ドットNET
まいくろ
バンザイ
2018/2/24 14ドットNETまいくろバンザイ倶楽部
LLILUM
オープンソースカンファレンス 2018 Tokyo/Spring
ドットNET
まいくろ
バンザイ
2018/2/24 15
LLILUM とは?
 NETMFと同じ開発者が開発している
mbed ボード用 組込みシステム開発&実行環境
 Visual C# で開発したUWP (NETMF)互換の ILを
LLVMベースの.NET コンパイラでコンパイル後
mbed アプリケーション (.binを作成) 実行
 NETMF並みの豊富なサービス
 UWP準拠のクラスライブラリを標準装備
 mbedでC#のソースコード・デバッグが可能
 Visual Studioにgdbデバッグ・インターフェース追加
- MIEngine
ドットNETまいくろバンザイ倶楽部
オープンソースカンファレンス 2018 Tokyo/Spring
ドットNET
まいくろ
バンザイ
2018/2/24 16
LLILUM のしくみ
動作概要図
ドットNETまいくろバンザイ倶楽部
C# Application C# Library
mbed-bin
C# VS Compiler
ELF
LLVM Transformer
MSIL
IR
gcc
mbed Converter
オープンソースカンファレンス 2018 Tokyo/Spring
ドットNET
まいくろ
バンザイ
2018/2/24 17
LLILUMの状況
 オープンソース・ライセンスで公開 (Apache V2)
 GitHubで開発, V1.0 リリース済
 NETMF/llilum
 masterが無い!→安定動作版が無い
バージョンによって動作したりしなかったり
 開発環境/SDKのビルド手順が大変!
 Windows 10/x64, VS2015, LLVM 3.7.x, ARM GCC, Make,
CMake, Python 2.7.4, …. まだまだほかにも
 LLVMのビルドに2~3時間かかる
 文書やコミュニティの情報に間違いが多い!
ISSUEを探して解決することが必須
ドットNETまいくろバンザイ倶楽部
オープンソースカンファレンス 2018 Tokyo/Spring
ドットNET
まいくろ
バンザイ LLILUMの状況(続き)
 対応ボード
 NXP LPC1768 512KB/64KB (mbed)
 Freescale FRDM-K64F 1MB/256KB (mbed)
2018/2/24 ドットNETまいくろバンザイ倶楽部 18
オープンソースカンファレンス 2018 Tokyo/Spring
ドットNET
まいくろ
バンザイ LLILUMの状況(続き)
 対応ボード
 Nucleo STM32F091 (mbed)
 Nucleo STM32F401 (mbed)
 Nucleo STM32F411 (mbed)
 Nucleo STM32L152 (mbed)
 32bit Windows PC
2018/2/24 ドットNETまいくろバンザイ倶楽部 19
オープンソースカンファレンス 2018 Tokyo/Spring
ドットNET
まいくろ
バンザイ LLILUMの状況(続き)
 https://github.com/NETMF/llilum
2018/2/24 20ドットNETまいくろバンザイ倶楽部
オープンソースカンファレンス 2018 Tokyo/Spring
ドットNET
まいくろ
バンザイ
2018/2/24 21ドットNETまいくろバンザイ倶楽部
今後はどうなる?
オープンソースカンファレンス 2018 Tokyo/Spring
ドットNET
まいくろ
バンザイ
2018/2/24 22
選択肢
ドットNETまいくろバンザイ倶楽部
 自分でメンテナンス?
 同種のプロジェクト
 NANOFRAMEWORK
https://nanoframework.net/
 TinyCLR OS
http://tinyclr.com/ ただし非オープンソース
松岡さんの移植記事
https://www.slideshare.net/TakashiMatsuoka2/tinyclr-os
https://www.slideshare.net/TakashiMatsuoka2/tinyclr-os-on-wio-lte
 本家?
オープンソースカンファレンス 2018 Tokyo/Spring
ドットNET
まいくろ
バンザイ
2018/2/24 23
.NET Frameworkとの棲み分け
 元々の位置づけ
ドットNETまいくろバンザイ倶楽部
.NET Framework
.NET
Compact
Framework
.NET
Micro
Framework
2000年
未来
Server, Desktop Mobile, Embedded Mi-Com
PC / Windows
Windows CE
Micro
オープンソースカンファレンス 2018 Tokyo/Spring
ドットNET
まいくろ
バンザイ
2018/2/24 24
様子が変わった?
 今はこんな感じ
ドットNETまいくろバンザイ倶楽部
.NET Framework
.NET
Compact
Framework
.NET
Micro
Framework
2016年
未来
Server, Desktop Mobile, Embedded Mi-Com
PC / Windows
Windows CE
Micro
オープンソースカンファレンス 2018 Tokyo/Spring
ドットNET
まいくろ
バンザイ
2018/2/24 25
.NET Framework
 2000年
 CLI (コンセプト)の具体的な実装がCLR
 Windows に大きく依存
 アンダース・ヘルスバーグ
 2001年
 CLIのOpen Source実装→mono
 プラットフォーム独立 (Linux, unix, iOS等, …)
 ミゲル・デ・イカザ (GNOME)
ドットNETまいくろバンザイ倶楽部
オープンソースカンファレンス 2018 Tokyo/Spring
ドットNET
まいくろ
バンザイ
2018/2/24 26
.NET Framework
 2013年
 mono →Xamarin
 ミゲル・デ・イカザ (GNOME)
 2014年
 .NET Framwork → .NET Core
 Windows とは独立でOpen Source実装
 .NET Foundation
 2016年
 Microsoft がXamarin 買収
ドットNETまいくろバンザイ倶楽部
オープンソースカンファレンス 2018 Tokyo/Spring
ドットNET
まいくろ
バンザイ つまり 推測
 Microsoftは 2010年頃までに徐々に
Open Sourceの力を認めた
 そして急激にOpen Sourceに傾倒していった
 NETMFのOpen Source化 (2010年)
 Codeplex → GitHub (Codeplexは凍結)
 Xamarin, Monoとの同化
→ .NET Core
 Windows Subsystem for Linux 10
 Docker, ほかにも… WindowsのLinux化
2018/2/24 ドットNETまいくろバンザイ倶楽部 27
オープンソースカンファレンス 2018 Tokyo/Spring
ドットNET
まいくろ
バンザイ モデルとライブラリ
2018/2/24 ドットNETまいくろバンザイ倶楽部 28
オープンソースカンファレンス 2018 Tokyo/Spring
ドットNET
まいくろ
バンザイ .NET の現状
2018/2/24 ドットNETまいくろバンザイ倶楽部 29
オープンソースカンファレンス 2018 Tokyo/Spring
ドットNET
まいくろ
バンザイ 例えば.NET Coreは
 Raspberry Pi ZeroやNano Pi上の
 Docker上のコンテナで動作
2018/2/24 ドットNETまいくろバンザイ倶楽部 30
Nano Pi Raspberry Pi zero
オープンソースカンファレンス 2018 Tokyo/Spring
ドットNET
まいくろ
バンザイ 今ではこういう製品も
 M5 STACK
 SmartWatch U8
2018/2/24 ドットNETまいくろバンザイ倶楽部 31
オープンソースカンファレンス 2018 Tokyo/Spring
ドットNET
まいくろ
バンザイ
2018/2/24 32
まとめ
 はじめに:出会い
 .NET Micro Framework
 LLILUM
 今後はどうなる?
ドットNETまいくろバンザイ倶楽部

More Related Content

PDF
"OPEN NETWORKING" に向けた Management / Data Plane の動向
PPTX
2015 0227 OSC-Spring Tokyo NETMF
PDF
ネットワークAPI のあれこれ (ENOG37)
PPTX
ESP32開発環境まとめ2
PPTX
ESP32特集の内容紹介
PDF
20131011_openstack-neutron-vyattameeting
PDF
Node最新トピックス
PPTX
OSC Tokyo/Spring NETMF 170311
"OPEN NETWORKING" に向けた Management / Data Plane の動向
2015 0227 OSC-Spring Tokyo NETMF
ネットワークAPI のあれこれ (ENOG37)
ESP32開発環境まとめ2
ESP32特集の内容紹介
20131011_openstack-neutron-vyattameeting
Node最新トピックス
OSC Tokyo/Spring NETMF 170311

Similar to Netmf-180224 (20)

PPTX
OSC Tokyo/Fall NETMF 161105
PPTX
OSC Nagoya NETMF 160528
PDF
2014 0228 OSC-Spring Tokyo NETMF
PPTX
2015 1025 OSC-Fall Tokyo NETMF
PDF
2013 1019osc-fallnetmf
PDF
2013 06-22osc nagoya-netmf
PPTX
2014 1018 OSC-Fall Tokyo NETMF
PDF
.NET の今と今後に思うこと
PDF
インタラクションデザインにおけるオープン化事例の検討
PPTX
ET2016 Smart Japan Alliance Llilum 161118
PPTX
LLILUM and TinyCLR OS
PDF
.NET 最新ロードマップと今押さえておきたい技術要素
PDF
.NET の今と今後に思うこと (Tokyo Ver.)
PDF
[Japan Tech summit 2017] APP 001
PPTX
.NET Micro Framework is my spirit.
PDF
Cloud から IoT まで、なんでもおまかせ ~ .NET 5 正式リリース!
PDF
.NET の過去、現在、そして未来 ~ .NET 最新アップデート
PPT
第1回Fレックス研究会
PDF
.NET 5 勉強会 ~.NET Framework から .NET へ~
PDF
ソフトウェアパターン概論およびパターンを活用したアーキテクチャ設計
OSC Tokyo/Fall NETMF 161105
OSC Nagoya NETMF 160528
2014 0228 OSC-Spring Tokyo NETMF
2015 1025 OSC-Fall Tokyo NETMF
2013 1019osc-fallnetmf
2013 06-22osc nagoya-netmf
2014 1018 OSC-Fall Tokyo NETMF
.NET の今と今後に思うこと
インタラクションデザインにおけるオープン化事例の検討
ET2016 Smart Japan Alliance Llilum 161118
LLILUM and TinyCLR OS
.NET 最新ロードマップと今押さえておきたい技術要素
.NET の今と今後に思うこと (Tokyo Ver.)
[Japan Tech summit 2017] APP 001
.NET Micro Framework is my spirit.
Cloud から IoT まで、なんでもおまかせ ~ .NET 5 正式リリース!
.NET の過去、現在、そして未来 ~ .NET 最新アップデート
第1回Fレックス研究会
.NET 5 勉強会 ~.NET Framework から .NET へ~
ソフトウェアパターン概論およびパターンを活用したアーキテクチャ設計
Ad

More from Atomu Hidaka (20)

PPTX
Guidance for beginners and experts on how to set up a Windows driver developm...
PPTX
What the end of support of Windows 10 will mean?
PPTX
Explains how to use USBView, which is useful for analyzing Windows USB problems
PPTX
Explaining how to use MBR2GPT in preparation for the end of Windows 10 support
PPTX
The requirements for installing Windows 11 on older PCs have been relaxed.
PPTX
EnOcean-iot, Generative-AI, and RAG for LLM
PPTX
Introduction to the Thunder Cloud Project Technical Committee
PPTX
WSL for IoT, Microcomputer, and Yocto Project
PPTX
Tips and tricks for WSL users: Two easy and reliable ways to get started with...
PPTX
Customize Chat-GPT using Azure OpenAI Studio
PPTX
Useful Tips and Tricks for Windows 11 TPM Part 2
PPTX
How to use EnOcean Gateway with Azure OpenAI
PPTX
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
PPTX
Tips and Tricks for developing Windows APO drivers
PPTX
Useful Tips and Tricks for Windows 11 TPM
PPTX
Develop Windows 11 drivers with GitHub Copilot's AI capabilities
PDF
Windows 11 22H2 Feature-Update, Copilot, and Tips
PPTX
Windows 11 information that can be used at the development site
PPTX
ChatGPT solution with EnOcean Gateway
PPTX
Windows ChatGPT Bing AI
Guidance for beginners and experts on how to set up a Windows driver developm...
What the end of support of Windows 10 will mean?
Explains how to use USBView, which is useful for analyzing Windows USB problems
Explaining how to use MBR2GPT in preparation for the end of Windows 10 support
The requirements for installing Windows 11 on older PCs have been relaxed.
EnOcean-iot, Generative-AI, and RAG for LLM
Introduction to the Thunder Cloud Project Technical Committee
WSL for IoT, Microcomputer, and Yocto Project
Tips and tricks for WSL users: Two easy and reliable ways to get started with...
Customize Chat-GPT using Azure OpenAI Studio
Useful Tips and Tricks for Windows 11 TPM Part 2
How to use EnOcean Gateway with Azure OpenAI
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
Tips and Tricks for developing Windows APO drivers
Useful Tips and Tricks for Windows 11 TPM
Develop Windows 11 drivers with GitHub Copilot's AI capabilities
Windows 11 22H2 Feature-Update, Copilot, and Tips
Windows 11 information that can be used at the development site
ChatGPT solution with EnOcean Gateway
Windows ChatGPT Bing AI
Ad

Netmf-180224