目录
原理框图
Vivado中添加&配置Zynq UltraScale+ MPSoc IP
UART设置(仅用于调试,非必需)
MIO、EMIO设置
DDR配置
执行Generate Output Products
执行Create HDL Wrapper
执行File -> Export ->Export Hardware
执行Launch SDK
新建FSBL工程
新建Hello World工程
原理框图
本文用于点亮PS MIO52和PL L15接的LED灯。
Vivado中添加&配置Zynq UltraScale+ MPSoc IP
UART设置(仅用于调试,非必需)
MIO、EMIO设置
EMIO=1表示只选用1个EMIO,它的编号是78,通过pinL14去点D2灯。
MIO52用于点D1灯。
DDR配置
Other Options设置如下:
执行Generate Output Products
右键bd,选择Generate the Output Products。
Generate the Output Products就是vivado用IP的形式(.v)实现bd框图。
执行Create HDL Wrapper
右键bd,选择Create HDL Wrapper。
Create a HDL wrapper就是产生1个*_wrapper.v的顶层文件。
执行File -> Export ->Export Hardware
因为MIO、EMIO涉及到PS、PL的操作,因此需要执行综合和实现,并约束引脚,如下图:
依次执行Generate Bitstream,Export Hardware(需勾选Include bitstream)即可。
执行Launch SDK
打开SDK后的Project Explorer界面如下:
新建FSBL工程
File->New->Application Project,界面如下:
Next后选择ZYNQ MP FSBL,见下图。
点击Finish,Project Explorer内容更新为:
hello_app_prj和hello_app_prj_bsp为新增的文件夹。
新建Hello World工程
File->New->Application Project,界面如下:
Next后选择Hello World,见下图:
点击Finish,Project Explorer内容更新为:
打开helloworld.c内容修改为:
接上串口线,执行debug或run,Run Configuration设置如下:
因为有bit,所以需要勾选Program FPGA,测试发现不勾选PL Powerup时,EMIO的点灯不起作用。
代码经过上板实测通过。