はじめに
WSLで動作するVivadoからJTAGを使う方法をメモしておきます。
バージョン
Windows 11 23H2
Vitis/Vivado 2024.2
WSLのOS Ubuntu 24.04
手順
HostのWindows側に、Vivado Lab ソリューションをインストールする。
通常のvivadoでもよいが、こっちの方がディスク容量が少ない。
hw_serverを起動する。
-dをつけてデーモンとして起動してもよいです。
cd C:\Xilinx\Vivado_Lab\2024.2\bin
.\hw_server.bat
WSLで動作しているvivadoでOpenTargetを選択する。
AutoConnectを選択する
Connecting to server...の表示でつながるまで待つ(2~3分)
AutoConnectでなく、localhostを指定してみたりいろいろ試してみましがた、つながるまでに時間がかかる状況に違いはありあせんでした。
つながるまでに時間がかかりますが、Program Deviceは遅延なく実行できました。
うまく行かない時
hw_serverが動作してるか確認する方法
WSLのコンソールから、telnetなどで、3121に接続して応答があれば、hw_serverが動作している事を確認できます。
$ telnet localhost 3121
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
ELocatorHello["ZeroCopy","ContextPCIe","ArmDAP","JtagFpga","Dpc","MicroPython","ContextXvc","DebugCorePolling","DebugCore","XicomEverest","stapl","svf","XicomSysmon","zynqflash","XicomFlash","bpi","spi","xsdb","Xicom_v1.00","Xicom_v1.01","xicom_0","Xicom","XilinxReset","JtagDevice","JtagCable","Jtag","ContextParams","Diagnostics","Profiler","Disassembly","DPrintf","PathMap","Streams","Expressions","FileSystem","LineNumbers","SymbolsProxyV2","SymbolsProxyV1","Symbols","StackTrace","Registers","MemoryMap","Memory","Breakpoints","RunControl","ContextReset","ContextQuery","Locator"]
# おまけ2
私のWSLは、networkingMode = mirrored
にしています。
C:\Users\UserName\.wslconfig
[wsl2]
networkingMode = mirrored