usb子系统怎么传事件给 vold
时间: 2024-04-13 18:26:20 浏览: 32
USB子系统通常通过内核中的USB驱动与vold进行通信,以传递USB设备事件给vold。下面是大致的工作流程:
1. USB设备插入:当用户将USB设备插入到系统中时,USB子系统中的USB驱动会检测到设备插入事件。
2. USB驱动处理:USB驱动会对插入的设备进行识别和初始化,并通过内核的USB设备框架创建相应的设备对象。
3. 设备注册:USB驱动在完成设备初始化后,会调用device_register函数将设备对象注册到内核中。
4. 状态通知:在设备注册后,USB驱动可以使用usb_notify_add_device函数向USB子系统发送设备状态通知。这个函数会通过内核的事件框架向注册的接收者发送事件。
5. vold接收事件:vold作为一个监听者,可以通过注册到事件框架的方式接收USB子系统发送的设备事件通知。
6. 事件处理:vold接收到USB设备事件后,可以根据事件类型进行相应的处理。例如,对于插入事件,vold可能会启动挂载过程并为该USB设备创建相应的目录。
总结起来,USB子系统通过USB驱动和内核事件框架将USB设备的插入、拔出等事件传递给vold。vold根据接收到的事件进行相关处理,以维护和管理USB设备的状态和挂载。这样,Android系统就能够在USB设备插入时自动进行挂载,实现文件的读写等操作。
相关问题
Vold.mkdirs
Vold.mkdirs 是一个Android中的方法,用于创建目录。其中,Vold是Android中的一个虚拟文件系统守护进程,负责管理存储设备的挂载和卸载。而 mkdirs 则是Java中的一个方法,用于创建多级目录。因此,Vold.mkdirs 就是在Android中通过Vold进程调用Java中的 mkdirs 方法来创建目录。
mediatek 的Vold配置文件
Mediatek设备的Vold配置文件通常位于/system/etc/vold.fstab.mt6765或/system/etc/vold.fstab.mt6761等路径下,具体路径可能因设备型号和Android版本而异。在Mediatek设备上,Vold.fstab文件通常被拆分成多个文件,以增加灵活性和可维护性。
以下是一个示例Mediatek设备的Vold配置文件(vold.fstab.mt6765)的内容:
```
# MediaTek filesystems (MTK-MSDC)
# mount point fstype device [device2] [flags]
# internal emulated SD card
/dev/block/bootdevice/by-name/userdata /data ext4 nosuid,nodev,noatime,nodiratime,wait,check,errors=panic 0 0
# external SD card
/dev/block/mmcblk0 vfat /mnt/media_rw/sdcard auto umask=0000,utf8 0 0
# USB storage
/dev/block/sda vfat /mnt/media_rw/usbdisk auto umask=0000,utf8 0 0
```
在这个配置文件中,定义了三个存储器的挂载信息:内部SD卡、外部SD卡和USB存储器。每一行的字段含义如下:
- mount point:挂载点,即存储器在Android系统中的挂载路径。
- fstype:文件系统类型,例如ext4、vfat等。
- device:设备节点路径,例如/dev/block/mmcblk0。
- device2:可选字段,用于指定设备的备份路径或分区信息。
- flags:挂载选项,例如umask、noatime等。
需要注意的是,不同型号的Mediatek设备可能会有不同的Vold配置文件和挂载信息。在修改Vold配置文件时,需要确认所使用的设备的正确路径和格式,并备份原始文件以防止意外损坏系统。
相关推荐
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)