
Xilinx Zynq7020
Xilinx Zynq7020
优惠券已抵扣
余额抵扣
还需支付
¥39.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
smile_5me
整理笔记专用博客,大神勿喷,有哪里写错的请在评论留言。技术交流可添加Q群;邮箱:linux_5me@163.com
展开
-
Zynq7020 Video in to AXI4-Stream 注意事项
有关Video in 的博客资料也不多,之前我们使用这个ip的时候一直都点不亮,最后解决了,在这里记录一下。1、这个ip的overflow和underflow在实际的过程中必须都为低,有高说明不正常,需加大fifo深度解决。2、在vid_io_in中,hsync,vsync,active_video,data就不用说啦,肯定是要的,但有的时候,hblank,vblank是没有的,不能将...原创 2019-10-24 08:52:42 · 3009 阅读 · 0 评论 -
Zynq7020 Linux CAN获取汽车上的数据以及注意事项
之前我写过一篇CAN总线的调试,里面写了如何调试CAN总线,可点击链接查看。在办公室调试时,使用CAN的调试工具调试并没有什么问题,数据也没有丢包,所以上车去调试,但上车调试就出现了问题,当车子启动的时候,接收CAN数据是没有问题的,但过段时间后出现了踩油门没有反映,死火,倒车影像闪烁的问题,接了CAN之后才出现了这些问题。后来对问题进行分析:1、主板的CAN的H和L脚为1.6V,车上的C...原创 2019-09-27 16:46:53 · 903 阅读 · 0 评论 -
Zynq7020 SPI环路调试
首先先要设置spi的功能,在vivado上设置,注意,42脚若要启用spi则他是强制为ss脚的,所以必须要留出此引脚。然后就是编译了,编译完bit文件之后打开sdk,创建helloworld工程,添加代码如下:#include "xparameters.h"#include "xspips.h"#include "xil_printf.h"#include "sleep.h"...原创 2019-09-24 10:49:05 · 2712 阅读 · 4 评论 -
Zynq7020 去掉“Please press Enter to activate this console”以及软件开机启动的注意事项
这个应该不止适用于Zynq7020,其他的也是适用的。在很多时候产品肯定是要做到开机自启动的,那么只要是用busybox编译出来的文件系统就会出现这样的一个问题,内核跑完之后进入文件系统就会有这句“Please press Enter to activate this console”,但这样一来用户还需要敲键盘才能进文件系统,这个就需要解决,解决办法如下:1、进入etc目录2、创建ini...原创 2019-07-19 09:29:06 · 2312 阅读 · 0 评论 -
Zynq7020 移植opencv
主要是考虑到项目后面若是需要使用opencv的库,那就可以直接使用,先准备着,有备无患。opencv移植到板子上的步骤如下:1、解压opencv压缩包,进入opencv的文件夹2、创建一个xilinx.cmake文件,将这个文件放在./platforms/linux下,主要是方便管理3、在xilinx.cmake文件里添加,如下:set( CMAKE_SYSTEM_NAME ...原创 2019-07-17 15:22:52 · 1706 阅读 · 1 评论 -
Zynq7020 EMMC与SD卡之间的问题
我们的开发板是有一个EMMC和一个SD卡的,自带的uboot默认是从SD0启动,然而刚好我的EMMC就是在SD0上,但为了调试方便我希望在SD卡上启动,也就是在SD1上启动,这就存在了问题,我该如何修改才能实现此功能呢?从官网下载下来的源码都是从SD0启动的,那么我们首先要修改设备树,以我的为例子,我的设备树文件在u-boot-xlnx-master/arch/arm/dts/zynq-zc7...原创 2019-06-24 18:00:02 · 5088 阅读 · 1 评论 -
Zynq7020 16位i2c地址的读写调试方法
以前我有篇博客写的是i2ctool的使用方法,博客链接:i2ctool的使用方法里面介绍的i2cset,i2cget等的指令,都是基于8位地址的,但今天我遇到了个问题,需要操作16位地址,显然这几个指令已经无法满足我的需求,这个时候我发现i2ctool的4.0以上版本新加入了一个新的指令:i2ctransfer。i2ctransfer可以对i2c设备指定定长度进行读写操作,下面我举几个简单...原创 2019-06-19 13:55:41 · 3033 阅读 · 1 评论 -
Zynq7020 Vivado上添加自己的ip
前段时间我接到一个任务是使用自定义的ip,给了我一个文件夹,但之前又没搞过这类的东西,后来查找资料然后在这总结一下,以防以后操作自己忘记。首先是添加ip,这个比较简单下图的操作步骤操作,操作完成之后OK即可。后来ip出现了些问题,需要手动修改ip,操作步骤如下。(注:由于下面步骤我没有截图,只能用文字形式表达)1、保存修改后就会弹窗说已经成功,然后会跳转到工程;2、跳转...原创 2019-03-15 11:32:27 · 2697 阅读 · 2 评论 -
Zynq7020 DMA裸板测试
最近做了有关DMA的裸机测试,在这记录一下我的测试方法。首先需要将逻辑给做好,用到的是DMA和DATA FIFO,做成一个回路,这样做的目的是比较待会的数据读写是否一致,然后编译得到bit文件,进去SDK。进到SDK之后创建helloword工程,修改uart的输出端口,确保待会测试的时候可以看到测试信号,然后在system.mss里面选择dma,在里面可以找到很多例子工程,我们选择如...原创 2019-03-06 09:45:28 · 1427 阅读 · 0 评论 -
Zynq7020 i2c ps端的裸板编程
ps端的i2c我就以我们这里的一个sensor为例子,这是我写的一个裸板的例子,仅供参考。int IicPsSelfTestExample(u16 DeviceId){ int Status; XIicPs_Config *Config; Config = XIicPs_LookupConfig(DeviceId); if (NULL == Config) { return ...原创 2019-01-30 10:06:45 · 2398 阅读 · 6 评论 -
Zynq7020 有关跑裸板程序的问题
之前调试的时候遇到这样的一个问题,就是我在裸板下调试,烧写bit文件没有问题,但是跑程序比如helloworld的时候就会出现在memory报错的信息,最后检测出来是硬件的问题,锡连在一起了,那么我的排查方法如下。1、首先确保程序没问题。2、一般程序没问题的话,去看看vivado逻辑的DDR配置是否有问题。3、若配置没问题,先尝试在内部ram里跑你的程序,若在内部ram可以正常跑,则可...原创 2019-01-24 10:04:35 · 928 阅读 · 0 评论 -
Zynq7020 MIO ps端的裸板编程
之前有篇博客是介绍pl的gpio的使用,这里的MIO是直接连到逻辑的,并不是连到pl,所以在ps的编程如下:#define LED1 44int main(){ int Status; XGpioPs_Config *ConfigPtr; XGpioPs Gpio; u8 Bank; u8 PinNumber; ConfigPtr = XG...原创 2019-01-22 17:45:59 · 1019 阅读 · 0 评论 -
Zynq7020 CAN总线调试
下面是我调试can总线的过程:1、在vivado设置io为can。2、在SDK里生成设备树,生成出来的can不需要修改。3、在uboot里的dts文件,查看can总线的io是否与在vivado上配置的一致,若不一致,则需要修改dts文件。4、进行内核配置。[*] Networking support ---><*> CAN bus subsys...原创 2019-01-21 18:09:50 · 7965 阅读 · 3 评论 -
Zynq7020 Linux下的framebuffer的问题
Linux下的fb看上去其实不难,但是被各种坑给坑死,真的这里很想吐槽一下,xilinx可以说他们逻辑端做得不错,资料也很充分,但是arm端是真的是无语,首先资料少,其次各种坑爹操作。问了问他们的技术支持只会告诉你去跑个demo就可以。说实在的我看到别人的很多设计都是不使用arm端,不过也正常,你们这样的arm端要让arm工程师怎么开发。好了废话不多说,简单的说一下如何做framebuffer...原创 2019-01-18 11:17:57 · 5518 阅读 · 5 评论 -
Zynq7020 SDK上两个uart的设置问题
硬件开发板默认的uart为uart1,我遇到过这个问题,在Vivado里设置uart1,裸机上输出是没有任何问题,但是一旦我设置了两个uart,既uart0,uart1,SDK里helloworld都无法打印,一开始我以为是系统死掉了,但是我看到电流,是系统已经跑起来了,可是为什么没有输出。之后看了一下代码,发现了猫腻。原因就在这了,E0000000为uart0的地址,修改为uar...原创 2018-12-29 16:57:29 · 5912 阅读 · 3 评论 -
Zynq7020 添加自己的驱动到内核
最近写完了一个驱动,生成ko文件在板子上执行,没有问题之后就想着把驱动编译到内核里,总不可能每次都加载ko文件吧。具体添加方法如下。1、每个驱动文件夹下都会有个Kconfig的文件,这个文件就是你在menuconfig里看到那些选项的文件,我以一个HDMI驱动为例子,添加在最下方:config DRM_I2C_ADV7511 tristate "AV7511 encoder" dep...原创 2018-12-29 16:15:25 · 2177 阅读 · 5 评论 -
Zynq7020 uboot复制文件
uboot里是无法像Linux一样cp一个文件的,这样一来升级就变得很麻烦,唯一的方法只能是将文件写入内存,再从内存读出,这里给出三条命令:fatls:查看分区里面的内容。其中mmc 0:1表示第0个存储的第1个分区。fatls mmc 0:1 fatload:将文件写到内存。其中mmc 0:1表示第0个存储的第1个分区,0x04000000为内存起始地址,123.txt为输入文...原创 2018-12-03 11:27:04 · 1172 阅读 · 0 评论 -
Zynq7020 AXI4-Stream Switch 裸板编程
以下图为例,我有两个输入,一个输出,那么我只要控制打开哪个通道就会有哪边的数据进来。其中代码里的val指的是我对应输入的通道序号。int start_switch(u16 DeviceId,int val){ XAxis_Switch_Config *Config; int Status; u8 MiIndex; u8 SiIndex; /* Initialize the ...原创 2018-11-07 11:56:09 · 2059 阅读 · 1 评论 -
Zynq7020 AXI Video Direct Memory Access 裸板编程
以写为例子,A4为所一行需要的大小,由于输入进来的是yuv422,为两个字节。A8为到了这个大小的时候就会产生一个tlast信号。A0为收到这么多个tlast时就会在第二个缓冲区的起始地址。故这里只要写满一行就会有个tlast信号,写满720的时候就会到第二个缓冲区的起始地址去。int AxiVDMASelfTestExample(u16 DeviceId){ XAxiVdma_Conf...原创 2018-11-01 09:51:32 · 1750 阅读 · 0 评论 -
Zynq7020 Video Test Pattern Generator 裸板编程
这个是422输出的720p一个彩条信号,tpg里面内置了彩条信号,并且会有一个白色的小方块在移动的一个测试信号,在设置小方块颜色时,若是yuv格式,则:XV_tpg_Set_boxColorR = G;XV_tpg_Set_boxColorG= B;XV_tpg_Set_boxColorB = R;int main(){ int Status; XV_tpg_Confi...原创 2018-10-19 14:38:09 · 2907 阅读 · 0 评论 -
Zynq7020 Video Timing Controller 裸板编程
这个是我写的一个功能实现,初始化vtc并 产生yuv444或者yuv422的行场同步等信号,详细的参考可以去查阅Xilinx vtc的这个ip的文档,里面有包括例如420等的配置。int XVtcSelfTestExample(u16 DeviceId){ int Status; /* Initialize the VTC driver so that it's ready to u...原创 2018-10-12 10:45:49 · 3168 阅读 · 0 评论 -
Zynq7020 axi_gpio裸板函数
axi_gpio的裸板函数我已经总结了一波,记录一下。 example(vtc4 for example): #define GPIO_EXAMPLE_DEVICE_ID XPAR_GPIO_0_DEVICE_ID XGpio Gpio; //初始化axi_gpio控制器 XGpio_Initialize(&Gpio, ...原创 2018-10-11 11:44:53 · 1420 阅读 · 3 评论 -
Zynq7020 有关于vivado2017.4烧写qspi报错的解决办法
参考:https://www.xilinx.com/support/answers/70148.html****** Xilinx Program Flash****** Program Flash v2017.3 (64-bit)**** SW Build 2018833 on Wed Oct 4 19:58:22 MDT 2017** Copyright 1986-2017 Xil...原创 2018-09-26 16:26:02 · 10186 阅读 · 0 评论 -
Zynq7020 ext4文件系统的配置
我之前的博客《Zynq7020 busybox创建自己的文件系统》,这个博客创建的文件系统和这篇博客说的文件系统是两个概念,前者是在RAM里面跑的一个镜像,也就是说,这个镜像可以跑起来但是他是在内存里面跑的,因此无法修改里面的东西,比较蛋疼,而这篇博客的文件系统则是放在ext4的分区里,这样我们就可以存放或者说修改文件系统。之前的一篇博客《Zynq7020 uboot启动参数修改》,因为我们的...原创 2018-09-11 15:26:56 · 1234 阅读 · 0 评论 -
Zynq7020 在arm上跑hdmi驱动
在fpga上把裸板程序跑起来之后,就可以在arm里跑了,不知怎么搭建的话可以参考博客Zynq7020 adi官方的hdmi搭建:https://blog.youkuaiyun.com/smile_5me/article/details/82494092然后我们需要创建bit文件,fsbl文件,uboot文件。将这三个文件烧到qspi里,详细的操作步骤可以参考我之前的博客,值得注意的是,必须为同一个版本...原创 2018-09-07 16:45:30 · 3396 阅读 · 2 评论 -
Zynq7020 adi官方的hdmi搭建
开头我先说一个重点,避免走弯路,就是一定要所有的版本要统一,不能有任何的差错,就是Vivado版本SDK版本以及所有的代码必须统一,还有就是不要用太新的版本,很多东西兼容都是比较旧版的版本。一、下载HDL参考设计代码,包括库和项目文件,再次提醒一定要看清楚版本再下载,然后解压。下载地址:https://github.com/analogdevicesinc/hdl二、下载裸板测试程序,...原创 2018-09-07 14:43:36 · 4203 阅读 · 6 评论 -
Zynq7020 FPGA configuration is not done on the target
在Run Configuartions 里,我直接run程序的时候就会出报错,原因是需要对ZYNQ的PL部分进行配置。FPGA configuration is not done on the target如下图,红色框的选择,并打钩即可。...原创 2018-09-06 09:37:38 · 3861 阅读 · 2 评论 -
Zynq7020 error: xxx.elf uses VFP register arguments
参考博客:https://blog.youkuaiyun.com/u010453704/article/details/68922885在根据https://wiki.analog.com/resources/fpga/xilinx/kc705/adv7511 的例程进行ZC702 HDMI核的构建和测试时在编译时遇到一个和硬浮点有关的bug:error: xxx.elf uses VFP regi...原创 2018-09-06 09:24:06 · 2950 阅读 · 0 评论 -
Zynq7020 dtc命令的使用
这个命令也不是只有xilinx有,适合任意平台的任意内核,在内核目录的scripts目录可见dtc工具从dtb反编译到dtsdtc -I dtb -O dts -o system.dts system.dtb从dts编译dtbdtc -I dts -O dtb -o system.dtb system.dts...原创 2018-09-06 09:01:47 · 979 阅读 · 0 评论 -
Zynq7020 busybox创建自己的文件系统
下载busybox:git clone git://git.busybox.net/busybox1、先清除编译出来的文件及配置文件:make distclean2、配置busybox保存退出后,执行make编译3、执行make install ,会把文件系统生成在busybox源码根目录下的_install目录4、把交叉编译器里的 arm-xilinx-linux-gnu...原创 2018-09-03 09:53:50 · 1483 阅读 · 0 评论 -
Zynq7020 uboot启动参数修改
不知我的理解是否正确,因为我将uboot烧到qspi,默认是qspi启动的,所以系统默认会在qspi里寻找kernel,devicetree,filesystem,但我的需求是,我的uboot在qspi里,这3个文件放在SD卡或者emmc里,也就是说我在qspi跑起来uboot之后,想让他自动的去SD卡或者emmc找那3个文件。这里我成功了一种办法,但感觉应该还有其他的好办法,欢迎在底下留言交流。...原创 2018-08-31 16:27:39 · 5890 阅读 · 0 评论 -
Zynq702 文件系统的注意事项
文件系统下载地址:http://www.wiki.xilinx.com/Build+and+Modify+a+Rootfs下载完ramdisk.image.gz之后我也没注意去看,就去看了uboot的配置信息,看到了文件系统的名字以及大小,起初我还以为是名字写错了,修改了名字然后直接放入SD卡上,最后内核完全起不来,这个就让我很郁闷了也不清楚到底是怎么回事,后来查询了手册之后,原来我漏掉了一个...原创 2018-08-31 11:19:27 · 644 阅读 · 0 评论 -
Zynq7020 制作boot.bin以及烧录到开发板
Xilinx的SDK有提供制作boot.bin的选项,不过这个地方我也是被坑了一下,不知道是软件的设计问题还是我不太会用这款软件,你一定不要从Xilinx去选择create boot image ,这样选择的话会出现boot为空的情况,这个当时让我很苦恼,正确的操作如下。这样就可以了,生成的boot.bin文件待会我们会可以进行烧录了。烧录:Xilinx → program fla...原创 2018-08-30 17:22:30 · 8306 阅读 · 2 评论 -
Zynq7020 生成fsbl文件和bit文件
查询了Xilinx的数据手册,我们需要6个文件来进行,分别是:bit文件,dtb文件,fsbl文件,uboot文件,uImage文件,文件系统镜像文件。但是我在最后还差bit和fsbl这两个文件,不知如何生成,最终咨询了他们的FAE,这里记录一下。首先是bit文件,其实bit文件就是需要在fpga的硬件工程文件编译一下才能生成,刚开始我以为他会自动生成,晕死。至于fsbl文件,这个也不...原创 2018-08-30 16:57:09 · 6507 阅读 · 3 评论 -
Zynq7020 使用SDK编译设备树
首先添加device-tree的包,可以去官网下载https://github.com/Xilinx/device-tree-xlnx,但是这里推荐在Linux下用git clone来下载git clone https://github.com/Xilinx/device-tree-xlnx.git//检查版本号git checkout xilinx-v2018.2然后打开SDK,...原创 2018-08-29 11:45:37 · 1470 阅读 · 0 评论 -
Zynq7020 uart以及Jtag的配置问题
拿到开发板之后uart一直无法连接,我的电脑为win10的系统,通过查阅文档,是需要安装CP210x USB to UART Bridge VCP Drivers下载链接有32位和64位可供选择有关于Jtag口的刚开始无法连接到pc上,刚开始还以为是没安装驱动的缘故,后来查看手册后发现是在两个个播码开关上的配置忘记配置了SW10圈出来的对应板子上的Jtag口,根据自己的需求来改...原创 2018-08-28 09:14:57 · 3937 阅读 · 0 评论 -
Zynq7020 编译uboot时:*** Your GCC is older than 6.0 and is not supported
在编译uboot的时候出现了标题上的这个错误,晕死,我还是用比较新编译器编译,很多地方还是用4.6.1,我已经用到了4.7.2,都嫌弃我的编译器老,然后找到了解决办法,在这里记录一下。uboot的源码:/arch/arm/config.mk# Only test onceifeq ($(CONFIG_$(SPL_)SYS_THUMB_BUILD),y)#archprepare: ch...原创 2018-08-23 15:17:35 · 5628 阅读 · 0 评论