Xilinx 嵌入式设计相关
文章平均质量分 93
Xilinx 嵌入式设计相关
dwp1147170607
这个作者很懒,什么都没留下…
展开
-
在zynq上用xillybus实现PL与PS上的linux系统间的数据传输
1 xillybus介绍xillybus是由Xilinx的合作伙伴xillybus推出的用于在FPGA和主机间进行数据传输的解决方案。在FPGA端通过标准FIFO与用户逻辑相连接,在主机端(Window或Linux)安装了相应的驱动程序后,可以以读写设备的方式接收数据或发送数据。本文主要介绍Linux系统下的数据传输。xillybus有三种数据传输的方案。第一是通过PCIE实现FPGA和外部PC主机间数据的传输。第二是通过转接ZYNQ的ACP、HP、GP接口实现FPGA和PS间数据的传输。第三是原创 2020-09-29 22:00:44 · 4020 阅读 · 0 评论 -
ZYNQ-7000芯片用u-boot启动linux系统方法
0. 芯片启动概述ZYNQ-7000系列芯片运行Linux操作系统需要BOOT.BIN文件、image.ub文件和rootfs。BOOT.BIN文件由fsbl.elf、bitstream和u-boot.elf(裸机elf程序)文件组成。fsbl.elf是由xilinx设计的,由OCM加载执行,有两个主要功能。第一是用于加载bitstream到PL,第二是根据BOOT.BIN文件组成,执行u-boot或是裸机elf程序。bitstream文件是FPGA的配置文件。裸机elf程序用于在不启动操作系统的情况原创 2020-09-20 19:14:18 · 4899 阅读 · 2 评论 -
交叉编译器 arm-linux-gnueabi 和 arm-linux-gnueabihf 的区别
1 什么是ABI和EABIABI: 二进制应用程序接口(Application Binary Interface (ABI) for the ARM Architecture) 在计算机中,应用二进制接口描述了应用程序(或者其他类型)和操作系统之间或其他应用程序的低级接口。ABI涵盖了各种细节,如:数据类型的大小、布局和对齐;调用约定(控制着函数的参数如何传送以及如何接受返回值),例如,是所有的参数都通过栈传递,还是部分参数通过寄存器传递;哪个寄存器用于哪个函数参数;通过栈传递的第一个函数参数是最先原创 2020-08-21 16:15:56 · 347 阅读 · 0 评论 -
AXI GPIO的使用
1 AXI GPIOMIO和EMIO 是直接挂在PS上的GPIO,而AXI_GPIO相当于 GPIO 的 IP 核,该IP核通过AXI总线与PS互联实现了GPIO。 在PS端通过对该IP核的控制寄存器进行读写,即可控制GPIO端口的状态。AXI GPIO 可以使用两个通道,分别是 GPIO 和 GPIO2。当PS的GPIO端口不够用时,我们可以用这种方法把GPIO挂接在AXI总线上与PS交互,大大拓展了PS可用的GPIO数量。1.1 PL逻辑部分设计我们用一个开发板上的按钮控制4个LED灯的原创 2020-08-21 10:21:33 · 6965 阅读 · 1 评论 -
Xilinx AXI4总线概述
1 ZYNQ-7000与AXI1.1 AXI总线概述1.1.1 三种类型ZYNQ支持AXI4-Lite,AXI4和AXI4-Stream三种AXI(Advanced eXtensible Interface)总线协议。AXI4:主要面向高性能地址映射通信的需求,是面向地址映射的接口,允许最大 256 轮的数据突发传输。AXI4-Lite:是一个轻量级的地址映射单次传输接口,占用很少的逻辑单元。AXI4-Stream:面向高速流数据传输;去掉了地址项,允许无限制的数据突发传输规模。1.1.原创 2020-08-20 17:39:18 · 1381 阅读 · 0 评论 -
ZYNQ-7000 最小系统的搭建
1 最小系统分析注意:这里的最小系统指裸机情况下的,此时没有操作系统运行。我们的最小系统需要DDR控制器和UART串口控制器、网口控制器、QFLASH控制器、SD控制器。DDR控制器已经与zynq芯片连接死,而UART串口控制器、网口控制器、QFLASH控制器、SD控制器通过MIO与外部串口连接。搭建好的最小系统如下图所示,FCLK_CLK_0是PS的输出时钟,可以给PL部分使用。修改时钟配置。PS输入时钟设置为33.333333MHZ,CPU PLL时钟设置为666.666666MHZ,PL原创 2020-08-20 12:59:01 · 1981 阅读 · 0 评论 -
ZYNQ-7000 GPIO使用
1 ZYNQ-7000 GPIO介绍1.1 MIO与EMIO区别GPIO(Generous Purpose Input Output)是指CPU引出的,可以配置为输入或输出的端口,用于CPU与外界进行数据的传输。ZYNQ-7000 架构由 PL+PS 组成,所以它的 GPIO 与一般的 ARM 不同。ZYNQ 的 GPIO,分为两种,MIO(multiuse I/O)和 EMIO(extendable multiuse I/O)。MIO 有54个,分配在 GPIO 的 Bank0 和 B原创 2020-08-19 17:57:18 · 1292 阅读 · 0 评论 -
ZYNQ-7000 SPI通信
1 SPI通信协议SPI是串行外设接口(Serial Peripheral Interface)的缩写,是 Motorola 首先提出的全双工三线同步串行外围接口。采用主从模式(Master Slave)架构,支持多 slave模式应用,一般仅支持单 Master。时钟由 Master 控制,在时钟移位脉冲下,数据按位传输,高位在前,低位在后(MSBfirst)。1.1 接口定义SPI 接口共有 4 根信号线,分别是:设备选择线、时钟线、串行输出数据线、串行输入数据线。为全双工通信,目前应用原创 2020-08-19 15:50:53 · 6991 阅读 · 2 评论 -
ZYNQ_FSBL学习
1 FSBL介绍1.1 fsbl涉及的启动流程zynq内部的BootROM存储有一段在CPU复位后固定执行的代码。称为stage-0启动代码。这段代码用来配置一个ARM CPU和一些必要外设,从而能从一个启动设备中获取FSBL(first stage boot loader)执行。BootROM是一个ROM,不可写,PL的配置不是通过BootROM实现的。BootROM不能使用DDR和SCU,因为它们还没有初始化。FSBL通常存储在FLASH中,BootROM从选定的FLASH中拷贝FSBL到原创 2020-06-28 21:57:30 · 12170 阅读 · 2 评论 -
用petalinux工具制作linux系统启动映像
1 SD_SD启动在真正的工程应用中我们使用的都是QSPI_EMMC的启动方式,因为SD_SD这种启动方式需要SD卡与数字板一直保持连接,所有在恶劣使用场景下稳定性不好。在用QSPI_EMMC启动系统前我们需要先制作系统映像使系统通过SD_SD这种方式启动起来。下面介绍用petalinux制作系统映像的步骤。SD_SD启动指的是FPGA配置文件及系统引导文件BOOT.BIN和系统镜像ima...原创 2021-01-21 22:04:57 · 3735 阅读 · 1 评论