使用 JTAG UART - 2022.1 Chinese

Vitis 统一软件平台文档 嵌入式软件开发 (UG1400)

Document ID
UG1400
Release Date
2022-04-26
Version
2022.1 简体中文

XSDB 支持通过 JTAG 使用虚拟 UART,当物理 UART 不存在或者无法正常工作时可使用此功能。要使用 JTAG UART,软件应用应修改为将 STDIO 重定向至 JTAG UART。Vitis IDE 提供了 CoreSight™ 驱动程序用于支持将 STDIO 重定向至基于 Arm 的设计上的虚拟 UART。对于 MB 设计,可使用 uartlite 驱动程序。要使用虚拟 UART 驱动程序,请在 Vitis IDE 中打开开发板支持设置,然后将 STDIN / STDOUT 更改为 coresight/mdm。

XSDB 支持通过下列两条命令来使用虚拟 UART。

  • jtagterminal:用于启动/停止基于 JTAG 的超级终端 (hyper-terminal)。此命令会为 STDIO 打开新的终端窗口。来自此终端的文本输入将发送到 STDIN,来自 STDOUT 的任何输出都将显示在此终端上。
  • readjtaguart:开始/停止读取 JTAG UART。此命令会开始轮询 STDOUT 以获取输出,并显示在 XSDB 终端上,或者将其重定向至文件。

以下 XSCT 会话示例演示了如何将 JTAG 终端用于 STDIO:

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  

以下 XSCT 会话示例演示了如何使用 XSCT 控制台作为 JTAG UART 的 STDOUT:

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

以下 XSCT 会话示例演示了如何将 STDOUT 从 JTAG UART 重定向至文件:

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