一文加深对zynq内部结构的理解.doc

一文加深对zynq内部结构的理解.doc

ID:27820144

大小:645.00 KB

页数:33页

时间:2018-12-06

一文加深对zynq内部结构的理解.doc_第1页
一文加深对zynq内部结构的理解.doc_第2页
一文加深对zynq内部结构的理解.doc_第3页
一文加深对zynq内部结构的理解.doc_第4页
一文加深对zynq内部结构的理解.doc_第5页
资源描述:

《一文加深对zynq内部结构的理解.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、一文加深对zynq内部结构的理解  ARM已经在国内流行得一塌糊涂,各类教程、开发板(S3C2440,6410)层出不穷,归结下来,传统ARM开发包括以下几个步骤:  (1)硬件电路板设计(对于Zedboard,相当于设计逻辑电路,PL工程师负责);  (2)基本模块裸机代码测试(UART,DDR2,其他外设);  (3)移植操作系统(如Linux,uCLinux,uCOS等);  (4)编写相应操作系统的驱动程序(可从(2)中移植过来);  (5)编写应用程序(或移植已有的应用程序)、界面设计(Qt);  一个有ARM开发经验的工程师,接触Zynq时很容易陷入误区:到底哪一部分需要由逻辑

2、完成,哪一部分由ARM完成?Zynq资料庞杂,怎样进行有效的学习?  从前面基本介绍我们知道,Zynq内部PS就是ARM工程师的战场,调试代码都是基于PS进行,如果出现问题(硬件问题、驱动问题、软件版本问题)如何定位是一项非常耗时的任务,尤其加入了逻辑设计之后,调试难度大大增加了。所以在一颗芯片中集成了ARM和FPGA虽然提高了性能,但也带来任务划分不明确,调试复杂等新问题。Zynq官方例程的网址为,步骤较多,让人分不清到底是在做软件设计还是硬件开发。  本节在参考了上面例程的基础上,进一步做了几个小例子来说明Zynq其实可以和普通ARM开发一样简单易学。将ARM设计与逻辑设计完全解耦,有

3、利于我们加深对zynq内部结构的理解。  ARM工程师开发Zynq用到的软件环境主要有:  PlanAhead+XPS:建立硬件工程,相当于在一个万用板上自己搭建一个单片机最小系统,我们需要将单片机的IO口连接不同的外设(LED,按键,液晶屏,串口等);  SDK:建立软件工程,编写基本模块程序;建立Bootloader工程;  arm-xilinx-linux-gnueabi-gcc:交叉编译工具,编写基于Linux的应用程序和驱动程序;  几乎所有ARM工程师都是从单片机开始学习,而且第一个实验一般都是流水灯实验。ZedBoard上既然有一个ARM芯片,有8个LED,能不能用ARM点亮

4、它们,并实现流水灯效果呢?我们来试试吧!  笔者安装软件为ISE14.5,其他版本操作类似。  (1)硬件电路板设计  首先,运行PlanAhead软件(安装完成后,一般在桌面上会有快捷方式)。    单击“CreateNewProject”,新建工程,为了方便叙述,连续点6次“Next”,直到出现下图:    左上框中选择“board”,在下面框中找到ZedBoard并选中,点Next,一直到Finish,结束。  在主面板左侧,点“AddSource”,添加一个嵌入式模块(这就是ARM核),选择如图所示。    Next,点“CreateSub-Design”    随便起个名吧,保留

5、默认,OK,Finish。这个步骤主要功能是添加我们的ARM核心到万用板上,但是还没有连线。  这时PlanAhead会自动调用XPS,在XPS中,当有提问是否用BSB建立基本系统时,选“是”。OK,Next,出现下图:    把原先右侧的所有硬件都Remove掉,因为我们需要自己连线。点Finish。  看到了一个彩色的庞大系统,如下图所示。    主窗口显示的就是Zynq内部结构图,主窗口上面有四个标签,“Zynq”表示图形化显示,“BusInterface”表示总线连接,“Ports”表示芯片外部IO连接,“Address”表示Zynq系统的地址映射。主窗口下有3个标签,有设计总结报

6、告、系统组成显示、图形设计显示。默认用系统组成显示,另外两种可以在设计完成后观察。  我们点击Zynq系统组成框图中左上侧绿色的“I/OPeripherals“框,弹出IO口外设配置选项,展开最下侧的GPIO(点加号),勾上EMIO,并设置IO数目为8,如下图所示:    点关闭,然后从主窗口上面标签的Zynq标签切换到Ports标签,展开processing_system7_0(点加号),找到GPIO_0,将它设置为连接到外部引脚,如图所示。  什么是EMIO?什么是MIO?这是Zynq里面比较独特的特性。MIO就是ARM自己的手脚,完全由自己支配;而EMIO,则是FPGA的手脚,如果不

7、做任何处理,ARM说什么对它们根本不起作用。Zynq有一种机制,可以通过布线,将一部分FPGA手脚连接到ARM上,接受ARM指挥,这样就可以方便地扩展ARM的IO口,使ARM也像FPGA那样,任意设置外部引脚,非常灵活。这个实验中,我们用了8个FPGA引脚接受ARM控制,上面操作已经设置完毕了。  接下来,需要检查硬件是否有错误。点击菜单Project-》DesignRuleCheck,如果在XPSConsole窗口中输

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。