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

JtagAdapter制作記 seccamp2021 X-2 / jtagAdapter

toshi00
March 27, 2022

JtagAdapter制作記 seccamp2021 X-2 / jtagAdapter

セキュリティ・キャンプ全国大会2021オンラインに参加して制作したJtagAdapter についての発表です.
この発表の後、ミスを修正して機能追加したバージョンも制作しました↓
https://github.com/toshi-pono/jtagAdapter

toshi00

March 27, 2022
Tweet

More Decks by toshi00

Other Decks in Technology

Transcript

  1. JTAGアダプター
    を作ろう!
    @toshi00
    セキュリティ・キャンプ2021 X-Ⅱ

    View full-size slide

  2. 目次
    1. JTAGアダプターって?
    2. 制作したアダプター
    3. 制作の流れ
    4. まとめ

    View full-size slide

  3. ラズパイでもデバッグをしたい
    • gdbなどでデバッグしたい
    • Printデバッグは簡単だけど……
    • メモリを読み書きしたい
    • OSを経由せずプログラムを動かすような場合とか
    • デバッガでデバッグできたら嬉しいよね?

    View full-size slide

  4. JTAG って?
    ・JTAG(Joint Test Action Group)
    ・CPUのデバッグ等に⽤いるシリアル通信の規格
    ・OpenOCDと組み合わせることで,gdb・telnetなどが使える
    ・IEEE1149.1
    ・JTAGアダプター
    = PCにつなげてJTAGの信号を喋ってもらう機械

    View full-size slide

  5. 市販品もあるよ
    でも頻繁に使うなら,配線がめんどくさい.
    ジャンパワイヤがごちゃごちゃになる.
    例えば,FT232Hを使ったUSB変換モジュールを買えばok

    View full-size slide

  6. 制作したアダプター
    ・USB2.0
    ・MEMS発振器
    ・FT232HLを使⽤
    ・JTAGコネクタで簡単に接続できる
    ・いい感じ?にロゴを⼊れた
    ・(使わないけど)ケースも作った!
    USB Type-Cで接続可能なJTAGアダプタ

    View full-size slide

  7. 制作の流れ
    1. 回路図・アートワーク作成
    2. FusionPCBに発注!
    3. 組み⽴て
    4. テスト(ラズパイで使ってみる)
    やっていきます

    View full-size slide

  8. 1. 回路図・アートワーク作成
    USB-Cで接続
    電源もVBUSからほしい
    PC
    1.概要
    JTAGアダプタ
    FT232HL
    MEMS発振器
    動作確認⽤LED
    JTAGの
    20ピンケーブル
    マイコン
    コネクタ基板

    View full-size slide

  9. 1. 回路図・アートワーク作成
    USB Type-C
    ・VBUSから5Vをもらう
    ・USB2.0なのでD+,D-だけ
    ・CC1,CC2をプルダウンすればデバイスとして認識
    FT232HL
    なるほど?
    2.データシートとかを確認
    FT232HLの動作モードとかピンアサインとかなんでも書いてある
    MEMS発振器などもそれぞれ確認

    View full-size slide

  10. 1. 回路図・アートワーク作成
    電磁気なんもわからん
    3.部品選定・回路図つくる
    4.フットプリント割り当て
    5.アートワーク

    View full-size slide

  11. 2. 発注!
    ⾯付け
    (1枚から4個作れる!うれしい!)
    FusionPCB
    FT232HLの在庫ないけど???
    ⼊荷予想 来年の5⽉???

    View full-size slide

  12. 3. 組み立て
    チップ部品(1.6mm ×0.8mm)
    のはんだ付けがややしんどい
    (量産するならリフローしてみたいなぁ……)
    ロゴがいい感じで嬉しい!
    36mm
    50mm

    View full-size slide

  13. 4. テスト
    OpenOCDというツールを使う.
    telnetで接続したり,gdbを使った
    りできる
    PC JTAG
    アダプタ ラズパイ
    接続
    OpenOCD
    USB2.0

    View full-size slide

  14. バグ発生(物理)!
    ???
    信号線逆になってる!!!!
    TDIとTDOを逆に設計していました

    View full-size slide

  15. バグ発生(物理)!<解決編>
    パターンカットする
    動いた◎
    レジストを剥がして,カッターで切断
    ジャンパワイヤで信号線を⼊れ替えた

    View full-size slide

  16. おまけ
    FT232HLが強い. JTAG以外の⽤途にも使える
    I2C
    UART
    PCにGPIOを⽣やせて楽しい
    ⽯油掘り当てたら,MacBookでIoTしてもいい()
    https://learn.adafruit.com/circuitpython-on-any-
    computer-with-ft232h

    View full-size slide

  17. おわり
    JTAGアダプタ
    できた!

    View full-size slide