Submit Search
Upload
いまどきの組込みOSの ZephyrRTOSと OpenThreadを Arduino環境で遊んでみる
•
Download as PPTX, PDF
•
3 likes
•
1,269 views
裕士 常田
Follow
いまどきの組込みOSの ZephyrRTOSと OpenThreadを Arduino環境で遊んでみる
Read less
Read more
Technology
Report
Share
Report
Share
1 of 16
Download now
Recommended
本当にわかる Spectre と Meltdown
本当にわかる Spectre と Meltdown
Hirotaka Kawata
ARM LinuxのMMUはわかりにくい
ARM LinuxのMMUはわかりにくい
wata2ki
レシピの作り方入門
レシピの作り方入門
Nobuhiro Iwamatsu
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
NTT DATA Technology & Innovation
Docker Compose入門~今日から始めるComposeの初歩からswarm mode対応まで
Docker Compose入門~今日から始めるComposeの初歩からswarm mode対応まで
Masahito Zembutsu
WebRTCとSFU
WebRTCとSFU
Saki Homma
できる!並列・並行プログラミング
できる!並列・並行プログラミング
Preferred Networks
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Akihiro Suda
Recommended
本当にわかる Spectre と Meltdown
本当にわかる Spectre と Meltdown
Hirotaka Kawata
ARM LinuxのMMUはわかりにくい
ARM LinuxのMMUはわかりにくい
wata2ki
レシピの作り方入門
レシピの作り方入門
Nobuhiro Iwamatsu
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
NTT DATA Technology & Innovation
Docker Compose入門~今日から始めるComposeの初歩からswarm mode対応まで
Docker Compose入門~今日から始めるComposeの初歩からswarm mode対応まで
Masahito Zembutsu
WebRTCとSFU
WebRTCとSFU
Saki Homma
できる!並列・並行プログラミング
できる!並列・並行プログラミング
Preferred Networks
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Akihiro Suda
Docker Compose 徹底解説
Docker Compose 徹底解説
Masahito Zembutsu
Topology Managerについて / Kubernetes Meetup Tokyo 50
Topology Managerについて / Kubernetes Meetup Tokyo 50
Preferred Networks
Dapr × Kubernetes ではじめるポータブルなマイクロサービス(CloudNative Days Tokyo 2020講演資料)
Dapr × Kubernetes ではじめるポータブルなマイクロサービス(CloudNative Days Tokyo 2020講演資料)
NTT DATA Technology & Innovation
ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門
Fixstars Corporation
WebRTCを利用した遠隔リアルタイム映像処理フレームワークの実装
WebRTCを利用した遠隔リアルタイム映像処理フレームワークの実装
tnoho
root権限無しでKubernetesを動かす
root権限無しでKubernetesを動かす
Akihiro Suda
コンテナとimmutableとわたし。あとセキュリティ。(Kubernetes Novice Tokyo #15 発表資料)
コンテナとimmutableとわたし。あとセキュリティ。(Kubernetes Novice Tokyo #15 発表資料)
NTT DATA Technology & Innovation
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Kohei Tokunaga
DockerコンテナでGitを使う
DockerコンテナでGitを使う
Kazuhiro Suga
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
VirtualTech Japan Inc.
いまさら聞けないarmを使ったNEONの基礎と活用事例
いまさら聞けないarmを使ったNEONの基礎と活用事例
Fixstars Corporation
Android起動周りのノウハウ
Android起動周りのノウハウ
chancelab
Androidの新ビルドシステム
Androidの新ビルドシステム
l_b__
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Shin Ohno
こわくない Git
こわくない Git
Kota Saito
RustによるGPUプログラミング環境
RustによるGPUプログラミング環境
KiyotomoHiroyasu
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
Preferred Networks
基礎から学ぶ組み込みAndroid
基礎から学ぶ組み込みAndroid
demuyan
Interrupt Affinityについて
Interrupt Affinityについて
Takuya ASADA
仮想化環境におけるパケットフォワーディング
仮想化環境におけるパケットフォワーディング
Takuya ASADA
Android タブレットにLinuxを入れて色々と遊んでみよう 続編その2 Hacking of Android Tablet on Linux
Android タブレットにLinuxを入れて色々と遊んでみよう 続編その2 Hacking of Android Tablet on Linux
Netwalker lab kapper
Android タブレットにLinuxを入れて色々と遊んでみよう 続編その2 Hacking of Android Tablet on Linux 2
Android タブレットにLinuxを入れて色々と遊んでみよう 続編その2 Hacking of Android Tablet on Linux 2
Netwalker lab kapper
More Related Content
What's hot
Docker Compose 徹底解説
Docker Compose 徹底解説
Masahito Zembutsu
Topology Managerについて / Kubernetes Meetup Tokyo 50
Topology Managerについて / Kubernetes Meetup Tokyo 50
Preferred Networks
Dapr × Kubernetes ではじめるポータブルなマイクロサービス(CloudNative Days Tokyo 2020講演資料)
Dapr × Kubernetes ではじめるポータブルなマイクロサービス(CloudNative Days Tokyo 2020講演資料)
NTT DATA Technology & Innovation
ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門
Fixstars Corporation
WebRTCを利用した遠隔リアルタイム映像処理フレームワークの実装
WebRTCを利用した遠隔リアルタイム映像処理フレームワークの実装
tnoho
root権限無しでKubernetesを動かす
root権限無しでKubernetesを動かす
Akihiro Suda
コンテナとimmutableとわたし。あとセキュリティ。(Kubernetes Novice Tokyo #15 発表資料)
コンテナとimmutableとわたし。あとセキュリティ。(Kubernetes Novice Tokyo #15 発表資料)
NTT DATA Technology & Innovation
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Kohei Tokunaga
DockerコンテナでGitを使う
DockerコンテナでGitを使う
Kazuhiro Suga
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
VirtualTech Japan Inc.
いまさら聞けないarmを使ったNEONの基礎と活用事例
いまさら聞けないarmを使ったNEONの基礎と活用事例
Fixstars Corporation
Android起動周りのノウハウ
Android起動周りのノウハウ
chancelab
Androidの新ビルドシステム
Androidの新ビルドシステム
l_b__
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Shin Ohno
こわくない Git
こわくない Git
Kota Saito
RustによるGPUプログラミング環境
RustによるGPUプログラミング環境
KiyotomoHiroyasu
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
Preferred Networks
基礎から学ぶ組み込みAndroid
基礎から学ぶ組み込みAndroid
demuyan
Interrupt Affinityについて
Interrupt Affinityについて
Takuya ASADA
仮想化環境におけるパケットフォワーディング
仮想化環境におけるパケットフォワーディング
Takuya ASADA
What's hot
(20)
Docker Compose 徹底解説
Docker Compose 徹底解説
Topology Managerについて / Kubernetes Meetup Tokyo 50
Topology Managerについて / Kubernetes Meetup Tokyo 50
Dapr × Kubernetes ではじめるポータブルなマイクロサービス(CloudNative Days Tokyo 2020講演資料)
Dapr × Kubernetes ではじめるポータブルなマイクロサービス(CloudNative Days Tokyo 2020講演資料)
ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門
WebRTCを利用した遠隔リアルタイム映像処理フレームワークの実装
WebRTCを利用した遠隔リアルタイム映像処理フレームワークの実装
root権限無しでKubernetesを動かす
root権限無しでKubernetesを動かす
コンテナとimmutableとわたし。あとセキュリティ。(Kubernetes Novice Tokyo #15 発表資料)
コンテナとimmutableとわたし。あとセキュリティ。(Kubernetes Novice Tokyo #15 発表資料)
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
DockerコンテナでGitを使う
DockerコンテナでGitを使う
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
いまさら聞けないarmを使ったNEONの基礎と活用事例
いまさら聞けないarmを使ったNEONの基礎と活用事例
Android起動周りのノウハウ
Android起動周りのノウハウ
Androidの新ビルドシステム
Androidの新ビルドシステム
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
こわくない Git
こわくない Git
RustによるGPUプログラミング環境
RustによるGPUプログラミング環境
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
基礎から学ぶ組み込みAndroid
基礎から学ぶ組み込みAndroid
Interrupt Affinityについて
Interrupt Affinityについて
仮想化環境におけるパケットフォワーディング
仮想化環境におけるパケットフォワーディング
Similar to いまどきの組込みOSの ZephyrRTOSと OpenThreadを Arduino環境で遊んでみる
Android タブレットにLinuxを入れて色々と遊んでみよう 続編その2 Hacking of Android Tablet on Linux
Android タブレットにLinuxを入れて色々と遊んでみよう 続編その2 Hacking of Android Tablet on Linux
Netwalker lab kapper
Android タブレットにLinuxを入れて色々と遊んでみよう 続編その2 Hacking of Android Tablet on Linux 2
Android タブレットにLinuxを入れて色々と遊んでみよう 続編その2 Hacking of Android Tablet on Linux 2
Netwalker lab kapper
Qt creatorでremote_debug
Qt creatorでremote_debug
Kazuo Asano (@kazuo_asa)
Open Source Conference Kansai@Kyoto 2012 presentaiton about Tizen and Tizen M...
Open Source Conference Kansai@Kyoto 2012 presentaiton about Tizen and Tizen M...
Yuya Adachi
Introduction about Tizen on Open Seminor Kagawa 2012
Introduction about Tizen on Open Seminor Kagawa 2012
Yuya Adachi
Gentoo Linuxの紹介
Gentoo Linuxの紹介
University of Tsukuba Linux User Group
20230128.pptx
20230128.pptx
ssuserdad311
ゼロからはじめるTerraformでのDevOps2021
ゼロからはじめるTerraformでのDevOps2021
Wataru Unno
Unbound/NSD最新情報(OSC 2014 Tokyo/Spring)
Unbound/NSD最新情報(OSC 2014 Tokyo/Spring)
Takashi Takizawa
Android タブレット、スマートウォッチにLinuxを入れて色々と遊んでみよう Hacking of Android Tablet and Smart...
Android タブレット、スマートウォッチにLinuxを入れて色々と遊んでみよう Hacking of Android Tablet and Smart...
Netwalker lab kapper
CentOS Linux 8 の EOL と対応策の検討
CentOS Linux 8 の EOL と対応策の検討
Masahito Zembutsu
Tizen & Crosswalk
Tizen & Crosswalk
Naruto TAKAHASHI
AzureでopenSUSE Leap42.1が使えるよ!
AzureでopenSUSE Leap42.1が使えるよ!
Kento Kawakami
2014 1018 OSC-Fall Tokyo NETMF
2014 1018 OSC-Fall Tokyo NETMF
Atomu Hidaka
Jetson Xavier NX クラウドネイティブをエッジに
Jetson Xavier NX クラウドネイティブをエッジに
NVIDIA Japan
Hacking with x86 Windows Tablet and mobile devices on openSUSE #opensuseasia17
Hacking with x86 Windows Tablet and mobile devices on openSUSE #opensuseasia17
Netwalker lab kapper
WebRTC SFU mediasoup sample
WebRTC SFU mediasoup sample
mganeko
ドライバハッキング。UMPC、Windowsタブレット にLinux、*BSDを入れて遊ぼう 2017年度京都版 #osckyoto
ドライバハッキング。UMPC、Windowsタブレット にLinux、*BSDを入れて遊ぼう 2017年度京都版 #osckyoto
Netwalker lab kapper
Getting Started .NET Core
Getting Started .NET Core
Yuta Matsumura
2006-04-22 CLR/H #14 .NET and open source
2006-04-22 CLR/H #14 .NET and open source
Yoshiyuki Nakamura
Similar to いまどきの組込みOSの ZephyrRTOSと OpenThreadを Arduino環境で遊んでみる
(20)
Android タブレットにLinuxを入れて色々と遊んでみよう 続編その2 Hacking of Android Tablet on Linux
Android タブレットにLinuxを入れて色々と遊んでみよう 続編その2 Hacking of Android Tablet on Linux
Android タブレットにLinuxを入れて色々と遊んでみよう 続編その2 Hacking of Android Tablet on Linux 2
Android タブレットにLinuxを入れて色々と遊んでみよう 続編その2 Hacking of Android Tablet on Linux 2
Qt creatorでremote_debug
Qt creatorでremote_debug
Open Source Conference Kansai@Kyoto 2012 presentaiton about Tizen and Tizen M...
Open Source Conference Kansai@Kyoto 2012 presentaiton about Tizen and Tizen M...
Introduction about Tizen on Open Seminor Kagawa 2012
Introduction about Tizen on Open Seminor Kagawa 2012
Gentoo Linuxの紹介
Gentoo Linuxの紹介
20230128.pptx
20230128.pptx
ゼロからはじめるTerraformでのDevOps2021
ゼロからはじめるTerraformでのDevOps2021
Unbound/NSD最新情報(OSC 2014 Tokyo/Spring)
Unbound/NSD最新情報(OSC 2014 Tokyo/Spring)
Android タブレット、スマートウォッチにLinuxを入れて色々と遊んでみよう Hacking of Android Tablet and Smart...
Android タブレット、スマートウォッチにLinuxを入れて色々と遊んでみよう Hacking of Android Tablet and Smart...
CentOS Linux 8 の EOL と対応策の検討
CentOS Linux 8 の EOL と対応策の検討
Tizen & Crosswalk
Tizen & Crosswalk
AzureでopenSUSE Leap42.1が使えるよ!
AzureでopenSUSE Leap42.1が使えるよ!
2014 1018 OSC-Fall Tokyo NETMF
2014 1018 OSC-Fall Tokyo NETMF
Jetson Xavier NX クラウドネイティブをエッジに
Jetson Xavier NX クラウドネイティブをエッジに
Hacking with x86 Windows Tablet and mobile devices on openSUSE #opensuseasia17
Hacking with x86 Windows Tablet and mobile devices on openSUSE #opensuseasia17
WebRTC SFU mediasoup sample
WebRTC SFU mediasoup sample
ドライバハッキング。UMPC、Windowsタブレット にLinux、*BSDを入れて遊ぼう 2017年度京都版 #osckyoto
ドライバハッキング。UMPC、Windowsタブレット にLinux、*BSDを入れて遊ぼう 2017年度京都版 #osckyoto
Getting Started .NET Core
Getting Started .NET Core
2006-04-22 CLR/H #14 .NET and open source
2006-04-22 CLR/H #14 .NET and open source
More from 裕士 常田
WeblateでOSSの翻訳に参加する
WeblateでOSSの翻訳に参加する
裕士 常田
Node native ext
Node native ext
裕士 常田
Arduino library の作り方 2020
Arduino library の作り方 2020
裕士 常田
BlackMagic ProbeでARMをデバッグする
BlackMagic ProbeでARMをデバッグする
裕士 常田
HKマスクを作ってみた
HKマスクを作ってみた
裕士 常田
Openthread / nrf52811 調査(仮)
Openthread / nrf52811 調査(仮)
裕士 常田
Arduino compatible layer (with 6LoWPAN) on Contiki
Arduino compatible layer (with 6LoWPAN) on Contiki
裕士 常田
KiCadで雑に基板を作る チュートリアル
KiCadで雑に基板を作る チュートリアル
裕士 常田
Mft2014 defeated
Mft2014 defeated
裕士 常田
DVB recording command on gstreamer.
DVB recording command on gstreamer.
裕士 常田
Traveltoitalia
Traveltoitalia
裕士 常田
More from 裕士 常田
(11)
WeblateでOSSの翻訳に参加する
WeblateでOSSの翻訳に参加する
Node native ext
Node native ext
Arduino library の作り方 2020
Arduino library の作り方 2020
BlackMagic ProbeでARMをデバッグする
BlackMagic ProbeでARMをデバッグする
HKマスクを作ってみた
HKマスクを作ってみた
Openthread / nrf52811 調査(仮)
Openthread / nrf52811 調査(仮)
Arduino compatible layer (with 6LoWPAN) on Contiki
Arduino compatible layer (with 6LoWPAN) on Contiki
KiCadで雑に基板を作る チュートリアル
KiCadで雑に基板を作る チュートリアル
Mft2014 defeated
Mft2014 defeated
DVB recording command on gstreamer.
DVB recording command on gstreamer.
Traveltoitalia
Traveltoitalia
Recently uploaded
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
FumieNakayama
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Hiroki Ichikura
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
Hiroshi Tomioka
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
Yuki Kikuchi
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
sugiuralab
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
UEHARA, Tetsutaro
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
FumieNakayama
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
akihisamiyanaga1
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
博三 太田
Recently uploaded
(9)
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
いまどきの組込みOSの ZephyrRTOSと OpenThreadを Arduino環境で遊んでみる
1.
いまどきの組込みOSの ZephyrRTOSと OpenThreadを Arduino環境で遊んでみる あすもの研 5月度 MEETUP 富士通コンピューターテクノロジーズ
常田 裕士
2.
最近の組み込みOS事情 qFreeRTOS • Anazonが買収(2017年) ThreadX RTOS •
Microsoftが買収(2019年)
3.
Zephyr-RTOS q元々WindRiver社のプロジェクトだったが、オープンソース化 q現在はLinux Foundationが開発を進めている • Nordic
Semiconductorが積極的にコミット q4月に最新版のv1.14.0がリリース
4.
Zephyr-RTOSの特徴 q全体的にLinux風味の組み込みOS qprintk()など、Linuxのカーネル見たことある人なら、 ナントナクソレッポイのが見える。 qいろんなハードに対応するため、Linuxで実績のあるmenuconfigを移植している 現在150種類以上のボードに対応 q FreeRTOSと比べると、「大きなOS」 q FreeRTOSは敢えてタスクの実行関係だけに絞っていて、他はオプション q
ZephyrRTOSはドライバから何から、「色々入っている」 menuconfig, DeviceTree導入の帰結で、要らないものを外してコンパイルできるから。
5.
OpenThread Google傘下のNestが作ったIoT向け通信規格のThreadのオープンソース版 IEEE802.15.4, 6LoWPAN, COAPなどのオープン標準の上に作られている。 Threadの仕様はThread
Groupで作っている。 • 仕様書は登録すれば無料で読める。ただし情報公開に制限あり。 • 認証には金がかかる(Bluetoothなんかと同じ) 各種の組み込みOSに埋め込んで使える。 • 現在ZephyrRTOSとFreeRTOSに対応が入っている。
6.
Google Next Hub
Maxに搭載! 2019年夏、アメリカ、イギリス、オーストラリアで発売予定
7.
ZephyrRTOSをArduino環境から使う https://github.com/soburi/arduino-on-zephyr 実体としては、ZephyrRTOS組み込んだArduino互換実装 Arduinoからコンパイルできるようにするために、あの手この手で動かしている。
8.
main()が動けばいいじゃない! // cores/arduino/main.cpp int main(void) { init(); initVariant(); setup(); for
(;;) { loop(); if (serialEventRun) serialEventRun(); } return 0; } Arduinoのメインの処理はこれだけ。 Init(), initVariant()は初期化処理。必要なければ何もし なくてもよい。 serialEventRunも設定しなければ何もしない。 setup(), loop()は自分で書いている。 実は何もしなくてよい。
9.
Lチカ pinMode(), digitalWrite(),
delay()は作る必要がある だいたい似たような関数がZephyrRTOSにある • delay() ZephyrRTOSではk_sleep()が全く同じ機能。 • digitalWrite() gpio_pin_write()が同じ機能。ピンの番号だけ変換。 • pinMode() • gpio_pin_configure()が同じ機能 attachIntterupt()もpinの設定を変えるけど? Arduinoだと、attachInterrupt()はレジスタ見てピン状態を確認してる ZephyrRTOSだと、ピンの状態調べられない?! いい感じに実装する void setup() { pinMode(LED_BUILTIN, OUTPUT); } void loop() { digitalWrite(LED_BUILTIN, HIGH); delay(1000); digitalWrite(LED_BUILTIN, LOW); delay(1000); }
10.
コンパイルする 最近のArduino(1.8以降)はarduino-builderのコマンドを経由 して、コンパイラを動かしている Arduinoのhardware以下のフォルダにあるplatform.txtを読 み取って、コンパイルのコマンドを決めている。 Arduinoの.inoファイルはコンパイル時にC++のソースに変換 される。 ArduinoIDE arduino-builder.exe gcc
11.
ZephyrRTOSのコンパイル ZephyrRTOSではCMakeとninjaでビルドシステムが作られて いる。 コンパイラの設定はZephyrRTOS側で持っている CMake ninja gcc
12.
黒魔術 arduino-builderからコンパイラが起動されるので、platform.txtを書き 換えて、コンパイラの部分を乗っ取る コンパイルのコマンドを引っ掻き集めて、CMakeのファイルを作る。 あとはZephyrRTOSのビルドの仕組みでビルドする。 arduino-builderのpreprocessの処理が酷い 使われているライブラリを探す処理をpreprocessでやっている インストールされているライブラリのディレクトリをひとつずつ include対象にして、総当たりでコンパイルエラーが発生しない 設定を探す。 ArduinoIDE arduion-builder.exe 独自コマンド CMake Ninja gcc
13.
独自ライブラリを作る 今回はZephyrRTOSに組み込まれているOpenThreadを使いたいので、ライブラリを作成した 基本的には、「関数を呼ぶだけ」 https://www.arduino.cc/en/Reference/APIStyleGuide • Arduinoのライブラリの作成ガイド • Don’t
assume knowledge of pointers. • ArduinoのAPI設計の根幹 • Computer Science的な原則と敵対することになる。 • Abstract禁止! • これを守ると、ライブラリの使用感がArduinoっぽくなる。
14.
通信 自作のOpenThread APIを使って、RaspberryPiと UDP
echoで単純な通信ができた。 通信自体は従来のArduinoのUDPライブラリと同じ。ノウハウがそのまま使える。 NRF52840 (Arduino化) RaspberryPI (Linux) OpenThread モジュール echo echo
15.
nRF52840 国内で入手できるモジュールもようやく増えてきた https://www.sparkfun.com/products/15025 千石電商で売ってる https://www.switch-science.com/catalog/5400/ SwitchScienceで売ってる https://makezine.com/2019/05/17/arduino-unveils-new-nano-family-of-boards/ 5/17に発表された
Arduino Nano33 にも搭載予定
16.
まとめ ZephyrRTOS/OpenThreadはGoogle Nest Hub
Maxが流行ると、面白くなるかも。 arduinoのAPIの設計はクセがある。 arduino-builderの闇は深い。 nRF52840のボードが出てきたので、OpenThreadで遊ぶ環境が作りやすくなった。 OpenThreadを触ってるやつがいない。
Download now