|  | 
 
| 本帖最后由 shapolang 于 2014-3-29 10:49 编辑 
 昨天想做一个驱动程序。想偷懒,没看移植手册前面的部分,直接看step23。先是make menuconfig 自己添加的驱动菜单没出来,各种头文件错误,又有
 “first_drv: version magic '2.6.30.4 mod_unload modversions ARMv5 ' should be '2.6.30.4-EmbedSky mod_unload ARMv4 '
 insmod: can't insert 'first_drv.ko': invalid module format”
 折腾了两天。终于实现一个LED驱动。心中真是万马奔腾啊。
 下面具体介绍实现过程。后面会上传源码。
 (源码是韦东山TQ2440源码:first_drv修改过来的)
 
 环境:内核-TQ提供的2.6.30;编译器:TQ提供的4.3.3
 
 第一步:解压TQ提供的内核文件到Linux的某个目录下。
 第二步 :进入上面解压出来的内核目录中,
 使用TQ的配置文件,命令:cp config_EmbedSky_W43 .config
 (看自己的板子,选择相应配置文件)
 第三步:到LED驱动的工程目录下。修改Makefile 的KDIR为第一步中的内核目录
 编译模块,命令:make
 手动编译测试模块,命令:arm-linux-gcc firstdrvtest.c -o ftest
 将  模块文件first_drv.ko 和 测试程序ftest 使用nfs传输到板子上就可以测试了。
 
 如果开发板的LED灯闪烁的话,
 要停掉开机自启的led程序,命令:/etc/rc.d/init.d/leds stop
 加载模块:insmod first_drv.ko,使用 lsmod可以看到载入的模块。
 ./ftest on  LED灯全亮
 ./ftest off LED灯全灭
 
 
 
 CSDN
 http://download.csdn.net/detail/thebirdman/7113699
 
 
 | 
 
×本帖子中包含更多资源您需要 登录 才可以下载或查看,没有账号?注册  |