2.实例 就是把led1.v写进ledDB_wrapper.v
双击ledDB_wrapper.v,修改
修改后的代码(粗体处是新加的led.v部分,其他地方默认不用改):
module ledBD_wrapper
(rst_n,
sys_clk,
DDR_addr,
DDR_ba,
DDR_cas_n,
DDR_ck_n,
DDR_ck_p,
DDR_cke,
DDR_cs_n,
DDR_dm,
DDR_dq,
DDR_dqs_n,
DDR_dqs_p,
DDR_odt,
DDR_ras_n,
DDR_reset_n,
DDR_we_n,
FIXED_IO_ddr_vrn,
FIXED_IO_ddr_vrp,
FIXED_IO_mio,
FIXED_IO_ps_clk,
FIXED_IO_ps_porb,
FIXED_IO_ps_srstb,
led);
input rst_n;
input sys_clk;
inout [14:0]DDR_addr;
inout [2:0]DDR_ba;
inout DDR_cas_n;
inout DDR_ck_n;
inout DDR_ck_p;
inout DDR_cke;
inout DDR_cs_n;
inout [3:0]DDR_dm;
inout [31:0]DDR_dq;
inout [3:0]DDR_dqs_n;
inout [3:0]DDR_dqs_p;
inout DDR_odt;
inout DDR_ras_n;
inout DDR_reset_n;
inout DDR_we_n;
inout FIXED_IO_ddr_vrn;
inout FIXED_IO_ddr_vrp;
inout [53:0]FIXED_IO_mio;
inout FIXED_IO_ps_clk;
inout FIXED_IO_ps_porb;
inout FIXED_IO_ps_srstb;
output [3:0]led; wire [14:0]DDR_addr;
wire [2:0]DDR_ba;
wire DDR_cas_n;
wire DDR_ck_n;
wire DDR_ck_p;
wire DDR_cke;
wire DDR_cs_n;
wire [3:0]DDR_dm;
wire [31:0]DDR_dq;
wire [3:0]DDR_dqs_n;
wire [3:0]DDR_dqs_p;
wire DDR_odt;
wire DDR_ras_n;
wire DDR_reset_n;
wire DDR_we_n;
wire FIXED_IO_ddr_vrn;
wire FIXED_IO_ddr_vrp;
wire [53:0]FIXED_IO_mio;
wire FIXED_IO_ps_clk;
wire FIXED_IO_ps_porb;
wire FIXED_IO_ps_srstb;
wire rst_n,sys_clk;
wire [3:0] led;
led1 led1
(
.sys_clk(sys_clk),
.rst_n(rst_n),
.led(led)
);
ledBD ledBD_i
(.DDR_addr(DDR_addr),
.DDR_ba(DDR_ba),
.DDR_cas_n(DDR_cas_n),
.DDR_ck_n(DDR_ck_n),
.DDR_ck_p(DDR_ck_p),
.DDR_cke(DDR_cke),
.DDR_cs_n(DDR_cs_n),
.DDR_dm(DDR_dm),
.DDR_dq(DDR_dq),
.DDR_dqs_n(DDR_dqs_n),
.DDR_dqs_p(DDR_dqs_p),
.DDR_odt(DDR_odt),
.DDR_ras_n(DDR_ras_n),
.DDR_reset_n(DDR_reset_n),
.DDR_we_n(DDR_we_n),
.FIXED_IO_ddr_vrn(FIXED_IO_ddr_vrn),
.FIXED_IO_ddr_vrp(FIXED_IO_ddr_vrp),
.FIXED_IO_mio(FIXED_IO_mio),
.FIXED_IO_ps_clk(FIXED_IO_ps_clk),
.FIXED_IO_ps_porb(FIXED_IO_ps_porb),
.FIXED_IO_ps_srstb(FIXED_IO_ps_srstb));
endmodule 重新编译一下工程,生成 bit 文件。 转入SDK1. Launch SDK1.再导出硬件,选择菜单 File->Export->Export Hardware…导出,包含bitstram 文件。 2.硬件导出后,选择菜单 File->Launch SDK,启动 SDK 开发环境 3.点击菜单 File -> New -> Application Project,新建一个名为 fsbl 的 APP, 会出现1 个 hardware platform:ledBD_wrapper_hw_platform_0,大概选最新最上面那个就好(图上的platform可能不一致)。
选择zynq fsbl
右键fsbl,然后选择creat boot image
下方方框出现两个文件即正常,bootloader在上,bit文件在下,可能有延迟 稍等或请重试
点击creat image 2.写入flash点击xlinx-program flash
image file选择上一步生成的bin文件!
fsbl file 使用开发板赠送资料中的厂商定制的fsbl
关于定制版本 fsbl 的来源,可以参考 xilinx 官网链接:
https://www.xilinx.com/support/answers/70148.html
(如果链接失效,可以在 xilinx 官网搜索 AR# 70148)
如果使用 Vivado 2019.1 及以后版本就不需要这个定制的 fsbl,用自己生成的 fsbl 即可。
等待烧写完成后,设置启动模式为 QSPI(不同厂商可能不同,我这里的是调整插销位置来实现的),再次启动,观测到灯正常运行。
|