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
リセットとフリーズで解析する電子辞書リバエン記 / reverse-engineer-e-di...
Search
Takumi Sueda
November 20, 2021
Technology
2
7.1k
リセットとフリーズで解析する電子辞書リバエン記 / reverse-engineer-e-dictionaries-with-reset-and-freeze
Kernel/VM 探検隊 online part4 LT
小説版:
https://www.zopfco.de/entry/reset_freeze_re
Takumi Sueda
November 20, 2021
Tweet
Share
More Decks by Takumi Sueda
See All by Takumi Sueda
これまでのハード遊びまとめ ノンストップ40分スペシャル
puhitaku
1
150
令和最新版 OpenWrt を 22 年前のルーターで動かす
puhitaku
0
1.4k
組み込みLinuxの時系列
puhitaku
4
1.8k
電子辞書にステータスバーを実装する
puhitaku
0
320
知育おもちゃの遊び方 Lv. 999
puhitaku
5
3.1k
ルーターでプレゼンする
puhitaku
1
6.6k
AST as Black Magic
puhitaku
0
160
次世代の足下を舗装するコミュニティ
puhitaku
5
1.9k
電子辞書で学ぶ Linux のサスペンド
puhitaku
0
740
Other Decks in Technology
See All in Technology
Rubyist入門: The Way to The Timeless Way of Programming
snoozer05
PRO
7
490
マイクロリブート ~ACEマインドセットで実現するアジャイル~
sony
1
390
アジャイル社内普及ご近所さんマップを作ろう / Let's create an agile neighborhood map
psj59129
1
130
Dart and Flutter MCP serverで実現する AI駆動E2Eテスト整備と自動操作
yukisakai1225
0
540
ソフトウェア開発現代史: 55%が変化に備えていない現実 ─ AI支援型開発時代のReboot Japan #agilejapan
takabow
7
4.3k
【M3】攻めのセキュリティの実践!プロアクティブなセキュリティ対策の実践事例
axelmizu
0
160
LINEギフト・LINEコマース領域の開発
lycorptech_jp
PRO
0
190
AWS資格は取ったけどIAMロールを腹落ちできてなかったので、年内に整理してみた
hiro_eng_
0
230
"おまじない"はもう卒業! デバッガで探るSpring Bootの裏側と「学び方」の学び方
takeuchi_132917
0
170
AIと自動化がもたらす業務効率化の実例: 反社チェック等の調査・業務プロセス自動化
enpipi
0
610
Redux → Recoil → Zustand → useSyncExternalStore: 状態管理の10年とReact本来の姿
zozotech
PRO
16
8.4k
はじめての OSS コントリビューション 〜小さな PR が世界を変える〜
chiroito
4
330
Featured
See All Featured
Building Adaptive Systems
keathley
44
2.8k
YesSQL, Process and Tooling at Scale
rocio
174
15k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.8k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
A designer walks into a library…
pauljervisheath
210
24k
BBQ
matthewcrist
89
9.9k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
Music & Morning Musume
bryan
46
6.9k
Java REST API Framework Comparison - PWX 2021
mraible
34
9k
Transcript
Kernel/VM online part 4 LT @puhitaku
Takumi Sueda @puhitaku NICT HOMMA Inc. Twitter
SHARP Brain SHARP Windows CE CE exe (PE) 2011
TOSHIBA TMPA 9 10 CRAXBG (armv 5 tej) + 64 MiB DRAM Windows CE 2012 2020 NXP i.MX 2 83 (armv 5 tej) + 12 8 MiB DRAM Windows CE 2021 ??? SHARP Brain 3 https://jp.sharp/edictionary/products/pwsh 1 _overviiew.html
SHARP Brain 2019 2020 SHARP Brain PW-SH 1 Linux +
i.MX 283 Raspberry Pi Brain Linux SD Brain Linux 4 https://jp.sharp/edictionary/products/pwsh 1 _overviiew.html
2021 1 Brain
Brain https://jp.sharp/edictionary/topics/ 6
Brain https://brain-library.com/ 7
Brain OS SoC i.MX 283 8
Brain 9
Brain 10
Brain 11
Brain SoC NXP i.MX 7 ULP i.MX 7 ULP =
Cortex-A 7 + Cortex-M 4 12
Brain (Windows CE PE) OS 13
None
objdump 0 Arm 15
as ELF .text 16
17
resource hog 18
_start return 19
20
0x 00 0000 00 21
return 0 x 0 00000 0 0 22
U-Boot
U-Boot 1 . MMU 2 . MMU U-Boot U-Boot 24
U-Boot & OS API JTAG UART TX UART I/O
25
U-Boot 1bit 26
U-Boot 1 MMU
U-Boot MMU MMU mrc SCTSR MMU mcr MMU 28 SCTSR
U-Boot MMU mrc 29
U-Boot MMU 30
U-Boot MMU mrc SCTSR return 31
U-Boot 2 U-Boot
U-Boot U-Boot U-Boot MMU U-Boot 3 : 1 .
Brain 2 . DRAM 1. 1. 3 . 2. 64 KiB (large page) 1. U-Boot 33
U-Boot 2 U-Boot 1
U-Boot U-Boot 1 35 Brain 1 MiB NOP mov pc,
lr NOP = mov r0, r0
U-Boot U-Boot 1 36 1 5 MiB Brain 15 MiB
1 ( 4 Bytes) 1 5 MiB DRAM 128 MiB 11.7%
U-Boot 2 U-Boot 2
U-Boot U-Boot 38 NOP MMU NOP 1 NOP 6 4
KiB NOP NOP ……… 2 1
U-Boot U-Boot 2 39 Virtual Memory 1 5 MiB
1 MMU Physical Memory MMU
U-Boot U-Boot 2 40 1 Physical Memory 0 x
6000 000 0 0 x 6800 000 0 1 !"#$ %&'( !"#$ 1
U-Boot U-Boot 2 41 1 Physical Memory 0 x
6 78000 0 0 DRAM 15 MiB %&'( 0 x 6000 000 0 0 x 6800 000 0
U-Boot 2 U-Boot 3
U-Boot U-Boot 43 2 MMU NOP NOP 6 4
KiB NOP 3 1 NOP NOP NOP NOP
U-Boot U-Boot 44 112 64 KiB NOP NOP 6 4
KiB 3 1 NOP NOP NOP NOP 112 …
U-Boot U-Boot 1 . ✅ U-Boot 2 . ✅ MMU
3 . ✅ MMU U-Boot 1 5 MiB 0x 7 0 0 0 0 0 u-boot.bin 0x 67 800000 U-Boot U-Boot 45
U-Boot
U-Boot i.MX 7 ULP con fi g 47
U-Boot 48
U-Boot U-Boot shell 49
Linux
Linux U-Boot Image printk UART Linux 51
Linux @pepepper_cpp Mailbox Unit Linux MU NXP upstream MU merge
52
Linux Linux Linux 53
None
μITRON RTOS I/O I/O 55
& Speakerdeck 56