一种基于Android平台的USB端口可配置化方法

文档序号:9631410阅读:178来源:国知局
一种基于Android平台的USB端口可配置化方法
【技术领域】
[0002] 本发明涉及USB端口配置技术领域,具体是一种基于Android平台的USB端口可 配置化方法。
【背景技术】
[0003] 随着移动互联网的蓬勃发展以及Android操作系统市场的份额以及影响力与日 倶增,基于Android操作系统的智能终端(手机,平板电脑,数据卡以及智能穿戴设备)所提 供的功能以及应用越来越多,蕴含着广阔的发展前景。
[0004] USB(UniversalSerialBus)接口以其可配置话、使用方便、数据传输速率高等特 点而备广泛的应用到智能终端上面。USB总线协议支持设备接口种类十分丰富,包括常见的 用于访问网络的RNDIS(RemoteNetworkDriverInterfaceSpecification)、用于调试 ADB(AndroidDebugBridge)、支持媒体传输协议MTP(MediaTransferProtocol)、统一 的移动宽带设备接口MBIM(MobileBroadbandInterfaceModel)等等。
[0005] 根据USB协议规范,要使支持的端口正常工作,必须配置匹配的厂商标志 (idVendor)、产品标志(idProduct)、设备版本号(bcdDevice)、描述厂商信息的字符串描 述符(iManufacturer)、描述产品信息的字串描述符(iProduct)等等。
[0006] 现有的Android平台,当要有新的定制需求时,需要工程师重新根据需求进行开 发,涉及源码修改以及重新编译,花费大量人力以及时间成本。

【发明内容】

