器件型号: PROCESSOR-SDK-LINUX AM64X-AM64X
您好:
我尝试编译自定义内核模块失败。
我确实遵循了内核模块编译的通用指南、包括交叉编译。
这是我的 Makefile:
-包括./../Rules.make
obj-m += driver_test.o
KDIR :=./../board-support/ti-linux-kernel-6.12.35 + git-ti
全部:
生成-C $(KDIR) M=$(PWD) 模块
清洁:
使-C $(KDIR) M=$(PWD) 干净
它是从存在相对路径的目录调用的。
当我调用 make 时、可以得到以下输出:
创建-C ./../board-support/ti-linux-kernel-6.12.35 + git-ti M=/home/mtr/ti-processor-sdk-linux-am64xx-evm-11.01.05.03/TestApps Driver_Test 1 模块
make[1]:输入目录“/home/mtr/ti-processor-sdk-linux-am64xx-evm-11.01.05.03/board-support/ti-linux-kernel-6.12.35 + git-ti“
CC [M] /home/mtr/ti-processor-sdk-linux-am64xx-evm-11.01.05.03/TestApps、Driver_Test 1/DRIVER_TEST.o
aarch64-oe-linux-gcc:错误:选项‘-mcmodel=kernel’中无法识别的参数
aarch64-oe-linux-gcc:‘:“-mcmodel=“的有效参数是:large small tiny“
aarch64-oe-linux-gcc:‘:无法识别的命令行选项“-mno-sse“;您是指‘“'-fno-DSE'吗?
aarch64-oe-linux-gcc:错误:无法识别的命令行选项‘-MnO-mmx’
aarch64-oe-linux-gcc:错误:无法识别的命令行选项‘-MnO-sse2’
aarch64-oe-linux-gcc:错误:无法识别的命令行选项‘-MNO-3DNow’
aarch64-oe-linux-gcc:错误:无法识别的命令行选项‘-MNO-AVX’
aarch64-oe-linux-gcc:‘:无法识别的命令行选项“-m64“
aarch64-oe-linux-gcc:错误:无法识别的命令行选项‘-MNO-80387’
aarch64-oe-linux-gcc:错误:无法识别的命令行选项‘-MNO-red-zone’
make[3]:***[scripts/Makefile.build:229:/home/mtr/ti-processor-sdk-linux-am64xx-evm-11.01.05.03/TestApps Driver_Test 1/driver_test.o]错误 1
MAKE[2]:***[/home/mtr/ti-processor-sdk-linux-am64xx-evm-11.01.05.03/board-support/ti-linux-kernel-6.12.35 + git-ti/Makefile:1945:/home/mtr/ti-processor-sdk-linux-am64xx-evm-11.01.05.03/TestApps Driver_Test 1]错误 2.
make[1]:***[Makefile:224:__sub-makE]错误 2.
make[1]:离开目录“/home/mtr/ti-processor-sdk-linux-am64xx-evm-11.01.05.03/board-support/ti-linux-kernel-6.12.35 + git-ti“
make:***[Makefile:22:all] Error 2.
我认为所有这些提到的无法识别的命令行选项都专用于 x86 而不是 ARM。 似乎拾取了一些错误的参数。 至少所选的编译器似乎是正确的编译器。
顺便说一下、到目前为止、我使用的是 SDK 版本 11.01.05.03。
有什么想法我在这里做错了?
谢谢、
Mario