zynq自定义PL IP核linux驱动开发流程

news/2025/1/12 21:04:15/

概述

zynq的开发主要分为两个阶段:

1)硬件逻辑开发阶段:该过程与传统的fpga 软核cpu(microblaze)开发类似,在vivado中进行。需要在BlockDesign中例化zynq硬核cpu。该阶段综合编译完成后,可以export hardware,生成.hdf文件,交付给第二阶段,软件开发。

2)软件开发。软件开发又分为裸板应用程序开发,以及带操作系统(通常是linux系统)的驱动程序开发和应用程序开发。软件开发在linux主机环境下完成。其中驱动程序、linux镜像编译在xilinx的petalinux环境下完成。(由于zynq的cpu是arm a系列处理器,嵌入式开发人员也可使用通用的yocto开发工具链进行驱动和应用程序的开发,petalinux实际上是将yocto工具链打包,简化了开发步骤)

硬件开发

该部分与microblaze开发类似,在vivado内开发。BlockDesign内zynq cpu的配置可先设置一种开发板的预设置(preset),在预设置的基础上适当修改,以符合设计的需求。综合编译后,可file->export->export hardware输出.hdf文件,供petalinux开发使用。

软件开发(petalinux开发流程)

首先确保linux主机(安装redhat或者ubuntu)正确安装好petalinux开发环境。并将.hdf文件准备好。

1.source安装目录下的petalinux脚本

source /home/petalinux/settings.sh

看是否成功进入petalinux环境:echo $PETALINUX 会回应peta的安装路径

2.创建peta工程

petalinux-create --type project --template zynq --name test

环境会为该工程创建一个test文件夹,进入test文件夹,继续第三步

3.petalinux-config --get-hw-description=/xxx/hdf

/xxx/hdf是hdf文件所在的文件夹,这一步获取了hdf所包含的硬件信息

第三步过程中,会弹出界面,选择启动方式,多线程编译等

4.(可选)创建自定义逻辑ip的驱动,并编译进linux系统中

petalinux-create -t modules --name blink --enable

这一步也可跳过,linux可以后续动态加载驱动模块

驱动模块路径位于test/project-spec/meta-user/recipes-module/blink

5.修改test/project-spec/meta-user/recipes-module/blink下的.bb文件,添加blink.h的文件路径,修改./files下的blink.c

6.test/project-spec/meta-user/recipes-module/blink路径下编译petelinux工程

petalinux-build

编译完成以后,在test/build/tmp/sysroots/plnx_arm/lib/modules/4.9.0-xilinx-v2017.2/extra下有blink.ko驱动目标文件

在test/images/linux下有image.ub u-boot.bin等系统文件,若要用sd卡启动,需要将U-boot打包一下

7.打包

test/images/linux路径下,petalinux-package --boot --format BIN --fsbl zynq_fsbl.elf --u-boot u-boot.elf --fpga xxx.bit,得到BOOT.BIN,将该文件以及image.ub拷贝到sd卡,即可启动linux

启动linux后,进入extra路径下,modprobe blink.ko 加载驱动模块

mknod  /dev/blink_Dev c 244 0 

mount /dev/xxx/mnt

./blink_app.elf  运行应用程序


http://www.ppmy.cn/news/473849.html

相关文章

计算机 映射网络驱动器,映射网络驱动器

2 3、接下来会弹出一个网络驱动器的设置窗口,如下图所示 3 网络驱动器的具体设置 1、驱动器符号的选择。点击下图中红色标注所示的驱动器,我们可以选择系统所剩下的盘符,如下图所示。这里我们选择“Z”盘 11 2、选择需要映射的共享文件夹。我们可以直接在下图红色标注框中直…

IP跳转,驱动级IP重定向,驱动级IP跳转,IP转向实现代码及流程!

有一些应用环境下,比如: 某程序作者停止更新了,我们又没有源码,如果要继续用程序,那就得用IP重定向功能了。 以前是可以用API HOOK和LSP来做的,现在的程序或者游戏好多都有保护,所以以前的方法…

最近跳槽,压力真大...

前几天,跟个老朋友吃饭,他最近想跳槽去大厂,觉得压力很大,问我能不能分享些所谓的经验套路。 每次有这类请求,都觉得有些有趣,不知道你发现没有大家身边真的有很多人不知道怎么面试,也不知道怎…

Word文档复制查找到的全部内容

1.打开需要操作的word文档 2.单击查找选项 , 选择高级查找 3.单击更多>> 4.单击选择全部-->输入你要搜索的内容-->然后单击选择主文档, 你需要搜索的内容就全部显示出来了 5.快捷键 CtrlC

百度文库免费复制word文档的纯文字

2022年5月11日测试过,以下方法能正常使用。 1.在页面中安F12或者从浏览器的设置中找到开发人员工具 2.切换到控制台,然后点击右上角图标进入更多设置 3.在设置-首选项中,找到“调试程序”,然后勾选"禁用javascript" 4.…

从网页复制图片到word不显示的解决办法

浏览器改为IE,然后就好了 或者先复制到onenote,再用onenote导出到word里

复制word文档内容

作者:李嘉乐 本次任务完成时间:2019年5月1日~2019年5月8日 开发工具与关键技术: VS2015、C#,windows窗体开发 首先打开一个有内容的文档。根据每节内容来进行复制到新的word文档中。 代码如下:

Word文档如何复制文字的格式

Word编辑文字时,有时需要前后文字格式保持一致,除了重新设置格式外,还有什么方法实现文字格式一样吗?下面介绍一种方式,也许能帮到您。 首先,选择需要保留的文字格式的文字,如图所示&#xff1a…