关闭

嵌入式软硬件协同设计阶段性总结(Zynq7000系列)

标签: 嵌入式FPGAXilinxZYNQ
856人阅读 评论(0) 收藏 举报
分类:

      一切不过是几根线的连接,几条命令的书写,但是不知道原理,没有基础,是无论如何也找不到路子的。所以说只是重在积累,而学习贵在持之以恒。


      要学习那本陆佳华的《嵌入式软硬件协同设计实战指南》或者是实际使用zynq7000系列的开发板进行科研试验,都要明确开发板上的PL与PS资源分布。因此首先要明白什么是MIO什么是EMIO。


MIO:多功能IO接口,属于Zynq的PS部分,在芯片外部有54个引脚。这些引脚可以用在GPIO、SPI、UART、TIMER、Ethernet、USB等功能上,每个引脚都同时具有多种功能,故叫多功能。

EMIO:扩展MIO,依然属于Zynq的PS部分,只是连接到了PL上,再从PL的引脚连到芯片外面实现数据输入输出。

具体可以参考

基于Zynq的MIO与EMIO的区别和应用

http://www.ithao123.cn/content-8321280.html


zynq有三种GPIO,分别是MIO、EMIO、AXI_GPIO。其中MIO和EMIO是直接挂在PS上的GPIO。而AXI_GPIO是通过AXI总线挂在PS上的GPIO上。


MIO在zynq上的管脚是固定的,而EMIO,是通过PL部分扩展的,所以使用EMIO时候需要在约束文件中分配管脚(分配的管脚属于zynq芯片的PL部分资源),所以设计EMIO的程序时,需要生成PL部分的bit文件,烧写到FPGA中。

无论是EMIO还是MIO都属于PS上的IO,直接由PS操作。在调用头文件,只调用#include "xgpiops.h"即可,而在调用AXI_GPIO时,则需要#include "xgpio.h"。


另外关于PS与PL部分一开始会有很多困惑。其实我现在也不是太懂。在我看来PL部分就是用户可以自定义的引脚,可以连接特定外设。而PS部分就是固定的引脚,用户不可以自行分配。只可以直接连接。主要就是PL部分,一般连接外设主要用到FMC的引脚和PMOD的引脚。你可以在约束文件中指定串口或者网口的输入输出引脚(不能设置PS部分的引脚),然后与你的实际物理外设连接。他们就可以通过PL部分的资源(也就是IP核)和处理子系统PS通信。



0
0
查看评论

【zynq嵌入式设计】【概要】使用Vivado Workshop对Zynq进行嵌入式系统设计

学习目标 实践内容 实验1 -使用Vivaod构建嵌入式系统 实验2 - 在PL端Programmable Logic添加外设 实验3 - 创建和添加您自己的自定义外设 实验4 - 编写基本软件应用程序 实验5 - 使用软件开发工具包SDK进行定时和调试的软件编写 理论彩蛋 Zynq体系结...
  • Yifan_Zhang_2017
  • Yifan_Zhang_2017
  • 2017-07-28 11:46
  • 184

vivado中创建一个zynq嵌入式系统

根据zedboard_CTT_v2013_2_130807 的P17创建一个嵌入式系统 添加ZYNQ7 1、双击以自定义处理系统设置 在重新定制IP窗口的默认视图显示了处理ZYNQ系统框图。该窗口可以编辑ZYNQ的任何财产PS。点击每个页面导航选项的左侧审查在PS属性可编辑。点击在顶栏的预设按...
  • kobesdu
  • kobesdu
  • 2015-08-10 17:59
  • 4572

Zynq软硬件协同设计 总结一

1.Xilinx在2012年推出了新一代的开发工具Vivado开发套件,目前的7系列FPGA既可以用以往的ISE或者XPS进行开发,也可以使用Vivado(为瓦度),而6系列等以前的产品智能使用ISE进行开发。下一代8系列产品,也就是2012年11月份Xilinx通告正在进行研发的下一代产品就只能在...
  • songkai320
  • songkai320
  • 2015-12-15 15:58
  • 935

一、vivado中建立工程,创建zynq嵌入式系统

打开vivado,点击create New Project, 下边的建立子目录工程一定要勾选。点击下一步: 选择第一个,下方可选项不要勾选。点击下一步: 选择verilog语言,不添加文件,然后一直点击下一步:到了选板子的步骤,直接点击boards, 选择如图: 完成。 ...
  • u012582664
  • u012582664
  • 2016-07-13 08:34
  • 1986

嵌入式软硬件协同设计阶段性总结(Zynq7000系列)

一切不过是几根线的连接,几条命令的书写,但是不知道原理,没有基础,是无论如何也找不到路子的。所以说只是重在积累,而学习贵在持之以恒。       要学习那本陆佳华的《嵌入式软硬件协同设计实战指南》或者是实际使用zynq7000系列的开发板进...
  • songkai320
  • songkai320
  • 2016-08-31 19:45
  • 856

软件工程阶段性总结(一)——概述

现阶段在看软工视频,
  • u013045214
  • u013045214
  • 2014-11-16 15:42
  • 1235

《嵌入式系统软硬件协同设计实战指南》第九章跑马灯实验补充

按照书中步骤会发现UART没有输出任何信息,我们需要在Vivado中将UART1勾选上 UART0是默认给EMIO的,所以用UART1。 生成比特流导出给SDK,在SDK中需要将BSP配置一下 将stdin设置为ps7_uart_1,之后Build工程,重新Run即可看到Con...
  • wrblack
  • wrblack
  • 2017-03-04 22:39
  • 274

基于ARM体系的嵌入式系统BSP的程序设计

bsp(board support package)板级支持包介于主板硬件和操作系统之间,其功能与pc机上的bios相类似,主要完成硬件初始化并切换到相应的操作系统。bsp是相对于操作系统而言的,不同的操作系统对应于不同定义形式的bsp,例如vxworks的bsp和linux的bsp相对于某一cpu...
  • at91rm9200
  • at91rm9200
  • 2005-12-21 14:58
  • 2002

二、Zedboard学习之SDK程序编写

接着上一节《vivado中建立工程,创建zynq嵌入式系统》已经配置好硬件环境,为AXI GPIO 分配了地址空间,接着我们编写程序点亮LED灯。 上节输出bit流给SDk后,我们来点击启动SDK:launch SDK 执行File->New->Application Proj...
  • u012582664
  • u012582664
  • 2016-07-16 14:04
  • 519

阶段性学习的心得体会

今天第一阶段的java学习算是结束了,从6月14号到现在,接近于两个月的学习,仿佛是一闪而过的影片,有些东西如果不记录下来,最后可能会是一点印象都没有了。 首先吧,还是要感谢一下Jack老师,这是我的编程启蒙老师,第一步从0到1,他是我的引路人。毫无疑问他是一位对我们要求很高的老师,最开始被他的点名...
  • RichardBillions
  • RichardBillions
  • 2016-08-12 21:45
  • 332
    个人资料
    • 访问:243059次
    • 积分:2831
    • 等级:
    • 排名:第14901名
    • 原创:79篇
    • 转载:6篇
    • 译文:1篇
    • 评论:45条
    最新评论