Zynq开发平台工具
参考文档:zynq_sw\Lab_instructions\Lab01 - Explore Zynq Hardware Platform 2013_3_02.pdf
该例程主要是在Vivado软件上导入之前官方配置的Zynq7020的芯片级配置,具体的工程名称为: avnet-digilent-zedboard-2017.2。硬件设计师将该配置文件导出给软件设计人员使用。主要有如下文件。
如果硬件开发团队提供一个Zynq的硬件平台配置,需要检测哪些硬件配置是有效的,可以通过查看HTML文件来确认配置。如下图所示:
导入硬件平台配置
参考文档:zynq_sw\Lab_instructions\Lab02 - HW Platform in SDK 2013_3_02.pdf
该实验将建立工作空间和导入硬件平台配置,将按照以下步骤进行操作:
1、 打开SDK开发工具,开始->所有程序->Xilinx Design Tools->Vivado 2017.2->SDK->Xilinx SDK 2017.2
2、 设置workspace空间的路径,如下图所示,点击OK按钮创建SDK的工作空间。
3、 在SDK软件的菜单栏选择File->New->Other->Xilinx->Hardware Platform Specification新建硬件平台工程。
4、 填写硬件平台工程的名称并选择Vivado软件导出的硬件平台配置的xml文件,如下如所示:
5、 查看该平台的配置文件如下图所示:
BSP包创建和配置
参考文档:zynq_sw\Lab_instructions\Lab03 - Bare Metal BSP 2013_3_02.pdf
该文档说明了创建基本的BSP包的过程和Xilinx提供的外设驱动实例以及实例代码。
创建应用程序
参考文档:zynq_sw\Lab_instructions\Lab04 - Develop an Application 2013_3_02.pdf
该文档说明了怎样创建应用程序工程和利用模板创建应用程序。
下载固件和调试应用程序
参考文档Lab05 - Connect Hardware 2013_3_02.pdf
本文档要点:
1、 设置硬件连接
2、 Zynq7000的PL编程
3、 通过JTAG接口使用TCL配置ARM PS模块
4、 运行应用程序
5、 调试程序
这里的SDK-SoC JTAG接口作用:
1、 读写ARM寄存器
2、 Zynq7000的PL编程
3、 QSPI Flash的编程
4、 加载应用程序到芯片的RAM或者DDR3
5、 应用调试
一、硬件连接和FPGA编程过程如下图所示
- ZedBoard开发板连接好电源线,但电源开关处于OFF状态;
- 通过micro-USB线缆分别连接JTAG口(J17)和UART口(J14);
- 设置ZedBoard的启动模式为JTAG模式,配置MIO[6:2]=GND;
- 将ZedBoard的电源开关拨到ON,可以看到LED灯(LD13)点亮;
- 查看PC机的设备管理看是否出现如下图的外设。
- 打开Xilinx SDK软件选择Xilinx Tools->Program FPGA;
- FPGA硬件配置下载成功后LD2将会被点亮。
二、应用程序调试和下载如下图所示:
3、切换到Target Setup选项,默认选择ps7_init.tcl脚本运行程序。
4、选择Application选项,选择刚才创建的Hello_Zynq7000工程的Hello_Zynq7000.elf文件进行加载。
5、 打开对应的串口设置STDIO Connection选项,配置好串口号和波特率。点击Apply->Run运行应用程序。
创建FSBL工程
参考文档:Lab06 - FSBL 2013_3_02.pdf
该文档详细说明了创建FSBL的工程的过程和进行源码解读。
建立内存测试工程
新建mem_test应用工程,具体参考hello world工程创建过程(注意bsp仍使用standalone_bsp_0),在templates里选择memory tests,点击finish。
连接好仿真器,在project explorer右键点击mem_test工程,选择Run As的Run Configurations,然后双击弹出的窗口中的xilinx C++ application(GDB),同样点开STDIO Connection,勾选Connect STDIO to Console,选择正确的com口,将波特率改为115200,然后点击run,会弹出对话框,选择ok继续。
console里若均显示PASSED标志,则说明内存检测成功。
启动模式
参考文档:Lab07 - Boot from Flash 2013_3_02.pdf
该文档详细说明了创建一个boot image过程和从QSPI/SD卡启动流程。
spi flash及sd卡的测试
右键点击uart_test工程,选择Create Boot Image,系统会默认按顺序添加fsbl镜像、bit文件及工程镜像,在output path里默认生成bin文件,将名字改为boot.bin,点击create image生成bin文件。
再次右键点击uart_test工程,选择Create Boot Image,在output path里将生成文件的后缀名改为mcs,点击create image先生成mcs文件。
连接好仿真器,点击菜单Xilinx Tools,选择Program Flash,选择正确的image file,上述生成的文件存放在[xilinx_install_dir]\hw_project[project_name][project_name].sdk\SDK
SDK_Export[project_name]\bootimage文件夹中,将flash type改成qspi_dual_parallel,点击program。
在program成功后,断电然后将硬件板的启动模式改为spi flash启动,连接好串口后重新上电。
若在串口终端打印hello world则说明spi flash可正常使用。(这种方法暂时不可行!!!)
将生成的boot.bin拷贝到sd卡中,然后将硬件板装上sd卡,并将硬件板设置为sd卡启动,连接好串口后上电启动,若打印hello world则sd卡接口正常。