国嵌memdev驱动试验

来源:互联网 发布:绥中广电网络 编辑:程序博客网 时间:2024/05/18 02:14

memdev驱动试验 

     今天开始驱动的学习,根据国嵌驱动开发视频一边学习,一边试验。国嵌视频上首先讲述字符驱动开发过程,memdev就是最好的例子。首先在看懂源码的基础上学习怎么将驱动装载到开发板。下面是memdev源码:

 

 

执行make就会生成memdev.ko驱动文件,将编译好的驱动memdev.ko拷贝至开发板/lib/modules目录。

注意:驱动程序的编译依赖内核源代码,并且内核源代码(KERNELDIR指明)要与目标板运行的内核一致。

 

编写应用程序,对驱动程序测试

 arm-linux-gcc –o memdevapp memdevapp.c编译应用程序,将其下载至开板

 

 

 

添加模块:

# cd /lib/modules

# insmod memdev.ko 

 

添加设备节点:

# cd /dev

# cat /proc/devices 查看设备号

# mknod memdev0 c 260 0

 

运行应用程序

# ./memdevapp

 

以上方法采用的动态编译驱动,也可以静态方式将驱动编译进内核

1.将memdev.h和memdev.c两个驱动源文件拷贝至内核linux-2.6.24/drivers/char目录

 

2.修改该目录下Kconfig文件,添加如下内容

config MEMDEV_DRIVER

             tristate "memdev driver"

             depends on MACH_SMDK2440

             default y if MACH_SMDK2440

             help

                 this option enables support for memdev experiment

 

3.修改该目录下Makefile,添加如下内容

obj-$(CONFIG_MEMDEV_DRIVER)      +=memdev.o

 

4.在make menuconfig时在字符设备中找到菜单项“memdev drinver”,选择为Y或M,编译进内核还是模块。