CN108280034A - 一种安卓系统usb-hid设备自适应方法及装置 - Google Patents
一种安卓系统usb-hid设备自适应方法及装置 Download PDFInfo
- Publication number
- CN108280034A CN108280034A CN201810086303.8A CN201810086303A CN108280034A CN 108280034 A CN108280034 A CN 108280034A CN 201810086303 A CN201810086303 A CN 201810086303A CN 108280034 A CN108280034 A CN 108280034A
- Authority
- CN
- China
- Prior art keywords
- usb
- hid
- android system
- equipment
- driver
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/102—Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0042—Universal serial bus [USB]
Abstract
本发明公开了一种安卓系统USB‑HID设备自适应方法及系统,属于计算机技术领域,方法包括:当USB‑HID设备连接至所述安卓系统中时进入设备信息读写程序;判断所述USB‑HID设备的驱动程序是否存在;当所述安卓系统监测所述USB‑HID设备的驱动程序存在时,加载USB‑HID设备的驱动程序;当所述安卓系统监测所述USB‑HID设备的驱动程序不存在时,重新启动所述安卓系统,进入USB-HID驱动生成程序;加载所述USB‑HID设备的驱动程序。本发明仅通过重启安卓设备,就可以自动的实现USB‑HID设备驱动程序的加载,避免了重新安装驱动程序或者重新更新可以兼容该设备的安卓系统版本,使用方便,具有较高的经济效益。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种安卓系统USB-HID设备自适应方法及装置。
背景技术
“驱动程序”,是一种可以使计算机操作系统和设备通信的特殊程序,操作系统只有通过这个接口,才能控制硬件设备的工作,假如设备的驱动程序未能正确安装,便不能正常工作。
HID是一种用于和计算机进行交互通信的接口,典型的HID设备有鼠标、键盘和触摸屏等,只要符合HID类别设备规范的设备都可以认为是HID设备。HID设备是USB协议中最早提出并支持的一种设备类,并为之专门提供了接口描述。
由于操作系统所面对的硬件设备种类多种多样,不同型号不同厂家的设备又都有各自的特点,要支持某种设备就必须提供这种设备的驱动程序,然后把它加载进内核,才能使用该设备。
安卓系统接入USB-HID设备时,通常需要安装设备的驱动程序或者更新可以兼容该设备的安卓系统版本才能实现设备的正常实用,具有一定的使用难度。
发明内容
为了解决上述技术问题,本发明的目的是提供一种无需安装设备驱动或更新安卓操作系统就可以正常使用USB-HID设备的方法:
本发明所采用的技术方案是:
一种安卓系统USB-HID设备自适应方法,包含USB-HID驱动框架,
S1:当USB-HID设备连接至安卓系统中时进入设备信息读写程序;
S2:判断所述USB-HID设备的驱动程序是否存在;
S3:当所述安卓系统监测所述USB-HID设备的驱动程序存在时,进入S5;
S4:当所述安卓系统监测所述USB-HID设备的驱动程序不存在时,重新启动所述安卓系统,进入USB-HID驱动生成程序;
S5:加载所述USB-HID设备的驱动程序。
其中,设备信息读写程序包括:
监测是否有USB-HID设备连接到所述安卓系统;
当监测到有USB-HID设备连接到所述安卓系统时,读取所述安卓系统内的SYS文件,从所述SYS文件中提取所述USB-HID设备的厂商ID信息,并将所述USB-HID设备的厂商ID信息写入FLASH ROM中。
其中,USB-HID驱动生成程序包括:将所述USB-HID设备的厂商ID信息添加到所述USB-HID驱动生成程序中,并调用所述USB-HID驱动框架,形成设备驱动。
USB-HID驱动生成程序还包括:将所述非易失随机访问存储器中存储的所述USB-HID设备的厂商ID信息添加到所述安卓系统中所支持的USB-HID设备列表中。
本发明还包括:一种安卓系统USB-HID设备自适应装置,包括USB-HID驱动框架,包括:
设备信息读写单元,用于读取连接至所述安卓系统的USB-HID设备的厂商ID信息;
USB-HID驱动生成单元,用于生成连接至所述安卓系统的所述USB-HID设备的驱动程序。
其中,设备信息读写单元用于:
监测是否有USB-HID设备连接到所述安卓系统;
当监测到有USB-HID设备连接到所述安卓系统时,读取所述安卓系统内的SYS文件,从所述SYS文件中提取所述USB-HID设备的厂商ID信息,并将所述USB-HID设备的厂商ID信息写入非易失随机访问存储器中。
其中,USB-HID驱动生成单元用于:
将所述USB-HID设备的厂商ID信息添加到所述USB-HID驱动生成程序中,并调用所述USB-HID驱动框架,形成设备驱动。
USB-HID驱动生成单元还用于:
将所述非易失随机访问存储器中存储的所述USB-HID设备的厂商ID信息添加到所述安卓系统中所支持的USB-HID设备列表中。
本发明的有益效果是:仅通过重启安卓设备,就可以自动的实现USB-HID设备驱动程序的加载,避免了重新安装驱动程序或者重新更新可以兼容该设备的安卓系统版本,使用方便,具有较高的经济效益。
附图说明
下面结合附图对本发明的具体实施方式作进一步说明:
图1是一种安卓系统USB-HID设备自适应方法的一具体实施例的工作流程图;
图2是一种安卓系统USB-HID设备自适应方法的一具体实施例中的设备信息读取程序的工作流程图;
图3是一种安卓系统USB-HID设备自适应方法的一具体实施例中USB-HID驱动生成程序的工作流程图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
安卓系统中,提供了USB-HID驱动框架,可以实现对USB协议的设备的底层支持,系统在连接USB-HID设备时,在驱动层添加USB-HID设备的设备信息并调用安卓系统中USB-HID驱动框架就可以实现对USB-HID设备的驱动。
本发明就是在USB-HID设备和USB-HID驱动框架之间提供了一个接口,具有设备监测、设备配置、设备加载和设备注册的功能。
本发明的工作流程如图1所示:
当USB-HID设备插入安卓系统设备中时,触发设备信息读取程序信息读取程序,并监测设备驱动程序是否存在,若驱动程序存在,则加载驱动程序,使用该设备;
若驱动不存在,则重启设备,当设备重启时,安卓系统自动进入USB-HID驱动程序,USB-HID驱动程序运行完成后,USB-HID设备可正常使用。
设备信息读取程序工作流程如图2所示,建立一个进程程序监测USB-HID设备是否插入,当USB-HID设备插入时,打开安卓系统SYS文件,提取出厂商ID信息,并将厂商信息存储在非易失随机访问存储器(FLASH ROM)中,存储在STRUCT TAG变量指向的地址中,供BOOT程序和内核使用。
USB-HID驱动生成程序的工作流程如图3所示,安卓系统重启后,进入BOOT程序,BOOT程序通过STRUCT TAG变量,将设备信息传递到内核,内核在加载USB-HID驱动框架时,读取STRUCT TAG变量,通过设备驱动生成程序组成符合USB-HID协议的驱动。
USB-HID设备驱动生成程序按照USB-HID协议的使用规范的要求编写,与设备的厂家信息组合就可以与USB-HID驱动框架组合成设备驱动调用USB-HID设备。
USB-HID驱动生成程序包括将非易失随机访问存储器中存储的所述USB-HID设备的厂商ID信息添加到所述安卓系统中所支持的USB-HID设备列表中,下次相同设备连接到系统时可以直接使用。
本发明还包括:一种安卓系统USB-HID设备自适应装置,包括USB-HID驱动框架,包括:
设备信息读写单元,用于读取连接至所述安卓系统的USB-HID设备的厂商ID信息;
USB-HID驱动生成单元,用于生成连接至所述安卓系统的所述USB-HID设备的驱动程序。
其中,设备信息读写单元用于:
监测是否有USB-HID设备连接到所述安卓系统;
当监测到有USB-HID设备连接到所述安卓系统时,读取所述安卓系统内的SYS文件,从所述SYS文件中提取所述USB-HID设备的厂商ID信息,并将所述USB-HID设备的厂商ID信息写入非易失随机访问存储器中。
其中,USB-HID驱动生成单元用于:
将所述USB-HID设备的厂商ID信息添加到所述USB-HID驱动生成程序中,并调用所述USB-HID驱动框架,形成设备驱动。
USB-HID驱动生成单元还用于:
将所述非易失随机访问存储器中存储的所述USB-HID设备的厂商ID信息添加到所述安卓系统中所支持的USB-HID设备列表中。
以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。
Claims (8)
1.一种安卓系统USB-HID设备自适应方法,包含USB-HID驱动框架,其特征在于,所述方法包括:
S1:当USB-HID设备连接至安卓系统中时进入设备信息读写程序;
S2:判断所述USB-HID设备的驱动程序是否存在;当所述安卓系统监测所述USB-HID设备的驱动程序存在时,进入S5;当所述安卓系统监测所述USB-HID设备的驱动程序不存在时,进入
S3;
S3:重新启动所述安卓系统;
S4:进入USB-HID驱动生成程序;
S5:加载所述USB-HID设备的驱动程序。
2.根据权利要求1所述安卓系统USB-HID设备自适应方法,其特征在于,所述设备信息读写程序包括:
监测是否有USB-HID设备连接到所述安卓系统;
当监测到有USB-HID设备连接到所述安卓系统时,读取所述安卓系统内的SYS文件,从所述SYS文件中提取所述USB-HID设备的厂商ID信息,并将所述USB-HID设备的厂商ID信息写入非易失随机访问存储器中。
3.根据权利要求1和权利要求2所述安卓系统USB-HID设备自适应方法,其特征在于,所述USB-HID驱动生成程序包括:将所述USB-HID设备的厂商ID信息添加到所述USB-HID驱动生成程序中,并调用所述USB-HID驱动框架,形成设备驱动。
4.根据权利要求1和权利要求2所述安卓系统USB-HID设备自适应方法,其特征在于,所述USB-HID驱动生成程序还包括:将所述非易失随机访问存储器中存储的所述USB-HID设备的厂商ID信息添加到所述安卓系统中所支持的USB-HID设备列表中。
5.一种安卓系统USB-HID设备自适应装置,应用于安卓系统,包括USB-HID驱动框架,其特征在于,包括:
设备信息读写单元,用于读取连接至所述安卓系统的USB-HID设备的厂商ID信息;
USB-HID驱动生成单元,用于生成连接至所述安卓系统的所述USB-HID设备的驱动程序。
6.根据权利要求5所述安卓系统USB-HID设备自适应装置,其特征在于,所述设备信息读写单元用于:
监测是否有USB-HID设备连接到所述安卓系统;
当监测到有USB-HID设备连接到所述安卓系统时,读取所述安卓系统内的SYS文件,从所述SYS文件中提取所述USB-HID设备的厂商ID信息,并将所述USB-HID设备的厂商ID信息写入非易失随机访问存储器中。
7.根据权利要求5所述安卓系统USB-HID设备自适应装置,其特征在于,所述USB-HID驱动生成单元用于:
将所述USB-HID设备的厂商ID信息添加到所述USB-HID驱动生成程序中,并调用所述USB-HID驱动框架,形成设备驱动。
8.根据权利要求5所述安卓系统USB-HID设备自适应装置,其特征在于,所述USB-HID驱动生成单元用于:
将所述非易失随机访问存储器中存储的所述USB-HID设备的厂商ID信息添加到所述安卓系统中所支持的USB-HID设备列表中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810086303.8A CN108280034A (zh) | 2018-01-30 | 2018-01-30 | 一种安卓系统usb-hid设备自适应方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810086303.8A CN108280034A (zh) | 2018-01-30 | 2018-01-30 | 一种安卓系统usb-hid设备自适应方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108280034A true CN108280034A (zh) | 2018-07-13 |
Family
ID=62805644
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810086303.8A Pending CN108280034A (zh) | 2018-01-30 | 2018-01-30 | 一种安卓系统usb-hid设备自适应方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108280034A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112000374A (zh) * | 2020-07-13 | 2020-11-27 | 深圳市智微智能软件开发有限公司 | 应用于安卓系统的usb触摸屏更换方法、装置、设备及介质 |
CN117573214A (zh) * | 2024-01-17 | 2024-02-20 | 深圳前海深蕾半导体有限公司 | 一种串口设备和Android系统框架融合的方法及装置 |
Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101539862A (zh) * | 2008-03-20 | 2009-09-23 | 松翰科技股份有限公司 | 固件更新方法以及固件架构 |
CN101833466A (zh) * | 2010-05-14 | 2010-09-15 | 华为终端有限公司 | 终端设备及其驱动程序的安装方法 |
KR20100113653A (ko) * | 2009-04-14 | 2010-10-22 | 엘피엠테크놀로지 주식회사 | 컴퓨터와 주변 장치의 절전 기능을 제어하기 위한 장치 및 방법 |
CN102081541A (zh) * | 2011-01-21 | 2011-06-01 | 青岛海信移动通信技术股份有限公司 | 一种usb设备驱动安装方法及装置 |
CN102222053A (zh) * | 2011-06-20 | 2011-10-19 | 迈奔灵动科技(北京)有限公司 | 一种驱动识别方法及系统 |
CN102393848A (zh) * | 2011-07-08 | 2012-03-28 | 中兴通讯股份有限公司 | 获取数据终端设备识别信息的方法和系统 |
CN102426558A (zh) * | 2011-11-11 | 2012-04-25 | 青岛海信移动通信技术股份有限公司 | 终端通过usb与计算机通信的方法、终端和计算机 |
US20120297341A1 (en) * | 2010-02-16 | 2012-11-22 | Screenovate Technologies Ltd. | Modified Operating Systems Allowing Mobile Devices To Accommodate IO Devices More Convenient Than Their Own Inherent IO Devices And Methods For Generating Such Systems |
CN102890587A (zh) * | 2012-10-24 | 2013-01-23 | 中山佳时光电科技有限公司 | 一种跨操作系统平台、免安装驱动的电子白板控制装置 |
CN103902480A (zh) * | 2013-05-03 | 2014-07-02 | 哈尔滨安天科技股份有限公司 | 一种安卓手机驱动方法及系统 |
CN104077255A (zh) * | 2013-12-29 | 2014-10-01 | 国家电网公司 | 终端通过usb与计算机通信的方法 |
CN104077252A (zh) * | 2013-03-29 | 2014-10-01 | 联想(北京)有限公司 | Usb设备通信方法、装置及电子设备 |
US20150242355A1 (en) * | 2014-02-26 | 2015-08-27 | American Megatrends, Inc. | Backplane controller capable of transferring and receiving data through usb interface |
CN105095118A (zh) * | 2014-05-19 | 2015-11-25 | 小米科技有限责任公司 | 设备的使用方法及装置 |
CN106547705A (zh) * | 2016-10-25 | 2017-03-29 | 北京小米移动软件有限公司 | 通用串行总线工作模式控制方法及装置 |
CN106933754A (zh) * | 2017-03-03 | 2017-07-07 | 上海传英信息技术有限公司 | 一种usb驱动识别方法及装置 |
US20170289313A1 (en) * | 2016-03-31 | 2017-10-05 | Dell Products L.P. | Combining redirected usb interfaces into a single composite device |
CN107423091A (zh) * | 2017-06-30 | 2017-12-01 | 百度在线网络技术(北京)有限公司 | 用于车载设备的usb驱动程序加载方法及其装置 |
-
2018
- 2018-01-30 CN CN201810086303.8A patent/CN108280034A/zh active Pending
Patent Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101539862A (zh) * | 2008-03-20 | 2009-09-23 | 松翰科技股份有限公司 | 固件更新方法以及固件架构 |
KR20100113653A (ko) * | 2009-04-14 | 2010-10-22 | 엘피엠테크놀로지 주식회사 | 컴퓨터와 주변 장치의 절전 기능을 제어하기 위한 장치 및 방법 |
US20120297341A1 (en) * | 2010-02-16 | 2012-11-22 | Screenovate Technologies Ltd. | Modified Operating Systems Allowing Mobile Devices To Accommodate IO Devices More Convenient Than Their Own Inherent IO Devices And Methods For Generating Such Systems |
CN101833466A (zh) * | 2010-05-14 | 2010-09-15 | 华为终端有限公司 | 终端设备及其驱动程序的安装方法 |
CN102081541A (zh) * | 2011-01-21 | 2011-06-01 | 青岛海信移动通信技术股份有限公司 | 一种usb设备驱动安装方法及装置 |
CN102222053A (zh) * | 2011-06-20 | 2011-10-19 | 迈奔灵动科技(北京)有限公司 | 一种驱动识别方法及系统 |
CN102393848A (zh) * | 2011-07-08 | 2012-03-28 | 中兴通讯股份有限公司 | 获取数据终端设备识别信息的方法和系统 |
CN102426558A (zh) * | 2011-11-11 | 2012-04-25 | 青岛海信移动通信技术股份有限公司 | 终端通过usb与计算机通信的方法、终端和计算机 |
CN102890587A (zh) * | 2012-10-24 | 2013-01-23 | 中山佳时光电科技有限公司 | 一种跨操作系统平台、免安装驱动的电子白板控制装置 |
CN104077252A (zh) * | 2013-03-29 | 2014-10-01 | 联想(北京)有限公司 | Usb设备通信方法、装置及电子设备 |
CN103902480A (zh) * | 2013-05-03 | 2014-07-02 | 哈尔滨安天科技股份有限公司 | 一种安卓手机驱动方法及系统 |
CN104077255A (zh) * | 2013-12-29 | 2014-10-01 | 国家电网公司 | 终端通过usb与计算机通信的方法 |
US20150242355A1 (en) * | 2014-02-26 | 2015-08-27 | American Megatrends, Inc. | Backplane controller capable of transferring and receiving data through usb interface |
CN105095118A (zh) * | 2014-05-19 | 2015-11-25 | 小米科技有限责任公司 | 设备的使用方法及装置 |
US20170289313A1 (en) * | 2016-03-31 | 2017-10-05 | Dell Products L.P. | Combining redirected usb interfaces into a single composite device |
CN106547705A (zh) * | 2016-10-25 | 2017-03-29 | 北京小米移动软件有限公司 | 通用串行总线工作模式控制方法及装置 |
CN106933754A (zh) * | 2017-03-03 | 2017-07-07 | 上海传英信息技术有限公司 | 一种usb驱动识别方法及装置 |
CN107423091A (zh) * | 2017-06-30 | 2017-12-01 | 百度在线网络技术(北京)有限公司 | 用于车载设备的usb驱动程序加载方法及其装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112000374A (zh) * | 2020-07-13 | 2020-11-27 | 深圳市智微智能软件开发有限公司 | 应用于安卓系统的usb触摸屏更换方法、装置、设备及介质 |
CN112000374B (zh) * | 2020-07-13 | 2024-01-02 | 深圳市智微智能软件开发有限公司 | 应用于安卓系统的usb触摸屏更换方法、装置、设备及介质 |
CN117573214A (zh) * | 2024-01-17 | 2024-02-20 | 深圳前海深蕾半导体有限公司 | 一种串口设备和Android系统框架融合的方法及装置 |
CN117573214B (zh) * | 2024-01-17 | 2024-04-19 | 深圳前海深蕾半导体有限公司 | 一种串口设备和Android系统框架融合的方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106293979B (zh) | 检测进程无响应的方法和装置 | |
US8001368B2 (en) | Hot-pluggable information processing device and setting method | |
CN107122321B (zh) | 硬件修复方法、硬件修复系统以及计算机可读取存储装置 | |
US20040015941A1 (en) | Information-processing apparatus equipped with nonvolatile memory device and firmware-updating method for use in the apparatus | |
CN102779050B (zh) | 提供加速的引导性能的系统和方法 | |
JP4688821B2 (ja) | システム構成の遠隔修正のための方法および装置 | |
CN102314388B (zh) | 支持智能型平台管理接口的服务器的测试方法 | |
US9424022B2 (en) | Method for updating firmware of an electronic device within a computer | |
US20080229159A1 (en) | Failsafe computer support assistant | |
CN105917306B (zh) | 用于配置系统固件配置数据的系统和方法 | |
CN104185836A (zh) | 用于在系统改变之后验证计算设备的适当操作的方法和系统 | |
US7356684B2 (en) | Booting system and/or method for initializing peripherals | |
JP2008287505A (ja) | 情報処理装置およびレガシーエミュレーション処理停止制御方法 | |
TW201525869A (zh) | 用於雙作業系統記憶體切換的系統及方法 | |
US11314665B2 (en) | Information processing system, information processing device, BIOS updating method for information processing device, and BIOS updating program for information processing device | |
CN109426527B (zh) | 在uefi固件及作业系统间分享蓝牙数据的电脑系统及其方法 | |
US20020170951A1 (en) | PCI bar target operation region | |
CN108280034A (zh) | 一种安卓系统usb-hid设备自适应方法及装置 | |
CN113672263B (zh) | 固件参数更新控制方法、装置及电子设备 | |
CN103294578B (zh) | 取得触发功能的指令的方法 | |
TWI605332B (zh) | 使用唯cpu重設的支援先進組態與電力介面(acpi)休眠狀態的方法及裝置 | |
JP6192089B2 (ja) | 情報処理装置、情報処理装置の制御方法及び制御プログラム | |
WO2008048581A1 (en) | A processing device operation initialization system | |
US9600423B2 (en) | Periodic access of a hardware resource | |
CN103473081A (zh) | 终端进行系统升级后生效的方法及该终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180713 |