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
450
電子辞書で学ぶ Linux のサスペンド
情報科学若手の会 春の陣 2023 #wakate2023s
Takumi Sueda
March 11, 2023
Tweet
Share
More Decks by Takumi Sueda
See All by Takumi Sueda
ルーターでプレゼンする
puhitaku
1
3.5k
AST as Black Magic
puhitaku
0
69
次世代の足下を舗装するコミュニティ
puhitaku
5
1.6k
USB PD で迎える AC アダプター大統一時代
puhitaku
2
2.4k
電子辞書のアイデンティティを消す方法
puhitaku
3
3.6k
リセットとフリーズで解析する電子辞書リバエン記 / reverse-engineer-e-dictionaries-with-reset-and-freeze
puhitaku
2
6.1k
詳解・電子辞書で Linux がブートするまで / boot-linux-on-sharp-brain-explained
puhitaku
5
3.6k
MicroPython × BLE × テプラ 〜リバースエンジニアリングを添えて〜 /micropython-ble-tepra
puhitaku
2
710
TEPRA Lite ではじめる BLE リバースエンジニアリング / tepra-lite-ble-reverse-engineering
puhitaku
9
5.8k
Other Decks in Technology
See All in Technology
「知的単純作業」を自動化する、地に足の着いた大規模言語モデル (LLM) の活用
nrryuya
8
8.3k
YJIT Makes Rails 1.7x faster / RubyKaigi 2024
k0kubun
3
480
Google Cloudを組織(企業)で運用する時のベストプラクティス × 健康の環境分離戦略 #まるクラ勉強会
yasumuusan
0
170
「できる!」を増やすGitHub Copilot活用法 / How to use GitHub Copilot to expand your possibilities
sansan_randd
1
240
AWS アーキテクチャ作図入門/aws-architecture-diagram-101
ma2shita
16
6.7k
[2024년 5월 세미나] 생성형 AI와 함께하는 데이터 분석가 커리어
datarian
0
1.2k
Taking Flight with Tailwind CSS
opdavies
0
4.3k
Prisma ORMを2年運用して培ったノウハウを共有する
tockn
19
5.1k
NewSQL Landscape
oracle4engineer
PRO
5
3.2k
Domain-driven Design: A Complete Example
ewolff
2
260
kcp: Kubernetes APIs Are All You Need #techfeed_live / TechFeed Experts Night 28th
ytaka23
1
190
使われないものを作るな!出口から作るデータ分析基盤 / Data Platform Development Starting from the User Needs
amaotone
16
4.6k
Featured
See All Featured
How to train your dragon (web standard)
notwaldorf
75
5.2k
What's new in Ruby 2.0
geeforr
338
31k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
155
14k
Building Better People: How to give real-time feedback that sticks.
wjessup
356
18k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
660
120k
Unsuck your backbone
ammeep
664
57k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
8
3.5k
Facilitating Awesome Meetings
lara
43
5.6k
KATA
mclloyd
16
12k
GraphQLとの向き合い方2022年版
quramy
33
13k
How GitHub (no longer) Works
holman
305
140k
jQuery: Nuts, Bolts and Bling
dougneiner
60
7.2k
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