CN102841798A - 一种提高软件驱动兼容性的方法 - Google Patents

一种提高软件驱动兼容性的方法 Download PDF

Info

Publication number
CN102841798A
CN102841798A CN2012100912304A CN201210091230A CN102841798A CN 102841798 A CN102841798 A CN 102841798A CN 2012100912304 A CN2012100912304 A CN 2012100912304A CN 201210091230 A CN201210091230 A CN 201210091230A CN 102841798 A CN102841798 A CN 102841798A
Authority
CN
China
Prior art keywords
iic
equipment
iic equipment
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.)
Granted
Application number
CN2012100912304A
Other languages
English (en)
Other versions
CN102841798B (zh
Inventor
廖兴保
张涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Vivo Mobile Communication Co Ltd
Original Assignee
Guangdong Bubugao Electronic Industry Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangdong Bubugao Electronic Industry Co Ltd filed Critical Guangdong Bubugao Electronic Industry Co Ltd
Priority to CN201210091230.4A priority Critical patent/CN102841798B/zh
Publication of CN102841798A publication Critical patent/CN102841798A/zh
Application granted granted Critical
Publication of CN102841798B publication Critical patent/CN102841798B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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设备。
CN201210091230.4A 2012-03-30 2012-03-30 一种提高软件驱动兼容性的方法 Active CN102841798B (zh)

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 true CN102841798A (zh) 2012-12-26
CN102841798B 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)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106970891A (zh) * 2017-03-17 2017-07-21 上海庆科信息技术有限公司 一种微处理器与外设交互的方法、装置及系统
CN108804148A (zh) * 2018-05-31 2018-11-13 杭州宏杉科技股份有限公司 一种建立设备与驱动的绑定关系的方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
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 湖南超视物联智能网络科技有限公司 一种基于物联网终端设备驱动程序软件设计框架的方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
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 湖南超视物联智能网络科技有限公司 一种基于物联网终端设备驱动程序软件设计框架的方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106970891A (zh) * 2017-03-17 2017-07-21 上海庆科信息技术有限公司 一种微处理器与外设交互的方法、装置及系统
CN108804148A (zh) * 2018-05-31 2018-11-13 杭州宏杉科技股份有限公司 一种建立设备与驱动的绑定关系的方法及装置

Also Published As

Publication number Publication date
CN102841798B (zh) 2016-08-24

Similar Documents

Publication Publication Date Title
CN100412804C (zh) 主板故障诊断卡错误代码的识别方法及系统
CN102713843B (zh) 通用串行总线装置枚举方法及通用串行总线装置
MX2012014356A (es) Sistemas y metodos para gestion y supervision inteligente y flexible de sistemas informaticos.
CN1908902A (zh) 沟通多个周边接口与多个周边控制器的管理系统与方法
CN106649021B (zh) PCIe从设备测试装置
CN103838537A (zh) 控制装置和信息处理装置
CN105677344A (zh) 复杂可编程逻辑器件的固件的更新系统及其更新方法
CN102253881A (zh) 服务器工作状态检测系统
CN103399809A (zh) 板卡测试方法及测试装置
CN101599035A (zh) Usb端口测试装置及方法
CN104077203A (zh) 一种可经由usb接口实现计算机硬件诊断的方法及装置
CN102693192B (zh) 网卡自动排序方法、系统以及相应的电子设备
CN111949457A (zh) 服务器故障芯片检测方法及装置
CN103677812A (zh) 一种硬件设备状态自适应的方法及装置
CN101114249A (zh) 主板的i2c总线检测装置及其方法
US20090248384A1 (en) Process control system in an automation installation
US9749189B2 (en) Generating graphical diagram of physical layout of computer platforms
CN102841798A (zh) 一种提高软件驱动兼容性的方法
CN102455965A (zh) 电子装置测试系统及方法
CN104063297A (zh) 一种利用usb接口对计算机硬件进行诊断的方法及装置
CN102147739B (zh) 多主机板服务器系统及其网络驱动方法
CN102681928A (zh) 计算机系统的异常信息输出系统
CN104090833A (zh) 服务器及其讯号解析装置
CN103543682A (zh) 普通io口识别输入状态的方法及装置
CN101105778A (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