4.1.2的交叉编译内核模块无法找到plat / dmtimer.h

时间:2015-07-21 05:25:23

标签: c linux-kernel cross-compiling kernel-module

我正在使用Beaglebone Black尝试学习如何编写内核模块。我想从一些简单的东西开始,所以想到编写一个模块来控制硬件定时器并使LED闪烁将是一件相对简单的事情。我已经下载了4.1.2-bone12源代码,交叉编译了它,并按照Robert C Nelson编写的指南创建了一张SD卡来启动。

我为该模块编写了一个.c文件和Makefile。 Makefile如下:

ARCH=arm
COMPILER_LOC=/home/tom/ti/Kernel/bb-kernel-4.1.2-bone12/dl/gcc-linaro-4.9-2015.02-3-x86_64_arm-linux-gnueabihf/bin
COMPILER=$(COMPILER_LOC)/arm-linux-gnueabihf-
KDIR := /home/tom/ti/Kernel/bb-kernel-4.1.2-bone12/KERNEL

obj-m := timer.o

default:
        $(MAKE) -C $(KDIR) M=$$PWD ARCH=$(ARCH) CROSS_COMPILE=$(COMPILER) modules

clean:
        $(MAKE) -C $(KDIR) M=$$PWD ARCH=$(ARCH) clean

当我运行make时会抛出错误:

make[1]: Entering directory `/home/tom/ti/Kernel/bb-kernel-4.1.2-bone12/KERNEL'
CC [M]  /home/tom/ti/Kernel/Timer/timer.o
/home/tom/ti/Kernel/Timer/timer.c:5:26: fatal error: plat/dmtimer.h: No such file or directory
 #include <plat/dmtimer.h>
                         ^
compilation terminated.
make[2]: *** [/home/tom/ti/Kernel/Timer/timer.o] Error 1
make[1]: *** [_module_/home/tom/ti/Kernel/Timer] Error 2
make[1]: Leaving directory `/home/tom/ti/Kernel/bb-kernel-4.1.2-bone12/KERNEL'
make: *** [default] Error 2

最初我使用的是3.8.13-bone72内核并没有出现这个问题。我在Makefile中只进行了2次更改,从3.8.13-bone72内核到4.1.2-bone12时,.c没有改变。这两个变化是:

COMPILER_LOC=/home/tom/ti/Kernel/bb-kernel-3.8.13-bone72/dl/gcc-linaro-arm-linux-gnueabihf-4.7-2013.04-20130415_linux/bin
KDIR := /home/tom/ti/Kernel/bb-kernel-3.8.13-bone72/KERNEL

3.8.13-bone72和4.1.2-bone12源都有dmtimer.h ../ KERNEL /拱/臂/高原的OMAP /包含/高原/.

所以我的问题是,当使用3.8.13-bone72成功时,为什么用4.1.2-bone12内核进行交叉编译会失败?

另外,对于想知道我从3.8.13-bone72切换到4.1.2-bone12的原因的人是因为3.8.13-bone72似乎不允许你具体使用哪个硬件定时器.. 4.1 .2-bone12允许使用特定的计时器。

编辑 - 2015年7月21日 在为3.8.13-bone72和4.1.2-bone12内核构建模块时,我已经从make -d上传了调试输出。两者之间有区别;在我缺乏经验的眼中,似乎在构建4.1.2内核时,它并没有将目录切换到内核源代码 如果你查看Debug3.8.txt,你会看到第二个&#34;特殊用途之后。&#34;它开始在/home/tom/ti/Kernel/bb-kernel-3.8.13-bone72/KERNEL和子目录中做事。但是,当构建针对4.1.2内核时,这似乎不会发生。

LINK:https://onedrive.live.com/redir?resid=C46E7B4F8242576!1497&authkey=!AO2GkaEOw41SVC8&ithint=folder%2ctxt

0 个答案:

没有答案