我的开发环境: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 #include2 #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向超级终端发来的信息