Xilinx Vivado zynq7000 入门笔记 联系客服

发布时间 : 星期六 文章Xilinx Vivado zynq7000 入门笔记更新完毕开始阅读4d0766dba32d7375a5178011

了FIXED_IO。

展开FIXED_IO可查看被固定的IO口包含了哪些IO口:包含了含有串口UART1的MIO口、处理器的时钟口......。

(5)完成IP 集成文件(bd文件)

完成处理器配置后,为了便于bd文件作为工程的子模块,可以将bd文件例化为HDL文件。展开design Sources,右键点击bd文件创建HDL wrapper。再把HDL文件设为顶层文件或例化在其它工程中。

5. 输出设计到SDK(software development kit)

5.1 输出到SDK前先完成硬件设计

在FLow Navigator中点击Generate Bitstream,如没有综合和实现,软件将自动综合布线后产生二进制文件。

Bitstream产生完成后,选择Open Implemented Design才能使能Vivado输出bitstream到SDK。

输出到SDK:File —>Export —>Export Hardware for SDK?

5.2 输出到SDK后产生的文件

产生文件夹hw_platform_0 产生文件:

System.xml, 包含系统的地址映射

ps7_init.c和ps7_init.h, 包含ZYNQ processing system初始化代码和DDR,Clocks,PLL,MIO的初始化设置。

ps7_init.html, 将初始化等设置以网页的格式显示出来。 ?_wrapper.bit, implemented设计时,PL bitstream产生的二进制文件,用于初始化PL。

5.3 SDK中创建硬件级支持包(Board Support Package)常规默认设置即可

点击完成后弹出支持包设置

设置标准输入输出设备:stdin、stdout自动设置为uart_1,添加其他外设时可以更改。

设置驱动包:自动列出驱动,不需要的驱动选择‘none’

5.4 新建Application Project,使用existing的Board Support Package

5.5 一个软件工程包含了3个部分:硬件信息、驱动包、软件包

5.6 运行调试程序 右键点击Hello应用程序run as--->run configurations

(1)选择Xilinx C/C++ Application(GDB)然后点击New图标。

(2)选择STDIO连接,连接到Console。如不选择,则直接输出到串口上。

(3)编译完成,生成二进制elf文件。点击Apply和Run,工具编译好下载elf文件到DDR。

JTAG模式:设置MIO2~6为00000

5.7 上电启动配置 利用FSBL模板建立FSBL的boot程序

(1)建立boot启动程序: 新建应用工程Application Project,选择FSBL模板。应用要求xilffs library库支持,如未在建立Board Support Package 时选择该库,可右键点击standalone_bsp_0选择Board Support Package设置。建立完成即可,默认设置。

输出在fsbl程序的Properties>C/C++ Build>Settings>ARM gcc compiler>添加两 个符号:RSA_SUPPORT和FSBL_DEBUG_INFO(用于打开FSBL的输出,可选)>apply>ok。

(2)使用Xilinx Tools/Create Zynq Boot Image命令建立镜像文件。首先在FSBL elf的Browse中选择Boot.elf,该文件会自动添加到下边的文件列表中。然后添加Bitstream,在hw下;再添加LED_Dimmer.elf文件。三者的顺序不能颠倒。最后Create。(需要先编译工程Project—>build all)。在boot image partitions中添加bootloader类型的FSBL生成的.elf文件;添加hw_platform中的硬件.bit二进制文件; 添加软件工程生成的.elf文件;

(3) 使用xilinx-tool/Program Flash.选择qspi single,offset可以不填写内容。Program. (4) 下载文件:QSPI—Flash对应.MSC文件,SD card对应.bin文件

6 其它操作

Zedboard Processing System配置:

最重要的外设配置是boot device,ZYNQ允许使用QSPI、NOR/NAND、SD Card。

QSPI: QSPI固定使用MIO[1-6,8], 其中MIO8为feedback clk, 通常应勾选上。如果有灵感QSPI,选择Dual配置。注意:SRAM/NOR/NAND Flash接口不能被配置,是因为ZYNQ PS仅仅允许一个存储器接口。

USB0: MIO28-39,LVCMOS1.8V

以太网ENET0: MIO[16-27], LVCMOS 1.8V MDIO——MIO[52-53] SDCARD: SD0——MIO[40-45]; CD=MIO47; WP=MIO46

预设为Zedboard默认值:Presets—>Zedboard

设置PS PLL CLocks:有三个PLL-ARM,DDR和IO,每一个在Zedboard上都使用同样的输入参考时钟33.3333MHz。PLL输出设定好后可以更改为整数倍的其它时钟。

例如:

ARM PLL——1333.33MHz(33.333MHz*40)

DDR PLL——1600MHz(33.333Mhz*48)或1066.667MHz(33.3333*32) QSPI可设置为200MHz

PS能够驱动4个不同时钟频率给PL例如:

7 绑定PL管脚 管脚约束

PS部分使用的I/O直接由软件配置,综合后可在I/O Planning中直接查看。

如DDR部分与FIXED部分,为PS指定I/O,综合后直接映射到对应I/O,不需用户单独指定。

方法一:I/O Planing

(1)打开Synthesized Design

(2)菜单Layout——>I/O planing (3)

方法二:xdc约束文件

(1)注释语句,语句前加“#”

(2)IO位置: set_property PACKAGE_PIN [get_ports ]

(3)IO电平标准:set_property IOSTANDARD [get_ports ] 例:set_property PACKAGE_PIN U14 [get_ports led1s] set_property IOSTANDARD LVCMOS33 [get_ports led1s]