CN117950751A - 一种内核的嵌入式产品适配方法、装置、设备及介质 - Google Patents
一种内核的嵌入式产品适配方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN117950751A CN117950751A CN202410123599.1A CN202410123599A CN117950751A CN 117950751 A CN117950751 A CN 117950751A CN 202410123599 A CN202410123599 A CN 202410123599A CN 117950751 A CN117950751 A CN 117950751A
- Authority
- CN
- China
- Prior art keywords
- target
- kernel
- configuration parameter
- embedded
- instruction set
- 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 75
- 230000002093 peripheral effect Effects 0.000 claims abstract description 32
- 230000008569 process Effects 0.000 claims abstract description 32
- 230000006978 adaptation Effects 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 16
- 238000012545 processing Methods 0.000 claims description 13
- 238000010276 construction Methods 0.000 claims description 5
- 238000004458 analytical method Methods 0.000 claims description 4
- 238000004806 packaging method and process Methods 0.000 claims description 4
- 238000004891 communication Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 7
- 238000007726 management method Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 230000001960 triggered effect Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000013468 resource allocation Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000007670 refining Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种内核的嵌入式产品适配方法、装置、设备及介质。该方法包括:获取用于适配目标内核的多个嵌入式产品,并生成与多个嵌入式产品匹配的可变配置参数集;根据可变配置参数集,构建得到可变配置参数动态获取指令集,并将可变配置参数动态获取指令集写入至目标内核的目标文件中;在对配置于目标嵌入式产品的目标内核进行初始化的过程中,触发执行目标内核的目标文件中的所述配置参数动态获取指令集;通过所述配置参数动态获取指令集,实现对目标嵌入式产品的硬件初始化。本发明实施例的内核可以动态适配不同硬件产品的外设及资源,无需将内核与硬件产品进行绑定,解决了同一硬件平台下由于外设需求不同而导致需要多个版本内核的问题。
Description
技术领域
本发明涉及嵌入式技术领域,尤其涉及一种内核的嵌入式产品适配方法、装置、设备及介质。
背景技术
在嵌入式系统中,内核作为嵌入式系统的核心,其核心功能是管理硬件设备以供应用程序使用,是计算机硬件与其进程之间的核心接口,它负责两者之间的通信,还要尽可能高效地管理资源。内核控制着硬件(无论是电话、笔记本电脑、服务器,还是任何其他类型的计算机)的所有主要功能。因此内核的重要性不言而喻。
相关技术中,不同机型的嵌入式产品即使是在同一硬件平台下,由于外设和引脚资源等差异也会导致需要不同版本的内核去支撑,面临内核与机型绑定的情况。如相关技术中的一个内核可能只适用于一个产品的情况,这导致在日常的管理与维护过程中操作繁琐且浪费了大量资源。
发明内容
本发明提供了一种内核的嵌入式产品适配方法、装置、设备及介质,以解决一个内核只适用于一个产品所导致的管理效率低下且成本过高的问题。
第一方面,本发明实施例提供了一种内核的嵌入式产品适配方法,该方法包括:
获取用于适配目标内核的多个嵌入式产品,并生成与所述多个嵌入式产品匹配的可变配置参数集;
根据所述可变配置参数集,构建得到可变配置参数动态获取指令集,并将所述可变配置参数动态获取指令集写入至所述目标内核的目标文件中;
在对配置于目标嵌入式产品的目标内核进行初始化的过程中,触发执行所述目标内核的目标文件中的所述配置参数动态获取指令集;
通过执行所述配置参数动态获取指令集,实现对所述目标嵌入式产品的硬件初始化。
第二方面,本发明实施例还提供了一种内核的嵌入式产品适配装置,该装置包括:
参数集生成模块,用于获取用于适配目标内核的多个嵌入式产品,并生成与所述多个嵌入式产品匹配的可变配置参数集;
指令集构建模块,用于根据所述可变配置参数集,构建得到可变配置参数动态获取指令集,并将所述可变配置参数动态获取指令集写入至所述目标内核的目标文件中;
指令集动态获取模块,用于在对配置于目标嵌入式产品的目标内核进行初始化的过程中,触发执行所述目标内核的目标文件中的所述配置参数动态获取指令集;
硬件初始化模块,用于通过执行所述配置参数动态获取指令集,实现对所述目标嵌入式产品的硬件初始化;
其中,所述参数集生成模块、所述指令集构建模块、所述指令集动态获取模块以及所述硬件初始化模块依次相连。
第三方面,本发明实施例还提供了一种电子设备,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的一种内核的嵌入式产品适配方法。
根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的一种内核的嵌入式产品适配方法。
本发明实施例的技术方案,通过收集多个嵌入式产品的可变配置参数集,构建得到可变配置参数动态获取指令集,并将可变配置参数动态获取指令集写入至目标内核的目标文件中的实现手段,可以在对配置于目标嵌入式产品的目标内核进行初始化的过程中,触发执行目标内核的目标文件中的配置参数动态获取指令集,以动态获取目标内核所适配的目标嵌入式产品的各项可变配置参数的方式,最终实现对目标嵌入式产品的硬件初始化。本发明实施例的技术方案无需在内核中预先记录其所适配的嵌入式产品的全部硬件配置参数,而是可以在内核的初始化过程中,动态实现对嵌入式产品中可变配置参数的获取,内核可以动态适配不同嵌入式产品的外设及资源,无需将内核与嵌入式产品进行绑定,解决了同一硬件平台下由于外设需求不一致导致需要多个版本内核的问题,使得不同型号产品在同一硬件平台下可以使用同一版本内核,提高了管理效率,降低了人力成本,节省了资源。
应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例一提供的一种内核的嵌入式产品适配方法的流程图;
图2是根据本发明实施例二提供的另一种内核的嵌入式产品适配方法的流程图;
图3是根据本发明实施例三提供的一种内核的嵌入式产品适配装置的模块示意图;
图4是实现本发明实施例的一种内核的嵌入式产品适配方法的电子设备的模块示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例一
图1为本发明实施例一提供的一种内核的嵌入式产品适配方法的流程图,本实施例可适用于使用相同配置的内核对同一硬件平台上的不同机型产品进行适配的情况,该方法可以由一种内核的嵌入式产品适配装置来执行,该内核的嵌入式产品适配装置可以采用硬件和/或软件的形式实现,该内核的嵌入式产品适配装置可配置于各类计算机设备中。如图1所示,该方法包括:
S110、获取用于适配目标内核的多个嵌入式产品,并生成与所述多个嵌入式产品匹配的可变配置参数集。
由于同一硬件平台可能会对应不同机型的嵌入式产品,这些嵌入式产品因为版本升级或者适用场景不同等原因,其外设或者是硬件引脚的配置方式会有一定程度的差异,例如,有的机型产品不具有显示屏,而有的机型产品带有显示屏,或者,有的机型不具有蓝牙功能,而有的机型具有蓝牙功能等。虽然这些嵌入式产品的外设或者引脚资源分配方式不同,但是,一般来说都可以使用同一型号的内核来适配,本发明各实施例正是面向上述应用场景。
在同一硬件平台下,同一目标内核所能适配的全部嵌入式产品是已知的,因此,执行本发明实施例的计算机设备可以相应获取上述每个嵌入式产品的全部硬件配置信息。其中,上述硬件配置信息中可以包括嵌入式产品中所包含的全部外设的硬件描述信息,以及目标内核中的各引脚资源与各外设之间的连接关系等。
在获取与每个嵌入式产品分别对应的全部硬件配置信息之后,可以构建得到与所述多个嵌入式产品共同对应的可变配置参数集。其中,可变配置参数集中包含有至少一个可变配置参数。可变配置参数可以理解为各个嵌入式产品中不完全相同的硬件配置参数。
S120、根据所述可变配置参数集,构建得到可变配置参数动态获取指令集,并将所述可变配置参数动态获取指令集写入至所述目标内核的目标文件中。
可变配置参数动态获取指令集中存储至少一条可变配置参数动态获取指令,每条可变配置参数动态获取指令对应可变配置参数集中的一项可变配置参数。也就是说,每个可变配置参数动态获取指令用于动态获取一项可变配置参数。
相关技术中,为了使得内核适配于一个嵌入式产品,需要将上述嵌入式产品的每项硬件配置参数均写入至该内核中,进而,在内核上电启动后,通过与所适配的嵌入式产品交互硬件配置信息,可以实现对该嵌入式产品的硬件初始化过程。这种实现方式的缺陷在于即使使用相同型号的内核适配不同机型的嵌入式产品,也需要针对所适配嵌入式产品的硬件配置参数分别对该内核完成对应的参数写入过程。也即,具有多少个不同类型的嵌入式产品,就对多少个内核进行适配硬件配置参数的写入,这就是前文所述的内核与机型绑定的情况。
而在本发明各实施例中,突破了上述常规的硬件配置参数的预写入内核过程,选择将硬件配置参数的获取指令预写入至内核中,进而,可以将上述硬件配置参数的写入过程放在内核的上电启动阶段,可以动态获取不同机型的嵌入式产品的硬件配置信息进行在线存储。
也就是说,通过在目标内核中写入相同的可变配置参数动态获取指令集,可以在后续的目标内核的上电启动阶段,动态获取不同的可变配置参数,这就是本发明各实施例中,使用同一版本内核适配不同型号嵌入式产品的核心点。
其中,目标文件可以理解为目标内核的系统文件,该目标文件会在目标内核的初始化过程中被触发执行,进而,可以相应触发可变配置参数动态获取指令集中的各可变配置参数动态获取指令执行相应地配置参数获取操作。
S130、在对配置于目标嵌入式产品的目标内核进行初始化的过程中,触发执行所述目标内核的目标文件中的所述配置参数动态获取指令集。
在上述实施例中提到,所写入的动态获取指令集目的是为了获取每一个嵌入式产品下的参数配置信息,因此,如果配置参数的动态获取指令集被触发,则可以执行获取嵌入式产品可变配置参数集的行为。
S140、通过执行所述配置参数动态获取指令集,实现对所述目标嵌入式产品的硬件初始化。
对目标嵌入式产品的硬件初始化过程可以理解为:目标内核按照预存的与目标硬件嵌入式产品匹配的硬件配置参数与该目标硬件嵌入式产品进行信息交互,如果目标内核中预存的硬件配置参数与目标硬件嵌入式产品中实际的硬件配置参数相一致,则该目标嵌入式产品的硬件初始化成功。
在本实施例中,由于是在目标内核的初始化过程获取其所适配的目标嵌入式产品的各项可变配置参数进行存储,因此,可以保证其存储的硬件配置参数必然与目标嵌入式产品的各项硬件配置参数相一致,进而,可以有效保证目标嵌入式产品的硬件初始化过程的成功率。
本发明实施例的技术方案通过获取用于适配目标内核的多个嵌入式产品,并生成与所述多个嵌入式产品匹配的可变配置参数集;根据所述可变配置参数集,构建得到可变配置参数动态获取指令集,并将所述可变配置参数动态获取指令集写入至所述目标内核的目标文件中;在对配置于目标嵌入式产品的目标内核进行初始化的过程中,触发执行所述目标内核的目标文件中的所述配置参数动态获取指令集;通过执行所述配置参数动态获取指令集,实现对所述目标嵌入式产品的硬件初始化。
本发明实施例的技术方案无需在内核中预先记录其所适配的嵌入式产品的全部硬件配置参数,而是可以在内核的初始化过程中,动态实现对嵌入式产品中可变配置参数的获取,内核可以动态适配不同嵌入式产品的外设及资源,无需将内核与嵌入式产品进行绑定,解决了同一硬件平台下由于外设需求不一致导致需要多个版本内核的问题,使得不同型号产品在同一硬件平台下可以使用同一版本内核,提高了管理效率,降低了人力成本,节省了资源。
实施例二
图2为本发明实施例二提供的另一种内核的嵌入式产品适配方法的流程图,本实施例以上述各实施例为基础进行细化。如图2所示,该方法包括:
S210、获取用于适配目标内核的多个嵌入式产品,并生成与所述多个嵌入式产品匹配的固定配置参数集以及可变配置参数集。
在一些实施例中,上述适配不同机型的多个嵌入式产品虽然会在外设或者内核引脚资源分配方式上具有一定的差异,但是,由于其主要是面向同一系列产品,因此,不同的嵌入式产品之间一般会有一定的外设相似之处。例如,上述各嵌入式产品中均使用相同型号的输入输出组件或者相同型号的存储组件等。针对这类相同的外设的硬件配置参数,无需构建配置参数动态获取指令,只要将这些硬件配置参数直接存储在目标内核中即可。
相应地,在本实施例中,可以首先分析确定出与所述多个嵌入式产品共同对应的固定配置参数集以及可变配置参数集。
相应地,固定配置参数可以理解为每个嵌入式产品中均相同的硬件配置参数。
在一些实施例中,生成与所述多个嵌入式产品匹配的可变配置参数集以及固定配置参数集,可以包括:
分别获取与每个嵌入式产品分别对应的硬件配置信息;
将与每个嵌入式产品分别对应的硬件配置信息进行聚类处理,并根据聚类结果,生成与所述多个嵌入式产品匹配的可变配置参数集以及固定配置参数集。
在本实施例中,可以首先收集每个嵌入式产品的每项硬件配置信息,其中,每项硬件配置信息对应一项硬件配置参数。之后,对收集到的全部硬件配置信息进行聚类处理,并统计最终的聚类结果,其中,同一聚类簇对应硬件配置信息相同的一项硬件配置参数。
如果一个聚类簇中包含的各项硬件配置信息所属的嵌入式产品涵盖全部嵌入式产品,则将上述聚类簇所对应的硬件配置参数确定为一项固定配置参数,并最终构建得到固定配置参数集;如果一个聚类簇中包含的各项硬件配置信息所属的嵌入式产品无法涵盖全部嵌入式产品,则将上述聚类簇所对应的硬件配置参数确定为一项可变配置参数,在对确定的全部可变配置参数进行参数去重处理后,可以最终构建得到可变配置参数集。
S220、将与所述固定配置参数集匹配的各固定配置参数的配置信息直接写入至所述目标内核中。
在将归类后属于固定配置参数集的硬件配置信息直接写入至目标内核的设定存储空间中之后,当后续涉及对固定配置参数集匹配的外设或者是引脚进行硬件初始化时,由于不同嵌入式产品的上述各项固定配置参数的硬件配置信息均一致,因此,直接从目标内核的设定存储空间中获取该配置信息,可以一致性的完成对不同嵌入式产品中匹配硬件的初始化过程。
S230、依次从所述可变配置参数集中获取当前可变配置参数。
如前所述,在确定出在不同嵌入式产品中不完全相同的各可变配置参数后,需要分别生成与每个可变配置参数分别对应的可变配置参数动态获取指令。
其中,可变配置参数动态获取指令用于发送至设定嵌入式产品,以获取该嵌入式产品中一项可变配置参数具体的硬件配置信息。
S240、在通用指令集中,获取与所述当前可变配置参数匹配的当前参数获取指令,并将所述当前参数获取指令加入至所述可变配置参数动态获取指令集中。
考虑到不同嵌入式产品的软硬件差异,因此,可以在各个机型的嵌入式产品上均得到支持的通用指令集中,获取与每项可变配置参数分别对应的可变配置参数动态获取指令。
S250、判断是否完成对可变配置参数集中全部可变配置参数的处理:若是,执行S260;否则,返回执行S230。
S260、将所述可变配置参数动态获取指令集写入至所述目标内核的目标文件中。
进一步地,将所述可变配置参数动态获取指令集写入至所述目标内核中的目标文件中,可以包括:
在所述目标内核中,识别引导加载程序映像文件作为目标文件;
将所述可变配置参数动态获取指令集封装为目标结构体;
将所述目标结构体写入至所述
引导加载程序映像文件的文件头部。
其中,引导加载程序负责在设备上启动内核,同时为了支持各种配置,可以识别自己在其中运行的产品版本。在本发明各实施例中,通过识别引导加载程序的映像文件并将其作为目标文件可以对内核文件的结构进行自定义操作。由于当内核启动时,引导加载程序映像文件被最先执行,因此通过将上述可变配置参数动态获取指令集封装并作为目标结构体,其次将该封装文件写入至引导加载程序映像文件头部的自定义结构区域中,目的是在目标内核触发引导加载程序映像文件执行之初,就能首先执行该目标结构体中的可变配置参数动态获取指令集,以保证后续目标嵌入式产品的硬件初始化过程的正确执行。
需要说明的是,所述引导加载程序映像文件头部可以为zImage或uImage。其中,Image指内核映像文件,zImage为Image的映像压缩文件,而uImage是在zImage之前加上了一个长度为64字节的“头”,用于描述映像文件类型、加载位置和大小等信息。
S270、响应于对配置于目标嵌入式产品的目标内核的初始化指令,获取所述目标内核中的所述引导加载程序映像文件。
其中,在将目标内核配置在目标嵌入式产品上之后,可以以目标内核作为控制中心,实现各项产品功能。其中,当目标嵌入式产品被上电启动后,触发生成对目标内核的初始化指令。
在目标内核的初始化过程中,通过响应初始化指令能够首先到目标内核中的引导加载程序映像文件,之后,通过执行该引导加载程序映像文件,可以成功实现对该目标内核的整个初始化过程。
S280、从所述引导加载程序映像文件的文件头部开始进行文件解析,并在解析至所述目标结构体时,触发执行所述目标文件中的所述配置参数动态获取指令集。
当获取到目标内核中的引导加载程序映像文件后,从其文件头部开始进行解析,当解析至可变配置参数动态获取指令集时,就能够触发配置参数动态获取指令集去执行获取各项可变配置参数的指令。
S290、通过执行所述配置参数动态获取指令集中的各配置参数动态获取指令,读取所述目标嵌入式产品中各外设或者各物理接口的配置信息。
当各项配置参数动态获取指令被执行后,就能够对目标内核当前所适配的目标嵌入式产品中的各项可变配置参数的硬件配置信息进行读取,所述硬件配置信息可以为各种外设或各物理接口的参数信息等,例如,外设的型号或者版本号等。
S2100、将读取的所述各外设或者各物理接口的配置信息进行内核存储。
当读取到当前嵌入式产品的各种外设或各物理接口的配置信息后,可以将上述配置信息存储至内核中的设定存储空间中,以便于执行后续的硬件初始化操作。
显然,本发明各实施例将现有技术中针对不同嵌入式产品,在相同的内核中写入不同的硬件配置信息的预处理操作,替换为在内核的初始化过程中动态写入所适配的嵌入式产品的硬件配置信息的实时处理操作。
S2110、通过与所述目标嵌入式产品中所述各外设和所述各物理接口交互内核存储的各所述配置信息,实现所述各外设和所述各物理接口的硬件初始化。
本发明实施例的技术方案提供了一种新的内核的嵌入式产品适配方法,通过对整体方案的细化,完善了将如何不同型号产品所需的资源差异抽象出来,对内核文件进行自定义重构,并根据自定义结构分配资源的具体细节。能够解决同一硬件平台下由于外设需求不一致导致需要多个版本内核的问题。
实施例三
图3为本发明实施例三提供的一种内核的嵌入式产品适配装置的模块示意图。如图3所示,该装置包括:
嵌入式产品获取模块310,用于获取用于适配目标内核的多个嵌入式产品,并生成与所述多个嵌入式产品匹配的可变配置参数集;
指令集构建模块320,用于根据所述可变配置参数集,构建得到可变配置参数动态获取指令集,并将所述可变配置参数动态获取指令集写入至所述目标内核的目标文件中;
指令集动态获取模块330,用于在对配置于目标嵌入式产品的目标内核进行初始化的过程中,触发执行所述目标内核的目标文件中的所述配置参数动态获取指令集;
硬件初始化模块340,用于通过执行所述配置参数动态获取指令集,实现对所述目标嵌入式产品的硬件初始化;
其中,所述参数集生成模块、所述指令集构建模块、所述指令集动态获取模块以及所述硬件初始化模块依次相连。
本发明实施例的技术方案通过获取用于适配目标内核的多个嵌入式产品,并生成与所述多个嵌入式产品匹配的可变配置参数集;根据所述可变配置参数集,构建得到可变配置参数动态获取指令集,并将所述可变配置参数动态获取指令集写入至所述目标内核的目标文件中;在对配置于目标嵌入式产品的目标内核进行初始化的过程中,触发执行所述目标内核的目标文件中的所述配置参数动态获取指令集;通过执行所述配置参数动态获取指令集,实现对所述目标嵌入式产品的硬件初始化。本发明实施例的技术方案无需在内核中预先记录其所适配的嵌入式产品的全部硬件配置参数,而是可以在内核的初始化过程中,动态实现对嵌入式产品中可变配置参数的获取,内核可以动态适配不同嵌入式产品的外设及资源,无需将内核与嵌入式产品进行绑定,解决了同一硬件平台下由于外设需求不一致导致需要多个版本内核的问题,使得不同型号产品在同一硬件平台下可以使用同一版本内核,提高了管理效率,降低了人力成本,节省了资源。
在上述各实施例的基础上,嵌入式产品获取模块310,具体可以包括:
固定配置参数集单元,用于生成与所述多个嵌入式产品匹配的固定配置参数集;
配置信息写入单元,用于将与所述固定配置参数集匹配的各固定配置参数的配置信息直接写入至所述目标内核中。
在上述各实施例的基础上,嵌入式产品获取模块310,具体还可以包括:
硬件配置信息获取单元,用于分别获取与每个嵌入式产品分别对应的硬件配置信息;
聚类处理单元,用于将与每个嵌入式产品分别对应的硬件配置信息进行聚类处理,并根据聚类结果,生成与所述多个嵌入式产品匹配的可变配置参数集以及固定配置参数集。
在上述各实施例的基础上,指令集构建模块320,具体可以包括:
可变配置参数单元,用于依次从所述可变配置参数集中获取当前可变配置参数;
参数获取指令匹配单元,用于在通用指令集中,获取与所述当前可变配置参数匹配的当前参数获取指令,并将所述当前参数获取指令加入至所述可变配置参数动态获取指令集中;
配置参数循环处理单元,用于返回执行依次从所述可变配置参数集中获取当前可变配置参数的操作,直至完成对所述可变配置参数集中全部可变配置参数的处理。
在上述各实施例的基础上,指令集构建模块320,具体还可以包括:
识别引导单元,用于在所述目标内核中,识别引导加载程序映像文件作为目标文件;
目标结构体封装单元,用于将所述可变配置参数动态获取指令集封装为目标结构体;
文件头部写入单元,用于将所述目标结构体写入至所述引导加载程序映像文件的文件头部。
在上述各实施例的基础上,指令集动态获取模块330,具体可以包括:
映像文件获取单元,用于响应于对配置于目标嵌入式产品的目标内核的初始化指令,获取所述目标内核中的所述引导加载程序映像文件;
文件解析单元,用于从所述引导加载程序映像文件的文件头部开始进行文件解析,并在解析至所述目标结构体时,触发执行所述目标文件中的所述配置参数动态获取指令集。
在上述各实施例的基础上,硬件初始化模块340,具体可以包括:
配置信息读取单元,用于通过执行所述配置参数动态获取指令集中的各配置参数动态获取指令,读取所述目标嵌入式产品中各外设或者各物理接口的配置信息;
内核存储单元,用于将读取的所述各外设或者各物理接口的配置信息进行内核存储;
初始化实现单元,用于通过与所述目标嵌入式产品中所述各外设和所述各物理接口交互内核存储的各所述配置信息,实现所述各外设和所述各物理接口的硬件初始化。
本发明实施例所提供的一种内核的嵌入式产品适配装置可执行本发明任意实施例所提供的一种内核的嵌入式产品适配方法,具备执行方法相应的功能模块和有益效果。
实施例四
图4示出了可以用来实施本发明任一实施例的电子设备10的模块示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
如图4所示,电子设备10包括至少一个处理器11,以及与至少一个处理器11通信连接的存储器,如只读存储器(ROM)12、随机访问存储器(RAM)13等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器11可以根据存储在只读存储器(ROM)12中的计算机程序或者从存储单元18加载到随机访问存储器(RAM)13中的计算机程序,来执行各种适当的动作和处理。在RAM 13中,还可存储电子设备10操作所需的各种程序和数据。处理器11、ROM 12以及RAM 13通过总线14彼此相连。输入/输出(I/O)接口15也连接至总线14。
电子设备10中的多个部件连接至I/O接口15,包括:输入单元16,例如键盘、鼠标等;输出单元17,例如各种类型的显示器、扬声器等;存储单元18,例如磁盘、光盘等;以及通信单元19,例如网卡、调制解调器、无线通信收发机等。通信单元19允许电子设备10通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理器11可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器11的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。处理器11执行上文所描述的各个方法和处理,例如一种内核的嵌入式产品适配方法。
也即:获取用于适配目标内核的多个嵌入式产品,并生成与所述多个嵌入式产品匹配的可变配置参数集;
根据所述可变配置参数集,构建得到可变配置参数动态获取指令集,并将所述可变配置参数动态获取指令集写入至所述目标内核的目标文件中;
在对配置于目标嵌入式产品的目标内核进行初始化的过程中,触发执行所述目标内核的目标文件中的所述配置参数动态获取指令集;
通过执行所述配置参数动态获取指令集,实现对所述目标嵌入式产品的硬件初始化。
在一些实施例中,一种内核的嵌入式产品适配方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元18。在一些实施例中,计算机程序的部分或者全部可以经由ROM 12和/或通信单元19而被载入和/或安装到电子设备10上。当计算机程序加载到RAM 13并由处理器11执行时,可以执行上文描述的一种内核的嵌入式产品适配方法的一个或多个步骤。在其他实施例中,处理器11可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行一种内核的嵌入式产品适配方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。在一些实施例中,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (10)
1.一种内核的嵌入式产品适配方法,其特征在于,包括:
获取用于适配目标内核的多个嵌入式产品,并生成与所述多个嵌入式产品匹配的可变配置参数集;
根据所述可变配置参数集,构建得到可变配置参数动态获取指令集,并将所述可变配置参数动态获取指令集写入至所述目标内核的目标文件中;
在对配置于目标嵌入式产品的目标内核进行初始化的过程中,触发执行所述目标内核的目标文件中的所述配置参数动态获取指令集;
通过执行所述配置参数动态获取指令集,实现对所述目标嵌入式产品的硬件初始化。
2.根据权利要求1所述的内核的嵌入式产品适配方法,其特征在于,在获取用于适配目标内核的多个嵌入式产品之后,还包括:
生成与所述多个嵌入式产品匹配的固定配置参数集;
将与所述固定配置参数集匹配的各固定配置参数的配置信息直接写入至所述目标内核中。
3.根据权利要求2所述的内核的嵌入式产品适配方法,其特征在于,生成与所述多个嵌入式产品匹配的可变配置参数集以及固定配置参数集,包括:
分别获取与每个嵌入式产品分别对应的硬件配置信息;
将与每个嵌入式产品分别对应的硬件配置信息进行聚类处理,并根据聚类结果,生成与所述多个嵌入式产品匹配的可变配置参数集以及固定配置参数集。
4.根据权利要求1所述的内核的嵌入式产品适配方法,其特征在于,根据所述可变配置参数集,构建得到可变配置参数动态获取指令集,包括:
依次从所述可变配置参数集中获取当前可变配置参数;
在通用指令集中,获取与所述当前可变配置参数匹配的当前参数获取指令,并将所述当前参数获取指令加入至所述可变配置参数动态获取指令集中;
返回执行依次从所述可变配置参数集中获取当前可变配置参数的操作,直至完成对所述可变配置参数集中全部可变配置参数的处理。
5.根据权利要求1-4任一项所述的内核的嵌入式产品适配方法,其特征在于,将所述可变配置参数动态获取指令集写入至所述目标内核中的目标文件中,包括:
在所述目标内核中,识别引导加载程序映像文件作为目标文件;
将所述可变配置参数动态获取指令集封装为目标结构体;
将所述目标结构体写入至所述引导加载程序映像文件的文件头部。
6.根据权利要求5所述的内核的嵌入式产品适配方法,其特征在于,在对配置于目标嵌入式产品的目标内核进行初始化过程中,触发执行所述目标文件中的所述配置参数动态获取指令集,包括:
响应于对配置于目标嵌入式产品的目标内核的初始化指令,获取所述目标内核中的所述引导加载程序映像文件;
从所述引导加载程序映像文件的文件头部开始进行文件解析,并在解析至所述目标结构体时,触发执行所述目标文件中的所述配置参数动态获取指令集。
7.根据权利要求1-4任一项所述的内核的嵌入式产品适配方法,其特征在于,通过执行所述配置参数动态获取指令集,实现对所述目标嵌入式产品的硬件初始化,包括:
通过执行所述配置参数动态获取指令集中的各配置参数动态获取指令,读取所述目标嵌入式产品中各外设或者各物理接口的配置信息;
将读取的所述各外设或者各物理接口的配置信息进行内核存储;
通过与所述目标嵌入式产品中所述各外设和所述各物理接口交互内核存储的各所述配置信息,实现所述各外设和所述各物理接口的硬件初始化。
8.一种内核的嵌入式产品适配装置,其特征在于,包括:
参数集生成模块,用于获取用于适配目标内核的多个嵌入式产品,并生成与所述多个嵌入式产品匹配的可变配置参数集;
指令集构建模块,用于根据所述可变配置参数集,构建得到可变配置参数动态获取指令集,并将所述可变配置参数动态获取指令集写入至所述目标内核的目标文件中;
指令集动态获取模块,用于在对配置于目标嵌入式产品的目标内核进行初始化的过程中,触发执行所述目标内核的目标文件中的所述配置参数动态获取指令集;
硬件初始化模块,用于通过执行所述配置参数动态获取指令集,实现对所述目标嵌入式产品的硬件初始化;
其中,所述参数集生成模块、所述指令集构建模块、所述指令集动态获取模块以及所述硬件初始化模块依次相连。
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的一种内核的嵌入式产品适配方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-7中任一项所述的一种内核的嵌入式产品适配方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410123599.1A CN117950751A (zh) | 2024-01-29 | 2024-01-29 | 一种内核的嵌入式产品适配方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410123599.1A CN117950751A (zh) | 2024-01-29 | 2024-01-29 | 一种内核的嵌入式产品适配方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117950751A true CN117950751A (zh) | 2024-04-30 |
Family
ID=90791901
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410123599.1A Pending CN117950751A (zh) | 2024-01-29 | 2024-01-29 | 一种内核的嵌入式产品适配方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117950751A (zh) |
-
2024
- 2024-01-29 CN CN202410123599.1A patent/CN117950751A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112540806B (zh) | 一种小程序页面渲染方法、装置、电子设备及存储介质 | |
CN106708517A (zh) | 软件自动升级测试系统及方法 | |
CN109582377A (zh) | Bios选项修改方法、装置、设备及存储介质 | |
CN112925587A (zh) | 用于初始化应用的方法和装置 | |
CN115033352A (zh) | 多核处理器任务调度方法、装置及设备、存储介质 | |
CN115168130A (zh) | 一种芯片测试方法、装置、电子设备及存储介质 | |
CN111158987A (zh) | 微服务架构的健康检查方法及装置 | |
CN113885971A (zh) | 一种基于自适应平台系统的状态管理方法及装置 | |
CN117950751A (zh) | 一种内核的嵌入式产品适配方法、装置、设备及介质 | |
CN116361106A (zh) | 一种日志处理方法、装置、电子设备及存储介质 | |
CN115269431A (zh) | 一种接口测试方法、装置、电子设备及存储介质 | |
CN115794132A (zh) | 操作系统部署方法、装置、设备及存储介质 | |
CN113703805A (zh) | arm64架构虚拟化系统的升级方法、系统、终端及存储介质 | |
CN113849195A (zh) | 应用程序加载方法、装置、存储介质以及终端 | |
CN111078596A (zh) | Flash芯片控制方法、设备、系统及可读存储介质 | |
CN116185670B (zh) | 内存间的数据交换方法、装置、电子设备及存储介质 | |
CN110175116B (zh) | 一种测试日期切换方法、装置及系统 | |
CN113900734B (zh) | 一种应用程序文件配置方法、装置、设备及存储介质 | |
CN116661951B (zh) | 镜像文件处理方法、装置、电子设备及存储介质 | |
CN113535187B (zh) | 服务上线方法、服务更新方法及服务提供方法 | |
CN115268790A (zh) | 一种数据读写方法、装置、电子设备及存储介质 | |
CN117407044A (zh) | 跨端组件的配置方法、装置、设备及介质 | |
CN113886401A (zh) | 一种数据纳管方法、装置、设备和计算机可读存储介质 | |
CN116225523A (zh) | 一种软件配置方法、装置、设备及存储介质 | |
CN117009000A (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 |