Android 框架之创建设备节点文件
来源:互联网 发布:mac怎么关闭后台程序 编辑:程序博客网 时间:2024/04/29 11:35
Android 与linux一样使用设备驱动来访问硬件设备,设备节点文件是设备驱动的逻辑文件,应用程序使用设备节点文件来访问设备驱动程序,linux使用mknod来创建设备节点文件,Android 有自己法子。
Android 使用Init 进程来创建设备节点文件,分两种情况:静态节点文件和动态节点文件,以应对已经定义好的冷插拔和系统运行起来后插入的热插拔设备。
对于冷插拔设备,init 进程事先获取等待冷插拔处理的驱动程序,事先定义好个驱动的设备节点文件(在android_source_code/system/core/init/devices.c中),在struct perms_devices[ ] 列出了设备节点的名称。访问权限,用户ID,组ID,若要添加新的用户定义的新设备需要在此结构体中添加相应信息。
init 首先调用device_init() 函数,创建一个socket 来接收uevent,再通过cold_boot() 调用do_coldboot()对内核启动时注册到/sys下的驱动程序进行冷插拔处理,do_coldboot会启动uevent,在handler_device_fd()中接收uevent信息,并写入到uevent struct 中,调用handle_device_event()创建节点文件,先创建所有的子目录,然后调用make_device()创建节点文件。
init 对于热插拔的动态设备,使用事件处理循环来完成,使用poll()监听来自驱动程序的uevent, 然后调用handle_device_fd()创建设备节点。
0 0
- Android 框架之创建设备节点文件
- Android 框架之创建设备节点文件
- Android 框架之创建设备节点文件
- Android 框架之创建设备节点文件
- android设备文件节点创建
- 自动创建设备文件节点
- 创建设备节点之mknod
- android中创建设备节点
- android中创建设备节点
- Android音频驱动-ASOC之创建设备节点
- 设备模型之文件节点
- Android创建设备文件
- LINUX 字符设备自动创建文件节点
- linux内核驱动---创建设备节点文件
- linux驱动之自动创建设备节点
- Android 系统中设备节点的创建
- Android 系统中设备节点的创建
- Android设备目录和节点的创建
- android 传感器学习笔记 一
- coco2d-x android win7 环境配置
- Android remote service : how to bind
- Leetcode NO.100 Same Tree
- 解决Command "python setup.py egg_info" failed with error code 1坎坷路
- Android 框架之创建设备节点文件
- Android init 进程 init.rc init.*.rc
- android 读写sdcard 一
- Android 下移植WIFI 驱动
- OpenCV学习篇之三 摄像头控制
- ios_01-----IBAction和IBOutlet
- android Launcher study 之一
- OC 类设置及NSArray自定义排序
- hdu 1080 打表+dp(最长公共子序列)