[0007] 本发明要解决的问题是提供一种基于Android平台的USB端口可配置化方法,该 方法可以通过PC端工具简单的修改Excel表格来实现,OEM技术人员不需要修改源码以 及重新编译,缩短产品开发周期,节约了成本,并且可以保护方案商以及0DM厂商的知识产 权,防止核心源码泄露。
[0008] 本发明的基于Android平台的USB端口可配置化方法,包括PC端配置和Android 设备配置过程。
[0009] 所述PC端配置过程包括以下步骤: 11) 根据具体的定制需求,添加原始USB配置信息到Excel表中; 12) 解析工具应用软件首先对文件进行扫描,将输入文件拆分为列进行标记;然后进 行语义解析,对每一列进行遍历,根据标点符号以及语法提取出关键信息;接着生成包含具 体配置项的USB配置文件;最后完成数字签名,把数字秘钥插入文件中,生成带数字签名的 USB配置文件; 13) 对原先的Android升级压缩包进行解压,把步骤12)得到的配置文件放入Android 设备的/usr/data/目录;重新压缩升级包制作完成,对Android设备重新升级。
[0010] Android设备配置过程包括以下步骤: 21)设备上电系统运行,Android系统启动,init进程运行中启动解析进程; 22)解析进程在/usr/data/目录查询USB配置文件是否存在,如果不存在,解析进程 退出,按照Android系统默认流程启动;如果检测到USB配置文件存在,则开始获取解析文 件的数字签名;如果获取到USB配置文件的数字签名与系统的数字签名不一致,解析进程 退出,按照Android系统默认流程启动;如果获取数字签名合法(即配置文件的数字签名与 系统的数字签名一致),则开始解析具体的USB配置项信息,把该配置信息以struct usb_ interface_config的数据结构存放到内存中,紧接着启动USB配置进程; 23) USB配置进程紧接步骤22)中的配置数据(idVendor,idProduct,bcdDevice…),把 配置信息写入到USB system FS(文件系统)对应节点(一般目录为:/sys/class/android_ usb/androidO/XXX); 24) USB设备控制器收到来自步骤23)的写入操作,重新对设备进行枚举,枚举的设备 描述符信息中包含步骤23)中写入的新的USB配置信息; 25) USB主机收到来自步骤24)的USB设备枚举信息,重新加载相应的驱动,端口识别 成功,配置完成。
[0011] 所述工具应用软件是基于Python语言编写的文件解析器,所述USB配置文件为 usb. config〇
[0012] 本发明的基于Android平台的USB端口可配置化方法,可以简化产品的USB端口 开发与定制,缩短产品的开发周期。可以保护方案商以及0DM厂商在不用提供源码的前提 下,帮助客户快速定制,从而防止核心源码泄露,保护核心知识产权。该方法实施简单,效率 高,配置方法稳定。
【附图说明】
[0013] 图1是本发明PC端配置流程图; 图2是本发明Android设备配置流程图。
【具体实施方式】
[0014] 本发明提供了一种基于Android平台的USB端口可配置化方法,为使本发明目的、 技术方案及效果更加清楚、明确、易于理解,参照附图并举实例对本发明进一步详细说明。 应当理解,此处所描述的具体实施仅用以解释本发明,并不用于限定本发明。
[0015] 如图1和2所示,基于Android平台的USB端口可配置化方法,采用PC端工具解 析Excel表格中的USB配置项,生成带数字标签的配置文件;配置文件打包到升级镜像中, 对设备重新升级;设备端在Android系统运行时,解析进程解析配置文件,根据数字签名判 断配置文件安全合法后进行USB端口配置,最终Excel中需要定制的USB配置信息在终端 设备上生效。具体包括如下步骤: PC端配置过程包括以下步骤: 11)根据具体的定制需求,添加原始USB配置信息到Excel表中; Excel表举例如表1,所举例并没有本方法所采用的全部配置信息,只是作为一种举 例。
[0016] 表1Excel表举例
12) 解析工具应用软件是基于Python语言编写的文件解析器,首先对文件进行扫描, 将输入文件拆分为列进行标记;然后进行语义解析,对每一列进行遍历,根据标点符号以及 语法提取出关键信息;接着生成包含具体配置项的USB配置文件;最后完成数字签名,把数 字秘钥插入文件中,生成带数字签名的usb.configUSB配置文件; 13) 对原先的Android升级压缩包进行解压,把步骤12)得到的配置文件放入Android 设备的/usr/data/目录;重新压缩升级包制作完成,对Android设备重新升级。
[0017] Android设备配置过程包括以下步骤: 21) 设备上电系统运行,Android系统启动,init进程运行中启动解析进程; 22) 解析进程在/usr/data/目录查询USB配置文件是否存在,如果不存在,解析进程 退出,按照Android系统默认流程启动;如果检测到USB配置文件存在,则开始获取解析文 件的数字签名;如果获取到USB配置文件的数字签名与系统的数字签名不一致,解析进程 退出,按照Android系统默认流程启动;如果获取数字签名合法(即配置文件的数字签名与 系统的数字签名一致),则开始解析具体的USB配置项信息,把该配置信息以structusb_ interface_config的数据结构存放到内存中,紧接着启动USB配置进程; 23)USB配置进程紧接步骤22)中的配置数据(idVendor,idProduct,bcdDevice…),把 配置信息写入到USBsystemFS(文件系统)对应节点(一般目录为:/sys/class/android_ usb/androidO/XXX); 24) USB设备控制器收到来自步骤23)的写入操作,重新对设备进行枚举,枚举的设备 描述符信息中包含步骤23)中写入的新的USB配置信息; 25) USB主机收到来自步骤24)的USB设备枚举信息,重新加载相应的驱动,端口识别 成功,配置完成。
[0018] 以上实施例仅用以说明本发明的技术方案,并非用于限定本发明的保护范围。凡 在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,其均应涵盖在本发明的 权利要求范围当中。
【主权项】
1. 一种基于Android平台的USB端口可配置化方法,其特征在于,包括PC端配置和 Android设备配置过程; 所述PC端配置过程包括以下步骤: 11) 根据具体的定制需求,添加原始USB配置信息到Excel表中; 12) 解析工具应用软件首先对文件进行扫描,将输入文件拆分为列进行标记;然后进 行语义解析,对每一列进行遍历,根据标点符号以及语法提取出关键信息;接着生成包含具 体配置项的USB配置文件;最后完成数字签名,把数字秘钥插入文件中,生成带数字签名的 USB配置文件; 13) 对原先的Android升级压缩包进行解压,把步骤12)得到的配置文件放入Android 设备的/usr/data/目录;重新压缩升级包制作完成,对Android设备重新升级; Android设备配置过程包括以下步骤: 21) 设备上电系统运行,Android系统启动,init进程运行中启动解析进程; 22) 解析进程在/usr/data/目录查询USB配置文件是否存在,如果不存在,解析进程退 出,按照Android系统默认流程启动;如果检测到USB配置文件存在,则开始获取解析文件 的数字签名;如果获取到USB配置文件的数字签名与系统的数字签名不一致,解析进程退 出,按照Android系统默认流程启动;如果获取数字签名合法,则开始解析具体的USB配置 项信息,把该配置信息以structusb_interface_config的数据结构存放到内存中,紧接 着启动USB配置进程; 23)USB配置进程紧接步骤22)中的配置数据(,把配置信息写入到USBsystemFS对 应节点; 24. USB设备控制器收到来自步骤23)的写入操作,重新对设备进行枚举,枚举的设备 描述符信息中包含步骤23)中写入的新的USB配置信息; 25. USB主机收到来自步骤24)的USB设备枚举信息,重新加载相应的驱动,端口识别 成功,配置完成。2. 根据权利要求1所述的基于Android平台的USB端口可配置化方法,其特征在于,所 述工具应用软件是基于Python语言编写的文件解析器,所述USB配置文件为usb.config。
【专利摘要】本发明公开的一种基于Android平台的USB端口可配置化方法,采用PC端工具解析Excel表格中的USB配置项,生成带数字标签的配置文件;配置文件打包到升级镜像中,对设备重新升级;设备端在Android系统运行时,解析进程解析配置文件,根据数字签名判断配置文件安全合法后进行USB端口配置,最终Excel中需要定制的USB配置信息在终端设备上生效。本发明的方法可以简化产品的USB端口开发与定制,缩短产品的开发周期。方案商以及ODM厂商在不用提供源码的前提下,帮助客户快速定制,从而防止核心源码泄露,保护核心知识产权。
【IPC分类】G06F9/445
【公开号】CN105389180
【申请号】CN201510714869
【发明人】赵飞
【申请人】诚迈科技(南京)股份有限公司
【公开日】2016年3月9日
【申请日】2015年10月29日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1