这就犯了难了,搞个LED闪烁和Hello word都需要烧写SD卡?(vivado 2021.1可以正常检测到设备,但无法下载 .bit 文件,除非处于 JTAG 引导模式,否则无法对 PL 进行编程。)
果断向官方发送求助文件,得到了肯定的答复:手册里有写确实没有JTAG模式。需要软件设置。可以参考赛灵思官网的解决的办法,并提示可以通过XSCT切换引导模式。
有了官方的引导,果断开始操作,果然找到了方法。在官方的支持页面有人提到过相同的的问题:《2019.2 Vivado Hardware Manager: Unable to successfully program the PL unless in JTAG boot mode in Vivado 2019.2 and later versions.》
该回答中包含了该问题的解决方式:
To work around this issue, it is possible to set the JTAG mode in the alt_boot_mode register.
Alternatively, the following xsdb script can be run prior to programming:
# Set target into JTAG mode
puts "reset and setup system into JTAG mode"
targets -set -nocase -filter {name =~ "*PSU*"}
stopafter 1000
mwr 0xff5e0200 0x0100
rst -system
after 1000
下附该寄存器不同值的注释:
Boot Mode
Mode Pins [3:0]
Pin Location
Non-Secure
Secure
Signed
CSU Mode
Description
PS JTAG
0000
JTAG
Yes
No
No
Slave
PSJTAG interface, PS dedicated pins.
Quad-SPI (24b)
0001
MIO[12:0]
Yes
Yes
Yes
Master
24-bit addressing (QSPI24).
Quad-SPI (32b)
0010
MIO[12:0]
Yes
Yes
Yes
Master
32-bit addressing (QSPI32).
SD0 (2.0)
0011
MIO[25:13]
Yes
Yes
Yes
Master
SD 2.0.
NAND
0100
MIO[25:09]
Yes
Yes
Master
Master
Requires 8-bit data bus width.
SD1 (2.0)
0101
MIO[51:38]
Yes
Yes
Yes
Master
SD 2.0.
eMMC (1.8V)
0110
MIO[22:13]
Yes
Yes
Yes
Master
eMMC version 4.5 at 1.8V.
USB0 (2.0)
0111
MIO[52:63]
Yes
Yes
Yes
Slave
USB 2.0 only.
PJTAG (MIO #0)
1000
MIO[29:26]
Yes
No
No
Slave
PJTAG connection 0 option.
PJTAG (MIO #1)
1001
MIO[15:12]
Yes
No
No
Slave
PJTAG connection 1 option.
SD1 LS (3.0)
1110
MIO[51:39]
Yes
Yes
Yes
Master
SD 3.0 with a required SD 3.0 compliant voltage level shifter.