ZYNQ学习笔记-【用vivoda建立一个嵌入式系统]
0赞
ZYNQ作为全球首款全可编程逻辑器件,不但拥有丰富的可编程逻辑资源,还集成了一个双核的cortex-A9嵌入式处理器,不同于以往的xilinx 产品,ZYNQ可以从以下三个方面来进行应用:
1、 作为单独的嵌入式处理器使用,也就是可以当作普通的ARM9来使用,不用其中的逻辑资源(PS方式);
2、 通过内部的总线将zynq中的逻辑资源和ARM9联合起来使用,也就是经常说的(PL+PS方式);
3、 作为单纯的可编程器件来使用(PL方式),这时需要使用其中的PS或者JATG进行配置;
废话不多说,先来建立第一个基于ZYNQ嵌入式系统(PS方式),本实例完成通过搭建一个嵌入式系统,
简介PS方式的基本流程,最终通过使用PS里面的串口模块打印一串字符;
本实例的环境:win7;VIVODA2013.4 ;EDK;开发版ZedBoard。
首先,打开vivoda2013.4,选择Creat New Project,打开新建工程向导,点击 NEXT,给工程命名 first_ps,选择保存路径;
点击NEXT,选择RTL Project
一直点击NEXT,到型号选择界面,选择Board,ZedBoard,
点击NEXT,点击FINISH,弹出如下界面,完成工程向导;

第二步:创建一个嵌入式系统 ,在 IP Integrator中点击Creat Block Design ,取名first_ps,点击OK;
等待,在弹出来的Diagrm中,右击鼠标,选择 Add IP ,选择zynq_processing_system,
双击zynq_processing_system,打开设置嵌入式系统的属性,由于使用的是zedboard,在Presets里面选择ZedBoard(也可自己设定嵌入式的属性系统;选择ZedBoard,再在ZedBoard的基础上修改会更方便)
在ZedBoard的基础上修改,双击左边的向导MIO Configuration,展开I/O Peripherals去掉所有的选项,除UART1,展开GPIO,去掉GPIO MIO;双击CLOCK Configuration,展开 PL Fabric Clocks,去掉FCLK_CLK0;双击PS-PL Configuration,展开 GP Master AXI Interface ,去掉M AXI GP0 interface,继续展开 General>Enable Clock Resets,去掉 FCLK_RESET0_N;双击打开DDR Configuration,勾选掉最上方 Enable DDR,勾选掉DDR以后,程序的大小不得大于128KB,在本例中程序不大于128KB。点击OK,完成设置(此时可以看到图标变小了)
点击
,去掉 Apply Board Preset的勾,点击OK
按F6或点击
进行有效性检测,如果成功则进入下一步
点击source,在first_ps点击右键,选择Create HDL Wrapper ,弹出对话框,选择Let Vivado manage wrapper and auto-update ,然后可以看到生成了first_ps_wrapper.v文件![]()
然后在Flow Navigator中点击 Generate Block Design,弹出对话框,点击Generate编译模块
至此,已完成全部的嵌入式环境的搭建工作。
然后点击File>Export Hardware , 勾选Lauch SDK,点击OK,将自动打开EDK:
这时可以看到在vivoda中的硬件信息(hw_plaform_0)已各类文件形式已经导入了EDK,
第一步全部完成以后,现在开始建立软件工程,点击File>New>Application Project,为工程命名为Hello_world,其余保持默认选项,点击next,选择Hello World,点击Finish
等待编译完成以后,生成了两组文件,Hello_world和Hello_world_bsp,Hello_world是顶层应用程序,点击src中的.c文件可以看到,生成的通过串口打印Hello World的代码
Hello_world_bsp是硬件的版级支持包,提供硬件的初始化等工作,可以理解成PC的BIOS。然后,将ZedBord上电
在Hello World文件夹,右击,选择Run As >Run Configurations,弹出对话框,双击Xilinx C/C++ application(GDB)
选择STDIO Connection,选择你电脑对应的串口,波特率为115200,与此同时打开相应的串口调试工具,点击Apply>Run.
此时,即可通过串口调试工具看到串口相应的输出(Hello World)。
至此,一个完整的基于ZYNQ嵌入式工程已全部完成。
