使用手册只有hello的使用详细说明,但hello设计不到硬件操作,不能算是真正意义上的驱动开发。在讲到LED的时候只是在手册里列写出了驱动程序而已,没有说怎么去验证它。应该是Linux\examples目录下的led.c就是验证的程序吧。我遇到的问题如下。望大侠尽快给出解决办法。
1:在linux内核源码目录下运行make menuconfig,配置LED编译为模块
->Device Drivers
->Character devices
<M>LED Support for Mini6410 GPIO LEDs 注:led模块
<M>Mini6410 module sample 注:hello模块
2:char/Makefile 关于hello和led的如下未作修改
obj-$(CONFIG_MINI6410_LEDS) += mini6410_leds.o
obj-$(CONFIG_MINI6410_HELLO_MODULE) += mini6410_hello_module.o
3: 回到源代码目录
make zImage
make modules
在char目录下出现mini6410_leds.ko和mini6410_hello_module.ko
4:将mini6410_leds.ko和mini6410_hello_module.ko拷贝到SD卡中。在目标板预装的linux+qt中复制到/lib/modules/2.6.38-FriendlyARM目录
奇怪的现象出现了
4.1(正常)
modprobe mini6410_hello_module
串口打印 Hello, Mini6410 module is installed!
rmmod mini6410_hello_module
串口打印 Good-bye, Mini6410 module was removed!
4.2(不正常)
modprobe mini6410_leds
串口打印 modprobe:module 'mini6410_leds' not found
另外:在Linux\examples目录下的leds应该是配套的测试led模块的代码吧。在这个目录下执行make也不行。
超级终端打印 make:Nothing to be done for 'all'.