Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
電子辞書で学ぶ Linux のサスペンド
Search
Takumi Sueda
March 11, 2023
Technology
0
750
電子辞書で学ぶ Linux のサスペンド
情報科学若手の会 春の陣 2023 #wakate2023s
Takumi Sueda
March 11, 2023
Tweet
Share
More Decks by Takumi Sueda
See All by Takumi Sueda
これまでのハード遊びまとめ ノンストップ40分スペシャル
puhitaku
1
170
令和最新版 OpenWrt を 22 年前のルーターで動かす
puhitaku
0
5.1k
組み込みLinuxの時系列
puhitaku
4
1.8k
電子辞書にステータスバーを実装する
puhitaku
0
340
知育おもちゃの遊び方 Lv. 999
puhitaku
5
3.2k
ルーターでプレゼンする
puhitaku
1
7k
AST as Black Magic
puhitaku
0
170
次世代の足下を舗装するコミュニティ
puhitaku
5
1.9k
USB PD で迎える AC アダプター大統一時代
puhitaku
2
2.7k
Other Decks in Technology
See All in Technology
サラリーマンソフトウェアエンジニアのキャリア
yuheinakasaka
41
19k
WebDriver BiDi 2025年のふりかえり
yotahada3
1
100
The Engineer with a Three-Year Cycle
e99h2121
0
120
AI に「学ばせ、調べさせ、作らせる」。Auth0 開発を加速させる7つの実践的アプローチ
scova0731
0
280
これまでのネットワーク運用を変えるかもしれないアプデをおさらい
hatahata021
2
150
スクラムマスターが スクラムチームに入って取り組む5つのこと - スクラムガイドには書いてないけど入った当初から取り組んでおきたい大切なこと -
scrummasudar
3
2.1k
I tried making a solo advent calendar!
zzzzico
0
150
[PR] はじめてのデジタルアイデンティティという本を書きました
ritou
1
810
田舎で20年スクラム(後編):一個人が企業で長期戦アジャイルに挑む意味
chinmo
1
1.5k
Qiita Bash アドカレ LT #1
okaru
0
190
kintone開発のプラットフォームエンジニアの紹介
cybozuinsideout
PRO
0
530
Proxmoxで作る自宅クラウド入門
koinunopochi
0
100
Featured
See All Featured
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
0
1.1k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
200
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
290
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
55k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
87
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.8k
Into the Great Unknown - MozCon
thekraken
40
2.2k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
1.8k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
380
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
120
A Soul's Torment
seathinner
4
2.1k
Transcript
2023 #wakate 2023 s Linux aka @puhitaku
2 Takumi Sueda @puhitaku HOMMA Inc. OSS etc. 3 D
2014
Linux Linux 3 5 3
SHARP Brain SHARP Brain 4
SHARP Brain SHARP Brain PW-SH 1 SHARP 2008 Windows CE
2020 CE exe Brain 2ch Brain Windows CE Wikipedia matplotlib 5
SHARP Brain 6 DRAM: LPDDR 128 MB eMMC: 8 GB
SD Raspberry Pi LCD CPU: NXP i.MX 2 83 ARM 926 EJ-S, armv 5 tej 4 54 MHz LCD: 8 00 x 48 0 SD: SDXC :
SHARP Brain SHARP Brain PW-SH 1 U-Boot Linux 2020 Brain
U-Boot Linux Raspberry Pi SD Linux LCD SD / eMMC etc ... 7
SHARP Brain SHARP Brain PW-SH 1 cpufreq CPU 8 🤔
SHARP Brain SHARP Brain PW-SH 1 cpufreq CPU 9 🤔
None
Suspend-to-Idle Standby Suspend-to-RAM Hibernation Linux 11 "sleep", "system-wide sleep"
1 . Suspend-to-Idle 2 . Standby 😴 Userspace 😴 Timekeeping
tick, 😴 I/O CPU CPU 😴 Suspend-to-Idle 😴 Non-boot CPU 3 . Suspend-to-RAM 😴 Standby 😴 CPU DRAM DRAM 4 . Hibernation 😴 CPU
1 . Suspend-to-Idle 2 . Standby 😴 Userspace 😴 Timekeeping
😴 I/O CPU CPU 😴 Suspend-to-Idle 😴 Non-boot CPU 3 . Suspend-to-RAM 😴 Standby 😴 CPU DRAM DRAM 4 . Hibernation 😴 CPU Suspend-to-RAM
Suspend-to-RAM
Suspend-to-RAM 1 . 2 . 3 . & 4 .
Non-boot CPU CPU IRQ Boot CPU 5 . tick 6 . RAM 7 . Suspend-to-RAM 15
Suspend-to-RAM 1 . 2 . CPU 3 . 4 .
tick 5 . Non-boot CPU 6 . IRQ 7 . (thaw = ) 8 . Suspend-to-RAM 16
Suspend-to-RAM
Suspend-to-RAM Suspend-to-RAM 2 18 Brain SoC MOSFET GPIO SPI, I²C
graceful dev_pm_ops Device Tree Power Management Subsystem ISR Brain GPIO
Suspend-to-RAM /sys/power/state write 19 i.MX 28 Device Tree LCD Suspend-to-RAM
Device Tree
Suspend-to-RAM 20 Suspend-to-RAM 1. pm_wakeup_event PM subsystem 2 . suspend_enter
CPU PC CPU /drivers/input/keyboard/gpio_keys.c L 44 3 (Linux 5 . 4 . 2 3 4 ) /kernel/power/suspend.c L 5 02 (Linux 5 . 4 . 2 34 )
Brain
Brain ✅ Suspend-to-RAM ✅ GPIO ⬜ MCU I²C I²C ISR
Windows ⬜ LCD FET ENABLE GPIO regulator Device Tree ⬜ ⬜ OS Suspend-to-RAM 22
suspend_prepare suspend_freeze_processes [1] userspace [ 1 ] https://elixir.bootlin.com/linux/v 5 .
4 . 23 4 /source/kernel/power/power.h#L 250 Q. kthread userspace 23 Q. 4 SoC Suspend-to-Idle Brain SoC 115mA 86 mA [1] Brain Standby Suspend-to-Idle Suspend-to-RAM LCD [ 1 ] https://twitter.com/puhitaku/status/ 1 62 984 98 629 24 6484 55
Bootlin Elixir: https://elixir.bootlin.com/linux/v 5 . 4 . 2 34 /
Mainline Linux /Documentation/admin-guide/pm/suspend- fl ows.rst /Documentation/admin-guide/pm/sleep-states.rst 24