使用petalinux定制完成Linux系统后,在单板中插入sd卡,系统正常启动。接下来要进行应用程序开发了,使用petalinux添加驱动是必须要经历的一个步骤。本文将介绍在petalinux添加驱动的步骤,展示应用程序调用后的效果。
在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://1000bd.com/contentImg/2023/11/08/082403174.png)
进入recipes-modules文件夹,hello.c文件就是要添加的驱动,可以根据需要修改该文件。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sW6gqANo-1663497828865)(./pic/2.png)]](https://1000bd.com/contentImg/2023/11/08/082403098.png)
重新进入工程目录,运行
petalinux-config -c rootfs
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pOU4oI3C-1663497828866)(./pic/3.png)]](https://1000bd.com/contentImg/2023/11/08/082403169.png)
进入module模块,选中hello。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yvRB2Zzn-1663497828867)(./pic/4.png)]](https://1000bd.com/contentImg/2023/11/08/082403101.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://1000bd.com/contentImg/2023/11/08/082403119.png)
运行指令:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RdThvDSK-1663497828868)(./pic/7.png)]](https://1000bd.com/contentImg/2023/11/08/082403150.png)
加载驱动,运行应用程序:
insmod hello.ko
./hellow.elf