Android中字符设备驱动和应用实例(一)——驱动部分



下面介绍创建Android设备对应的字符设备驱动

1 字符驱动

在此示例中,我们将字符驱动添加到drivers/char目录下。

(1)字符驱动的路径如下:

drivers/char/class_reg_unreg.c

 

(2)字符驱动的内容如下:

  View Code

  

2 修改配置

(1)修改drivers/char/Kconfig,添加以下内容:

config SKYWANG_CLASS_REG_UNREG
     tristate "skywang class register and unregister driver"
     help
     add this to support skywang class register and unregister driver 

(2)修改drivers/char/Makefile,添加以下内容:

+obj-$(CONFIG_SKYWANG_CLASS_REG_UNREG) += class_reg_unreg.o 

 

3 编译

(1)执行make menuconfig生产字符设备模块文件,如下图:

Android中字符设备驱动和应用实例(一)——驱动部分_第1张图片

(2)执行make编译生成模块文件,模块文件路径如下:

drivers/char/ class_reg_unreg.ko

 

4 装载/卸载到手机中

(1)将class_reg_unreg.ko导入到Android系统中,执行以下命令:

# adb push class_reg_unreg.ko /system/class_reg_unreg.ko

 

(2)装载模块文件,执行以下命令:

# cd /system/
# insmod class_reg_unreg.ko

执行insmod之后,坚持是否生成文件节点“/sys/class/my_char_dev”和“/dev/my_char_dev”。若生成文件节点,则代表装载驱动成功!

 

(3)若需要卸载模块文件,可以通过以下命令:

#rmmod class_reg_unreg.ko

 

你可能感兴趣的:(Android中字符设备驱动和应用实例(一)——驱动部分)