Enviar pesquisa
Carregar
HaskellではじめるCortex-M3組込みプログラミング
•
5 gostaram
•
2,837 visualizações
Kiwamu Okabe
Seguir
Tecnologia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 11
Baixar agora
Baixar para ler offline
Recomendados
Does LUNA-88K2 dream of PC Card? / Using PC Card on OpenBSD/luna88k
Does LUNA-88K2 dream of PC Card? / Using PC Card on OpenBSD/luna88k
Kenji Aoyama
Node 学園祭 2012 用
Node 学園祭 2012 用
Rei Kawai
Intro to SVE 富岳のA64FXを触ってみた
Intro to SVE 富岳のA64FXを触ってみた
MITSUNARI Shigeo
Common LispでGPGPU
Common LispでGPGPU
gos-k
FPGAスタートアップ資料
FPGAスタートアップ資料
marsee101
Gpgpu tomoaki-fp16
Gpgpu tomoaki-fp16
tomoaki0705
HPC Phys-20201203
HPC Phys-20201203
MITSUNARI Shigeo
Xbyakの紹介とその周辺
Xbyakの紹介とその周辺
MITSUNARI Shigeo
Recomendados
Does LUNA-88K2 dream of PC Card? / Using PC Card on OpenBSD/luna88k
Does LUNA-88K2 dream of PC Card? / Using PC Card on OpenBSD/luna88k
Kenji Aoyama
Node 学園祭 2012 用
Node 学園祭 2012 用
Rei Kawai
Intro to SVE 富岳のA64FXを触ってみた
Intro to SVE 富岳のA64FXを触ってみた
MITSUNARI Shigeo
Common LispでGPGPU
Common LispでGPGPU
gos-k
FPGAスタートアップ資料
FPGAスタートアップ資料
marsee101
Gpgpu tomoaki-fp16
Gpgpu tomoaki-fp16
tomoaki0705
HPC Phys-20201203
HPC Phys-20201203
MITSUNARI Shigeo
Xbyakの紹介とその周辺
Xbyakの紹介とその周辺
MITSUNARI Shigeo
ゆるバグ
ゆるバグ
MITSUNARI Shigeo
セミコロンレスc++
セミコロンレスc++
京大 マイコンクラブ
0622
0622
bobuhiro11
AVX-512(フォーマット)詳解
AVX-512(フォーマット)詳解
MITSUNARI Shigeo
Intel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgen
Intel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgen
MITSUNARI Shigeo
バックドア耐性のあるパスワード暗号化の提案
バックドア耐性のあるパスワード暗号化の提案
MITSUNARI Shigeo
pkgsrc とは何か? - よもやま話
pkgsrc とは何か? - よもやま話
Akio OBATA
世界におけるKubernetes活用状況と企業向けプライベートクラウド基盤
世界におけるKubernetes活用状況と企業向けプライベートクラウド基盤
capsmalt
BLS署名の実装とその応用
BLS署名の実装とその応用
MITSUNARI Shigeo
色々なOSSで競技プログラミング
色々なOSSで競技プログラミング
nhirokinet
世界におけるKubernetes活用状況と企業向けプライベートクラウド基盤
世界におけるKubernetes活用状況と企業向けプライベートクラウド基盤
capsmalt
技適なBluetooth GNSS/GPSレシーバーをRaspberryPiで作りたい2
技適なBluetooth GNSS/GPSレシーバーをRaspberryPiで作りたい2
Kenichiro MATOHARA
20220412 IoTLT vol86 kitazaki v1
20220412 IoTLT vol86 kitazaki v1
Ayachika Kitazaki
golang binary hacks
golang binary hacks
yaegashi
Linux の hugepage の開発動向
Linux の hugepage の開発動向
Naoya Horiguchi
Pd Kai#3 Startup Process
Pd Kai#3 Startup Process
nagachika t
Trema day 1
Trema day 1
ykuga
Blenderde Qr Code
Blenderde Qr Code
Tetsuo Mitsuda
Power Assert and perl.js
Power Assert and perl.js
Goro Fuji
1075: .NETからCUDAを使うひとつの方法
1075: .NETからCUDAを使うひとつの方法
NVIDIA Japan
ARM AAE - Memory Systems
ARM AAE - Memory Systems
Anh Dung NGUYEN
10 Tips for WeChat
10 Tips for WeChat
Chris Baker
Mais conteúdo relacionado
Mais procurados
ゆるバグ
ゆるバグ
MITSUNARI Shigeo
セミコロンレスc++
セミコロンレスc++
京大 マイコンクラブ
0622
0622
bobuhiro11
AVX-512(フォーマット)詳解
AVX-512(フォーマット)詳解
MITSUNARI Shigeo
Intel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgen
Intel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgen
MITSUNARI Shigeo
バックドア耐性のあるパスワード暗号化の提案
バックドア耐性のあるパスワード暗号化の提案
MITSUNARI Shigeo
pkgsrc とは何か? - よもやま話
pkgsrc とは何か? - よもやま話
Akio OBATA
世界におけるKubernetes活用状況と企業向けプライベートクラウド基盤
世界におけるKubernetes活用状況と企業向けプライベートクラウド基盤
capsmalt
BLS署名の実装とその応用
BLS署名の実装とその応用
MITSUNARI Shigeo
色々なOSSで競技プログラミング
色々なOSSで競技プログラミング
nhirokinet
世界におけるKubernetes活用状況と企業向けプライベートクラウド基盤
世界におけるKubernetes活用状況と企業向けプライベートクラウド基盤
capsmalt
技適なBluetooth GNSS/GPSレシーバーをRaspberryPiで作りたい2
技適なBluetooth GNSS/GPSレシーバーをRaspberryPiで作りたい2
Kenichiro MATOHARA
20220412 IoTLT vol86 kitazaki v1
20220412 IoTLT vol86 kitazaki v1
Ayachika Kitazaki
golang binary hacks
golang binary hacks
yaegashi
Linux の hugepage の開発動向
Linux の hugepage の開発動向
Naoya Horiguchi
Pd Kai#3 Startup Process
Pd Kai#3 Startup Process
nagachika t
Trema day 1
Trema day 1
ykuga
Blenderde Qr Code
Blenderde Qr Code
Tetsuo Mitsuda
Power Assert and perl.js
Power Assert and perl.js
Goro Fuji
1075: .NETからCUDAを使うひとつの方法
1075: .NETからCUDAを使うひとつの方法
NVIDIA Japan
Mais procurados
(20)
ゆるバグ
ゆるバグ
セミコロンレスc++
セミコロンレスc++
0622
0622
AVX-512(フォーマット)詳解
AVX-512(フォーマット)詳解
Intel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgen
Intel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgen
バックドア耐性のあるパスワード暗号化の提案
バックドア耐性のあるパスワード暗号化の提案
pkgsrc とは何か? - よもやま話
pkgsrc とは何か? - よもやま話
世界におけるKubernetes活用状況と企業向けプライベートクラウド基盤
世界におけるKubernetes活用状況と企業向けプライベートクラウド基盤
BLS署名の実装とその応用
BLS署名の実装とその応用
色々なOSSで競技プログラミング
色々なOSSで競技プログラミング
世界におけるKubernetes活用状況と企業向けプライベートクラウド基盤
世界におけるKubernetes活用状況と企業向けプライベートクラウド基盤
技適なBluetooth GNSS/GPSレシーバーをRaspberryPiで作りたい2
技適なBluetooth GNSS/GPSレシーバーをRaspberryPiで作りたい2
20220412 IoTLT vol86 kitazaki v1
20220412 IoTLT vol86 kitazaki v1
golang binary hacks
golang binary hacks
Linux の hugepage の開発動向
Linux の hugepage の開発動向
Pd Kai#3 Startup Process
Pd Kai#3 Startup Process
Trema day 1
Trema day 1
Blenderde Qr Code
Blenderde Qr Code
Power Assert and perl.js
Power Assert and perl.js
1075: .NETからCUDAを使うひとつの方法
1075: .NETからCUDAを使うひとつの方法
Destaque
ARM AAE - Memory Systems
ARM AAE - Memory Systems
Anh Dung NGUYEN
10 Tips for WeChat
10 Tips for WeChat
Chris Baker
The Presentation Come-Back Kid
The Presentation Come-Back Kid
Ethos3
The Buyer's Journey - by Chris Lema
The Buyer's Journey - by Chris Lema
Chris Lema
How to Build a Dynamic Social Media Plan
How to Build a Dynamic Social Media Plan
Post Planner
Learn BEM: CSS Naming Convention
Learn BEM: CSS Naming Convention
In a Rocket
Destaque
(6)
ARM AAE - Memory Systems
ARM AAE - Memory Systems
10 Tips for WeChat
10 Tips for WeChat
The Presentation Come-Back Kid
The Presentation Come-Back Kid
The Buyer's Journey - by Chris Lema
The Buyer's Journey - by Chris Lema
How to Build a Dynamic Social Media Plan
How to Build a Dynamic Social Media Plan
Learn BEM: CSS Naming Convention
Learn BEM: CSS Naming Convention
Semelhante a HaskellではじめるCortex-M3組込みプログラミング
VHDL-2008が好きなんです
VHDL-2008が好きなんです
windy12806
LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)
LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)
Takeshi Yamamuro
Dive into RTS - another side
Dive into RTS - another side
Kiwamu Okabe
関東GPGPU勉強会 LLVM meets GPU
関東GPGPU勉強会 LLVM meets GPU
Takuro Iizuka
Halide による画像処理プログラミング入門
Halide による画像処理プログラミング入門
Fixstars Corporation
Python physicalcomputing
Python physicalcomputing
Noboru Irieda
スタート低レイヤー #0
スタート低レイヤー #0
Kiwamu Okabe
「前回の COMSTAR ネタに刺激されてしまったので、オレも COMSTAR を使ってみた。」(仮)
「前回の COMSTAR ネタに刺激されてしまったので、オレも COMSTAR を使ってみた。」(仮)
Kazuyuki Sato
StackExchangeで見たシステムプログラミング案件
StackExchangeで見たシステムプログラミング案件
yaegashi
あるブートローダの話
あるブートローダの話
nullnilaki
tcpdumpとtcpreplayとtcprewriteと他。
tcpdumpとtcpreplayとtcprewriteと他。
(^-^) togakushi
Slide
Slide
Takefumi MIYOSHI
Polyphony の行く末(2018/3/3)
Polyphony の行く末(2018/3/3)
ryos36
PBL1-v1-008j.pptx
PBL1-v1-008j.pptx
NAIST
高速ネットワーク最新動向と具体例 (ENOG58 Meeting)
高速ネットワーク最新動向と具体例 (ENOG58 Meeting)
Naoto MATSUMOTO
SDN Lab環境でのRobotFramework実践活用
SDN Lab環境でのRobotFramework実践活用
Toshiki Tsuboi
DE0でラジコンカー作ってみた 関西de0 fpga勉強会20120519
DE0でラジコンカー作ってみた 関西de0 fpga勉強会20120519
Yasuhiro Ishii
コンテナ情報交換会2
コンテナ情報交換会2
Masahide Yamamoto
A story of porting OpenBSD/luna88k
A story of porting OpenBSD/luna88k
Kenji Aoyama
Prosym2012
Prosym2012
MITSUNARI Shigeo
Semelhante a HaskellではじめるCortex-M3組込みプログラミング
(20)
VHDL-2008が好きなんです
VHDL-2008が好きなんです
LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)
LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)
Dive into RTS - another side
Dive into RTS - another side
関東GPGPU勉強会 LLVM meets GPU
関東GPGPU勉強会 LLVM meets GPU
Halide による画像処理プログラミング入門
Halide による画像処理プログラミング入門
Python physicalcomputing
Python physicalcomputing
スタート低レイヤー #0
スタート低レイヤー #0
「前回の COMSTAR ネタに刺激されてしまったので、オレも COMSTAR を使ってみた。」(仮)
「前回の COMSTAR ネタに刺激されてしまったので、オレも COMSTAR を使ってみた。」(仮)
StackExchangeで見たシステムプログラミング案件
StackExchangeで見たシステムプログラミング案件
あるブートローダの話
あるブートローダの話
tcpdumpとtcpreplayとtcprewriteと他。
tcpdumpとtcpreplayとtcprewriteと他。
Slide
Slide
Polyphony の行く末(2018/3/3)
Polyphony の行く末(2018/3/3)
PBL1-v1-008j.pptx
PBL1-v1-008j.pptx
高速ネットワーク最新動向と具体例 (ENOG58 Meeting)
高速ネットワーク最新動向と具体例 (ENOG58 Meeting)
SDN Lab環境でのRobotFramework実践活用
SDN Lab環境でのRobotFramework実践活用
DE0でラジコンカー作ってみた 関西de0 fpga勉強会20120519
DE0でラジコンカー作ってみた 関西de0 fpga勉強会20120519
コンテナ情報交換会2
コンテナ情報交換会2
A story of porting OpenBSD/luna88k
A story of porting OpenBSD/luna88k
Prosym2012
Prosym2012
Último
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
sugiuralab
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
osamut
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
iPride Co., Ltd.
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
Atomu Hidaka
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
danielhu54
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
furutsuka
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Ryo Sasaki
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
iPride Co., Ltd.
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
Shota Ito
Último
(9)
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
HaskellではじめるCortex-M3組込みプログラミング
1.
HaskellではじめるCortex-M3 HaskellではじめるCortex-M3 組込みプログラミング
組込みプログラミング Kiwamu Okabe
2.
私は誰? ☆ Twitter: @master_q ☆
ミラクル・リナックス勤務 ☆ 前はコピー機のOSをNetBSDで作ってた ☆ デジタルサイネージのソフト開発してます ☆ OSSに興味のある{エンジニア,インターン} 募集中です!
3.
Haskell流行ってますよね!
4.
でも何に使ってるの? *
Attoparsec - 高速パーサコンビネータ * Bluespec - SystemVerilogとSystemCのツール実装に使ってる * Bump Technologies - モバイル向け連絡先交換のサーバサイド * Gitit - VCSバックエンドWiki * Gtk2hs - Haskellから使えるGtkラッパ * Hakyll - 静的Webサイト生成 * Microsoft Research - GHC(Haskellコンパイラ)の研究開発 * Mighttpd - nginxぐらい速いWebサーバ * Monadius - グラディウスっぽいゲーム * Pandoc - ドキュメントフォーマット変換 * Qualcomm - LuaのBREWバインディングジェネレータ * Standard Chartered Bank - デリバティブリスク分析 * Tsuru Capital - 株式トレーディング * Yesod - RailsっぽいWebアプリケーションフレームワーク でもこれってみんなPOSIX APIの上でしか動 かせませんね...
5.
小さい機器をHaskellで書きたい! マイコンでLEDチカチカしてみましょう ☆ STBee Mini ☆
CPU: STM32 (Cortex-M3) ☆ クロック: 72MHz ☆ フラッシュROM: 128kB ☆ RAM: 20kB
6.
そこでjhcコンパイラ
7.
Haskellコードを食わせると -- snip Imports
-- foreign import ccall "c_extern.h Delay" c_delay :: Word32 -> IO () gpioPtr :: Ptr Word32 gpioPtr = odr where periphBase = nullPtr `plusPtr` 0x40000000 arb2periphBase = periphBase `plusPtr` 0x10000 gpioaBase = arb2periphBase `plusPtr` 0x0800 odr = gpioaBase `plusPtr` 12 gpioOut :: Word32 -> IO () gpioOut v = do poke gpioPtr v c_delay 500000 main :: IO () main = forever $ do gpioOut $ (1 `shiftL` 13) gpioOut $ (1 `shiftL` 13) .|. (1 `shiftL` 15) gpioOut $ (1 `shiftL` 15) gpioOut $ 0
8.
C言語コードに変換してくれる! static void A_STD ftheMain(gc_t
gc) { fR$__fControl_Monad_forever__2:; { *((volatile uint32_t *)(1073809420)) = 1 << 13; saved_gc = gc; (void)Delay((uint32_t)500000); *((volatile uint32_t *)(1073809420)) = (1 << 13) | (1 << 15); saved_gc = gc; (void)Delay((uint32_t)500000); *((volatile uint32_t *)(1073809420)) = 1 << 15; saved_gc = gc; (void)Delay((uint32_t)500000); *((volatile uint32_t *)(1073809420)) = 0; saved_gc = gc; (void)Delay((uint32_t)500000); goto fR$__fControl_Monad_forever__2; } return; }
9.
実機デモ 動画でご覧ください (1分50秒) http://www.nicovideo.jp/watch/sm20143937 https://gitorious.org/metasepi/demo-cortex-m3/blobs/master/ demo_movie.avi
10.
PR:HaskellでOSを作るプロジェクト はじめました。 http://metasepi.masterq.net/ 乞御期待!
11.
参考資料 * 本デモのソースコード
<https://gitorious.org/metasepi/demo-cortex-m3> * Patch適用済みjhcソースコード <https://gitorious.org/metasepi/jhc-arafura> * STM32マイコンボード 『STBee Mini』 <http://strawberry-linux.com/catalog/items?code=32105>
Baixar agora