JTAG UART の使用 - 2022.1 日本語

Vitis 統合ソフトウェア プラットフォームの資料: エンベデッド ソフトウェア開発 (UG1400)

Document ID
UG1400
Release Date
2022-04-26
Version
2022.1 日本語

XSDB では、JTAG を使用した仮想 UART がサポートされます。これは、物理的な UART が存在しない場合や機能していない場合に便利です。JTAG UART を使用するには、STDIO を JTAG UART にリダイレクトするようにソフトウェア アプリケーションを変更する必要があります。Vitis IDE では、Arm ベース デザインに STDIO の仮想 UART へのリダイレクトをサポートする CoreSight™ ドライバーが含まれます。MicroBlaze デザインの場合、uartlite ドライバーが使用できます。仮想 UART ドライバーを使用するには、Vitis IDE でボード サポート設定を開いて STDIN / STDOUT を coresight/mdm に変更します。

XSDB では、2 つのコマンドを介して仮想 UART がサポートされます。

  • jtagterminal: JTAG ベースのハイパーターミナルを開始/停止します。このコマンドは、STDIO 用に新しいターミナル ウィンドウを開きます。このターミナルからのテキスト入力が STDIN に送信され、STDOUT からの出力はすべてこのターミナルに表示されます。
  • readjtaguart: JTAG UART からの読み出しを開始/停止します。このコマンドは STDOUT のポーリングを開始して、XSDB ターミナルに表示するか、ファイルに保存します。

次に、STDIO 用に JTAG ターミナルを使用する方法を示す XSCT セッション例を示します。

connect
source ps7_init.tcl
targets -set -filter {name =~"APU"}
loadhw system.xsa
stop
ps7_init
targets -set -nocase -filter {name =~ "Arm*#0"}
rst –processor
dow <app>.elf
jtagterminal
con
jtagterminal -stop #after you are done  

次に、JTAG UART 用に XSCT コンソールを STDOUT として使用する方法を示す XSCT セッション例を示します。

connect
source ps7_init.tcl
targets -set -filter {name =~"APU"}
loadhw system.xsa
stop
ps7_init
targets -set -nocase -filter {name =~ "Arm*#0"}
rst –processor
dow <app>.elf
readjtaguart
con
readjtaguart -stop #after you are done

次に、STDOUT を JTAG UART からファイルにリダイレクトする方法示す XSCT セッション例を示します。

connect
source ps7_init.tcl
targets -set -filter {name =~"APU"}
loadhw system.xsa
stop
ps7_init
targets -set -nocase -filter {name =~ "Arm*#0"}
rst –processor
dow <app>.elf
set fp [open uart.log w]
readjtaguart -handle $fp
con
readjtaguart -stop #after you are done