开发环境:
正点原子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使用的交叉编译工具链搞出来
附一张成功的图

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

1723

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



