描述
此示例设计显示如何通过EMIO将Zynq-7000器件上的TRACE端口连接到连接到ZED板的FMC连接器的XILINX HW-FMC-105-DEBUG板上的mictor。
它还将PJTAG布线到ZED板上的MIO PMOD。通过这种方式,可以使用AVNET PMOD-7ZJTAG适配器独立调试PL(使用XILINX工具)和PS(使用第三方工具)。
解
在设计中:
- 在Zynq TAB中,PJTAG被布线到MIO 10 .. 13。
- FCLK_CLK0用于馈送EMIO端口EMIOTRACECLK,并且除以两个版本的FCLK_CLK0用于馈送外部端口TRACECLK_pin。这是因为ARM定义了两个独立的时钟TRACECLKIN和TRACECLK,其中TRACECLK = TRACECLKIN / 2。 TRACECLKIN是CoreSight组件的输入时钟,TRACECLK是输入时钟,用于Lauterbach调试器。在EMIO上,EMIOTRACECLK端口实际上是TRACECLKIN。您需要在PL中生成此时钟的2分频版本,并将其输出到TRACECLK_pin。
- TRACE端口的ucf约束需要与ZED板布局匹配
分步说明:
- 将XILINX HW-FMC-105-DEBUG板连接到ZED板上的FMC连接器
- 将TRACEr连接到XILINX HW-FMC-105-DEBUG板上的mictor连接器
- 将AVNET PMOD-7ZJTAG适配器连接到ZED板上的MIO PMOD连接器
- 将20针DEBUG接头连接到AVNET PMOD-7ZJTAG适配器上的20针接头
- 设置启动模式跳线以独立JTAG模式从SD卡启动。
- 创建一个BOOT.bin(复制到SD卡上),其中包含:
- FSBL是从附加的SDK项目创建的
- 从附加的XPS项目创建的比特流
- 从SDK项目创建的“Hello World”示例
设置Vivado项目的步骤:
1.创建一个针对ZED板的空白vivado项目。
2.在Vivado tcl控制台中键入cd {<ar52095_bd_tcl.tcl>的完整目录}。
3.在tcl控制台中键入source ar52095_bd_tcl.tcl。
4.块设计创建完成后,生成块设计的输出产品。
5.产生产品后,为块设计创建顶部HDL,并将TRACE_DATA的宽度修改为16,如输出[15:0] TRACE_DATA; wire [15:0] TRACE_DATA;。
6.将约束文件system.xdc添加到Vivado项目。
7.生成比特流。
8.生成比特流后,打开已实现的设计。
9.在“文件”菜单中,单击“导出” – >“导出硬件SDK”,然后选中所有选择。
10. SDK启动后,创建fsbl和bsp。
11.在fsbl中打开ps7_init.c,并注释EMIT_MASKWRITE(0XF8803004,0xFFFFFFFFU,0x80000000U)的每一行。
12.保存ps7_init.c,然后再次编译fsbl。
13.创建一个hello world应用程序。
14.我们可以使用生成的fsbl和hello world的elf文件以及比特流生成BOOT.bin。
注意: 通常不需要步骤11和12。这是由于(Xilinx答复61108)中描述的问题。
预期结果:
- 使用Platform USB线,用户可以使用XILINX工具调试PL(例如,ChipScope)
- 使用第三方20针标头,用户可以调试访问cortex-A9 CPU的PS
- 使用TRACEr,用户可以分析软件应用程序
有关ZED板和PMOD-7ZJTAG适配器的更多信息, 请访问http://www.zedboard.org 。
附件
相关附件
名称 | 文件大小 | 文件类型 |
---|---|---|
system.xdc | 2 KB | XDC |
ar52095_bd_tcl.tcl | 7 KB | TCL |
没有回复内容