AX7Z100开发平台的PS端Hello World
创建ps_hello工程
详情请参考黑金ALINX_ZYNQ(AX7Z100)开发平台SDK应用教程V1.10.pdf,本文只是依例实现,文字细节不做重复。
点击“Create Block Design”,创建一个Block设计,也就是图形化设计
双击配置相关参数
架构图,可参考ug585。
PS端外设的配置,由原理图和PCB决定怎么选择配置
配置QSPI,QSPI可以作为ZYNQ的启动存储设备,ZYNQ读取其中启动文件加载ARM和FPGA
配置以太网,PS端设计有以太网口,根据原理图选择
MDIO为以太网PHY寄存器配置接口
除了QSPI,还有SD卡启动模式
打开GPIO MIO,PS可以控制剩余未分配的MIO,用作GPIO
选择MIO7作为USB PHY的复位
外设配置结束
时钟保持默认,ddr参数中,Memory Part更改选择为图中所示
run
保持默认,点击ok
这里要手动连接
生成HDL顶层文件
展开设计可以看到PS被当成一个普通IP来用
生成Block的输出文件
导出硬件信息
仅使用PS串口,不需要PL参与,不需要包含比特文件
启动sdk
这个文件包含vivado硬件设计的信息,也可以看到PS端外设的寄存器列表
建立一个app工程
输入工程名,其他默认
选择模板
sdk创建了一个Hello目录,和一个hello_bsp目录,BSP即Board Support Package,板级支持包,里边包含了开发所需要的驱动文件,用于应用程序开发。
PS外设有提供例程,通过Import Examples引入官方例子学习
选上Reset entire system,如果系统中还有PL设计,还必须选择Program FPGA
固化程序
新建一个fsbl的app
模板选择
添加宏定义 FSBL_DEBUG_INFO,可以在启动输出FSBL的一些状态信息,利于调试
右键hello app工程,选择create boot image,用于SD卡启动