驱动初试

因为之前用linux3.15.4内核时,mini2440开发板启动后,nfs一直挂接不上文件系统,后来用友善提供的linux内核,NFS挂接成功了,估计是DM9000驱动有问题??暂且就基于linux2.6.32.2来学习内核。


写了一个简单的led驱动,和makefile文件,makefile文件内容如下:

KERN_DIR = /work/linux-2.6.32.2

all:
        make -C $(KERN_DIR) M=`pwd` modules 

clean:
        make -C $(KERN_DIR) M=`pwd` modules clean
        rm -rf modules.order

obj-m   += led_1.o

make时,出现几个头文件找不到的错误。

找不到头文件的原因,可能是相关文件夹下没有这些.h的头文件。关于如何确定头文件的位置,可以看下我转载的资料:ARM-Linux驱动相关头文件知识点。你可以先找一下,你include的头文件在不在。

继续make ,还是出错。

驱动初试_第1张图片

后来想到某些头文件是在与mach相关的平台的include里的,这个怎么区分呢?

估计的先配置linux内核,内核编译过后再去尝试编译驱动。

cp config_XXX.config

make uImage

内核成功之后,回到驱动目录。make

驱动初试_第2张图片

编译成功,确实生成了.ko文件。

好了,第一个驱动就这么完成了,驱动之路在开始........


你可能感兴趣的:(makefile,ARM,linux驱动)