使用petalinux定制完成Linux系统后,在单板中插入sd卡,系统正常启动。接下来要进行应用程序开发了,使用petalinux添加驱动是必须要经历的一个步骤。本文将介绍在petalinux添加驱动的步骤,展示应用程序调用后的效果。
准备工作
在petalinux中添加驱动前,需要完成如下工作:
- 新建硬件平台,并到处xsa文件
- 使用petalinux创建linux系统
- 烧写sd卡,单板正常启动
Petalinux中添加驱动
设置petalinux环境变量:
source /tools/Xilinx/PetaLinux/2021.1/settings.sh
进入petalinux工程目录:
cd ~/eg3c/LC
添加驱动命令
petalinux-create -t modules --name hello
运行后,生成recipes-modules文件夹
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RhxCXexY-1663497828864)(./pic/1.png)]](https://i-blog.csdnimg.cn/blog_migrate/99f5d9e19e2aa596b95a870724a770b9.png)
进入recipes-modules文件夹,hello.c文件就是要添加的驱动,可以根据需要修改该文件。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sW6gqANo-1663497828865)(./pic/2.png)]](https://i-blog.csdnimg.cn/blog_migrate/26265c1fc29c8e2ec0031faaf86ac0f8.png)
重新进入工程目录,运行
petalinux-config -c rootfs
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pOU4oI3C-1663497828866)(./pic/3.png)]](https://i-blog.csdnimg.cn/blog_migrate/6c642ba0585964190092b62bd5b5947d.png)
进入module模块,选中hello。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yvRB2Zzn-1663497828867)(./pic/4.png)]](https://i-blog.csdnimg.cn/blog_migrate/95faa6f29fa442d77cc2486a946326c2.png)
重新编译
petalinux-build
在工程目录中搜索hello.ko,保存该文件。
运行应用程序
vitis下创建应用程序
具体工程参考博文Vitis下Linux应用程序开发流程。
将Debug文件夹xia的hellow.elf与之前生成的hello.ko文件通过tftp传输到单板。
tftp设置参考vitis下调试Linux应用程序。在编辑菜单设置虚拟机网络:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZdVmj4rj-1663497828867)(./pic/6.png)]](https://i-blog.csdnimg.cn/blog_migrate/d4fd094c972e74d93d9e2281d90c8e94.png)
运行指令:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RdThvDSK-1663497828868)(./pic/7.png)]](https://i-blog.csdnimg.cn/blog_migrate/2fd138dfee9dca5319651be25edb2187.png)
加载驱动,运行应用程序:
insmod hello.ko
./hellow.elf
本文详细介绍如何在Petalinux环境中添加自定义驱动,并通过实例演示应用程序调用过程。包括设置环境变量、创建驱动文件、配置及编译系统等关键步骤。
3723

被折叠的 条评论
为什么被折叠?



