petalinux 内核源码外编译内核模块

文章讲述了在正点原子MPSOC平台上使用petalinux2022.2时遇到的编译内核模块的挑战,强调了找到正确内核源码路径和选择合适编译器的重要性。作者发现petalinux2022.2不自带编译器,并提供了设置SDK工作环境的参考资源。最终,成功编译的关键在于确定正确的KDIR和使用环境设定脚本设置交叉编译工具链。

        开发环境:

        正点原子MPSOC 

        petalinux2022.2

        之前就一直没解决在源码外编译内核模块的问题,也找了代理商的FAE,上下其手的骚操作还是不行,今天再次尝试一下好像就解决了

        结论:1、找到正确的内核源码路径。2、选择好编译器

        看到这里之前需要先解决编译器的问题,petalinux2022.2这个版本不是安装完就带编译器,我这个虚拟机虽然有ARCH64的编译器,但是不能用,安装完效果如下

要有“xilinx”这种才行,有大神整理好了可以照搬操作步骤就好详见正点原子《3_DFZU2EG_4EV MPSoC之嵌入式Linux开发指南_V1.0》(10.5设置SDK的工作环境)

 内核路径,在petalinux工程下面能找到不止一个“kernel”

最后我这目录是(仅供参考)“/home/forlinx/Xilinx/mpsoc/build/tmp/work/zynqmp_generic-xilinx-linux/linux-xlnx/5.15.36+git999-r0/linux-xlnx-5.15.36+git999”

这个文件夹里面有个“Module.symvers”,也是多次编译后才了解一点点,过程就不上了 太麻烦

makefile文件内容如下

 

obj-m := hellomodule.o
SRC ?= $(shell pwd)
KDIR:=/home/forlinx/Xilinx/mpsoc/build/tmp/work/zynqmp_generic-xilinx-linux/linux-xlnx/5.15.36+git999-r0/linux-xlnx-5.15.36+git999

all:
	$(MAKE) -C $(KDIR) M=$$PWD

clean:
	make -C $(KDIR) M=$(PWD) clean	

运行这个“make”之前 需要在终端设置编译器的环境

我的路径是这样的,仅供参考“/opt/petalinux/2022.2/environment-setup-cortexa72-cortexa53-xilinx-linux” 一定要先将petalinux使用的交叉编译工具链搞出来

       附一张成功的图

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值