osc tokyo/spring netmf 170311
TRANSCRIPT
オープンソースカンファレンス 2017 Tokyo/Spring
2017/3/11 ドット NET まいくろバンザイ倶楽部 1
ドット NET まいくろ バンザイ倶楽部日高亜友
- NETMF の今後 , LLILUM -
オープンソースになったマイコン開発環境.NET Micro Framework の紹介。
ドット NETまいくろバンザイ
オープンソースカンファレンス 2017 Tokyo/Spring
ドット NETまいくろバンザイ
22017/3/11
セッション内容 はじめに:なぜ興味を持ったか? .NET Micro Framework とは? LLILUM 今後はどうなる?
ドット NETまいくろバンザイ倶楽部
オープンソースカンファレンス 2017 Tokyo/Spring
ドット NETまいくろバンザイ
32017/3/11
はじめに
ドット NETまいくろバンザイ倶楽部
なぜ.NET Framework に興味を持ったか?
オープンソースカンファレンス 2017 Tokyo/Spring
ドット NETまいくろバンザイ
42017/3/11
組み込み開発者の悩み 昔は
OS サポートベースの IO が使いたい デバイスドライバのこと
豊富なミドルウェア(プロトコル・ファイルシステム)を安くしかも安定したものを入手
高級言語でのアプリケーション開発(アセンブラ以外) C 言語のこと
例:組み込み Linux + awk/shell/sed
ドット NETまいくろバンザイ倶楽部
オープンソースカンファレンス 2017 Tokyo/Spring
ドット NETまいくろバンザイ
52017/3/11
組み込み開発者の悩み 時が経つと
非同期処理と同期処理を容易に扱いたい マルチ IO を容易に扱いたい マルチスレッドを容易に扱いたい 高速化を簡単に 複雑化なプログラムを簡単に
↓ 組込みシステムでも C# を使いたい
ドット NETまいくろバンザイ倶楽部
C# は偉大な言語
ハードウェアが進化拡大
複雑化
オープンソースカンファレンス 2017 Tokyo/Spring
ドット NETまいくろバンザイ 参考:プログラミング言語の進化 登場時期と系統
2017/3/11 ドット NETまいくろバンザイ倶楽部 6
Mesa
Delphi
SmallTalk
Cedar
Pascal
Java
C#
1970年
1980年
1990年
2000年
BCPL
C
C++UCSD Pascal
Turbo Pascal
J#
Anders Hejlsberg
Niklaus Wirth
James Gosling, Bill Joy
Alan Kay
Kernighan & Ritchie
Bjarne Stroustrup
Objective-CBrad Cox, Steve Jobs
Kenneth Bowles
Turbo C
角丸は中間言語型
C でプログラミングするには
人生は短すぎるby Miguel de Icaza, Mono Project
オープンソースカンファレンス 2017 Tokyo/Spring
ドット NETまいくろバンザイ
72017/3/11 ドット NETまいくろバンザイ倶楽部
NET Micro Framework(NETMF)
オープンソースカンファレンス 2017 Tokyo/Spring
ドット NETまいくろバンザイ
82017/3/11
.NET Micro Framework とは? 元々は Microsoft Research 開発の組み込み OS
Colin Miller 氏を中心とするグループが開発 Visual C# / Visual Basic で開発した IL
.NET アセンブリ を中間コードインタプリタで実行
豊富なドライバとライブラリを標準装備 オープンソース・ライセンスで公開 (Apache
V2) 30 種以上のプラットフォームに移植されて動
作 .NET Micro Framework (NETMF) 移植済み SOC 業務アプリケーション・システム応用事例
ドット NETまいくろバンザイ倶楽部
オープンソースカンファレンス 2017 Tokyo/Spring
ドット NETまいくろバンザイ NETMF 開発リーダー Colin Miller
Steve Maillet
2017/3/11 ドット NETまいくろバンザイ倶楽部 9
オープンソースカンファレンス 2017 Tokyo/Spring
ドット NETまいくろバンザイ .NET Micro Framework の歴史 2001 年 V 1.0
SPOT Watch / MSN Direct Service( Microsoft リサーチ)
2006 年 V2.0Windows 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
2017/3/11 10ドット NETまいくろバンザイ倶楽部
開発キット約 30 万円
オープンソースカンファレンス 2017 Tokyo/Spring
ドット NETまいくろバンザイ
112017/3/11
NETMF の本質 元 Windows CE 未満 MMU 無しプラット
フォーム 組込み製品となるはずだった OS
移植キット販売、製品ライセンス販売予定 だった 2010 年にオープンソース化
Apache V2 ライセンス→無償で商用利用可能⇒ 製品相当の機能・性能・品質 を無料で公開 2015 年 正式サポート製品 GR-Peach 国内販売 国産製品化第 1 号
2015 年に GitHub へ移行、コミュニティ化推進 ドット NETまいくろバンザイ倶楽部
オープンソースカンファレンス 2017 Tokyo/Spring
ドット NETまいくろバンザイ GitHub / netmf-interpreter
https://github.com/NETMF/netmf-interpreter
GitHubNETMF / netmf-interpreter
2017/3/11 12ドット NETまいくろバンザイ倶楽部
オープンソースカンファレンス 2017 Tokyo/Spring
ドット NETまいくろバンザイ アーキテクチャ
全体構成
2 種類の実装方法 - Native Platform - “OS on OS” solution
2017/3/11 13ドット NETまいくろバンザイ倶楽部
アプリケーション開発
ライブラリ開発プラットフォーム移
植
CLR: Common Language RuntimeHAL: Hardware Abstraction LayerPAL: Platform Abstraction Layer
オープンソースカンファレンス 2017 Tokyo/Spring
ドット NETまいくろバンザイ
142017/3/11
V4.4 が動作するボード PK 標準サポートボード
STM32F4Discovery
STM32F429Discovery
KEIL MCBSTM32F400
ドット NETまいくろバンザイ倶楽部
オープンソースカンファレンス 2017 Tokyo/Spring
ドット NETまいくろバンザイ
152017/3/11
V4.4 移植事例 関本健太郎氏の移植成果
GR-Peach Nucleo STM32F401 Nucleo STM32L476RG
ドット NETまいくろバンザイ倶楽部
Facebook のNETMF on mbed 準備会
で公開
オープンソースカンファレンス 2017 Tokyo/Spring
ドット NETまいくろバンザイ
162017/3/11
最近の状況
ドット NETまいくろバンザイ倶楽部
開発が停滞気味 派生プロジェクト .NET Gadgeteer の実質開発
中止 STM32F429Discovery 関連が9月に追加・変更
されたのが最後 原因
Raspberry Pi / Raspbian の普及 高性能安価なハードウェア蔓延 Windows 10 IoT Core の登場 新型マイコン / ボードの市場投入頻度アップ IoT ブームで開発者の興味がセンサーや無線に
Microsoft の開発者が減った?
Colin退職後…
open issue=152
オープンソースカンファレンス 2017 Tokyo/Spring
ドット NETまいくろバンザイ
172017/3/11 ドット NETまいくろバンザイ倶楽部
LLILUM
オープンソースカンファレンス 2017 Tokyo/Spring
ドット NETまいくろバンザイ
182017/3/11
LLILUM とは? NETMF と同じ開発者が開発している 組込みアプリケーション実行環境
Visual C# で開発した UWP (NETMF)互換の IL をLLVM ベースの .NET コンパイラでコンパイル後mbed アプリケーション (.bin を作成 ) 実行
豊富なサービス UWP 準拠のクラスライブラリを標準装備 mbed で C# のソースコード・デバッグが可能
Visual Studio に gdb デバッグ・インターフェース追加- MIEngine
ドット NETまいくろバンザイ倶楽部
オープンソースカンファレンス 2017 Tokyo/Spring
ドット NETまいくろバンザイ GitHub / llilum
https://github.com/NETMF/llilum
GitHubNETMF / llilum
2017/3/11 19ドット NETまいくろバンザイ倶楽部
オープンソースカンファレンス 2017 Tokyo/Spring
ドット NETまいくろバンザイ
202017/3/11
LLILUM のしくみ動作概要図
ドット NETまいくろバンザイ倶楽部
C# Application
C# Library
mbed-bin
C# VS Compiler
ELF
LLVM Transformer
MSIL
IR
gcc
mbed Converter
オープンソースカンファレンス 2017 Tokyo/Spring
ドット NETまいくろバンザイ
212017/3/11
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まいくろバンザイ倶楽部
オープンソースカンファレンス 2017 Tokyo/Spring
ドット NETまいくろバンザイ
222017/3/11
最近の状況
ドット NETまいくろバンザイ倶楽部
開発が停滞気味 BSP NuGet 化等の追加機能中断=実質開発中止 dev branch が9月に追加・変更されたのが最後
原因 Raspberry Pi / Raspbian の普及 高性能安価なハードウェア蔓延 Windows 10 IoT Core の登場 新型マイコン / ボードの市場投入頻度アップ IoT ブームで開発者の興味がセンサーや無線に
open issue=100
オープンソースカンファレンス 2017 Tokyo/Spring
ドット NETまいくろバンザイ LLILUM の状況(続き) 対応ボード
NXP LPC1768 512KB/64KB (mbed)
Freescale FRDM-K64F 1MB/256KB (mbed)
2017/3/11 ドット NETまいくろバンザイ倶楽部 23
オープンソースカンファレンス 2017 Tokyo/Spring
ドット NETまいくろバンザイ LLILUM の状況(続き) 対応ボード
Nucleo STM32F091 (mbed) Nucleo STM32F401 (mbed) Nucleo STM32F411 (mbed) Nucleo STM32L152 (mbed)
32bit Windows PC
2017/3/11 ドット NETまいくろバンザイ倶楽部 24
オープンソースカンファレンス 2017 Tokyo/Spring
ドット NETまいくろバンザイ
252017/3/11 ドット NETまいくろバンザイ倶楽部
今後はどうなる?
オープンソースカンファレンス 2017 Tokyo/Spring
ドット NETまいくろバンザイ
262017/3/11
何でこうなった? 元々の位置づけ
ドット NETまいくろバンザイ倶楽部
.NET Framework .NETCompact
Framework.NETMicro
Framework
2000 年
未来 Server, Desktop Mobile, Embedded Mi-Com
PC / WindowsWindows CE
Micro
オープンソースカンファレンス 2017 Tokyo/Spring
ドット NETまいくろバンザイ
272017/3/11
.NET Framework 2000 年
CLI ( コンセプト ) の具体的な実装が CLR Windows に大きく依存 アンダース・ヘルスバーグ
2001 年 CLI の Open Source 実装→ mono プラットフォーム独立 (Linux, unix, iOS等 , …) ミゲル・デ・イカザ (GNOME)
ドット NETまいくろバンザイ倶楽部
オープンソースカンファレンス 2017 Tokyo/Spring
ドット NETまいくろバンザイ
282017/3/11
.NET Framework 2013 年
mono →Xamarin ミゲル・デ・イカザ (GNOME)
2014 年 .NET Framwork → .NET Core
Windows とは独立で Open Source 実装 .NET Foundation
2016 年 Microsoft が Xamarin 買収
ドット NETまいくろバンザイ倶楽部
オープンソースカンファレンス 2017 Tokyo/Spring
ドット NETまいくろバンザイ つまり 推測 Microsoft は 2010 年頃までに徐々に
Open Source の力を認めた そして急激に Open Source に傾倒していった
NETMF の Open Source 化 (2010 年 ) Codeplex → GitHub WDF の Open Source 化 .NET Core Bash On Ubuntu On Windows 10 ほかにも…
2017/3/11 ドット NETまいくろバンザイ倶楽部 29
オープンソースカンファレンス 2017 Tokyo/Spring
ドット NETまいくろバンザイ
2017/3/11 ドット NETまいくろバンザイ倶楽部 30
オープンソースカンファレンス 2017 Tokyo/Spring
ドット NETまいくろバンザイ 2 大プラットフォーム・ファミリ
2017/3/11 ドット NETまいくろバンザイ倶楽部 31
オープンソースカンファレンス 2017 Tokyo/Spring
ドット NETまいくろバンザイ モデルとライブラリ
2017/3/11 ドット NETまいくろバンザイ倶楽部 32
オープンソースカンファレンス 2017 Tokyo/Spring
ドット NETまいくろバンザイ .NET の今後
2017/3/11 ドット NETまいくろバンザイ倶楽部 33
オープンソースカンファレンス 2017 Tokyo/Spring
ドット NETまいくろバンザイ
342017/3/11
補足(1) ちょうど3月 11 日のセミナー後 NET-MF Mailing List 宛
にSteve Steve Maillet 氏から届いた某質問への回答メール
要約 NETMF は GitHub の dotnet organization アカウントには属していませんが、 .NET Foundation の一部になっています。→つまり .NET Foundation が無くならない限り継続するということだろう。
ドット NETまいくろバンザイ倶楽部
Subject: Re: [NETMF/netmf-interpreter] Is .Net MF being discontinued?NETMF is already a apart of .NET Foundation.Due to historical reasons it isn't under the GitHub dotnet organization.(It is possible to change that, though it isn't without potential disruptions as all local repos would need to reset their upstream "remote". Thus far there, hasn't been a significant driver for doing that. But if a rationale argument can be made and enough regular users agree it's not out of the question to shift that.
オープンソースカンファレンス 2017 Tokyo/Spring
ドット NETまいくろバンザイ
352017/3/11
補足(2) 実験用 LLILUM-SDK の公開先
downloadhttp://www.devdrv.co.jp/hidaka/files/llilum-160528.zip
Bloghttp://www.devdrv.co.jp/hidaka/node/62
決してお勧めしません 非常に不安定です 自己責任でお願いします
ドット NETまいくろバンザイ倶楽部
オープンソースカンファレンス 2017 Tokyo/Spring
ドット NETまいくろバンザイ
362017/3/11
まとめ はじめに:なぜ興味を持ったか? .NET Micro Framework とは? LLILUM 今後はどうなる? 補足情報
ドット NETまいくろバンザイ倶楽部