ZedBoard的第一个工程Helloworld

我的开发环境:windows7 32位

                            Xilinx PlanAhead 14.6

                            

一、配置硬件信息

启动PlanAhead,进入新建工程向导

选择工程名和路径

工程类型,这里选择 RTL 工程

由于只需要PS部分信息,而这部分在后面由XPS完成,因而不需要添加任何文件

一直点下一步,直道出现芯片和板载信息。直接选择Boards,选择系列是Zynq-7000。14.1目前只支持XC7Z020器件。

完成新建工程向导

PlanAhead进入工作视图,在Project Manger中选择建立的工程,右键,Add Sources

选择 Add or Create Embeded Sources

单击 Create Subdesign

输入需要建立嵌入系统名称,这里填duocore

 

确定后,提示所建立的工程是一个Zynq工程,提示是否添加PS到系统。点确认。

XPS会被启动,可以看到Zynq的配置界面。Diligent公司做好了一套配置方案,从其网站上能下载到配置文件:

import这个配置文件,点“+”找到文件位置后,点OK

可以看到配置后的结果,同时MHS和UCF文件也被修改。其中有颜色标记为使用,没有颜色标记表示没有使用。可以对其修改,这是对应ZedBoard的硬件接口,保持默认就可。

至此,硬件配置结束。关闭XPS,切换到PlanAHead。可以看到duocore.xmp已经加入到工程中。

在硬件配置文件duocore.xmp上右键,选择Create Top HDL,生成顶层HDL文件

可以看到生成的duocor_stub.v文件

最后一步,将硬件信息导入到SDK。File->Export Hardware

为了方便管理,软件workspace放在software目录下。

 

二、建立软件工程

Export结束后,会自动启动SDK。界面如下。可以看到工程浏览器Project Explorer中已经有一个硬件平台duocore_hw_platform,里面有一系列配置和初始化文件。不要修改这些文件。

新建Xilinx C 工程。

新工程建立向导。这里我们建立最简单的测试工程helloworld。

修改源代码。将工程源文件内容修改,如下

复制代码
//@超群天晴 http://www.cnblogs.com/surpassal/
 1 #include <stdio.h>
 2 #include "platform.h"
 3 
 4 void print(char *str);  5 
 6 int main()  7 {  8     init_platform();  9 
10     print("Hello World from Zynq\n\r"); 11     print("这是Zynq ARM 测试\n\r"); 12     print("2012年9月8日14:30:48\n\r"); 13     print("荣超群\n\r"); 14     cleanup_platform(); 15 
16     return 0; 17 }
复制代码

至此,工程建立完成

 

三、编译和下载

给ZedBoard上电,将启动模式设置为Jtag启动,将mini USB下载线接上,并将mini USB to Uart接上。

 

启动电脑上的超级终端,配置串口和波特率,115200

右键工程hello_world_0,build,编译工程。

右键工程hello_world_0,run->run configuration,打开下载配置界面。双击Xilinx C/C++ ELF,建立新的下载配置。默认即可。

点run,开始下载。等待下载完成,可以看到ZedBoard向超级终端发来的信息

