博客

ZYNQ+Vivado2015.2系列(十一)BRAM的使用——PS与PL交互数据,及其与DRAM(Distributed RAM)的区别

发表于:12/24/2018 , 关键词: Vivado2015.2, Zynq
Block RAM是PL部分的存储器阵列,为了与DRAM(分布式RAM)区分开,所以叫块RAM。ZYNQ的每一个BRAM 36KB,7020的BRAM有140个(4.9M),7030有265个(9.3M),7045有545个(19.2M)。每一个BRAM都有两个共享数据的独立端口,当然是可以配置的,可用于片内数据缓存、FIFO缓冲

ZYNQ QNX开发——资源管理器对close()的处理

发表于:12/21/2018 , 关键词: QNX, Zynq
在写资源管理器的时候,一般会用到处理close()来进行一些收尾工作,比如释放内存等等,查看QNX代码resmgr_io_funcs_t结构体对close()的处理有两个相关函数

Python程序语法元素分析

发表于:12/20/2018 , 关键词: python
程序的格式框架 下面是一段温度转换的代码示例: #TempConvert.py TempStr = input("请输入带有符号的温度值:") if TempStr[-1] in['F','f']: C = (eval(TempStr[0:-1]) - 32)/1.8 print("转换后的温度是{:.2f}F".format(F)) elif TempStr[-1] in['C... 阅读详情

Zedboard学习(一):移植Ubuntu桌面操作系统

发表于:12/19/2018 , 关键词: Ubuntu, ZedBoard
首先,需要的肯定是Ubuntu操作系统。可以在自己的电脑上安装物理机,也可以是虚拟机下运行的。我的是在Vmware下运行的Ubuntu14.04 32位操作系统。由于zedboard上的Linux操作系统跑的是32位的,为了省去麻烦,我没有安装64位的

ZYNQ+Vivado2015.2系列(十)MIO/EMIO再识,MIO的引脚“复用”,EMIO当作PS的接口连接PL

发表于:12/17/2018 , 关键词: Vivado2015.2, Zynq
前面我们介绍过EMIO,但是不详细。MIO是PS的IO接口,这个M代表的是Multiuse,也就是多用途,在下图中我们可以看到54个MIO连接这么多东西,必须得复用,所以当我们开发的时候需要的功能配置上,不需要的去掉,防止IO口被占用

Vivado使用指南(三):如何设置Vivado压缩BIT文件

发表于:12/17/2018 , 关键词: Vivado
 在调试Vivado 过程中,由于生成的BIT文件过大,而我使用的FLASH又是32MBIT的,出现了FLASH过小,无法烧录的情况。网上搜索到的方法都是说“generate progamming file下会有一个属性,进去了在-g compress后面打勾”,但是我使用的是VIVADO2017.2,该版本根本找不到这个选项。于是只能自己慢慢摸索,终于,找到了两种方法

ZYNQ QNX开发——PL串口设备驱动遇到的问题

发表于:12/14/2018 , 关键词: QNX, ZedBoard, Zynq
在ZedBoard上开发基于QNX操作系统PL部分UART设备驱动的过程中遇到了一点问题,问题原因不明但总结下来给大家提供参考,也以便以后对QNX的进一步了解后回顾这些问题。

PYNQ系列学习(五)——Jupyter Notebook介绍

发表于:12/13/2018 , 关键词: Jupyter, PYNQ, PYNQ-Z2, Zynq
在前面几期的学习中,我们对于PYNQ的环境配置做了较为详细的介绍,并对PYNQ与ZYNQ的异同点做了较为深入的探究。我们知道,PYNQ = Python + ZYNQ,即将ZYNQ部分功能的Python化,直接调用Python库和FPGA硬件库进行功能的开发,典型的例子便是PYNQ_z2开发板

Vivado使用指南(二):如何使用Vivado在线逻辑分析仪

发表于:12/13/2018 , 关键词: Vivado, 逻辑分析仪
一、在想要抓取的信号之前添加(* mark_debug = "true" *)、保存、编译。如: 二、编译完成之后点击set up debug。 点击下一步..... 直至出现如下页面

基于ZYNQ(Miz702)的EMIO与MIO联合操作(寄存器版)

发表于:12/12/2018 , 关键词: EMIO, MiZ702
在ZYNQ中,EMIO标号紧随MIO(0:53)之后,我定义了8个EMIO,采用标号54:61。在PS MIO Configuration中启用GPIO MIO 勾选EMIO GPIO(Width)选项,并设置宽度为8,即设置EMIO输出到8个PL的GPIO。具体程序如下:

Vivado使用指南(一):如何在Vivado中添加自己喜爱的文本编辑器

发表于:12/11/2018 , 关键词: Vivado
一、如何在Vivado(2017.2)中添加自己喜爱的文本编辑器。 1、打开Vivado软件,选择Tools-->Settings。 2、在弹出的界面中选择Text Editor-->Custom Editor。 3、在Editor:框中输入你想要添加的文本编辑器的路径。注意:后面需添加[file name] -[line number]。

PYNQ上手笔记(3)——PS端+PL端点灯

发表于:12/11/2018 , 关键词: AXI总线, PYNQ, PYNQ-Z2
上一节中分别独立实验了Zynq的PS端和PL端,并初步实验了PS端先硬件再软件的开发流程和IP核设计的设计方法。第一节中提及到:Zynq是以PS端的ARM处理器系统为核心的,PS端和PL端是通过AXI总线,并且Xilinx已经提供了各种AXI通信的IP核,接下来的实验中将会更加明确的体验到利用IP核设计的设计方法。 1.实验目标 板载的LED和RGBLED都是接在PL端的,... 阅读详情

ZYNQ QNX开发——Resource Manger知识点总结

发表于:12/10/2018 , 关键词: QNX-OS, Zynq
文章是对官方文档Resource Manger部分的总结,写得不是很有条理,仅是自己对这部分学习认识的一个总结,希望对看到的人有所帮助。 QNX OS是微内核操作系统,其内核仅仅提供进程调度、进程通讯等服务。文件访问、设备驱动等服务都属于用户空间的任务,下图是QNX系统的架构图 除了内核外其它所有进程都属于用户空间,内核作为一个软件总线,将其它所有资源互相连接起来,... 阅读详情

PYNQ上手笔记(2)——PL端和PS端的独立开发

发表于:12/07/2018 , 关键词: PYNQ, PYNQ-Z2
作者:Mculover666 在上一篇中提到,Pynq是为了降低开发人员的门槛,但是作为一个学习嵌入式开发的学生,当然要一步一个脚印打好基础,所以选择从Zynq入手学习,等跑起来Linux系统再运用Python开发也不迟,知其然也知其所以然,开发效率更高,所以接下来的几篇都是关于Zynq的,如果想直接玩Pynq可直接跳过,毫无影响。 1.Zynq的架构... 阅读详情

ZYNQ+Vivado2015.2系列(九)基于AXI总线的等精度频率计(测量数字信号频率)

发表于:12/07/2018 , 关键词: Vivado2015.2, Zynq
上一节我们体验了一把PS和PL是怎样联合开发的,这种ARM和FPGA联合设计是ZYNQ的精华所在。这一节我们实现一个稍微复杂一点的功能——测量未知信号的频率,PS和PL通过AXI总线交互数据,实现我们希望的功能。 如何测量数字信号的频率 最简单的办法——在一段时间内计数 在我们设定的时间(Tpr) 内对被测信号的脉冲进行计数, 得Nx, Fx=Nx/Tpr。 Tpr 越大,测频精度越高。... 阅读详情