CN102841798B - 一种提高软件驱动兼容性的方法 - Google Patents
一种提高软件驱动兼容性的方法 Download PDFInfo
- Publication number
- CN102841798B CN102841798B CN201210091230.4A CN201210091230A CN102841798B CN 102841798 B CN102841798 B CN 102841798B CN 201210091230 A CN201210091230 A CN 201210091230A CN 102841798 B CN102841798 B CN 102841798B
- Authority
- CN
- China
- Prior art keywords
- iic
- equipment
- driver
- software
- address
- 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.)
- Active
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种提高软件驱动兼容性的方法,包括以下步骤:(1)微处理控制器CPU通过IIC总线检测IIC设备是否正常连接;(2)若是则进行下一步,若否继续检测IIC设备;(3)微处理控制器CPU检测IIC设备连接正常时,通过IIC总线获取IIC设备地址用于确定IIC设备提供的供应商;(4)通过获取IIC设备地址调用相应设备的驱动程序,驱动IIC设备;本发明的优点是通过IIC协议读取IIC设备的器件地址,以区分不同的IIC设备来加载不同的IIC设备驱动程序,实现了同一软件对不同IIC设备的驱动的兼容,实现了IIC设备的智能兼容,减少了所需的软件版本,降低了软件的测试以及维护成本,提高了系统的工作效率。
Description
技术领域
本发明涉及一种提高软件驱动兼容性的方法。
背景技术
目前,随着移动终端的功能越来越丰富,其外围设备也越来越多,很多外围设备都是IIC设备(IIC Inter-Integrated Circuit),IIC总线是由串行数据线(SDA Serial data)和串行时钟线(SCL Serial clock)构成的串行总线。它以两根连线实现了完善的双向同步数据传送,可以方便地构成多机系统和外围设备扩展系统。每个IIC器件都有一个唯一的地址识别。在IIC总线使用过程中,无论是读操作还是写操作都必须先传输设备地址,并得到设备的响应后才能继续操作。IIC设备通常包括:环境光传感器、重力传感器、磁传感器(电子罗盘)、角速度传感器、电容触摸屏等。由于传感器传输数据量小,对传输速率要求不高,为了降低单一供应商供货的风险,每类外围设备都可能选择两家或两家以上的设备供应商,因此,提高软件驱动兼容性是一个急待解决的技术问题。
公开号CN102279796A的专利涉及一种软件兼容性测试的方法和设备,将部署为测试环境的各应用软件按照其不同的运行态进行分类,以便于在进行软件兼容性测试时,对所述应用软件按照其所在类别的运行态进行运行,从而使得各应用软件在运行时可以真实地表现出对其他软件的影响以及所受到的来自其他软件的影响,也就是说能够真实地反映各应用软件在实际环境下的运行态特质,使得测试环境能真实地仿真实际环境,提高了软件兼容性测试结果的准确性。
公开号CN1776552的专利涉及一种在过程处理系统中用于识别设备软件和相应设备驱动程序之间功能不一致的方法,其中在设备控制装置(GC)和设备(G)之间,通过所述设备控制装置(GC)和设备(G)之间的接口(CI,GI)传输设备驱动程序版本信息(TR-ID)和/或设备软件版本信息(SW-ID),将所述设备驱动程序版本信息(TR-ID)和设备软件版本信息(SW-ID)在其功能一致的兼容性方面相互比较,并且在不存在兼容性的情况下进行更新和/或发出告警。
公开号CN1577252的专利涉及一种内嵌自身驱动程序的新型计算机设备,一种能自动安装设备驱动程序的计算机及实现方法。本发明通过在计算机设备中内嵌存储自身驱动程序的存储器,并修改该计算机设备的标识信息,在计算机中用一个软件来完成检测计算机设备、复制所需驱动程序、控制驱动程序的安装,最后删除所复制到缓冲区的驱动程序,从而完成自动安装驱动程序的过程。本发明可使计算机更智能化,提高了计算机维护的效率,降低了维护成本,计算机设备更方便在不同的主机间换用,在工业控制计算机、服务器、军用计算几方面使用优点显著,也适用于其它各种计算机。
以上的专利仅涉及软件兼容性测试、识别、比较、自动安装软件驱动程序,它们均不具备提高软件驱动兼容性的功能。
发明内容
本发明的目的在于提供一种能够克服上述技术问题的,其利用IIC协议读取IIC设备的地址,以区分不同的IIC设备来加载不同的IIC设备驱动程序,实现了同一软件对不同IIC设备的驱动的兼容。
本发明包括以下步骤:
(1)微处理控制器CPU通过IIC总线检测IIC设备是否正常连接;
(2)若是则进行下一步,若否继续检测IIC设备;
(3)微处理控制器CPU检测IIC设备连接正常时,通过IIC总线获取IIC设备地址用于确定IIC设备提供的供应商;
(4)通过获取IIC设备地址调用相应设备的驱动程序,驱动IIC设备。
本发明的优点是通过IIC协议读取IIC设备的器件地址,以区分不同的IIC设备来加载不同的IIC设备驱动程序,实现了同一软件对不同IIC设备的驱动的兼容,实现了IIC设备的智能兼容,减少了所需的软件版本,降低了软件的测试以及维护成本,提高了系统的工作效率。
附图说明
图1是本发明的IIC设备系统框图;
图2是本发明的IIC设备驱动与微处理控制器CPU工作原理图;
图3是本发明的IIC设备与驱动匹配关系图;
图4是本发明所述一种提高软件驱动兼容性的方法的流程示意图。
具体实施方式
下面结合附图和实施例对本发明进行详细描述。本发明包括以下步骤:
(1)微处理控制器CPU通过IIC总线检测IIC设备是否正常连接;
(2)若是则进行下一步,若否继续检测IIC设备;
(3)微处理控制器CPU检测IIC设备连接正常时,通过IIC总线获取IIC设备地址用于确定IIC设备提供的供应商;
(4)通过获取IIC设备地址调用相应设备的驱动程序,驱动IIC设备。
如图1所示,IIC总线一侧连接有若干IIC设备,且每一类IIC设备可能有两家或两家以上的供应商;IIC总线另一侧连接有微处理控制器CPU,微处理控制器CPU完全支持IIC总线规范,其内核框架提供了统一的IIC接口。所述IIC总线被作为一个标准总线加进内核,所有的IIC设备都被挂到IIC总线上,通过IIC内核进行管理,设备驱动通过调用IIC内核中的注册函数将IIC驱动注册到IIC总线上;每一个外围物理设备等都有一个专门用于控制该设备的设备驱动程序。设备驱动可以完成初始化、释放以及检测硬件设备、差错和故障处理,以及负责内核与硬件、应用程序与硬件之间的数据传输与通信的一些重要工作。由于属于不同供应商的IIC设备,因此同类的IIC设备可能需要不同的设备驱动程序。为了实现IIC设备的智能兼容,通过读取IIC设备的器件地址然后加载相应的设备驱动程序。IIC设备驱动与微处理控制器CPU工作原理图如图2所示。
IIC设备的器件地址如表1所示:常用IIC接口通用器件的器件地址是由种类型号、寻址码以及读写标志R/W位组成的。格式如下:D7 D6 D5 D4 D3 D2 D1 D0。
Byte 7~4 | 器件类型,半导体公司固化信息 |
Byte 3~1 | 地址码,用户自定地址码 |
Byte 0 | R/W,即读地址和写地址 |
表1
(a)器件类型:D7-D4共4位,半导体公司生产时就已固定此类型,也就是说这4位已是固定的;
(b)用户自定义地址码D3-D1共3位。这是由用户自己设置的,通常的作法如EEPROM这些器件是由外部IC的3个引脚所组合电平决定的(常用的名字如A0,A1,A2),这也就是寻址码;
(c)最低一位就是R/W位,“0”表示写,“1”表示读。所以IIC设备通常有两个地址,即读地址和写地址。
对于一个驱动程序有两个元素必不可缺,即设备和驱动,可以通过设备名(即IIC设备的器件地址)和驱动名的匹配建立关系,即建立IIC设备与驱动名的关联,如图3所示,通过唯一设备名去匹配相应的驱动程序这便解决了驱动与设备的匹配问题。
如图4所示的本发明的流程示意图,当IIC协议读取IIC设备地址异常时,再重复读几次(譬如3次);如果连续读取失败,则认为设备异常并提示错误信息;避免IIC设备地址读取错误后进入死循环。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明公开的范围内,能够轻易想到的变化或替换,都应涵盖在本发明权利要求的保护范围内。
Claims (1)
1.一种提高软件驱动兼容性的方法,其特征在于,包括以下步骤:
(1)微处理控制器CPU通过IIC总线检测IIC设备是否正常连接;
(2)若是则进行下一步,若否继续检测IIC设备;
(3)微处理控制器CPU检测IIC设备连接正常时,通过IIC总线获取IIC设备地址并确定IIC设备提供的供应商;
(4)通过获取IIC设备地址调用相应设备的驱动程序,驱动IIC设备;通过IIC协议读取IIC设备地址;
(5)针对不同的IIC设备来加载不同的IIC设备驱动程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210091230.4A CN102841798B (zh) | 2012-03-30 | 2012-03-30 | 一种提高软件驱动兼容性的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210091230.4A CN102841798B (zh) | 2012-03-30 | 2012-03-30 | 一种提高软件驱动兼容性的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102841798A CN102841798A (zh) | 2012-12-26 |
CN102841798B true CN102841798B (zh) | 2016-08-24 |
Family
ID=47369200
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210091230.4A Active CN102841798B (zh) | 2012-03-30 | 2012-03-30 | 一种提高软件驱动兼容性的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102841798B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106970891B (zh) * | 2017-03-17 | 2021-04-30 | 阿里云计算有限公司 | 一种微处理器与外设交互的方法、装置及系统 |
CN108804148B (zh) * | 2018-05-31 | 2021-07-23 | 杭州宏杉科技股份有限公司 | 一种建立设备与驱动的绑定关系的方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101382894A (zh) * | 2007-09-05 | 2009-03-11 | 北京软通科技有限责任公司 | 下载计算机硬件设备驱动程序的方法、系统、计算机及服务器 |
CN101533648A (zh) * | 2009-04-23 | 2009-09-16 | 广州番禺巨大汽车音响设备有限公司 | 一种实现即插即用的数字家庭网络硬盘系统及方法 |
CN101675419A (zh) * | 2007-05-07 | 2010-03-17 | 索尼爱立信移动通讯有限公司 | 自动提供usb兼容外设的备选usb配置以呈现给主机计算机的方法、设备以及计算机程序产品 |
CN101931770A (zh) * | 2010-02-26 | 2010-12-29 | 四川长虹电器股份有限公司 | 软件兼容多种调谐器的方法 |
CN102129373A (zh) * | 2011-03-09 | 2011-07-20 | 湖南超视物联智能网络科技有限公司 | 一种基于物联网终端设备驱动程序软件设计框架的方法 |
-
2012
- 2012-03-30 CN CN201210091230.4A patent/CN102841798B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101675419A (zh) * | 2007-05-07 | 2010-03-17 | 索尼爱立信移动通讯有限公司 | 自动提供usb兼容外设的备选usb配置以呈现给主机计算机的方法、设备以及计算机程序产品 |
CN101382894A (zh) * | 2007-09-05 | 2009-03-11 | 北京软通科技有限责任公司 | 下载计算机硬件设备驱动程序的方法、系统、计算机及服务器 |
CN101533648A (zh) * | 2009-04-23 | 2009-09-16 | 广州番禺巨大汽车音响设备有限公司 | 一种实现即插即用的数字家庭网络硬盘系统及方法 |
CN101931770A (zh) * | 2010-02-26 | 2010-12-29 | 四川长虹电器股份有限公司 | 软件兼容多种调谐器的方法 |
CN102129373A (zh) * | 2011-03-09 | 2011-07-20 | 湖南超视物联智能网络科技有限公司 | 一种基于物联网终端设备驱动程序软件设计框架的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102841798A (zh) | 2012-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100412804C (zh) | 主板故障诊断卡错误代码的识别方法及系统 | |
CN106648958A (zh) | 基本输入输出系统回复管理系统及其方法以及程序产品 | |
CN100538567C (zh) | 可编程控制器 | |
US20170221037A1 (en) | Service data record system, data record method and electronic equipment using the same | |
CN1908902A (zh) | 沟通多个周边接口与多个周边控制器的管理系统与方法 | |
MX2012014356A (es) | Sistemas y metodos para gestion y supervision inteligente y flexible de sistemas informaticos. | |
US20210256229A1 (en) | Smart driver | |
CN113832663B (zh) | 控制芯片故障记录方法、装置以及控制芯片故障读取方法 | |
CN103995760A (zh) | 一种电脑故障检测设备和检测维修方法 | |
CN102253881A (zh) | 服务器工作状态检测系统 | |
US9690602B2 (en) | Techniques for programming and verifying backplane controller chip firmware | |
CN105677344A (zh) | 复杂可编程逻辑器件的固件的更新系统及其更新方法 | |
CN106055361A (zh) | 基于bmc的多种不同机型的集成式固件实现方法及系统 | |
US9886335B2 (en) | Techniques for validating functionality of backplane controller chips | |
CN102253845B (zh) | 服务器系统 | |
CN102841798B (zh) | 一种提高软件驱动兼容性的方法 | |
US7103789B2 (en) | Method, system, and product for indicating power status of field replaceable units | |
KR102108721B1 (ko) | Pci-e 인터페이스를 이용한 컴퓨터 장애진단 시스템 | |
US20140038523A1 (en) | Hierarchical navigation and remediation in datacenters | |
CN109656769A (zh) | 一种Android通讯终端硬件测试方法、测试工艺以及整机测试流程 | |
CN102681928A (zh) | 计算机系统的异常信息输出系统 | |
CN104750551A (zh) | 一种计算机系统及其自定义响应方法 | |
CN104090833A (zh) | 服务器及其讯号解析装置 | |
CN101452417B (zh) | 监控方法及其监控装置 | |
CN102073570A (zh) | 服务器系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20160510 Address after: 283 No. 523000 Guangdong province Dongguan city Changan town usha BBK Avenue Applicant after: VIVO MOBILE COMMUNICATION CO., LTD. Address before: 126 No. 523860 Guangdong province Dongguan city Changan town usha BBK Avenue Applicant before: Guangdong Bubugao Electronic Industry Co., Ltd. |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |