嵌入式 —— Zynq&Petalinux
文章平均质量分 68
NarutoInspire
这个作者很懒,什么都没留下…
展开
-
Xilinx SDSoC 和 SDAccel 和 SDNet 和 HLS 工具介绍
SDSoC、SDAccel、SDNet和HLS工具傻傻分不清楚Software Define 的概念 近年来“Software Define ” 软件定义这个词持续火热,全球知名技术研究和咨询公司Gartner早在对2014年最有战略意义的十大技术与趋势做出预测时,便提出了软件定义一切(Software Defined Anything)的概念,他们预测这类技术会在未来三年里拥有巨大潜力...转载 2019-12-11 09:32:40 · 1365 阅读 · 0 评论 -
petalinux 自动登录及启动配置
最近开始使用zynq7020开发产品,使用的了petalinux创建系统的确很方便,但创建的系统每次都要人工登录,查看相关文档实现自动登录步骤如下:1、创建自动登录的APP ,调用命令如下:#petalinux-create -t apps --name autologin --enable2、切换到APP目录#cd /components/apps/autolog转载 2018-02-07 15:57:48 · 2706 阅读 · 0 评论 -
PL和PS通过BRAM交互共享数据
本篇文章目的是使用Block Memory进行PS和PL的数据交互或者数据共享,通过zynq PS端的Master GP0端口向BRAM写数据,然后再通过PS端的Mater GP1把数据读出来,将结果打印输出到串口终端显示。涉及到AXI BRAM Controller 和 Block Memery Generator等IP的使用。本系列文章尽可能的让每一个实验都相对独立,过程尽可能保证完整性,保证...转载 2018-02-28 15:48:10 · 3028 阅读 · 2 评论 -
使用VDMA在PL和PS之间传输视频流数据
理论部分VDMA可以把AXI4-Stream 类型的视频流通过S2MM,写入到DDR3中,反之也可以通过MM2S读入到VDMA接口的外设中。通过内嵌FPGA逻辑分析仪进行观察数据。本文所使用的开发板是Miz702(兼容zedboard) PC 开发环境版本:Vivado Design Suite 2015.2硬件系统工程新建一个zedboard工程建好工程后,再新建一个Block Design点击...转载 2018-02-28 16:17:40 · 2843 阅读 · 1 评论 -
Zynq : Using the AXI DMA
此文是转载自 http://www.fpgadeveloper.com/2014/08/using-the-axi-dma-in-vivado.html我在测试AXI DMA时参考了这个文章,调通了xilinx官方的axidmatest.c环境:uboot:2015.4 kernel 2015.3 vivado 2015.4.1 修改的地方:1、用SDK生成设备树要添加axidmat...转载 2018-02-24 13:00:04 · 1409 阅读 · 0 评论 -
The Linux Kernel Module Programming Guide
Table of ContentsForeword1. Authorship2. Versioning and Notes3. Acknowledgements1. Introduction1.1. What Is A Kernel Module?1.2. How Do Modules Get Into The Kernel?2. Hello World2.1. Hello, World (par...转载 2018-02-24 20:40:48 · 295 阅读 · 0 评论 -
petalinux sftp 传输 Linux_blinkled_app.elf 问题
1. 设置dropbearpetalinux-config -c rootfs and selected to install dropbear, dropbear-openssh-sftp-server and openssh-sftp-server. 2. 开启dropbearOnce PetaLinux is booted, set the IP address and then run t...原创 2018-03-05 12:54:43 · 921 阅读 · 0 评论 -
嵌入式Linux应用程序如何自动加载驱动模块
在嵌入式Linux操作系统下,一般是利用insmod指令来实现向系统内核载入模块,如载入键盘驱动: # insmod /lib/modules/2.6.30/em9x60_keypad 在嵌入式应用中,往往是需要自动运行模式,这就需要通过编程来实现。因此在应用编程代码中,利用C++中的构造函数以及析构函数可以很好地实现驱动功能模块的自动载入和自动卸载,下面是以键盘为例来加以说明。 ...转载 2018-03-05 13:33:26 · 1915 阅读 · 0 评论 -
AXI_Lite 总线详解
12.1前言ZYNQ拥有ARM+FPGA这个神奇的架构,那么ARM和FPGA究竟是如何进行通信的呢?本章通过剖析AXI总线源码,来一探其中的秘密。12.2 AXI总线与ZYNQ的关系AXI(Advanced eXtensible Interface)本是由ARM公司提出的一种总线协议,Xilinx从6系列的FPGA开始对AXI总线提供支持,此时AXI已经发展到了AXI4这个版本,所以当...转载 2018-08-06 15:51:01 · 12074 阅读 · 2 评论 -
zynq 尝试自制带总线IP : AXI-lite 流水灯
前言: zynq是Xilinx近来重点推出的一款FPGA + arm(CortexA9)的SOC。其强大之处不言而喻。官方有zedboard开发板,可能会买不起。从而在国内找了一款替代产品MiZ702,基本和zedboard兼容。本系列博客的例程适用于与zedboard以及MiZ702。 每节都会有例程回复即可下载,欢迎大家和我一起玩~~ 从前写FPGA...转载 2018-08-06 16:33:26 · 1641 阅读 · 0 评论 -
Petalinux 2017.3 U盘 不识别 的解决办法
修改已经创建的Petalinux2017.3 项目 目录 (<Petalinux Project>/project-spec/meta-user/recipes-bsp/device-tree/files/system-usr.dtsi) 修改后的内容如下:/include/ "system-conf.dtsi"/ {usb_phy0: phy0 {...原创 2018-08-31 16:04:49 · 1212 阅读 · 0 评论 -
Petalinux 2017.3 增加 rz sz 串口命令支持
一、下载 rzsz-3.48.tar.gz二、tar zxvf rzsz-3.48.tar.gz三、进入解压后的目录四、然后gedit Makefile 修改 CC=arm-linux-gnueabihf-gcc五、make posix 然后会在当前目录生成很多命令六、最后复制到跟文件系统 cp rz sz /usr/bin/ 复制到/usr/bin下方便使用七、测试...原创 2018-08-31 22:18:46 · 992 阅读 · 0 评论 -
petalinux安装过程记录
ubuntu160402, vmware12.0 主机是win7x64专业版1 更换apt-get更新源系统设置->软件与更新,修改服务器站点 sudo su cd /etc/apt cp sources.list sources.list1 gedit sources.list删除文件里的所有内容,复制下面的所有文本到里面。 deb-src http://archi...转载 2018-08-29 21:48:27 · 425 阅读 · 0 评论 -
Petalinux 2017.3 安装
一、安装环境 VirtualBox-5.2.18, Ubuntu16.04.5 (虚拟磁盘 动态分配,预留100G), Petalinux 2017.3 二、Ubuntu16.04 准备阶段 1、安装 VirtualBox 增强功能。 2、设置VirtualBox 与 Win10 的共享文件夹 (共享 Petalinux 2017.3 等 ...原创 2018-08-30 14:19:36 · 665 阅读 · 0 评论 -
ubuntu16.04 安装 Vivado 2017.4 教程
【安装】1.上官网下载vivado hlx 版本2017.4,和 链接如下:Vivado Design Suite - HLx Editions - 2017.4 Full Product Installation2. 直接使用指令 (也可以直接右键压缩包解压)tar xvzf xxx(你下载的文件名).tar.gz3. 进入你解压缩之后的文件夹 然后执行sudo ./xsetup...转载 2018-08-30 15:23:14 · 2240 阅读 · 0 评论 -
Petalinux 2018.2 nand : no NAND device found 解决办法
修改已经创建的Petalinux2018.2 项目 目录 (<Petalinux Project>/project-spec/meta-user/recipes-bsp/device-tree/files/system-usr.dtsi)增加 Nand flash 的工作时序,具体时序由所用Nand flash芯片决定,下面的示例为 Micron MT29F4G08ABADAWP...原创 2018-09-03 16:31:43 · 1480 阅读 · 0 评论 -
petalinux 2015.4 U盘 不能识别问题
Everyone interested in USB-OTG:Modifications made to the PetaLinux 2015.4 tools and driver set have resolved issues on Zynq boards around the USB-OTG functionality. In the default kernel configurati...转载 2018-02-27 10:01:00 · 607 阅读 · 0 评论 -
petalinux 基本命令
1,df命令-a或--all:包含全部的文件系统;--block-size=<区块大小>:以指定的区块大小来显示区块数目;-h或--human-readable:以可读性较高的方式来显示信息;-H或--si:与-h参数相同,但在计算时是以1000 Bytes为换算单位而非1024 Bytes;-i或--inodes:显示inode的信息;-k或--kilobytes:指定区块...原创 2018-02-27 09:54:56 · 881 阅读 · 0 评论 -
Zynq Xilinx SDK下载与调试教程
一.新建HelloWorld工程二、下载bitstream文件1、点击vivado菜单栏上的File->Launch SDK,然后点击OK进入SDK界面: 2、点击SDK菜单栏上的Xilinx Tools->Program FPGA 点击Search...,选择design_1_wrapper.bit (design_1_wrapper.bit要放到helloworld.sdk/des...转载 2018-02-12 15:04:31 · 11780 阅读 · 0 评论 -
在ZedBoard上运行linux并编写linux下的应用程序HelloWorld
从本小节开始,讲着重介绍Zedboard上的嵌入式linux应用,包括使用SDK设计最简单的linux应用程序、linux交叉编译环境搭建、设备驱动编写等内容。本小节使用的linux系统是Digilent官方提供的OOB设计,它是Digilent官网给出的一个完整的、Zedboard可运行的linux系统,包含了Zedboard上的几个重要的设备驱动如串口、USB、以太网、OLED、HDM转载 2018-01-28 20:52:18 · 2556 阅读 · 0 评论 -
Zynq Petalinux 移植学习笔记之九
在对zynq上进行linux操作系统移植时,除了使用传统的由用户编译u-boot,kernel,rootfs方法外,目前主流采用vivado+petalinux操作方式。该操作方式能够快速生成适配于zynq的linux镜像,下文中进行详细介绍。 一、硬件设计参考ug980-petalinux-board-bringup,用户使用vivado进行硬件设计,硬件设计完成后使用e转载 2018-01-28 19:37:14 · 1428 阅读 · 0 评论 -
Xilinx Petalinux 开发环境搭建与安装
开发环境 VirtualBox, Ubuntu 16.04 64 bit, Petalinux 2015.4在VirtualBox中安装Ubuntu,用户名:xilinx-arm 密码:rootstep1: 与Win10共享文件问题(百度)step2. apt-get更新源 运行apt-get update。1a转载 2017-08-14 15:16:00 · 3875 阅读 · 0 评论 -
uboot 常见烧写命令
在嵌入式开发中,我们常常需要使用uboot对系统进行升级。升级的方式有很多种,如SD卡,U盘、TFTP等等。本文就介绍自己常用烧录方式————SD卡和U盘。接下来介绍升级过程中常用的几种uboot命令。以便于以后查看。 1.SD卡启动升级 首先在uboot下执行mmc,可得: mmc info - dis转载 2018-02-05 14:59:20 · 995 阅读 · 0 评论 -
U-Boot 烧写系统至 Nand Flash
1 开发环境 宿主机:Ubuntu14.04.2(32bit) 开发板:Mini2440 系统:Linux2 Nand Flash分区表 为了使得系统能正常启动,需要将内核与根文件系统烧写到指定的位置(由Nand Flash的分区表指定)根据参考资料[10]的提示,在Mini2440光盘的已移植的Linux内核的arch/arm/ma转载 2018-02-05 15:14:32 · 693 阅读 · 0 评论 -
Petalinux boot from QSPI flash without SD card on TE0720 (Zynq 7020)
NewbiePosts: 2Registered: 05-29-2015 Petalinux boot from QSPI flash without SD card on TE0720 (Zynq 7020) Options转载 2018-02-05 16:33:27 · 1481 阅读 · 0 评论 -
手把手课堂:如何在Zynq SoC上使用中断
实时计算经常要求中断针对事件快速做出响应。只要掌握Zynq SoC中断结构的工作原理,就不难设计出中断驱动型系统。在嵌入式处理中,中断表示暂时停止处理器的当前活动。处理器会保存当前的状态并执行中断服务例程,以便对引起中断的原因进行寻址。中断可能来自下列三个地方之一: 硬件 – 直接连接处理器的电子信号 软件 – 处理器加载的软件说明 异常情况 – 发生错误或异常事件时处理器出现的异常情况无论...转载 2018-02-11 11:01:45 · 933 阅读 · 0 评论 -
Zynq 中断程序实例分析
基础知识 ARM体系架构的处理器中通常将低地址32字节作为中断向量表,当中断产生时会执行以下操作:保存处理器当前状态,设置中断屏蔽位和各条件标志位设置当前程序状态寄存器CPSR中相应位将lr_mode寄存器设置成返回地址跳转到中断向量地址执行,从而跳转到相应的中断程序中执行执行中断处理函数内容恢复被屏蔽的中断屏蔽位返回到被中断指令的下一条指令处继续执行zynq中低32字节作为中断向量表,每...转载 2018-02-11 13:02:43 · 1845 阅读 · 0 评论 -
Zynq 全局定时器
实际项目中几乎离不开时间的测量。定时器是硬件系统运行状态的忠实记录者,它不受CPU直接干预,自己独立运行,可以完成计时、定时、中断、实时时钟等功能。 ARM Cortex-A9内部有一个64bit全局定时器,特性包括:64bit,增计数;内存映射至私有内存空间;只有复位后,在安全模式下才能访问;可被所有Cortex-A9核访问,每个核有私有比较器;时钟源为PERIPHCLK;定时器的精度是由其时钟...转载 2018-02-11 14:51:22 · 2178 阅读 · 1 评论 -
Zynq 私有定时器 中断
本片文章将在ZYNQ的纯PS里实现私有定时器中断。每隔一秒中断一次,在中断函数里计数加1,通过串口打印输出。 中断对于保证任务的实时性非常必要,在ZYNQ里集成了中断控制器GIC(Generic Interrupt Controller).GIC可以接受I/O外设中断IOP和PL中断,将这些中断发给CPU。 中断体系结构框图图下: 14.1.1软件中断(SGI)SGI通过写ICDS...转载 2018-02-11 15:11:12 · 639 阅读 · 0 评论 -
Zynq PL GPIO中断
本篇文章主要介绍外设(PL)产生的中断请求,在PS端进行处理。 在PL端通过按键产生中断,PS接受到之后点亮相应的LED.13.1 ZYNQ 中断介绍13.1.1 ZYNQ中断框图可以看到本例子中PL到PS部分的中断经过ICD控制器分发后后同时进入CPU1 和CPU0。从下面的表格中可以看到中断向量的具体值。PL到PS部分一共有20个中断可以使用。其中4个是快速中断。剩余的16个是本章中涉及了,可...转载 2018-02-11 15:37:22 · 2368 阅读 · 0 评论 -
Zynq PS读写PL端BRAM
本篇文章目的是使用Block Memory进行PS和PL的数据交互或者数据共享,通过zynq PS端的Master GP0端口向BRAM写数据,然后再通过PS端的Mater GP1把数据读出来,将结果打印输出到串口终端显示。涉及到AXI BRAM Controller 和 Block Memery Generator等IP的使用。本系列文章尽可能的让每一个实验都相对独立,过程尽可能保证完整性,保证...转载 2018-02-11 16:05:30 · 5508 阅读 · 1 评论 -
Zynq 自定义模块中断触发实例
设计PL与PS数据交互,用到自定义IP模块,同时需要给ARM侧一个ACK信号,考虑到实时性,采用PL-PS的IRQ。参考官网文档:The_Zynq_Book_ebook.pdfUG111 Embedded System Tools Reference Manual.pdf 的Interrupt Management部分得到中断处理基本流程:(具体函数参考 SCUGIC API) 1)中断初始...转载 2018-02-11 16:25:19 · 1476 阅读 · 0 评论 -
ZYNQ中的UIO驱动和中断程序学习【Xilinx-Petalinux学习】
在网上看到了何晔老师写的一篇文章: 当ZYNQ遇到Linux Userspace I/O(UIO)本人一直都在做硬件、FPGA对驱动来说只会裸奔。。在Linux底下的驱动基本上完全不会。看了这篇文章感觉不错,就照着他的流程跑了一遍,问题还是遇到了一些,在这里记录一下。0.测试环境软件平台: Vivado 2017.1 PetaLinux 2017.1 i9 7900X 神机 CentOS 7.3 ...转载 2018-02-11 16:29:13 · 1632 阅读 · 1 评论 -
Zynq UltraScale+ MPSoC: NAND Programming/Booting Checklist
描述This is a list of required items, necessary actions, and points to be considered, when debugging NAND programming and booting on Zynq UltraScale+ MPSoC.Some UBIFS tips are included in this art转载 2018-02-01 11:11:13 · 967 阅读 · 0 评论