设备驱动程序。创建文件,外部模块

问题描述:

我正在尝试在intel x86主机上为ARM体系结构交叉编译helloworld内核(2.6.x)模块。设备驱动程序。创建文件,外部模块

用于ARM的工具链位于:/home/vivek/ti-sdk-am335x-evm-05.07.00.00/linux-devkit/bin

内核源位于:/home/vivek/Arago

hellow.cMakefile位于桌面上/home/vivek/Desktop/hellodriver

我已经给出了路径交叉编译为/home/vivek/ti-sdk-am335x-evm-05.07.00.00/linux-devkit/bin

我的Makefile如下: -

export ARCH=arm 

export CROSS_COMPILE=arm-arago-linux-gnueabi- 

obj-m =Hello.o 

KDIR =/home/vivek/Arago 

PWD = $(shell pwd) 

default: 
     $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules 
clean: 
     $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) clean 

上执行make我越来越

[email protected]:~/Desktop/hellodriver$ make 

       make: Nothing to be done for `default'. 

我在做什么错?

+0

$(MAKE)行是否缩进制表符或空格?使用空格会导致你所说的输出。 –

+0

您正在使用哪个版本的Make? (如果您不确定,请尝试'make -v') – Beta

+0

是的使用Tab可以很好地缩进。我正在使用gnu make 3.2 –

你的Makefile存在错误。由于您的源代码名称是hellow.c,但在您的Makefile中它的编号为Hello.o

因此改变你的obj-m =Hello.oobj-m =hellow.o

还有一件事Etan Reisner上面说要确保你using Tab for command in Makefile

+0

@Vivek Verma是你的问题解决了吗? –