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
ossfriendlydebugerpast20years.pdf
Search
soburi
October 27, 2021
Technology
0
33
ossfriendlydebugerpast20years.pdf
ossfriendlydebugerpast20years.pdf
soburi
October 27, 2021
Tweet
Share
More Decks by soburi
See All by soburi
KiCad 8.0 出ました。
tokitahiroshi
0
260
小江戸らぐ2024/2
tokitahiroshi
0
70
ZephyrRTOSで遊ぼう!
tokitahiroshi
0
280
AliEx系ラベルプリンター Phomemo P12を叩いてみる
tokitahiroshi
0
69
KiCadのGitLabを見たりWeblateで翻訳してみたりしてみる
tokitahiroshi
0
270
Pico-SDK1.5.0, Zephyr v3.3.0 が出ました。
tokitahiroshi
0
290
F3rdXへの行き方
tokitahiroshi
0
550
WCH CH32V307VをZephyrで試す
tokitahiroshi
0
450
ZephyrRTOSのLongan Nanoへの移植
tokitahiroshi
0
720
Other Decks in Technology
See All in Technology
AWS IAMのアンチパターン/AWSが考える最低権限実現へのアプローチ概略(JAWS-UG朝会#59資料改修20分版)
htan
0
330
How to Think Like a Performance Engineer
csswizardry
4
590
CTOから見た事業開発とプロダクト開発 / My Perspective on Business and Product Development as CTO
keisuke69
4
960
Git 研修 Basic【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
310
たくさん本を読んだけど 1年後には綺麗サッパリ!を乗り越えて 学習の鬼になるぞ👹
yum3
0
160
コンテナ・K8s研修 - 前半 コンテナ基礎・ハンズオン【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
170
20240724_cm_odyssey_hibiyatech
hiashisan
0
110
MySQLのロックの種類とその競合
yoku0825
6
1.6k
ABEMAにおけるLLMを用いたコンテンツベース推薦システム導入と効果検証
cyberagentdevelopers
PRO
1
700
AIアシスタントの活用で品質の向上と開発ワークフローのスピードアップ
nagix
1
190
DevIO2024_レガシー運用からの脱却 -クラウド活用の実践事例とベストプラクティス-
jun2882
0
210
ゆめみのアクセシビリティの現在地と今後
ryokatsuse
3
290
Featured
See All Featured
The Art of Programming - Codeland 2020
erikaheidi
48
13k
Adopting Sorbet at Scale
ufuk
71
8.8k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
18
1.2k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
360
22k
Typedesign – Prime Four
hannesfritz
37
2.2k
YesSQL, Process and Tooling at Scale
rocio
166
14k
Speed Design
sergeychernyshev
9
270
Testing 201, or: Great Expectations
jmmastey
33
6.9k
Rebuilding a faster, lazier Slack
samanthasiow
78
8.5k
Teambox: Starting and Learning
jrom
130
8.6k
Designing on Purpose - Digital PM Summit 2013
jponch
113
6.6k
5 minutes of I Can Smell Your CMS
philhawksworth
200
19k
Transcript
OSS Friendlyな Debug Adapter 20年史 常田 裕士
Motivation 組み込み開発周りのOpenOCDやらデバッグアダプタの説明をしようとしたら、 整理がつかなくった。 ベンダ依存性が強くてよくわからない話ばっかりなので、多少歴史的経緯を 追った方がよさそう。
前史 昔の組み込み開発ではInCircuitEmulator(ICE)のような高価なデバッグ装置が 必要だった 2000年ごろからハードウェアのテストに使っていたJTAGがソフトのデバッグ にも使われるようになってきた。 それから少し遅れて、2005年ぐらいからOpenOCDを使ったOSSベースの組み込 み開発環境が増えてきて、現在に至る。
FT2232とJTAG Adapter FTDI FT2232 (2006年?) USB – 高速シリアル変換のチップ
このチップが登場して、JTAGポートを操作するHackが簡単に行えるようになった。 https://akizukidenshi.com/catalog/g/gM-02990/ 秋月電子でも2009年からモジュール取り扱い
FT2232ベースのJTAGデバッガーの流行 https://www.olimex.com/Products/ARM/JTAG/ARM-USB-OCD- H/?utm_source=platformio&utm_medium=docs 2000年代初頭の「格安PCB製造」の代表だった、 ブルガリアのOlimexの製品。 https://strawberry-linux.com/catalog/items?code=15002
Strawberry-linuxでも2006年から販売。 まだD-SUB9 のシリアルが使われていた。 この製品に限らず、そこかしこでFT2232ベースのデバッガがつくられた。 OpenOCDには現在でも70以上のFT2232ベースのアダプタの設定ファイルが 格納されている
SWDの普及 2本線でデバッグできるSWDも普及してきた。 (ソフト開発から見ると、デバッグできればいいので、これもよく「JTAG」と 呼ばれている) ARMのCPUとセットで、各社の~LINKが色々出てきた。 各社の廉価なARMチップで作ってることが多数。 https://www.st.com/ja/development-tools/st-link-v2.html
ST-LINKは廉価なクローンもたくさん作られた。
CMSIS-DAP 2012年にARMで共通のデバッグポート企画のCMSIS-DAPが制定された。 これで独自の~LINK自体はほぼ必要なくなり。ARM共通のデバッガがつくられ るようになった。 標準的なデバッグ機能はこれで賄えるようになったので、商用のデバッグアダ プタは独自機能で差別化する形に(J-Linkのログ機能のRTTなど)
PyOCD CMSIS-DAPでARMのデバッガが標準化されると、比較的大規模なソフトである OpenOCDとは別のOCD実装が登場する。 PyOCDはPythonで書かれたOCD。OpenOCDがスクリプト言語のtclを組み込んで、 複雑なカスタマイズを実現しているが、PyOCDはそもそもスクリプト言語。 開発者的に取り回しがいい。 対象もCMSIS-DAPに絞っているので、ソフト自体もスッキリしている。
Raspberry Pi Picoを使ったデバッグアダプタのpicoprobeもこれで使える。
Blackmagic Probe OpenOCD、PyOCD、いずれもプロセス間通信でgdbと通信しているため、ソフ トの構成としては、複雑なツールとなっている。 Blackmagic ProbeはOCD相当の機能をマイコンに組み込んで、シリアル通信で gdbと通信できるようにしている。
https://github.com/blacksphere/blackmagic gdbで直接デバッグできるようになるので、組み込み特有の設定のわずらわし さが軽減された。 次世代デバッグツールの方向性として注目。
最近のOSSのDebug Adapaterまとめ SoC デバッグI/F OCDツール デバッガ ARM(最近のもの) SWD Blackmagic gdb
SWD PyOCD gdb JTAG OpenOCD gdb ARM(昔のもの) JTAG OpenOCD gdb RISCV/ESP32 JTAG OpenOCD gdb