Zedboard板基于SOC的Adau1761测试项目 郑郁正(百度) 项目模板来自:Lab4 1、 在vivado下执行TCL脚本可以生成SOC模型。 2、 直接创建SDK项目。 3、 将Line In输入的音频处理后送Line Out。 4、 通过SW0可以选择是否滤波处理音频,还是直通。 主要问题是提供的TCL脚本与vivado2015.2不兼容,按网上“ vivado + zedboard之audio驱动”的步骤运行TCL失败。其二是adau1761.h adau1761.c、iic.h、iic.c没用(实际上模板中也没有)。其三是testapp.c中的xfir_hw.h不存在(实际上不做滤波处理时可以删除)。 说明一下如何修改TCL脚本。 1、 解压labsoure.rar后将 ..\labsource\sources\lab4 拷贝到 d:\ 下。 2、 启动vivado后点主菜单中的window中的Tcl Console打开Tcl Console命令窗口。 3、 在Tcl Console窗口下面的命令框中输入cd d:/lab4 4、 用windows的“记事本”打开该目录中的audio_project_create.tcl 文档(用其它文本编辑器打开也可以)。 5、 首先将第2行create_project audio C:/xup/hls/labs/lab4/audio -part xc7z020clg484-1路径改为create_project audio d:/lab4/audio -part xc7z020clg484-1 6、 第15行set_property ip_repo_paths C:/xup/hls/sources/lab4 [current_fileset]路径改为set_property ip_repo_paths d:/lab4 [current_fileset] 7、 将audio_project_create.tcl 的每一行拷贝入 Tcl Console 命令框中执行。 8、 执行第7行“create_bd_cell -type ip -vlnv xilinx.com:ip:processing_system7:5.3 processing_system7_0”产生错误: ERROR: [BD 5-216] VLNV <xilinx.com:ip:processing_system7:5.3> is not supported for this version of the tools.The latest version is:5.5 ERROR: [Common 17-39] 'create_bd_cell' failed due to earlier errors. 9、 在右上Diagram窗口右击鼠标选“Add IP…”,选择倒数第2个IPcore:“ZYNQ7 Processing System”,将出现在Tcl Console窗口中的“create_bd_cell -type ip -vlnv xilinx.com:ip:processing_system7:5.5 processing_system7_0”拷贝代替第7行。实际上是vivado版本兼容问题,将5.3改为了5.5。 10、 注消25行、26行。因为 执行第25行 delete_bd_objs [get_bd_nets processing_system7_0_fclk_clk1] 产生警告: WARNING: [BD 5-234] No nets matched 'get_bd_nets processing_system7_0_fclk_clk1' 执行第26行 connect_bd_net -net [get_bd_nets processing_system7_0_fclk_clk0] [get_bd_pins proc_sys_reset/slowest_sync_clk] [get_bd_pins processing_system7_0/FCLK_CLK0] 产生错误: WARNING: [BD 5-235] No pins matched 'get_bd_pins proc_sys_reset/slowest_sync_clk' WARNING: [BD 41-395] Exec TCL: all ports/pins are already connected to '/processing_system7_0_FCLK_CLK0' ERROR: [BD 5-4] Error: running connect_bd_net. ERROR: [Common 17-39] 'connect_bd_net' failed due to earlier errors.” 11、 注销59行。因为执行第59行 connect_bd_net [get_bd_pins processing_system7_0/FCLK_RESET0_N] [get_bd_pins proc_sys_reset/ext_reset_in] 产生错识 WARNING: [BD 5-235] No pins matched 'get_bd_pins proc_sys_reset/ext_reset_in' ERROR: [BD 41-701] connect_bd_net requires at least two pins/ports, or one pin/port and a net ERROR: [BD 5-4] Error: running connect_bd_net. ERROR: [Common 17-39] 'connect_bd_net' failed due to earlier errors. 12、 回到vivado主菜单file中close project,不保存任何内容。关闭vivado,删除d:/lab4/audio目录。 重新启动vivado后点主菜单中的Tools中的Run Tcl Script…,选中d:/lab4/audio_project_create.tcl,即可自动完成硬件SOC系统的创建,工程项目位于d:/lab4/audio中。 1. 在右上窗口Diagram中右击鼠标选“Validate Design”验证。 2. 进入主菜单File选“Save Block Design”保存创建的系统结构图。 3. 点击左上窗口Design的左下选项Sources,显示项目顶层结构,右击其中的顶层“system(system.bd)(6)”选“Create HDL Wrapper”OK 4. 点击左上窗口Sources中“Constraints”右边的“+”展开,右击constrs_1  Add Sources  Next  点中间的“+”,添加管脚文件d:/lab4/zed_audio_constraints.xdc。(由于新版本的vivado区分大小写字母,所以必须将该文件中的IIC、GPIO换成小写字母iic、gpio) 5. 进入主菜单Flow选Generate BitStream。运行过程中都点OK。 6. 进入主菜单File选Export  Export Hardware…  将“Include Bitstream”左加的框打勾  OK 7. 进入主菜单File选Launch SDK。 在SDK中 1、 进入主菜单File选New  Application Project,在Project Name输入框中输入一个项目命zyzAudio,然后Next进到下一级选空白项目模板Empty Project。 2、 点开左边项目管理窗口中的zyzAudio,右击src后import,选General中的File System,找到d:/lab4目录,将audio.h和testapp.c选中加入项目中。 3、 注销testapp.c包含的头文件 #include “xfir_hw.h 4、 修改滤波器函数filter_or_bypass_input(),注销if(sw_check & 01){…}语句全体,将其后的两条输出语句 Xil_Out32(I2S_DATA_TX_L_REG, u32DataL); Xil_Out32(I2S_DATA_TX_R_REG, u32DataR); 改为 if(sw_check & 01){ Xil_Out32(I2S_DATA_TX_L_REG, u32DataL); Xil_Out32(I2S_DATA_TX_R_REG, u32DataR); }else{ static u32 zyzTest=0; zyzTest += 0x0800; Xil_Out32(I2S_DATA_TX_L_REG, zyzTest<<8); Xil_Out32(I2S_DATA_TX_R_REG, zyzTest<<8); } 5、 进入主菜单Xilinx Tools选Program FPGA,将BitStream.bit下载到板上。 6、 进入主菜单Run选Run Configuration…,然后用GDB运行程序。 7、 运行时,拨动板上的SW0,耳机插入Line Out即可听到声音。如果有音频从Line In输入,也可以听到。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值