因为之前用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 ,还是出错。
后来想到某些头文件是在与mach相关的平台的include里的,这个怎么区分呢?
估计的先配置linux内核,内核编译过后再去尝试编译驱动。
cp config_XXX.config
make uImage
内核成功之后,回到驱动目录。make
编译成功,确实生成了.ko文件。
好了,第一个驱动就这么完成了,驱动之路在开始........