Advertisement

【高通平台USB模块】fastboot模式出端口流程介绍一

阅读量:

文章目录

      • 一、recovery模式下端口
            • 1. init.rc服务是开机自启的
        • 2.recovery模式的端口
  • 第二部分:Fast Boot模式下的端口出口配置

    • 第3步:通过Fast Boot服务配置USB设备的初始参数

      • 第4步:系统通过USB接口的配置文件向外部设备通知可用端口信息
    • 总结


提示:以下是本篇文章正文内容,下面案例可供参考

一、recovery模式下端口

1. init.rc服务是开机自启的

进行服务修复操作时,请确保从系统根目录下的bin目录中执行指定命令。
对于socket的恢复处理,请关注连接到网络流媒体的第422个系统实例。
配置文件中将seclabel字段设置为u:r:recovery:s0。
在开发环境中运行 Recovery 功能模块时,请确保主程序入口函数名为 recovery_main.cpp。

在这里插入图片描述
在这里插入图片描述

进入recovery服务,会判断Property的信息

2.recovery模式的端口

Recovery模式的出口位置位于...中作为条件判断进行处理,在此条件下系统会记录sys USB配置文件中的端口类型信息

二,fastboot模式端口出口

Fastboot服务的定义
/system/core/fastboot/Android.bp

在这里插入图片描述

代码主要位于system/core/fastboot/device目录下,并已在其路径内进行相应的开发工作。
该服务通过以下路径进行定义:/bootable/recovery/etc/init.rc
具体启动流程如下:
Recovery服务会检测当前系统是否处于fastboot模式,
当sys.usb.config属性被设置为fastboot时,
将自动执行/bootsrcs/fastboo ttriggerer等价于触发器,
并在此时触发sys.usb.config=fastboo t的初始化流程。

在这里插入图片描述
在这里插入图片描述
3.fastboot服务写ep0

Fastboot服务的主函数用于创建fastbootdevice对象,并通过监听和执行相关快 boot 命令来实现功能

在这里插入图片描述

Fastboot类的构造函数判断fastboot协议是否为USB或TCP,默认采用USB协议,并定义client_usb_transport对象

在这里插入图片描述

主要负责initfuncfs函数内部的工作:
首先配置reset ep0节点;随后设置块设备和字符串设备描述符;
将sys.usb.ffs.ready属性设置为有效状态;
完成ep1和ep2节点的重置过程

在这里插入图片描述
在这里插入图片描述
4.fastboot服务写sys.usb.config通知枚举端口

触发/system/etc/init/init.rc执行出口pid、vid


总结

例如:这就是我们今天重点讲述的内容,在本篇文章中我们主要涉及了高通平台fastboot出口流程的概述性介绍。欢迎各位深入学习并提出宝贵意见。

全部评论 (0)

还没有任何评论哟~