经过几天的摸索终于驱动动态加载环境设置好了,从中遇到了很多问题

如1 #include <mach/regs-gpio.h> 错误:mach/regs-gpio.h:没有那个文件或目录

#include <mach/hardware.h> 错误:mach/hardware.h:没有那个文件或目录
首先 这些是在内核arch/arm平台目录下的文件,没有那个文件或目录,我自己认为主要因为,我们在编译动态驱动时,如果没有改顶层makefile,系统就会默认按x86平台编译,因为内核arch/x86平台下的目录是没有包含以上文件库,所以当然会出现错误啦,所以我们要修改顶层makefile,ARCH  ?= arm  CROSS_COMPILE ?= arm-linux-
切记最好不要用安装在PC机上自带的linux系统内核编译,它们默认按x86平台编译

2 cannot insert 'myled.ko': invalid module format 主要是因为你目标板的内核与你在PC上编译你的动态驱动的内核不一致所导致的,所以换成与目标板相同版本的内核,来编译你自己的动态驱动就行啦,查看目标板的内核版本用 uname - r 命令,

我也是初学者,所以分享一下自己遇到的错误,希望能帮到和我一样遇到同种错误的人,大家一起学习,