CN114490479A - 一种基于安卓系统的i2c设备兼容方法、装置、设备及介质 - Google Patents
一种基于安卓系统的i2c设备兼容方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN114490479A CN114490479A CN202210146021.9A CN202210146021A CN114490479A CN 114490479 A CN114490479 A CN 114490479A CN 202210146021 A CN202210146021 A CN 202210146021A CN 114490479 A CN114490479 A CN 114490479A
- Authority
- CN
- China
- Prior art keywords
- external chip
- android system
- external
- address
- 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
- 238000000034 method Methods 0.000 title claims abstract description 37
- 238000001514 detection method Methods 0.000 claims abstract description 7
- 238000004590 computer program Methods 0.000 claims description 14
- 239000000523 sample Substances 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 239000000463 material Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Images
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/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- 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/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及一种基于安卓系统的I2C设备兼容方法、装置、设备及介质,应用于安卓系统,兼容方法包括:安卓系统开机后,uboot系统中的I2C驱动获取外置芯片的I2C地址;cpu在uboot阶段将原始的dts配置的I2C地址发送到I2C总线,根据I2C地址进行I2C检测;uboot I2C驱动将逐个对外置芯片进行枚举操作并发送I2C信号,并且在每一个外置芯片的I2C驱动中添加对I2C信号发出后外置芯片是否有回复的判断条件A;在安卓系统内核驱动中的rockchip_hdmi_analog.c中添加判断条件B,用于选择任一外置芯片并驱动其工作;uboot阶段结束后,cpu读取修改后的dts配置,并加载对应的I2C驱动;此方法将极大的兼容了I2C设备,在频繁更换I2C设备时,为软件研发节约了时间,为产品适应市场做了很大的方便。
Description
技术领域
本发明涉及I2C设备技术领域,更具体地说,涉及一种基于安卓系统的 I2C设备兼容方法、装置、设备及介质。
背景技术
在当今世界受到疫情的影响,从而导致大规模的芯片缺货,各大厂家纷纷寻找替代物料进行替换,从而导致一个外围IC芯片会有多个型号进行兼容设计,从而保证了由于芯片缺货而导致的无法生产的问题。
例如一款中国台湾地区设计的音频IC由于产量问题,导致缺货和大规模涨价,从而后续产品不得不重新选取其他品牌进行替换,然而软件必须保证之前的产品和现在更换后的新产品功能的完整性,这就非常有必要做软件的兼容性,兼容各个外置芯片的IC,用一套软件解决所有新产品驱动的问题。
发明内容
本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种基于安卓系统的I2C设备兼容方法、装置、设备及介质。
本发明解决其技术问题所采用的技术方案是:一种基于安卓系统的I2C 设备兼容方法,应用于安卓系统,所述兼容方法包括:
S10:安卓系统开机后,uboot系统中的I2C驱动从dts文件中获取外置芯片的I2C地址;
S20:cpu在uboot阶段将原始的dts配置的I2C地址发送到I2C总线;根据I2C地址进行I2C检测;
S30:uboot I2C驱动将逐个对外置芯片进行枚举操作并发送I2C信号,并且在每一个外置芯片的I2C驱动中添加对I2C信号发出后所述外置芯片是否有回复的判断条件A;
S40:在所述安卓系统内核驱动中的rockchip_hdmi_analog.c中添加判断条件B,用于选择任一所述外置芯片并驱动其工作。
S50:所述uboot阶段结束后,所述cpu读取修改后的dts配置,并加载对应的所述I2C驱动;
本发明所述的基于安卓系统的I2C设备兼容方法,所述S10步骤之前还包括以下步骤:
S00:将需要兼容的外置芯片的I2C地址写入所述dts文件中;
本发明所述的基于安卓系统的I2C设备兼容方法,所述S30步骤中,若所述外置芯片没有回复,则判断为失败,并将所述dts中该外置芯片的状态修改为disable;
本发明所述的基于安卓系统的I2C设备兼容方法,所述判断条件A添加于所述外置芯片的probe代码中;
本发明所述的基于安卓系统的I2C设备兼容方法,所述判断条件A包括如下代码:
本发明所述的基于安卓系统的I2C设备兼容方法,其中,所述判断条件B 包括如下代码:
本发明所述的基于安卓系统的I2C设备兼容方法,其中,所述外置芯片设置有多个;
本发明还公开了一种基于安卓系统的I2C设备兼容的装置,所述装置包括:
获取模块,用于从dts文件中获取多个外置芯片的I2C地址,并向I2C总线发送所述I2C地址;
确定模块,用于根据所述I2C地址回传的回复信号确定所述外置芯片的使用状态;
驱动模块,用于加载并驱动所述外置芯片工作;
本发明还公开了一种设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述方法的步骤;
本发明还公开了一种可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7 任一项所述方法的步骤。
本发明的有益效果在于:当安卓系统开机后,cpu在uboot阶段将原始的 dts配置的I2C地址发送到I2C总线上,并等待外置芯片的回复,如果没有回复就判定为失败,主板的外置芯片并不是此地址,并后续继续发生第二个地址,并等待回复,依此类推;I2C在线检测完成后根据回复结果对dts进行修改,设置对应的状态,比如成功的设置为OK,失败的设置为disable;设置完成后uboot将退出系统内核将加载修改后的dts配置,这样就能准确的加载驱动,此方法将极大的兼容了I2C设备,在频繁更换I2C设备时,为软件研发节约了时间,为产品适应市场做了很大的方便。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将结合附图及实施例对本发明作进一步说明,下面描述中的附图仅仅是本发明的部分实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图:
图1是本发明较佳实施例的一种基于安卓系统的I2C设备兼容方法的流程图;
图2是本发明较佳实施例的一种基于安卓系统的I2C设备兼容方法的原理图;
图3是本发明较佳实施例的一种基于安卓系统的I2C设备兼容装置的结构框图;
图4是本发明较佳实施例的一种基于安卓系统的I2C设备兼容设备的结构框图。
具体实施方式
为了使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明的部分实施例,而不是全部实施例。基于本发明的实施例,本领域普通技术人员在没有付出创造性劳动的前提下所获得的所有其他实施例,都属于本发明的保护范围。
实施例一:
本发明较佳实施例的一种基于安卓系统的I2C设备兼容方法,如图1-2 所示,应用于安卓系统,兼容方法包括:
S00:将需要兼容的外置芯片的I2C地址写入dts文件中。
S10:安卓系统开机后,uboot系统中的I2C驱动从dts文件中获取外置芯片的I2C地址;
S20:cpu在uboot阶段将原始的dts配置的I2C地址发送到I2C总线;根据I2C地址进行I2C检测;
S30:uboot I2C驱动将逐个对外置芯片进行枚举操作并发送I2C信号,并且在每一个外置芯片的I2C驱动中添加对I2C信号发出后外置芯片是否有回复的判断条件A;
S40:在安卓系统内核驱动中的rockchip_hdmi_analog.c中添加判断条件 B,用于选择任一外置芯片并驱动其工作;能够准确的加载对应的外置芯片的 I2C驱动。
S50:uboot阶段结束后,cpu读取修改后的dts配置,并加载对应的I2C 驱动。
该外置芯片可以为现有技术中的声卡芯片等,例如,声卡芯片的型号为 EMU10K1,外置芯片可设置有多个不同型号的芯片,兼容性好。
例如,在hdmi_analog_sound:hdmi-analog-sound中rockchip,codec=<&rt5616>,<&hdmi>中加载外置芯片的代码:
并在DTS对I2C总线的配置中把需要兼容的设备都写在下面:
值得说明的是,以上的外置芯片代码可以有多种,本发明的外置芯片代码并不局限于上述一种形式;该芯片的替换或变换用于此方法均属于本发明的保护范围。
具体地,S30步骤中,若外置芯片没有回复,则判断为失败,并将dts中该外置芯片的状态修改为disable,若外置芯片回复,则判断为成功,并将dts 中该外置芯片的状态修改为ok;这样就能够检测出当前硬件正在使用的设备。
具体地,在驱动的修改中,判断条件A添加于外置芯片的probe代码中。判断条件A包括如下代码:
具体地,判断条件B包括如下代码:
通过上述判断条件,使其决定使用哪一个外置芯片。
当安卓系统开机后,cpu在uboot阶段将原始的dts配置的I2C地址发送到I2C总线上,并等待外置芯片的回复,如果没有回复就判定为失败,主板的外置芯片并不是此地址,并后续继续发生第二个地址,并等待回复,依此类推;I2C在线检测完成后根据回复结果对dts进行修改,设置对应的状态,比如成功的设置为OK,失败的设置为disable;设置完成后uboot将退出系统内核将加载修改后的dts配置,这样就能准确的加载驱动,此方法将极大的兼容了I2C设备,在频繁更换I2C设备时,为软件研发节约了时间,为产品适应市场做了很大的方便。
实施例二:
如图3示出了本发明实施例提供的一种基于安卓系统的I2C设备兼容的装置的结构示意图,为了便于说明,仅示出了与本发明实施例相关的部分,其中该装置包括:
获取模块101,用于从dts文件中获取多个外置芯片的I2C地址,并向I2C 总线发送I2C地址;
确定模块102,用于根据I2C地址回传的回复信号确定外置芯片的使用状态;
驱动模块103,用于加载并驱动外置芯片工作。
在本发明实施例中,该基于安卓系统的I2C设备兼容的装置的各模块可由相应的硬件或软件模块实现,各模块可以为独立的软、硬件模块,也可以集成为一个软、硬件模块,在此不用以限制本发明。
实施例三:
如图4示出了本发明实施例提供的一种基于安卓系统的I2C设备兼容的装置的结构示意图,为了便于说明,仅示出了与本发明实施例相关的部分,其中包括:
在本发明实施例中,提供了一种设备,包括存储器201、处理器202以及存储在存储器中并可在处理器上运行的计算机程序203,其中,该计算机程序被处理器执行时实现如上述基于安卓系统的I2C设备兼容方法的步骤;例如图1所示的步骤S10至S50。或者,处理器202执行计算机程序203时实现上述各装置实施例中各单元的功能,例如图3所示模块101至103的功能。
实施例四:
在本发明实施例中,提供了一种可读存储介质,计算机可读存储介质存储有计算机程序,其中,该可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述基于安卓系统的I2C设备兼容方法的步骤;例如图1所示的步骤S10至S50。或者,处理器202执行计算机程序203时实现上述各装置实施例中各单元的功能,例如图3所示模块101至103的功能。
本发明实施例的计算机可读存储介质可以包括能够携带计算机程序代码的任何实体或装置、记录介质,例如,ROM/RAM、磁盘、光盘、闪存等存储器。
应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (10)
1.一种基于安卓系统的I2C设备兼容方法,其特征在于,应用于安卓系统,所述兼容方法包括:
S10:安卓系统开机后,uboot系统中的I2C驱动从dts文件中获取外置芯片的I2C地址;
S20:cpu在uboot阶段将原始的dts配置的I2C地址发送到I2C总线,根据所述I2C地址进行I2C检测;
S30:uboot I2C驱动将逐个对外置芯片进行枚举操作并发送I2C信号,并且在每一个外置芯片的I2C驱动中添加对I2C信号发出后所述外置芯片是否有回复的判断条件A;
S40:在所述安卓系统内核驱动中的rockchip_hdmi_analog.c中添加判断条件B,用于选择任一所述外置芯片并驱动其工作。
S50:所述uboot阶段结束后,所述cpu读取修改后的dts配置,并加载对应的所述I2C驱动。
2.根据权利要求1所述的基于安卓系统的I2C设备兼容方法,其特征在于,所述S10步骤之前还包括以下步骤:
S00:将需要兼容的外置芯片的I2C地址写入所述dts文件中。
3.根据权利要求2所述的基于安卓系统的I2C设备兼容方法,其特征在于,所述S30步骤中,若所述外置芯片没有回复,则判断为失败,并将所述dts中该外置芯片的状态修改为disable。
4.根据权利要求1所述的基于安卓系统的I2C设备兼容方法,其特征在于,所述判断条件A添加于所述外置芯片的probe代码中。
7.根据权利要求1所述的基于安卓系统的I2C设备兼容方法,其特征在于,所述外置芯片设置有多个。
8.一种基于安卓系统的I2C设备兼容的装置,其特征在于,所述装置包括:
获取模块,用于从dts文件中获取多个外置芯片的I2C地址,并向I2C总线发送所述I2C地址;
确定模块,用于根据所述I2C地址回传的回复信号确定所述外置芯片的使用状态;
驱动模块,用于加载并驱动所述外置芯片工作。
9.一种设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述方法的步骤。
10.一种可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210146021.9A CN114490479A (zh) | 2022-02-17 | 2022-02-17 | 一种基于安卓系统的i2c设备兼容方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210146021.9A CN114490479A (zh) | 2022-02-17 | 2022-02-17 | 一种基于安卓系统的i2c设备兼容方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114490479A true CN114490479A (zh) | 2022-05-13 |
Family
ID=81482505
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210146021.9A Pending CN114490479A (zh) | 2022-02-17 | 2022-02-17 | 一种基于安卓系统的i2c设备兼容方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114490479A (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN203490739U (zh) * | 2013-08-23 | 2014-03-19 | 福建福日实业发展有限公司 | 一款基于安卓操作系统的自助式智能点餐终端 |
CN104598254A (zh) * | 2015-02-17 | 2015-05-06 | 福州瑞芯微电子有限公司 | 一种安卓系统快速开机的方法及装置 |
CN109992556A (zh) * | 2019-04-10 | 2019-07-09 | 苏州浪潮智能科技有限公司 | 一种i2c驱动方法和装置 |
CN110554824A (zh) * | 2018-06-01 | 2019-12-10 | 深圳市鸿合创新信息技术有限责任公司 | 一种多操作系统电子装置 |
US20200225296A1 (en) * | 2018-09-19 | 2020-07-16 | Kunshan Go-Visionox Opto-Electronics Co., Ltd. | Display module test platform |
CN112068896A (zh) * | 2020-08-10 | 2020-12-11 | 珠海全志科技股份有限公司 | Dts修改的方法、装置及计算机可读存储介质 |
CN112328528A (zh) * | 2020-11-19 | 2021-02-05 | 深圳宝新创科技股份有限公司 | 一种基于飞腾处理器的时钟芯片兼容方法、装置和设备 |
CN113099433A (zh) * | 2021-04-14 | 2021-07-09 | 深圳泰科晶显科技有限公司 | 一种基于安卓系统的动态的兼容不同厂商的wifi及蓝牙模块的方法 |
CN113746945A (zh) * | 2020-05-30 | 2021-12-03 | 华为技术有限公司 | 反向地址解析方法及电子设备 |
-
2022
- 2022-02-17 CN CN202210146021.9A patent/CN114490479A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN203490739U (zh) * | 2013-08-23 | 2014-03-19 | 福建福日实业发展有限公司 | 一款基于安卓操作系统的自助式智能点餐终端 |
CN104598254A (zh) * | 2015-02-17 | 2015-05-06 | 福州瑞芯微电子有限公司 | 一种安卓系统快速开机的方法及装置 |
CN110554824A (zh) * | 2018-06-01 | 2019-12-10 | 深圳市鸿合创新信息技术有限责任公司 | 一种多操作系统电子装置 |
US20200225296A1 (en) * | 2018-09-19 | 2020-07-16 | Kunshan Go-Visionox Opto-Electronics Co., Ltd. | Display module test platform |
CN109992556A (zh) * | 2019-04-10 | 2019-07-09 | 苏州浪潮智能科技有限公司 | 一种i2c驱动方法和装置 |
CN113746945A (zh) * | 2020-05-30 | 2021-12-03 | 华为技术有限公司 | 反向地址解析方法及电子设备 |
CN112068896A (zh) * | 2020-08-10 | 2020-12-11 | 珠海全志科技股份有限公司 | Dts修改的方法、装置及计算机可读存储介质 |
CN112328528A (zh) * | 2020-11-19 | 2021-02-05 | 深圳宝新创科技股份有限公司 | 一种基于飞腾处理器的时钟芯片兼容方法、装置和设备 |
CN113099433A (zh) * | 2021-04-14 | 2021-07-09 | 深圳泰科晶显科技有限公司 | 一种基于安卓系统的动态的兼容不同厂商的wifi及蓝牙模块的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8578190B2 (en) | Information processor configured to charge external devices | |
CN111124713A (zh) | 设备系统函数调用方法、装置、终端设备和存储介质 | |
US20030223486A1 (en) | Method for detecting data transmission rate of USB controller by using USB device | |
CN114660436A (zh) | 一种芯片测试设备及芯片测试方法 | |
US20070294055A1 (en) | Debug device for detecting bus transmission and method thereof | |
US20080133961A1 (en) | Debug card | |
US20070294430A1 (en) | Generating a device address persistent across different instantiations of an electronic device | |
CN114490479A (zh) | 一种基于安卓系统的i2c设备兼容方法、装置、设备及介质 | |
JP4130811B2 (ja) | 試験装置及び試験方法 | |
CN116431218B (zh) | 一种可兼容的芯片存储器控制方法、系统和控制器 | |
CN112667442A (zh) | 基于非易失内存器件启动系统的控制方法、装置及设备 | |
CN110955566B (zh) | 侦错方法 | |
CN114740825B (zh) | 数据测量标定方法、装置、车用控制器、车辆及介质 | |
CN1427338A (zh) | 系统开机自我检查装置以及方法 | |
CN116048640A (zh) | 一种驱动计算机系统中iic设备正常工作的方法 | |
CN100397351C (zh) | 计算机系统的除错装置及方法 | |
CN114610557A (zh) | 设备驱动单元的测试方法及装置 | |
CN114548328A (zh) | 应用于检测流程的检测治具的管理方法 | |
CN111932862A (zh) | 与下位机的通信方法、上位机、计算机系统和存储介质 | |
JP2008021396A (ja) | コントローラ及びメモリシステム | |
US20080016264A1 (en) | Method and system for handling user-defined interrupt request | |
CN111459564A (zh) | boot阶段初始化兼容的实现方法、系统及计算机设备 | |
CN112597717B (zh) | Ip核验证方法、装置及电子设备 | |
CN115208760B (zh) | 运动检测芯片的配置方法、装置及介质 | |
TWI801412B (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: 20220513 |