Android驱动开发-- 1.内核driver层

本文介绍了一种在Cubieboard和DVK522扩展板上进行Android驱动开发的方法,通过控制LED点灯进行测试。首先在lichee/linux-3.4/driver/char创建myled目录,编写LEDdriver.c代码,利用CPU的PE4-PE6引脚驱动LED0-LED2。然后,编译驱动并将其集成到内核中,通过make menuconfig和make命令完成。成功编译后,驱动加载到设备驱动并在Android系统启动时生效。在/dev和/sys/class下出现myled节点,表明驱动安装成功。后续章节将介绍用户空间的测试程序来验证驱动功能。
摘要由CSDN通过智能技术生成
Android系统要控制硬件设备,首先需要在驱动层写一个驱动,android的底层是Linux,写设备驱动和Linux下写设备驱动一样。
在Linux系统中,设备驱动是以文件的形式表现,可以使用和操作普通文件相同的操作命令对设备文件进行操作,例如打开、关闭、读、写等。
写字符设备驱动步骤:
1. 定义一个file_operations结构体,并在结构体里面定义设备的打开、关闭、读、写、控制等操作函数。
2. 在结构体外实现结构体里面定义的操作函数。
3. 向内核注册和卸载驱动模块。

为了方便测试,这里采取控制LED点灯的方式测试,测试的硬件是Cubieboard和扩展板DVK522(见下图)。




一、在lichee/linux-3.4/driver/char目录下新建myled文件夹,新建一个LEDdriver.c文件,代码如下:

#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/fs.h>
#include <linux/init.h>
#include <linux/device.h>
#include  <asm/uaccess.h>
#include <linux
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值