目次: OpenOCD
Arty A7に書き込んだNS31AにOpenOCDで接続する方法についてメモしておきます。
現在OpenOCDにNS31A用のコンフィグは登録されていませんので、手動で下記のファイルを作ります。
先頭のadapter speedはJTAGとボード間の信号の周波数です。J-Linkの場合15000 (= 15MHz) が最大値で、周波数が高い方が実行ファイルの転送速度などの面で有利です。が、家の機材で試したところ12MHzくらいで限界のようで、15MHzだとデバッグレジスタが読めないなどのエラーが発生しました。原因は追っていませんがJ-LinkとArty A7の間をバラバラの線で繋いでいるせいかもしれません……。
reset_config trst_and_srst
adapter speed 1000
set _CHIPNAME riscv
set _DAP_TAPID 0x400059df
set _ENDIAN little
set _TARGETNAME $_CHIPNAME.cpu.0
jtag newtap $_CHIPNAME dap -irlen 5 -ircapture 0x01 -irmask 0x03 -expected-id $_DAP_TAPID
target create $_TARGETNAME riscv -endian $_ENDIAN -chain-position $_CHIPNAME.dap -coreid 0
ファイル名は何でも良いですが、ここではopenocd-ns31.cfgとします。ファイルはOpenOCDから見える場所に置いてください。今回はOpenOCDのソースコードがあるディレクトリの直下に置いています。
私の持っているJTAGインタフェースはSEGGER J-Link(J-Link - Model Overview - SEGGER)なので、tcl/interface/jlink.cfgを使用します。他のJTAGをお使いの方は適切なコンフィグファイルに読み替えてください。
OpenOCDの -fオプションにjlink.cfgと先ほど作ったopenocd-ns31.cfgを指定します。もし他マシンからネットワーク経由でOpenOCDに接続したければ -c 'bindto 0.0.0.0' も指定します。
$ ./src/openocd -c 'bindto 0.0.0.0' -f tcl/interface/jlink.cfg -f ./openocd-ns31.cfg Open On-Chip Debugger 0.11.0+dev-00529-gb1de11616 (2021-12-04-17:24) Licensed under GNU GPL v2 For bug reports, read http://openocd.org/doc/doxygen/bugs.html Info : auto-selecting first available session transport "jtag". To override use 'transport select <transport>'.0 Info : Listening on port 6666 for tcl connections Info : Listening on port 4444 for telnet connections Info : J-Link V11 compiled Jul 3 2020 10:47:34 Info : Hardware version: 11.00 Info : VTarget = 3.322 V Info : clock speed 1000 kHz Info : JTAG tap: riscv.dap tap/device found: 0x400059df (mfg: 0x4ef (NSITEXE Inc), part: 0x0005, ver: 0x4) Info : datacount=2 progbufsize=2 Info : Examined RISC-V core; found 1 harts Info : hart 0: XLEN=32, misa=0x40101125 Info : starting gdb server for riscv.cpu.0 on 3333 Info : Listening on port 3333 for gdb connections
特にエラーもなく起動したら、あとはHiFiveなどと同じでGDBなどから接続&デバッグ可能です。
目次: Linux
関係の深いまとめリンク。
カーネル、ドライバ関連。
デバッグ関連。
他アーキテクチャ関連。
ユーザーランド、その他。
ARMエミュレータでLinuxを動作。
< | 2023 | > | ||||
<< | < | 04 | > | >> | ||
日 | 月 | 火 | 水 | 木 | 金 | 土 |
- | - | - | - | - | - | 1 |
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | - | - | - | - | - | - |
合計:
本日: