Android中字符设备驱动和应用实例(一)——驱动部分
下面介绍创建Android设备对应的字符设备驱动
1 字符驱动
在此示例中,我们将字符驱动添加到drivers/char目录下。
(1)字符驱动的路径如下:
drivers/char/class_reg_unreg.c
(2)字符驱动的内容如下:
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生产字符设备模块文件,如下图:
(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