zynq学习
youbin2013
这个作者很懒,什么都没留下…
展开
-
第三节:ZYNQ的GPIO配置
GPIO的结构体系ZYNQ的GPIO由4个BANK组成,其体系结构如图1所示。其中Bank0有32个GPIO引脚,Bank1有22个引脚,共54个GPIO引脚直接通过MIO连接到PS上,每个引脚可以通过寄存器的设置来确定该引脚为输入、输出或者中断,因为54个MIO引脚直接连接在PS上,像其他普通ARM一样,不需要通过XPS进行硬件配置,直接通过SDK编程即可。Bank2和Bank3通过E...原创 2019-03-29 21:54:51 · 2551 阅读 · 0 评论 -
第十一节,ZYNQ的AXI_DMA的使用
ZYNQ的AXI_DMA的使用1 DMA控制器架构原理AXIDMA:官方解释是为内存与AXI4-Stream外设之间提供高带宽的直接存储访问,其可选的scatter/gather功能可以将CPU从数据搬移任务中解放出来,在ZYNQ中,AXIDMA就是FPGA访问DDR3的桥梁,不过该过程受ARM的监控和管理。使用其他的IP(也是AXI4-Stream转AXI4-MM)可以不需要ARM管理。...原创 2019-05-23 22:48:26 · 11287 阅读 · 0 评论 -
第十节,uart远程加载
ZYNQ的UART加载1 加载方法ZYNQ的启动镜像是由FSBL程序(bootloader),PL配置文件(硬件比特流文件),应用层软件三个部分组成,其通过SDK的软件生成工具把三个部分按规定的格式拼凑成一个.bin文件,最终将这个文件写入到QSPIFLASH中,整个ZYNQ在配置好启动方式为FLASH启动后,便可做到上电自启动运行下载到FLASH中的用户程序。为了实现远程加载,抛开仿...原创 2019-04-16 21:21:30 · 1241 阅读 · 0 评论 -
第九节,ZYNQ的双核启动
ZYNQ的双核启动1 双核运行原理ZYNQ是一种主从关系的AMP架构,通过松散耦合共享资源,允许两个处理器同时运行自己的操作系统或者裸机应用程序,在各自运行自己的程序或者系统的时候,可以通过共享内存进行双核之间的交互。双核启动中,cpu0完成系统的初始化,控制cpu1的启动,与cpu1通信,读写共享内存;与cpu1进行通信,读写共享内存。共享资源防止冲突:1,DDR的内存使用,CP...原创 2019-04-16 21:13:39 · 4179 阅读 · 2 评论 -
第八节,ZYNQ的DMA
ZYNQ的DMA1 DMA的特点和体系结构DMA外设特点:DMA引擎拥有一个灵活的指令设置DMA的传输; 拥有8个cache线,每一个cache线宽度是4个字; 拥有8个可以并行的DMA通道线程; 拥有8个中断给中断控制器; 拥有8个DMA触发事件并且可以编码控制; 128个(64bit)的MFIFO,在传输的时候读写端可写入到此FIFO; 支持任意内存到内存的传输;整个...原创 2019-04-16 21:03:31 · 3638 阅读 · 0 评论 -
第七节,ZYNQ的启动原理和配置
ZYNQ的启动原理和配置1 启动过程设备配置包含用于初始化和配置ps和pl的所有方法及过程。在软件控制下,ps内的DevC提供用于初始化和配置ps和pl的手段和方法,在zynq中提供两个模块用于控制配置过程:BootROM,一个静态存储块器块,当上电复位和暖复位后,有Cortex-A9的CPU执行这个内置程序; 设备配置单元:用于控制JTAG调试访问和提供连接到AES、HMAC和PC...翻译 2019-04-16 21:00:41 · 1803 阅读 · 1 评论 -
第六节,ZYNQ的UART
ZYNQ的UART1 UART的特点ZYNQ的串口模块是一个全双工的异步接收和发送器,支持宽范围广的软件可编程模块,支持编程配置波特率和数据格式,同时提供自动的奇偶校验和错误检测方案,此外,还为APU提供了接收和发送FIFO。ZYNQ有两个UART器件,具有以下特性:可编程波特率发送器; 64个字节接收和发送FIFO; 数据位6,7或者8个比特位; 奇,偶,空格,标记或者没有...原创 2019-04-12 19:05:22 · 4703 阅读 · 0 评论 -
第二节,zynq新建工程,调试及加载
新建工程1,打开vivado2017.4,在出现的对话框中选择创建一个工程,如图1所示。这一步是为了创建一个ZYNQ的工程。图12,点击创建工程后,出现对话框如图2所示,然后点击对话框中的下一步。这一步表示这是一个创建工程的向导,通过该向导去新建一个工程。图23,此时会出现一个对话框如图3所示,这一步给工程命名,并且确定工程的保存路径,下面的小勾表示创建一个和工程名字相...原创 2019-03-28 22:40:17 · 1823 阅读 · 0 评论 -
第一节,ZYNQ开发流程
ZYNQ的开发也是先硬件后软件的方法。具体流程如下:(1).在Vivado上新建工程,增加一个嵌入式的源文件。(2).在Vivado里添加和配置PS和PL部分基本的外设,或需要添加自定义的外设。(3).在Vivado里生成顶层HDL文件,并添加约束文件。再编译生成比特流文件system.bit。(4).导出到SDK软件开发环境,在SDK环境里可以编写一些调试软件验证硬件和软件...原创 2019-03-28 22:01:13 · 1389 阅读 · 0 评论 -
zynq开发计划—第一阶段
第一阶段,主要是裸机使用,目前主要是这个阶段的学习和使用1,熟悉VIVADO,熟悉SDK,学会新建工程,掌握基本调试方法和工具的使用,掌握在SDK端生成固化程序并进行固化操作;2,熟悉GPIO的应用,熟悉BSP板级开发包的API函数,通过该API函数调试GPIO口的使用;3,熟悉ZYNQ的中断机制,通过BSP的API函数,调试CPU私有定时器外设;通过2和3的调试,基本掌握板级开发...原创 2019-03-28 21:54:16 · 844 阅读 · 2 评论 -
第五节,ZYNQ中断
ZYNQ中断1 中断类型ARM处理器支持7种异常情况:复位、未定义指令、指令预取终止、数据终止、中断请求(IRQ)和快速中断请求(FIQ)。复位(RESET):但处理器的复位引脚有效时,系统产生复位异常中断,程序跳转到复位异常中断处理程序处执行。复位异常中断通常用在下面两种情况,一是系统加电时和系统复位时;二是跳转到复位中断向量处执行;数据访问中止(data abort):如果数据...原创 2019-04-03 21:52:45 · 1881 阅读 · 0 评论 -
第四节,ZYNQ的GPIO
ZYNQ的GPIO1 GPIO的结构体系ZYNQ的GPIO由4个BANK组成,其体系结构如图1所示。其中Bank0有32个GPIO引脚,Bank1有22个引脚,共54个GPIO引脚直接通过MIO连接到PS上,每个引脚可以通过寄存器的设置来确定该引脚为输入、输出或者中断,因为54个MIO引脚直接连接在PS上,像其他普通ARM一样,不需要通过XPS进行硬件配置,直接通过SDK编程即可。Ba...原创 2019-04-03 21:51:09 · 424 阅读 · 0 评论