本文依据个人工作经验整理而成,如有错误请留言。
文章为个人辛苦整理,付费内容,禁止私自转载。
文章专栏:《黑猫的FPGA知识合集》
1 前言
1.1 工程环境
软件
windows上装的vivado 2018.1
windows上装的SDK 2018.1
ubuntu
工程项目
axi dma loop实验
硬件
zedboard开发板(ZYNQ 7020)
SD卡:通过sd卡启动开发板
1.2 背景概述
我使用的是ZYNQ芯片的zedboard开发板,在开发板中跑Linux系统,之所以跑linux系统是想实现多线程,想解决的目标是通过DMA驱动将数据实现PL和PS互联。
之前学习FPGA的时候,是基于裸板开发,vivado工程创建好以后,在SDK会生成相应的板级支持包BSP,直接调用BSP里面的函数接口,就能进行DMA的初始化、传输数据、接收数据等功能。
但是当zedboard开发板搭建了操作系统以后,就不知道如同通过DMA实现PL和PS之间的通信了。原因就在于完全不懂内核驱动,自己第一次搞,又没有人指导,网上查了好久都没查到具体怎么弄。当时干了很多无用功,存在很多疑惑,浪费了很多时间,如下:
1、
SDK创建standalone工程会根据硬件生成BSP可供FPGA开发人员调