CN116560741A - 一种硬件初始化方法、介质及电子设备 - Google Patents
一种硬件初始化方法、介质及电子设备 Download PDFInfo
- Publication number
- CN116560741A CN116560741A CN202310839822.8A CN202310839822A CN116560741A CN 116560741 A CN116560741 A CN 116560741A CN 202310839822 A CN202310839822 A CN 202310839822A CN 116560741 A CN116560741 A CN 116560741A
- Authority
- CN
- China
- Prior art keywords
- board
- identification code
- device identification
- board card
- hardware
- 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
Links
- 238000011423 initialization method Methods 0.000 title claims abstract description 26
- 238000000034 method Methods 0.000 claims abstract description 58
- 230000015654 memory Effects 0.000 claims description 23
- 238000004364 calculation method Methods 0.000 claims description 14
- 238000012545 processing Methods 0.000 claims description 14
- 230000008569 process Effects 0.000 abstract description 33
- 238000012795 verification Methods 0.000 description 17
- 238000004891 communication Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 10
- 238000007726 management method Methods 0.000 description 10
- 238000004519 manufacturing process Methods 0.000 description 10
- 238000010295 mobile communication Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 8
- 230000003287 optical effect Effects 0.000 description 6
- 238000003860 storage Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000005236 sound signal Effects 0.000 description 3
- 229920001621 AMOLED Polymers 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000002096 quantum dot Substances 0.000 description 2
- 238000012356 Product development Methods 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000003416 augmentation Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 208000019622 heart disease Diseases 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4403—Processor initialisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/116—Details of conversion of file system types or formats
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/14—Details of searching files based on file metadata
- G06F16/148—File search processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Library & Information Science (AREA)
- Human Computer Interaction (AREA)
- Telephone Function (AREA)
Abstract
本申请涉及电子技术领域,公开了一种硬件初始化方法、介质及电子设备,能够降低硬件初始化时匹配BoardID过程的耗时。该方法包括:接收到初始化电子设备中各硬件部件的指令;获取电子设备上的第一板卡的第一板卡装置识别码;从与电子设备的板卡装置识别码列表中查找与第一板卡装置识别码匹配的第二板卡装置识别码,板卡装置识别码列表中的板卡装置识别码是按照第一顺序连续排列的;获取与第二板卡装置识别码对应的第一硬件配置文件;基于所述第一硬件配置文件对所述电子设备的各硬件部件进行初始化。
Description
技术领域
本申请涉及电子技术领域,特别涉及一种硬件初始化方法、介质及电子设备。
背景技术
手机、智能手表等电子设备通常由板卡、电池、摄像头以及外壳等硬件部件组成,例如电子设备的硬件部件可以包括如高通778G等型号的片上系统 (system on chip,SoC)。其中,上述板卡可以为电子设备的主板或处理器芯片。通常一个电子设备中部署一个板卡,每个板卡具有一个板卡装置识别码(BoardID),该BoardID为一种各整机厂商为各个板卡定义的唯一标识码。
通常电子设备启动时硬件的初始化依赖于板卡的BoardID。具体地,在手机启动时硬件初始化的过程中,首先获取当前手机中板卡的BoardID;然后遍历该手机的硬件部件对应的设备树块覆盖(dtb overlay,dtbo)镜像中的所有设备树二进制(device treebinary,dtb)(如n个dtb)的镜像,并获取每个dtb的BoardID字段中的BoardID;将包含当前板卡的BoardID的BoardID字段所在的dtb作为与当前手机匹配的dtb,然后采用该dtb初始化当前手机中的硬件部件。其中,手机的硬件部件对应的dtbo镜像包含多个dtb镜像,每个dtb镜像用于指示该手机对应的一种硬件器件信息。并且,每个dtb镜像中具有一个BoardID字段,不同板卡对应不同dtb镜像。
如此,电子设备启动时通常需要遍历dtbo镜像中的多个dtb镜像来读取这些dtb镜像中的BoardID,才能查找到与当前板卡匹配的dtb镜像,导致板卡匹配过程的时间复杂度较高,如遍历全部的n个dtb镜像的时间复杂度为0(n)。其中,时间复杂度O()表示某个算法的耗时/耗空间与数据增长量之间的关系。其中n代表输入数据的量,O(n)为线性阶,表示数据量增大几倍耗时也增大几倍。
发明内容
本申请实施例提供了一种硬件初始化方法、介质及电子设备,能够降低在硬件初始化时匹配BoardID过程的耗时。
第一方面,本申请实施例提供了一种硬件初始化方法,方法包括:接收到初始化电子设备中各硬件部件的指令;获取电子设备上的第一板卡的第一板卡装置识别码(即第一BoardID);从与电子设备的板卡装置识别码列表中查找与第一板卡装置识别码匹配的第二板卡装置识别码(即第二BoardID),板卡装置识别码列表(即BoardID列表)中的板卡装置识别码是按照第一顺序连续排列的;获取与第二板卡装置识别码对应的第一硬件配置文件;基于第一硬件配置文件对电子设备的各硬件部件进行初始化。
其中,第一硬件配置文件中包括电子设备中的各个硬件部件的信息,用于对这些部件进行初始化。第一板卡为当前电子设备中部署的板卡,如处理器芯片。
由于本申请中的板卡装置识别码列表是连续且有序的,那么,本申请匹配第一BoardID时,通常仅需要从该列表中查找一个BoardID就可以查找到与第一BoardID匹配的第二BoardID,因此匹配BoardID的过程时间复杂度为0(1),耗时较短。那么,尤其在针对大量BoardID进行匹配的场景下,极大减少了BoardID匹配过程的耗时。
在一种可能的实现方式中,板卡装置识别码列表包括对应每个板卡装置识别码的序号,序号为板卡装置识别码减去计算基数后的数值;并且从与电子设备对应的板卡装置识别码列表中查找与第一板卡装置识别码匹配的第二板卡装置识别码,包括:将第一板卡装置识别码减去计算基数得到待查询参数;从板卡装置识别码列表确定出与待查询参数相同的序号,其中,确定出的序号所对应的板卡装置识别码为第二板卡装置识别码。
那么,本申请匹配BoardID时仅需要匹配与该BoardID对应的序号,进一步简化了BoardID的匹配流程,可以进一步减少耗时。
在一种可能的实现方式中,板卡装置识别码列表以数组的形式存储,且板卡装置识别码列表中的每个板卡装置识别码对应的序号为下标,下标为用于区分数组中的各个板卡装置识别码的数字编号,以方便快速实现BoardID匹配的过程。
在一种可能的实现方式中,方法还包括:获取电子设备的多个第一设备树源码,每个第一设备树源码对应一个板卡装置识别码;按照板卡装置识别码的第一顺序对多个第一设备树源码进行排列;将排列后的多个第一设备树源码生成第一配置文件;在第一配置文件中插入多个第三板卡装置识别码得到第二配置文件,其中第二配置文件中各个元素包含的板卡装置识别码连续且有序;对第二配置文件中的各个元素进行编译以生成第一列表,其中第三板卡装置识别码所在的元素不包含硬件信息,第一列表中各个元素中的板卡装置识别码构成板卡装置识别码列表,并且与第一硬件配置文件为第一列表中包含第二板卡装置识别码的元素。如此,使得预先排列好的板卡装置识别码列表按照BoardID顺序且有序排列。
在一种可能的实现方式中,第一列表包括设备树块覆盖镜像(即dtbo镜像),第一列表中每个元素为设备树二进制镜像(即dtb镜像)。
在一种可能的实现方式中,上述获取电子设备上的第一板卡的第一板卡装置识别码,包括:根据电子设备对应的通用输入输出口的状态数值和计算基数,计算电子设备上的第一板卡的第一板卡装置识别码;其中,计算基数为与电子设备相关的用于计算板卡装置识别码的参数。例如,计算基数在联发科(MediaTek,MTK)平台上是4000;在高通(Qcom)平台上是8000。
在一种可能的实现方式中,第一顺序为板卡装置识别码的取值从小到大排列的顺序。
在一种可能的实现方式中,上述接收到初始化电子设备中各硬件部件的指令,包括:对应于电子设备上电开机,接收到初始化电子设备中各硬件部件的指令。
在一种可能的实现方式中,板卡装置识别码列表中的多个板卡装置识别码与多个板卡一一对应,且第一板卡为多个板卡中的一个板卡。如此,可以实现快速批量的部署不同板卡的电子设备进行BoardID匹配,以实现快速批量的硬件初始化。
在一种可能的实现方式中,电子设备中的硬件部件至少包括:中央处理器、内存、总线、摄像头。
第二方面,本申请实施例提供了一种可读介质,可读介质上存储有指令,指令在电子设备上执行时使电子设备执行第一方面及其任一种可能的实现方式中的硬件初始化方法。
第三方面,本申请实施例提供了一种电子设备,包括:存储器,用于存储由电子设备的一个或多个处理器执行的指令,以及处理器,是电子设备的处理器之一,用于执行第一方面及其任一种可能的实现方式中的硬件初始化方法。
附图说明
图1根据本申请的一些实施例,示出了一种单品台台下各个产品的各个方案下的BoardID的示意图;
图2根据本申请的一些实施例,示出了硬件初始化方法的流程示意图;
图3根据本申请的一些实施例,示出了编译阶段的BoardID的处理流程;
图4根据本申请的一些实施例,示出了编译阶段的BoardID对应的下标的示意图;
图5根据本申请的一些实施例,示出了硬件初始化方法的编译阶段的流程示意图;
图6根据本申请的一些实施例,示出了硬件初始化方法的运行阶段的流程示意图;
图7根据本申请的一些实施例,示出了一种手机的结构示意图;
图8根据本申请一些实施例,示出了一种片上系统(SoC)的框图。
具体实施方式
本申请的说明性实施例包括但不限于硬件初始化方法、介质和电子设备。
为了解决背景技术中板卡识别过程时间复杂度较高的问题,本申请提供一种硬件初始化方法。该方法先将电子设备对应的多个dtb元素中的BoardID按照顺序排列,再在这些dtb元素中添加缺失的BoardID,得到连续且有序的多个dtb元素,如按照BoardID从小到大依次排序的多个dtb元素,以得到包含这些dtb元素的dtbo镜像,且插入的BoardID所在的dtb元素为空元素,即这些元素不包含任何硬件信息。进而,在电子设备启动时,可以该电子设备中当前板卡的BoardID,再从dtbo镜像中连续且有序的dtb元素中查找与该BoardID匹配的dtb元素。那么,由于dtbo镜像中各个dtb元素中BoardID是连续且有序的,因此可以快速查找到包含当前板卡的BoardID的dtb元素,进而基于该dtb元素对电子设备中的各硬件部件进行初始化。此时,该查找过程的时间复杂度为O(1),无需遍历dtbo镜像中的所有元素,减小了BoardID匹配过程的耗时。
例如,电子设备对应的多个dtb元素包括三个BoardID分别为4204、4203、4201,且这些BoardID是无序的。然后,对这些BoardID按照从小到大排序为4201、4203、4204,显然这些BoardID中缺少4202,即这些BoardID是非连续的。进而,本申请可以向这些BoardID中插入4202,得到连续且有序的BoardID分别为4201、4202、4203、4204。从而,得到按照BoardID连续且有序排序的多个dtb元素,其中插入的BoardID为4202的dtb元素为空元素。
在一些实施例中,本申请可以获取用于编译dtbo镜像的配置文件,该配置文件中的多个dtb元素中的BoardID连续且有序排列的,且该配置文件中的一些dtb元素为包含BoardID但不包含实际硬件信息的空元素。随后,基于该配置文件编译得到dtbo镜像后,可以将该dtbo镜像数组化为dtbo镜像数组,使得该数组中各个dtb元素的下标为对应的BoardID减去厂商相关的计算基数后的数值。那么,在电子设备启动时,可以获取该电子设备中板卡的当前BoardID,再根据将该BoardID减去上述计算基数得到待查询数值。然后,从dtbo镜像数组中查找与待查询数值相等的下标,该下标所在dtb元素中的BoardID与当前BoardID相等,该查找过程的时间复杂度为O(1)。
在一些实施例中,本申请提供的dtbo镜像可以为连续且有序的元素构成的序列,且序列中的每个元素(即dtb元素)对应一个序号,该序号为对应元素中的BoardID减去上述计算基数得到的数值。
时间复杂度,也称为时空复杂度,通常使用O(1),O(n)表示。O(1)是最低的时空复杂度,也就是耗时/耗空间与输入数据大小无关,无论输入数据增大多少倍,耗时/耗空间都不变。
本申请根据查询数值查找出的下标所在的dtb元素就是与当前电子设备中的板卡匹配的dtb元素,用于初始化当前电子设备。
在一些实施例中,本申请中dtbo镜像数组中的各个dtb元素的下标,可以为对应的BoardID。那么,本申请可以获取该电子设备中板卡的当前BoardID,再将该BoardID作为待查询数值,从dtbo镜像数组中查找与待查询数值相等的下标,该下标与当前BoardID相等,以完成板卡识别过程。可以理解,该查询过程的时间复杂度为O(1)。
在一些实施例中,本申请中的硬件初始化方法可以应用于电子设备对应的多个产品在多个产线验证方案下的启动过程。可以理解,以手机为例,一个手机的各硬件部件对应的多个产品可以为同一款手机的不同版本。
在一些实施例中,本申请中电子设备中的各硬件部件可以组成硬件平台,或称为单品台,例如手机的各硬件部件可以组成手机平台。
此外,电子设备的各硬件部件通常支持多种产品,并且单个产品研发阶段会采用多种验证方案进行产线验证。而在不同验证方案下电子设备中通常部署不同的板卡,从而每种验证方案下的板卡的BoardID不同。如图1所示,单品台支持产品A、B和C,并且每种产品的产线验证方案包括V1、V2和V3等,并且这些产品在不同验证方案下板卡的BoardID均不同。当前单品台重复支撑多种产品,且单产品产线验证有时多达数十种,导致BoardID的数量极速扩充,单品台BoardID数量可能多达数百个。
如此,由于本申请的硬件初始化方法在BoardID匹配过程的时空复杂度为0(1),那么在单品台的大量产线验证方案下,对大量BoardID的匹配过程的耗时可以极大缩短。
此外,在使用现有技术中的板卡匹配方案,由于一个板卡的板卡匹配过程的时空复杂度较大,因此在单品台的大量产线验证方案下的板卡匹配过程整体的耗时也将较大。
可以理解,一个板卡中通常设置多个通用输入输出(general purpose inputoutput,GPIO)口。其中,一个板卡的GPIO口的数量x通常与根据厂商在当前手机平台规划的产品数(假设为m)以及每一代产品数研发阶段需要验证的方案数(假设为n)有关,例如x=m*n。
在一些实施例中,BoardID是根据硬件一组GPIO口状态算出来的一个数值,用来代表当前板子(即板卡)信息。
例如,BoardID的计算方式可以采用下述计算公式(1)实现。当然,BoardID的计算方式并不限于公式(1)所示的计算方式。
BoardID=f((V_ID0<<2|V_ID1))<<4|f((V_ID2<<2|V_ID3))+DALPLATFORMINFO_HW_PLATFORM_BASE(1)
其中,公式(1)中的V_IDx表示GPIO x的状态,DALPLATFORMINFO_HW_PLATFORM_BASE表示BoardID计算基数。例如,上述计算基数在联发科(MediaTek,MTK)平台上是0x0FA0,即4000;在高通(Qcom)平台上是0x1F40,即8000。
例如,上述公式(1)中的f((V_ID0<<2|V_ID1))<<4|f((V_ID2<<2|V_ID3))是指将f((V_ID0<<2|V_ID1))左移4位后再与f((V_ID2<<2|V_ID3))进行按位或运算。此外,本申请对于公式(1)中的f((V_ID0<<2|V_ID1))和f((V_ID2<<2|V_ID3))的具体实现不做限定,可以根据实际需求设定。
在一些实施例中,GPIO口具有8种工作状态,其中4种输入状态,4种输出状态。输入状态包括:浮空输入、上拉输入、下拉输入、模拟输入。输出状态包括:推挽输出、开漏输出、复用推挽输出、复用开漏输出。那么,V_IDx所表示的GPIO x的状态的取值可以为8种,例如取值分别为1至8,分别对应于GPIO口的8种工作状态。此外,本申请中V_IDx的取值还可以是上述8种工作状态中的部分状态的取值,此处不做具体限定。
可以理解,适用于本申请的硬件初始化方法的电子设备不限于:手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,AR)设备、虚拟现实(virtualreality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)或智慧屏等电子设备。对于电子设备的具体类型,本申请实施例不作任何限制。相应的,电子设备中的各硬件部件包括但不限于板卡例如处理器芯片、摄像头、内存等。
以下主要以手机为例,介绍手机的硬件的一种产线验证方案下手机启动过程中硬件初始化方法,对本申请提供的硬件初始化方法进行说明。
具体地,本申请实施例提供的硬件初始化方法可以分为编译阶段和运行阶段。编译阶段用于生成用于编译dtbo镜像的配置文件并编译得到dtbo镜像。运行阶段主要用于从数组化的dtbo镜像中查找与当前BoardID匹配的下标所在的dtb镜像。
在一些实施例中,本申请中硬件初始化方法的执行主体,可以为单平台所在的电子设备,或者,或者与单平台对应的电子设备交互的其他电子设备。例如,编译阶段可以由单平台所在的电子设备执行,或由于该电子设备交互的其他电子设备执行并发送将dtbo镜像给前者。运行阶段由单平台所在的电子设备执行。以下实施例,以硬件初始化方法的执行主体为手机为例进行说明。
接下来,图2示出了一种硬件初始化方法的流程示意图,该方法的执行主体可以为手机,该方法可以包括编译阶段和运行阶段,且该方法可以包括如下步骤:
编译阶段:
S201:遍历当前代码仓库中与手机对应的设备树源码的BoardID字段,得到手机对应的所有产品的BoardID。即这些设备树源码为与相应的手机平台对应的设备树源码。
在一些实施例中,本申请可以通过遍历当前代码仓库中所有要打包到版本dtbo镜像中的设备树源码得到各个设备树源码中的BoardID。其中,当前代码仓库中包含当前手机的各硬件部件对应的所有产品的代码。每个设备树源码中包含一个携带BoardID的字段,记为BoardID字段。
其中,设备树源码通常由dts文件以文本方式对设备树(device tree)进行描述,经过一种编译工具(device tree compiler,dtc)将dts文件转换成设备树二进制(devicetree binary,dtb)。即设备树源码可以为dts格式的数据。并且,每个dtb中有一个字段描述BoardID,该字段可以记为BoardID字段。而设备树是一种描述硬件部件的数据结构,以便于操作系统的内核可以管理和使用这些硬件部件,包括中央处理器(central processingunit,CPU),内存,总线和其他一些外设。具体的,在设备树中,可描述的信息包括:CPU的数量和类别,内存基地址和大小,总线和桥,外设连接,中断控制器和中断使用情况,GPIO控制器和GPIO使用情况,时钟(Clock)控制器和Clock使用情况。
在一些实施例中,上述手机对应的所有产品的BoardID,包含这些每个产品在每种产线验证的方案下板卡的BoardID。
S202:按照BoardID从小到大的顺序对与手机的硬件对应的设备树源码进行排序,得到配置文件。其中,该配置文件用于编译dtbo镜像。
在一些实施例中,上述配置文件中每个设备树源码中不仅包括BoardID字段,还包括其他字段,如硬件信息字段、用于表示产品的产品字段,以及用于表示产线验证方案的方案字段等。
参照图1所示,为单品台下各个产品的各个方案下的BoardID的示例,且这些BoardID在存储单元中的顺序是无序的。
在图1示出的场景的基础上,参照图3,示出了编译阶段中单平台下各个产品的各个方案下BoardID的处理流程。如图3所示,本申请在编译阶段可以将单平台下的各个BoardID进行排序,得到包含这些BoardID的非连续有序数组。可以理解,图3中非连续有序数组中的BoardID依次为4201、4203、4204…4301、4302、4304…4480、4481…,该数组缺少4202和4303等BoardID取值,即该数组中的BoardID不是连续的。并且,非连续有序数组中的每个元素对应一个索引。例如,图3中产品A(ProductA)、验证方案V1下的BoardID为4202,该BoardID在该非连续有序数组的索引为1。类似的。图3中非连续有序数组中的取值为4203的BoardID的索引为2,取值为4204的BoardID的索引为3。此外,图3示出的boardid就是BoardID。
在一些实施例中,图3示出的非连续有序数组为配置文件各个元素所有信息组成的数组,即数组中每个元素包括产品,方案和BoardID以及对应的硬件信息。
S203:将介于配置文件中最大BoardID和最小BoardID之间且被跳过的BoardID按序插入到配置文件。从而,使得插入BoardID的配置文件中的BoardID连续且有序,并且配置文件中相邻BoardID的差值为1。
参照图3,本申请在编译阶段可以对非连续有序数组中的最大BoardID和最小BoardID之间且被跳过的BoardID进行插入处理,即向非连续有序数组中插入占位dtbo的BoardID,以得到图3示出的连续有序数组。例如,如图3所示,在已有的4201、4203之间插入4202这一取值的BoardID,并在4302、4304之间插入4303这一取值的BoardID。即执行图3示出的“1.编译时“插帧”补齐跳空的BoardID”步骤。
可以理解,在非连续有序数组中插入BoardID的同时,该数组中各个元素的索引也会发生变化。例如,图3示出的连续有序数组中取值为4201、4202、4203、4204的BoardID的索引分别为1、2、3、4。
S204:将配置文件中连续且有序中的各个设备树源码进行编译,并将配置文件中插入的BoardID所在的dtb元素以空dtb的方式编译打包到dtbo镜像中,生成dtbo镜像。
可以理解,dtbo镜像中的元素为dtb元素。
其中,保证dtbo镜像中每个dtb元素的大小一致,即每个dtb元素占用的比特数一致。即dtbo镜像中由设备树源码编译得到的dtb元素占用的比特位数与空dtb元素占用的比特位数一致。如图3所示,在编译阶段可以执行“2、缺失boardid使用空dtbo填补”
在一些实施例中,本申请可以设备树源码采用dtc工具将配置文件中的配置树源码由dts文件编译为dtb文件,即编译得到各个配置树源码的dtb镜像。
为了方便描述,本申请中的BoardID也称为boardid,板卡也称为板子。
可以理解,上述dtbo镜像中的各个dtb镜像可以通过手机的引导程序(Bootloader)加载到内核中,以用于对手机进行初始化。
运行阶段:
在一些实施例中,手机的各硬件部件的运行阶段指的是手机上电开机之后通过软件拉起硬件的过程,具体为手机的硬件上电开机之后调用引导程序(Bootloader)运行手机板卡对应的dtb镜像以启动手机的各硬件部件的过程中。
继续参照图2,在上述编译阶段之后本申请的运行阶段可以通过以下步骤实现:
S205:在手机上电开机时获取当前板卡的BoardID。
在一些实施例中,手机上电时可以生成指示初始化手机中各硬件部件的指令,并响应于该指令获取当前板卡的BoardID。
在一些实施例中,本申请可以根据当前板卡的GPIO口状态,采用上文中的公式(1)计算出当前板卡的BoardID。例如,公式(1)中的计算基数可以为MTK平台上的4000。
S206:将dtbo镜像数组化为dtbo镜像数组,其中dtbo镜像数组中的每个dtb元素的下标为对应的BoardID减去当前板卡对应的计算基数(如4000)后的数值。
可以理解,dtbo镜像数组可以为图3示出的上述连续有序数组。在图3的基础上,参照图4所示,以计算基数为4000为例,对于dtbo镜像对应的数组中各个dtb元素的BoardID的取值4201、4203、4204…4301、4302、4304…4480、4481…,可以分别减去400得到对应的各个dtb元素的下标201、202、203、204…301、302、303、304…480、481…。显然,各个dtb元素的下标也是连续的。
S207:将当前板卡的BoardID减去当前板卡对应的计算基数后的数值作为待查询数值。
例如,假设当前板卡的BoardID为4304,那么在计算基数为4000时待查询数值为304。
S208:从dtbo镜像数组中查找与下标与待查询数值相等的dtb元素。
例如,结合图3和图4,对于当前板卡的BoardID为4304,可以从dtbo镜像数组中查找到数组下标为304的dtb元素,即当前手机的硬件下的产品B在产线验证方案V2下的板卡所对应的dtb元素。
S209:采用查询出的dtb元素对手机的硬件进行初始化。
在一些实施例中,本申请中手机可以调用引导程序将查询出的dtb元素表示的dtb镜像加载到内核中,以对手机的硬件进行初始化。
在一些实施例中,本申请的dtbo镜像数组中的每个dtb元素的下标还可以为所包含的BoardID。那么,本申请可以将当前板卡的BoardID作为待查询数值,从dtbo镜像数组中查询到下标与该查询参数相等的dtb元素。
在一些实施例中,本申请的dtbo镜像数组中的每个dtb元素的下标还可以根据dtbo镜像数组的索引设定。例如,每个dtb元素的下标可以为所包含的BoardID减去计算基数再减去设定差值,该设定差值为dtbo镜像数组中最小的BoardID与其所在的dtb元素的索引之间的差值。那么,本申请可以将当前板卡的BoardID减去计算基数和预设差值后的数值作为待查询数值,从dtbo镜像数组中查询到下标与该查询参数相等的dtb元素。在图3示出的各个BoardID的基础上,以计算基数为400为例,预设差值可以为4201减去4000再减去1等于200。那么,对于当前板卡的BoardID为4304,可以从dtbo镜像数组中查找到数组下标为104的dtb元素,即索引为104的dtb元素,也即当前手机的硬件下的产品B在产线验证方案V2下的板卡所对应的dtb元素。
如此,本申请在识别板卡的场景中,由于编译阶段可以dtbo镜像中的各个dtb元素是按照BoardID连续且有序排列的,因此可以根据连续的且有序排列BoardID设定dtbo镜像数组中连续且有序的下标。从而,在单平台启动时可以基于当前板卡的BoardID从dtbo镜像数组中查找到数组下标与当前板卡的BoardID匹配的dtb元素。而该查询过程中仅需查询下标与该当前板卡的BoardID匹配的一个dtb元素,而无需遍历dtbo镜像中的所有dtb元素,因此该查找过程的时间复杂度为O(1)。进而,在单品台的大量产线验证方案下,对大量BoardID的识别过程的耗时可以极大缩短。
如此,本申请在编译阶段将现有的无序、不连续的dtbo镜像改进为有序且连续的dtbo镜像;并且,在运行阶段将现有的遍历O(n)复杂度的方法改为直接计算的O(1)方法。即本申请可以基于对BoardID的镜像编译和运行时查找双重优化,将查找复杂度降低到O(1)。
在一些实施例中,参照图5,示出了本申请中硬件初始化方法的编译阶段的流程示意图。该流程包括:扫描当前平台(例如手机的硬件)所有产品的BoardID;根据扫描结果补齐缺失BoardID(即“插帧”),使得补齐后的BoardID为连续的BoardID;根据BoardID值大小顺序生成BoardID配置清单,该清单中的BoardID是连续且有序的,如按照从小到大的顺序排列;按照清单BoardID大小顺序编译,以生成dtbo镜像。可以理解,BoardID配置清单就是上文中用于编译生成dtbo镜像的配置文件。
在一些实施例中,参照图6,示出了本申请中硬件初始化方法的运行阶段的流程示意图。该流程包括:获取dtb_list[],按照boardid大小有序排列,dtb_list[]表示boardid所在的数组,如上文中的dtbo镜像数组。将dtb_list数组化,确定dtb_list[i]=i+platform_boarded_base,其中i为数组下标,dtb_list[i]表示一个boardid,platform_boarded_base表示计算基数(如4000)。根据dtbo_tagret_index= tagret_dtbo-platform_boarded_base查询dtb元素,其中,dtbo_tagret_index为数组下标,tagret_dtbo为需要启动的板卡的boardid。如此,可以通过数组下标的匹配方式快速地查询到手机的硬件等平台中当前板卡的boardid对应的dtb元素。其中,图6中的boardid就是BoardID。
接下来,对适用于本申请的硬件初始化方法的手机的结构进行说明。
如图7所示,手机10可以包括处理器110、电源模块140、存储器180,移动通信模块130、无线通信模块120、传感器模块190、音频模块150、摄像头170、接口模块160、按键101以及显示屏102等。
可以理解的是,本发明实施例示意的结构并不构成对手机10的具体限定。在本申请另一些实施例中,手机10可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如,可以包括CPU、图像处理器(graphics processing unit,GPU)、数字信号处理器DSP、微处理器(micro programmedcontrol unit,MCU)、人工智能(artificial intelligence,AI)处理器或可编程逻辑器件(field programmable gate array,FPGA)等的处理模块或处理电路。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。处理器110中可以设置存储单元,用于存储指令和数据。在一些实施例中,处理器110中的存储单元为高速缓冲存储器180。例如,处理器110可以调用引导程序将当前手机中板卡对应的dtb镜像加载至内核,以初始化手机10中的硬件。
电源模块140可以包括电源、电源管理部件等。电源可以为电池。电源管理部件用于管理电源的充电和电源向其他模块的供电。在一些实施例中,电源管理部件包括充电管理模块和电源管理模块。充电管理模块用于从充电器接收充电输入;电源管理模块用于连接电源,充电管理模块与处理器110。电源管理模块接收电源和/或充电管理模块的输入,为处理器110,显示屏102,摄像头170,及无线通信模块120等供电。
移动通信模块130可以包括但不限于天线、功率放大器、滤波器、低噪声放大器(low noise amplify,LNA)等。移动通信模块130可以提供应用在手机10上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块130可以由天线接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块130还可以对经调制解调处理器调制后的信号放大,经天线转为电磁波辐射出去。在一些实施例中,移动通信模块130的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块130至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(codedivision multiple access,CDMA),宽带码分多址(wide band code division multipleaccess,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),无线局域网(wireless local area networks,WLAN),近距离无线通信技术(near field communication,NFC),调频(frequencymodulation,FM)和/或field communication,NFC),红外技术(infrared,IR)技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigation satellitesystem,GLONASS),北斗卫星导航系统(beidounavigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellitesystem,QZSS)和/或星基增强系统(satellite based augmentationsystems,SBAS)。
无线通信模块120可以包括天线,并经由天线实现对电磁波的收发。无线通信模块120可以提供应用在手机10上的包括无线局域网(wireless local area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequencymodulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。手机10可以通过无线通信技术与网络以及其他设备进行通信。
在一些实施例中,手机10的移动通信模块130和无线通信模块120也可以位于同一模块中。
显示屏102用于显示人机交互界面、图像、视频等。显示屏102包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organiclight-emitting diode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode,AMOLED),柔性发光二极管(flexlight-emitting diode,FLED),MiniLED,MicroLED,Micro-OLED,量子点发光二极管(quantum dot light emitting diodes,QLED)等。
传感器模块190可以包括接近光传感器、压力传感器,陀螺仪传感器,气压传感器,磁传感器,加速度传感器,距离传感器,指纹传感器,温度传感器,触摸传感器,环境光传感器,骨传导传感器等。
音频模块150用于将数字音频信息转换成模拟音频信号输出,或者将模拟音频输入转换为数字音频信号。音频模块150还可以用于对音频信号编码和解码。在一些实施例中,音频模块150可以设置于处理器110中,或将音频模块150的部分功能模块设置于处理器110中。在一些实施例中,音频模块150可以包括扬声器、听筒、麦克风以及耳机接口。
摄像头170用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件把光信号转换成电信号,之后将电信号传递给图像信号处理(image signalprocessing,ISP)转换成数字图像信号。手机10可以通过ISP,摄像头170,视频编解码器,图形处理器(graphic processing unit,GPU),显示屏102以及应用处理器等实现拍摄功能。
接口模块160包括外部存储器接口、通用串行总线(universal serial bus,USB)接口及用户标识模块(subscriber identification module,SIM)卡接口等。其中外部存储器接口可以用于连接外部存储卡,例如MicroSD卡,实现扩展手机10的存储能力。外部存储卡通过外部存储器接口与处理器110通信,实现数据存储功能。通用串行总线接口用于手机10和其他电子设备进行通信。用户标识模块卡接口用于与安装至手机1010的SIM卡进行通信,例如读取SIM卡中存储的电话号码,或将电话号码写入SIM卡中。
在一些实施例中,手机10还包括按键101、马达以及指示器等。其中,按键101可以包括音量键、开/关机键等。马达用于使手机10产生振动效果,例如在用户的手机10被呼叫的时候产生振动,以提示用户接听手机10来电。指示器可以包括激光指示器、射频指示器、LED指示器等。
根据本申请的实施例,图8示出了一种SoC 1500的框图。例如,该SoC 1500可以为手机10中的板卡。在图8中,相似的部件具有同样的附图标记。另外,虚线框是更先进的SoC的可选特征。在图8中,SoC 1500包括:互连单元1550,其被耦合至应用处理器1510;系统代理单元1570;总线控制器单元1580;集成存储器控制器单元1540;一组或一个或多个协处理器1520,其可包括集成图形逻辑、图像处理器、音频处理器和视频处理器;静态随机存取存储器(SRAM)单元1530;直接存储器存取(DMA)单元1560。在一个实施例中,协处理器1520包括专用处理器,诸如例如网络或通信处理器、压缩引擎、GPGPU、高吞吐量MIC处理器、或嵌入式处理器等等。
本申请公开的机制的各实施例可以被实现在硬件、软件、固件或这些实现方法的组合中。本申请的实施例可实现为在可编程系统上执行的计算机程序或程序代码,该可编程系统包括至少一个处理器、存储系统(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备以及至少一个输出设备。
可将程序代码应用于输入指令,以执行本申请描述的各功能并生成输出信息。可以按已知方式将输出信息应用于一个或多个输出设备。为了本申请的目的,处理系统包括具有诸如例如数字信号处理器(DSP)、微控制器、专用集成电路(ASIC)或微处理器之类的处理器的任何系统。
程序代码可以用高级程序化语言或面向对象的编程语言来实现,以便与处理系统通信。在需要时,也可用汇编语言或机器语言来实现程序代码。事实上,本申请中描述的机制不限于任何特定编程语言的范围。在任一情形下,该语言可以是编译语言或解释语言。
在一些情况下,所公开的实施例可以以硬件、固件、软件或其任何组合来实现。所公开的实施例还可以被实现为由一个或多个暂时或非暂时性机器可读(例如,计算机可读)存储介质承载或存储在其上的指令,其可以由一个或多个处理器读取和执行。例如,指令可以通过网络或通过其他计算机可读介质分发。因此,机器可读介质可以包括用于以机器(例如,计算机)可读的形式存储或传输信息的任何机制,包括但不限于,软盘、光盘、光碟、只读存储器(CD-ROMs)、磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、磁卡或光卡、闪存、或用于利用因特网以电、光、声或其他形式的传播信号来传输信息(例如,载波、红外信号数字信号等)的有形的机器可读存储器。因此,机器可读介质包括适合于以机器(例如,计算机)可读的形式存储或传输电子指令或信息的任何类型的机器可读介质。
在附图中,可以以特定布置和/或顺序示出一些结构或方法特征。然而,应该理解,可能不需要这样的特定布置和/或排序。而是,在一些实施例中,这些特征可以以不同于说明性附图中所示的方式和/或顺序来布置。另外,在特定图中包括结构或方法特征并不意味着暗示在所有实施例中都需要这样的特征,并且在一些实施例中,可以不包括这些特征或者可以与其他特征组合。
需要说明的是,本申请各设备实施例中提到的各单元/模块都是逻辑单元/模块,在物理上,一个逻辑单元/模块可以是一个物理单元/模块,也可以是一个物理单元/模块的一部分,还可以以多个物理单元/模块的组合实现,这些逻辑单元/模块本身的物理实现方式并不是最重要的,这些逻辑单元/模块所实现的功能的组合才是解决本申请所提出的技术问题的关键。此外,为了突出本申请的创新部分,本申请上述各设备实施例并没有将与解决本申请所提出的技术问题关系不太密切的单元/模块引入,这并不表明上述设备实施例并不存在其它的单元/模块。
需要说明的是,在本专利的示例和说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
虽然通过参照本申请的某些优选实施例,已经对本申请进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种改变,而不偏离本申请的精神和范围。
Claims (12)
1.一种硬件初始化方法,其特征在于,所述方法包括:
接收到初始化电子设备中各硬件部件的指令;
获取所述电子设备上的第一板卡的第一板卡装置识别码;
从与所述电子设备的板卡装置识别码列表中查找与所述第一板卡装置识别码匹配的第二板卡装置识别码,所述板卡装置识别码列表中的板卡装置识别码是按照第一顺序连续排列的;
获取与第二板卡装置识别码对应的第一硬件配置文件;
基于所述第一硬件配置文件对所述电子设备的各硬件部件进行初始化。
2.根据权利要求1所述的方法,其特征在于,所述板卡装置识别码列表包括对应每个板卡装置识别码的序号,所述序号为所述板卡装置识别码减去计算基数后的数值;
并且所述从与所述电子设备对应的板卡装置识别码列表中查找与所述第一板卡装置识别码匹配的第二板卡装置识别码,包括:
将所述第一板卡装置识别码减去计算基数得到待查询参数;
从所述板卡装置识别码列表确定出与所述待查询参数相同的序号,其中,确定出的所述序号所对应的板卡装置识别码为所述第二板卡装置识别码。
3.根据权利要求2所述的方法,其特征在于,所述板卡装置识别码列表以数组的形式存储,且所述板卡装置识别码列表中的每个板卡装置识别码对应的序号为下标,所述下标为用于区分所述数组中的各个板卡装置识别码的数字编号。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括:
获取所述电子设备的多个第一设备树源码,每个第一设备树源码对应一个板卡装置识别码;
按照板卡装置识别码的第一顺序对所述多个第一设备树源码进行排列;
将排列后的所述多个第一设备树源码生成第一配置文件;
在所述第一配置文件中插入多个第三板卡装置识别码得到第二配置文件,其中所述第二配置文件中各个元素包含的板卡装置识别码连续且有序;
对所述第二配置文件中的各个元素进行编译以生成第一列表,其中所述第三板卡装置识别码所在的元素不包含硬件信息,所述第一列表中各个元素中的板卡装置识别码构成所述板卡装置识别码列表,并且与第一硬件配置文件为所述第一列表中包含所述第二板卡装置识别码的元素。
5.根据权利要求4所述的方法,其特征在于,所述第一列表包括设备树块覆盖镜像,所述第一列表中每个元素为设备树二进制镜像。
6.根据权利要求1所述的方法,其特征在于,所述获取电子设备上的第一板卡的第一板卡装置识别码,包括:
根据所述电子设备对应的通用输入输出口的状态数值和计算基数,计算所述电子设备上的第一板卡的第一板卡装置识别码;
其中,所述计算基数为与所述电子设备相关的用于计算板卡装置识别码的参数。
7.根据权利要求1所述的方法,其特征在于,所述第一顺序为板卡装置识别码的取值从小到大排列的顺序。
8.根据权利要求1所述的方法,其特征在于,所述接收到初始化电子设备中各硬件部件的指令,包括:
对应于所述电子设备上电开机,接收到初始化电子设备中各硬件部件的指令。
9.根据权利要求1所述的方法,其特征在于,所述板卡装置识别码列表中的多个板卡装置识别码与多个板卡一一对应,且所述第一板卡为所述多个板卡中的一个板卡。
10.根据权利要求1所述的方法,其特征在于,所述电子设备中的硬件部件至少包括:中央处理器、内存、总线、摄像头。
11.一种可读介质,其特征在于,所述可读介质上存储有指令,所述指令在电子设备上执行时使所述电子设备执行权利要求1至10中任一项所述的硬件初始化方法。
12.一种电子设备,其特征在于,包括:存储器,用于存储由电子设备的一个或多个处理器执行的指令,以及处理器,是所述电子设备的处理器之一,用于执行权利要求1至10中任一项所述的硬件初始化方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310839822.8A CN116560741B (zh) | 2023-07-10 | 2023-07-10 | 一种硬件初始化方法、介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310839822.8A CN116560741B (zh) | 2023-07-10 | 2023-07-10 | 一种硬件初始化方法、介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116560741A true CN116560741A (zh) | 2023-08-08 |
CN116560741B CN116560741B (zh) | 2024-04-19 |
Family
ID=87496927
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310839822.8A Active CN116560741B (zh) | 2023-07-10 | 2023-07-10 | 一种硬件初始化方法、介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116560741B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012149730A1 (zh) * | 2011-09-08 | 2012-11-08 | 华为技术有限公司 | 一种板卡初始化的方法及装置 |
US20140149728A1 (en) * | 2012-11-26 | 2014-05-29 | International Business Machines Corporation | Data driven hardware chips initialization via hardware procedure framework |
CN110201393A (zh) * | 2019-05-29 | 2019-09-06 | 北京金山安全软件有限公司 | 一种配置数据的存储方法、装置及电子设备 |
CN111124517A (zh) * | 2019-12-23 | 2020-05-08 | 湖南国科微电子股份有限公司 | 嵌入式芯片引导启动方法、装置、计算机设备和存储介质 |
CN113127295A (zh) * | 2021-03-26 | 2021-07-16 | 山东英信计算机技术有限公司 | 一种检测板卡识别码的方法、装置、设备及可读介质 |
WO2021208805A1 (zh) * | 2020-04-13 | 2021-10-21 | 中兴通讯股份有限公司 | 硬件单板的逻辑地址空间的配置方法、设备和存储介质 |
CN114780152A (zh) * | 2022-03-22 | 2022-07-22 | 西安广和通无线软件有限公司 | 一种计算设备启动方法及装置 |
CN115421676A (zh) * | 2022-08-15 | 2022-12-02 | 瑞芯微电子股份有限公司 | 用于兼容显示设备的方法和装置、电子设备和存储介质 |
CN115904316A (zh) * | 2022-11-07 | 2023-04-04 | 太仓市同维电子有限公司 | 一种自动识别硬件pcb和可配置的生产软件初始化设计方法 |
-
2023
- 2023-07-10 CN CN202310839822.8A patent/CN116560741B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012149730A1 (zh) * | 2011-09-08 | 2012-11-08 | 华为技术有限公司 | 一种板卡初始化的方法及装置 |
US20140149728A1 (en) * | 2012-11-26 | 2014-05-29 | International Business Machines Corporation | Data driven hardware chips initialization via hardware procedure framework |
CN110201393A (zh) * | 2019-05-29 | 2019-09-06 | 北京金山安全软件有限公司 | 一种配置数据的存储方法、装置及电子设备 |
CN111124517A (zh) * | 2019-12-23 | 2020-05-08 | 湖南国科微电子股份有限公司 | 嵌入式芯片引导启动方法、装置、计算机设备和存储介质 |
WO2021208805A1 (zh) * | 2020-04-13 | 2021-10-21 | 中兴通讯股份有限公司 | 硬件单板的逻辑地址空间的配置方法、设备和存储介质 |
CN113127295A (zh) * | 2021-03-26 | 2021-07-16 | 山东英信计算机技术有限公司 | 一种检测板卡识别码的方法、装置、设备及可读介质 |
CN114780152A (zh) * | 2022-03-22 | 2022-07-22 | 西安广和通无线软件有限公司 | 一种计算设备启动方法及装置 |
CN115421676A (zh) * | 2022-08-15 | 2022-12-02 | 瑞芯微电子股份有限公司 | 用于兼容显示设备的方法和装置、电子设备和存储介质 |
CN115904316A (zh) * | 2022-11-07 | 2023-04-04 | 太仓市同维电子有限公司 | 一种自动识别硬件pcb和可配置的生产软件初始化设计方法 |
Also Published As
Publication number | Publication date |
---|---|
CN116560741B (zh) | 2024-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113204377B (zh) | 一种动态链接库的加载方法及装置 | |
CN114443083B (zh) | 系统升级方法、装置、电子设备及存储介质 | |
EP4199474A1 (en) | Method and system for acquiring download information of application, and server and storage medium | |
CN116643778B (zh) | 一种应用程序优化方法及电子设备 | |
CN112416294B (zh) | 处理器及其二进制累加方法和计算机可读介质 | |
CN116560741B (zh) | 一种硬件初始化方法、介质及电子设备 | |
CN111562436B (zh) | 双芯智能电表的设备驱动方法和装置 | |
CN117130541B (zh) | 存储空间配置方法及相关设备 | |
CN115357230A (zh) | 用于寄存器溢出的编译方法、电子设备和介质 | |
CN113099433A (zh) | 一种基于安卓系统的动态的兼容不同厂商的wifi及蓝牙模块的方法 | |
US10031734B2 (en) | Device and method for generating application package | |
CN117130617A (zh) | 一种应用程序的编译方法和装置 | |
CN114489689B (zh) | 应用程序的安装方法、系统、电子设备及服务器 | |
CN115964331A (zh) | 一种数据访问方法、装置及设备 | |
CN115480762A (zh) | 显示视图控件的方法及装置 | |
CN114443455A (zh) | 死循环检测方法及装置 | |
CN114443109A (zh) | 补丁修复方法、电子设备及存储介质 | |
CN118210496A (zh) | 一种跨语言交互方法及相关装置 | |
CN113419702B (zh) | 一种数据累加方法、处理器、电子设备及可读介质 | |
CN113485923B (zh) | 项目代码检测方法与装置、电子设备 | |
CN116700738B (zh) | 应用管理方法、电子设备及系统 | |
CN116029337A (zh) | 一种数据处理方法、片上系统、电子设备及介质 | |
TWI791699B (zh) | 電子裝置及使用其處理指令的方法 | |
CN114637535A (zh) | 一种处理可执行代码的方法、装置、终端及可读存储介质 | |
CN117544612A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |