/home/tnishinaga/TechMEMO

日々行ったこと、面白かったことを書き留めます。

安価なロジックアナライザとsigrokでJTAGを見る

現在、フルスクラッチJTAGをしゃべるプログラムを開発しています。 このプログラムのデバッグ用にJTAG信号を解析できるロジックアナライザを探したところ、うまく使えるものが見つかったので、備忘録として残しておきます。

sigrok

JTAG信号を解析できる信号解析アプリケーションとして、sigrokというオープンソースソフトウェアがあります。 今回はこれを使ってJTAG信号を解析しようと思います。

sigrokの持っているデコーダ一覧は以下参照です。

sigrok.org

sigrok対応デバイスを買う

sigrokを使うには対応ハードウェアが必要なので、探します。 sigrokがサポートするハードウェア一覧は以下です。

sigrok.org

sigrokをM1 Mac(Big Sur)で動かす

Mac OSX用のsigrokは以下からダウンロードできますが、私の環境ではエラーが出て起動すらしませんでした。

sigrok.org

そのため、ちゃんと起動するsigrokをビルドするhomebrewスクリプトを作成しました。

一部HEAD指定必須なので、以下のコマンドを実行してインストールしてください。 (WIPなので修正したほうが良い点があればPRお願いします!)

github.com

brew tap tnishinaga/sigrok
brew install libsigrok sigrok-firmware-fx2lafw
brew install --HEAD libsigrokdecode
brew install sigrok-cli
brew install --HEAD pulseview

sigrokを使ってみる

バイスをPCに接続し、terminalからpulseviewを実行してGUIアプリを起動します。

起動したら画面上のデバイス選択部分をクリックし、fx2lawドライバを選択してデバイススキャンを行い、出てきたデバイスを選択します。

次に画面上からデコーダー選択ボタンを押し、JTAGを選択したあと、ピンの割当を行います。

あとは画面左上のRunボタンを押してJTAGの信号を流すだけです。 うまく信号を捕まえられれば、JTAGのステートを確認したり、送受信したデータのhexがみられて開発効率が向上すること間違いなしです。

2024.04.10追記: Cloneデバイスの利用を進めることに疑問を持ったので一部記述を削除しました。