Upgrade to Pro — share decks privately, control downloads, hide ads and more …

CMSIS-DAPの概要と使い方/KernelVM Online5

CMSIS-DAPの概要と使い方/KernelVM Online5

Kernel VM Online 5の発表資料です。
https://kernelvm.connpass.com/event/256248/

CMSIS-DAPの概要と制御方法について簡単に説明します。

Toshifumi NISHINAGA

August 28, 2022
Tweet

More Decks by Toshifumi NISHINAGA

Other Decks in Programming

Transcript

  1. CMSIS-DAP の 概要と使い⽅ Toshifumi NISHINAGA (CV: ついなちゃん) @tnishinaga 2022-08-28 KernelVM

    Online 5 https://speakerdeck.com/tnishinaga/kernelvm-online-5-cmsis-dap 1
  2. Interface Processor JTAG armプロセッサデバッグの概要 12 DAP TAP Processor Core SWD

    JTAG SWD DPACC APACC TCK TMS TDI TDO SWDIO, SWCLK opcode data Core Sight Regist er Debug Unit D P A P
  3. JTAG • プロセッサをデバッグする標準的 なインターフェースの1つ • 以下の4 +α本の線を使う • TMS •

    TCK • TDI • TDO • プロセッサ側のJTAG TAPとデー タをやり取りする 13 Interface JTAG TAP JTAG DPACC APACC TCK TMS TDI TDO D P A P
  4. Interface Processor JTAG armプロセッサデバッグの概要 16 DAP TAP Processor Core SWD

    JTAG SWD DPACC APACC TCK TMS TDI TDO SWDIO, SWCLK opcode data Core Sight Regist er Debug Unit D P A P
  5. CMSIS-DAPとは? • DAPとの通信に特化した機能を 持つデバッグインターフェース ファームウェア • マイコンにCMSIS-DAP firmwareを書き込んで作る • 今回はJTAG/SWDデバッグ機能

    に絞って解説 • 他にも⾊々機能がある が使えるかはJTAG/SWD含め実装 依存 20 画像は以下より引⽤ https://arm- software.github.io/CMSIS_5/latest/DAP/h tml/index.html
  6. CMSIS-DAPのデバッグコマンド • JTAG • JTAGを直接制御するコマンド • SWD • SWDを直接制御するコマンド •

    transfer(←注⽬) • CoreSightレジスタに直接ア クセスするコマンド 22 DAP PC CMSIS- DAP JTAG SWD DP AP CoreSight Register
  7. CMSIS-DAPとの通信 28 PC CMSIS-DAP USB bulk • CMSIS-DAPはUSB bulk通信で 制御

    • 仕様に沿ってバイナリコマンド をやり取りする • 仕様書 • https://arm- software.github.io/CMSIS_5/latest /DAP/html/group__DAP__Comma nds__gr.html
  8. rustを使った制御例 • Infoコマンドを実⾏するコードを 書いてみる • rusb crateを使ってUSB bulk通信 をやるだけ 29

    Infoコマンドの⼊⼒と応答フォーマ ット。以下より引⽤ https://arm- software.github.io/CMSIS_5/latest/DAP/html/grou p__DAP__Info.html
  9. 参考資料 • armのページ • CMSIS-DAP Version 2.1.1 • https://arm-software.github.io/CMSIS_5/latest/DAP/html/index.html •

    About CMSIS-DAP • https://developer.arm.com/documentation/101451/0100/About-CMSIS-DAP • 特殊電⼦回路株式会社(なひたふさん)のページ • SWDって何? • http://www.tokudenkairo.co.jp/jtag/adv2018/08.php • CMSIS-DAPってなに? • http://rx.tokudenkairo.co.jp/cmsisdap/cmsisdap.html 35