当前位置:首页 > 新闻中心 > 技术分享

使用JTAG仿真器查看ZYNQ当前启动模式

发布时间:2022-12-15 17:04   浏览次数:593次   作者:管理员

 Xilinx纯FPGA芯片开发时,使用Xilinx Vivado调试软件,通过JTAG仿真器查看硬件特性,可以获得当前FPGA启动模式,类似如下图所示的那样:


使用JTAG仿真器查看ZYNQ当前启动模式



 在Xilinx Zynq SoC开发中,我们可以通过Xilinx SDK读取寄存器的方式来获取Zynq SoC芯片当前的启动模式。

 启动模式寄存器归到系统控制寄存器组别里面,其基地址为0xF800_0000 + 0x0000_025C,即0xF800_025C,寄存器名字为BOOT_MODE,如下图所示:


使用JTAG仿真器查看ZYNQ当前启动模式



使用JTAG仿真器查看ZYNQ当前启动模式


 

 启动模式寄存器BOOT_MODE具体定义如下图所示:


使用JTAG仿真器查看ZYNQ当前启动模式


 

 下面介绍使用Xilinx SDK软件查看当前Zynq SoC启动模式的步骤。

 用户先建一个包含PS IP核的Vivado硬件工程(最简系统即可),然后基于这个硬件工程导出硬件描述文件,并在该Vivado工程界面Launch打开Xilinx SDK软件,随便新建一个App应用工程,比如Hello World模板工程。

 编译Xilinx SDK App应用工程,然后进入调式模式,如下图所示,点击Run->Debug


使用JTAG仿真器查看ZYNQ当前启动模式


 

 在Xilinx SDK调试界面,打开Memory视窗:


使用JTAG仿真器查看ZYNQ当前启动模式


 

 在Memory窗口,添加要查看的内存地址。前面我们已经知道启动模式寄存器基地址为0xF800_025C,那么就添加0xF800_025C地址,查看该地址空间的内容,如下示例所示:


使用JTAG仿真器查看ZYNQ当前启动模式



 上面示例显示0xF800_025C 寄存器当前值为0x0000_0005即启动模式寄存器BOOT_MODE[3:0]=0x5=”0101”详细到具体位的值,则BOOT_MODE[3]=0BOOT_MODE[2]=1BOOT_MODE[1]=0BOOT_MODE[0]=1。对照下图所示BOOT_MODEbit位的值与各启动模式之间的关系,我们知道当前启动模式为SD卡启动模式


使用JTAG仿真器查看ZYNQ当前启动模式