OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 468|回复: 0

领航者ZYNQ嵌入式Linux开发,使用petalinux框架自带内核编译驱动模块

[复制链接]

2

主题

2

帖子

0

精华

新手入门

积分
12
金钱
12
注册时间
2025-11-24
在线时间
2 小时
发表于 2026-3-13 16:29:09 | 显示全部楼层 |阅读模式
我的环境:ZYNQ7020,petalinux-2021.1。

教程文档中是用的Xilinx官网的内核编译驱动模块,我在学习时想到petalinux框架本身是带有内核源码的,应当可以用来编译驱动模块,所以研究了一下。

方法如下:
  • 配置内核 petalinux-config -c kernel,选中Security options/Harden memory...和Harden common...,
    选中Kernel hacking/Tracers和Tracers下级的Kernel Function Tracer。
  • 编译内核 patalinux-build -c kernel。
  • 找到目录 /home/uisrc/zynq/driver/build/tmp/work-shared/zynq-generic。
  • 将kernel-build-artifacts目录下的所有内容拷贝覆盖到kernel-source目录中去。
    (注意:如果是在图形界面下拷贝,需点击浏览器顶栏右端图标为三横杠的按钮,在下拉菜单中勾选显示隐藏文件。)
  • 切换到kernel-source目录,如果是新打开的终端窗口,先执行 source /opt/pkg/petalinux/2021.1/settings.sh,然后
  • 依次执行下面三行:
    make ARCH=arm CROSS_COMPILE=arm-xilinx-linux-gnueabi- oldconfig (注意正常没有任何提示输入确认)
    make ARCH=arm CROSS_COMPILE=arm-xilinx-linux-gnueabi- prepare
    make ARCH=arm CROSS_COMPILE=arm-xilinx-linux-gnueabi- modules_prepare
  • 将教程中的Makefile中改为(注意替换你的登录用户名和petalinux框架目录):
    KERNELDIR := /home/uisrc/zynq/driver/build/tmp/work-shared/zynq-generic/kernel-source
  • 编译驱动模块时先执行source那句,再执行make。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /1 下一条

正点原子公众号

如发现本坛存在违规或侵权内容, 请点击这里发送邮件举报 (或致电020-38271790)。请提供侵权说明和联系方式。我们将及时审核依法处理,感谢配合。

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2026-3-27 16:01

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表