boot阶段初始化兼容的实现方法、系统及计算机设备与流程

文档序号:21625527发布日期:2020-07-29 02:32阅读:277来源:国知局
boot阶段初始化兼容的实现方法、系统及计算机设备与流程

本发明涉及终端技术领域,尤其涉及的是boot阶段初始化兼容的实现方法、系统及计算机设备。



背景技术:

目前各个成品厂家在开发一个产品时,通过有两种方法,第一种是芯片厂家将代码公开给成品厂家,成品厂家基于芯片厂家的boot框架进行产品设计与修改。第二种是芯片厂家的代码不公开给成品厂家,成品厂家告知芯片厂家产品设计的需求,由芯片厂家根据需求修改后导入到产品中。

现有的方案在开发过程,效率,问题验证,代码一致性,维护上都有很大问题。如上述第一种方法中,由于一个成品厂家可能会用不同的芯片,如果修改都基于原有芯片厂家的流程,驱动,代码框架,方法使用,那每个平台,每个芯片,都要需要重复工作,重复学习,重复整理,且代码质量会有各种差异,不能把控,统一和更好的调试。而上述第二种情况中由于boot阶段涉及很多模块的初始化,模块的初试都有标准流程,且跟硬件强相关,如果代码不开放给成品厂商,成品厂商的产品开发风险完全交由芯片厂家,不利于产品的开发。

因此,现有技术有待于进一步的改进。



技术实现要素:

鉴于上述现有技术中的不足之处,本发明提供了boot阶段初始化兼容的实现方法、系统及计算机设备,克服现有技术中的芯片厂家的boot框架不兼容,若成品厂商基于芯片厂商的boot框架进行修改,每个芯片都需要修改,操作繁琐,且代码质量差异较大,不利于把控;由芯片厂商根据成品厂商的需求进行修改,成品开发的风险完全交由芯片厂家,不利于产品的开发的问题。

本发明解决技术问题所采用的技术方案如下:

boot阶段初始化兼容的实现方法,其中,应用于boot阶段初始化系统,所述boot阶段初始化系统包括:系统层、逻辑接口层、逻辑实现层、设备接口层和设备实现层;

所述boot阶段初始化兼容的实现方法包括:

所述系统层接收初始化指令,并根据所述初始化指令调用所述逻辑接口层中的初始化接口;

所述逻辑实现层根据所述初始化接口获取所述初始化指令对应的初始化函数,并根据所述初始化函数调用所述设备接口层中的设备接口;

所述设备实现层根据所述设备接口执行相应的boot阶段初始化操作,以进行boot阶段初始化。

所述的boot阶段初始化兼容的实现方法,其中,所述系统层接收初始化指令,并根据所述初始化指令调用所述逻辑接口层中的初始化接口的步骤包括:

所述系统层接收初始化指令,判断所述逻辑接口层中是否有与所述初始化指令对应的初始化接口;

若是,则通过导入所述逻辑接口层的头文件调用所述逻辑接口层中的初始化接口。

所述的boot阶段初始化兼容的实现方法,其中,所述系统层接收初始化指令,并根据所述初始化指令调用所述逻辑接口层中的初始化接口的步骤之前还包括:

在所述逻辑接口层中设置与所述初始化指令对应的初始化接口。

所述的boot阶段初始化兼容的实现方法,其中,所述逻辑实现层中预先设置有与所述初始化接口相对应的初始化函数;

所述逻辑实现层根据所述初始化接口获取所述初始化指令对应的初始化函数的步骤具体包括:

所述逻辑实现层将所述逻辑实现层中的初始化函数与所述初始化接口进行比较,判断所述初始化函数是否与所述初始化接口相匹配;

若是,则获取所述初始化函数。

所述的boot阶段初始化兼容的实现方法,其中,所述逻辑实现层根据所述初始化函数调用所述设备接口层中的设备接口的步骤具体包括:

所述逻辑实现层根据所述初始化函数导入所述设备接口层对应的头文件,根据所述设备接口层对应的头文件调用所述设备接口层中的设备接口。

所述的boot阶段初始化兼容的实现方法,其中,所述设备实现层根据所述设备接口执行相应的boot阶段初始化操作,以进行boot阶段初始化的步骤包括:

所述设备实现层根据所述设备接口,执行与所述设备接口相应的读操作或写操作,以进行boot阶段初始化。

所述的boot阶段初始化兼容的实现方法,其中,所述设备实现层根据所述设备接口,执行与所述设备接口相应的读操作或写操作,以进行boot阶段初始化的步骤包括:

所述设备实现层根据所述设备接口,执行与所述设备接口相应的读操作,获取与所述初始化指令对应的初始化参数;

根据所述初始化参数对所述初始化指令对应的寄存器进行相应的写操作,以进行boot阶段初始化。

boot阶段初始化系统,其中,包括:系统层、逻辑接口层、逻辑实现层、设备接口层和设备实现层;

所述系统层接收初始化指令,并根据所述初始化指令调用所述逻辑接口层中的初始化接口;

所述逻辑实现层根据所述初始化接口获取所述初始化指令对应的初始化函数,并根据所述初始化函数调用所述设备接口层中的设备接口;

所述设备实现层根据所述设备接口执行相应的boot阶段初始化操作,以进行boot阶段初始化。

一种计算机设备,其中,包括:处理器、与处理器通信连接的存储介质,所述存储介质适于存储多条指令;所述处理器适于调用所述存储介质中的指令,以执行实现所述的boot阶段初始化兼容的实现方法的步骤。

一种存储介质,其上存储有多条指令,其中,所述指令适于由处理器加载并执行,以执行实现所述的boot阶段初始化兼容的实现方法的步骤。

本发明的有益效果:本发明通过接口层和实现层实现boot阶段初始化,实现了不同芯片厂商的boot框架兼容,芯片厂商不用为多样化的外设初始化而头疼,减少了成品厂商与芯片厂商的对接工作量,提高工作效率,实现了代码的统一,降低了成品开发风险。

附图说明

图1是本发明实施例提供的boot阶段初始化兼容的实现方法的较佳实施例的流程图;

图2是本发明实施例提供的boot阶段初始化系统的结构示意图;

图3是本发明实施例提供的计算机设备的功能原理图。

具体实施方式

为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明提供的一种boot阶段初始化兼容的实现方法,可以应用于有boot初始化需求的终端。其中,终端可以但不限于是各种个人计算机、笔记本电脑、手机、平板电脑、车载电脑和便携式可穿戴设备。本发明的终端采用多核处理器。其中,终端的处理器可以为中央处理器(centralprocessingunit,cpu),图形处理器(graphicsprocessingunit,gpu)、视频处理单元(videoprocessingunit,vpu)等中的至少一种。

为了解决现有技术中的芯片厂家的boot框架不兼容,若成品厂商基于芯片厂商的boot框架进行修改,每个芯片都需要修改,操作繁琐,且代码质量差异较大,不利于把控;由芯片厂商根据成品厂商的需求进行修改,成品开发的风险完全交由芯片厂家,不利于产品的开发的问题,本发明提供了一种boot阶段初始化兼容的实现方法。

请参照图1,图1是本发明提供的一种boot阶段初始化兼容的实现方法较佳实施例的流程图。

在本发明的较佳实施例中,所述boot阶段初始化兼容的实现方法应用于boot阶段初始化系统,所述boot阶段初始化兼容的实现方法有四个步骤:

步骤s100、所述系统层接收初始化指令,并根据所述初始化指令调用所述逻辑接口层中的初始化接口;

步骤s200、所述逻辑实现层根据所述初始化接口获取所述初始化指令对应的初始化函数,并根据所述初始化函数调用所述设备接口层中的设备接口;

步骤s300、所述设备实现层根据所述设备接口执行相应的boot阶段初始化操作,以进行boot阶段初始化。

由于现有技术中的芯片厂家的boot框架不兼容,若成品厂商基于芯片厂商的boot框架进行修改,每个芯片都需要修改,操作繁琐,且代码质量差异较大,不利于把控;由芯片厂商根据成品厂商的需求进行修改,成品开发的风险完全交由芯片厂家,不利于产品的开发。本实施例中成品厂家需要进行产品的设计和修改时,将包含成品厂家需求的代码发送给芯片厂家,由芯片厂家发起初始化指令,系统层接收到芯片厂家的初始化指令后,根据初始化指令调用逻辑接口层中的初始化接口;然后由逻辑实现层根据初始化接口获取初始化指令对应的初始化函数,并根据初始化函数调用设备接口层中的设备接口;随后由设备实现层根据逻辑现实层调用的设备接口执行相应的boot阶段初始化操作,以进行boot阶段初始化。例如,芯片厂家的方案使用的外部模块较为单一,如功放型号与成品厂商使用的产品型号不一样,则成品厂商在进行产品开发时需要对功放进行初始化,按照现有技术,成品厂商需要基于各个芯片厂商的boot框架依次进行boot阶段初始化,或者将需求告诉芯片厂家由芯片厂家进行boot阶段初始化,而按照本发明中的方法进行boot阶段初始化时,成品厂商只需要将包含需求的代码提供给芯片厂商,芯片厂商通过各接口层和实现层实现boot阶段初始化,实现了不同芯片厂商的boot框架兼容,芯片厂商不用为多样化的外设初始化而头疼,减少了成品厂商与芯片厂商的对接工作量,提高工作效率,实现了代码的统一,降低了成品开发风险。

在一具体实施方式中,所述步骤s100之前还包括:

s001、在所述逻辑接口层中设置与所述初始化指令对应的初始化接口。

具体实施时,本实施例中预先在逻辑接口层中设置与初始化指令相对应的初始化接口,所述逻辑接口层中的初始化接口的代码由后缀为“.h”文件组成。例如,初始化指令为对功放进行初始化时,则调用代码为“audio.h”的初始化接口;初始化指令为对led灯进行初始化时,则调用代码为“led.h”的初始化接口。

在一具体实施方式中,所述步骤s100具体包括:

s110、所述系统层接收初始化指令,判断所述逻辑接口层中是否有与所述初始化指令对应的初始化接口;

s120、若是,则通过导入所述逻辑接口层的头文件调用所述逻辑接口层中的初始化接口。

具体实施时,系统层接收到初始化指令后,判断逻辑接口层中是否有与初始化指令对应的初始化接口;若是,则通过导入逻辑接口层的头文件调用逻辑接口层中与初始化指令对应的初始化接口;若否,则结束对初始化指令的响应。例如,初始化指令为对功放进行初始化时,系统层判断逻辑接口层对应代码为“audio.h”的初始化接口,则通过导入逻辑接口层的头文件调用代码为“audio.h”的初始化接口。

在一具体实施方式中,步骤s200中所述逻辑实现层根据所述初始化接口获取所述初始化指令对应的初始化函数的步骤具体包括:

s210、所述逻辑实现层将所述逻辑实现层中的初始化函数与所述初始化接口进行比较,判断所述初始化函数是否与所述初始化接口相匹配;

s220、若是,则获取所述初始化函数。

具体实施时,所述逻辑实现层中预先存储有与所述初始化接口对应的初始化函数,所述逻辑实现层中的代码由后缀为“.cpp”和“.c”的文件组成,例如逻辑接口层中的代码为kk_boot_framework_amp.h,则逻辑实现层中有对应的代码kk_boot_framework_amp.c。系统层根据初始化指令调用逻辑接口层中的初始化接口后,逻辑实现层将逻辑层中的初始化函数与初始化接口进行比较,判断初始化函数是否与初始化接口相匹配;若是,则将与初始化接口相匹配的初始化函数作为初始化指令对应的初始化函数,并获取所述初始化接口。

在一具体实施方式中,步骤s200中所述逻辑实现层根据所述初始化函数调用所述设备接口层的步骤具体包括:

s230、所述逻辑实现层根据所述初始化函数导入所述设备接口层对应的头文件,根据所述设备接口层对应的头文件调用所述设备接口层中的设备接口。

具体实施时,所述设备接口层中设置有各种设备接口,逻辑实现层根据初始化接口获取初始化指令对应的初始化函数后,根据所述初始化函数导入所述设备接口层对应的头文件,根据所述设备接口层对应的头文件调用设备接口层中的设备接口。

在一具体实施方式中,所述步骤s300具体包括:

步骤s310、所述设备实现层根据所述设备接口,执行与所述设备接口相应的读操作或写操作,以进行boot阶段初始化。

具体实施时,逻辑实现层根据初始化函数调用设备接口层中的设备接口后,设备实现层根据逻辑实现层调用的设备接口,执行与所述设备接口相应的读操作或写操作,以进行boot阶段初始化。

在一具体实施方式中,所述步骤s310具体包括:

s311、所述设备实现层根据所述设备接口,执行与所述设备接口相应的读操作,获取与所述初始化指令对应的初始化参数;

s312、根据所述初始化参数对所述初始化指令对应的寄存器进行相应的写操作,以进行boot阶段初始化。

具体实施时,逻辑实现层调用设备接口层中的设备接口后,设备实现层根据逻辑实现层调用的设备接口,执行与设备接口相应的读操作,获取与初始化指令对应的初始化参数,并根据初始化参数对初始化指令对应的寄存器进行相应的写操作,以进行boot阶段初始化。例如,对功放进行初始化时,需要获取功放的初始化参数,设备实现层根据逻辑实现层调用的设备接口对固定的flash分区进行写操作,获取功放初始化参数,并根据功放初始化参数对功放寄存器进行写操作,从而对功放进行初始化。

基于上述实施例,本发明还提供了一种boot阶段初始化系统,所述boot阶段初始化系统被应用于上述的boot阶段初始化兼容的实现方法,其结构示意图如图2所示。所述boot阶段初始化系统包括系统层110、逻辑接口层120、逻辑实现层130、设备接口层140和设备实现层150;

所述系统层110接收初始化指令,并根据所述初始化指令调用所述逻辑接口层120中的初始化接口;

所述逻辑实现层130根据所述初始化接口获取所述初始化指令对应的初始化函数,并根据所述初始化函数调用所述设备接口层140中的设备接口;

所述设备实现层150根据所述设备接口执行相应的boot阶段初始化操作,以进行boot阶段初始化。

基于上述实施例,本发明还提供了一种计算机设备,其原理框图可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和温度传感器。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种boot阶段初始化兼容的实现方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的温度传感器是预先在装置内部设置,用于检测内部设备的当前运行温度。

本领域技术人员可以理解,图3中示出的原理框图,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的装置的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时至少可以实现以下步骤:

所述系统层接收初始化指令,并根据所述初始化指令调用所述逻辑接口层中的初始化接口;

所述逻辑实现层根据所述初始化接口获取所述初始化指令对应的初始化函数,并根据所述初始化函数调用所述设备接口层中的设备接口;

所述设备实现层根据所述设备接口执行相应的boot阶段初始化操作,以进行boot阶段初始化。

在其中的一个实施例中,该处理器执行计算机程序时还可以实现:所述系统层接收初始化指令,判断所述逻辑接口层中是否有与所述初始化指令对应的初始化接口;若是,则通过导入所述逻辑接口层的头文件调用所述逻辑接口层中的初始化接口。

在其中的一个实施例中,该处理器执行计算机程序时还可以实现:所述逻辑实现层将所述逻辑实现层中的初始化函数与所述初始化接口进行比较,判断所述初始化函数是否与所述初始化接口相匹配;若是,则获取所述初始化函数。

在其中的一个实施例中,该处理器执行计算机程序时还可以实现:所述逻辑实现层根据所述初始化函数导入所述设备接口层对应的头文件,根据所述设备接口层对应的头文件调用所述设备接口层中的设备接口。

在其中的一个实施例中,该处理器执行计算机程序时还可以实现:所述设备实现层根据所述设备接口,执行与所述设备接口相应的读操作或写操作,以进行boot阶段初始化。

在其中的一个实施例中,该处理器执行计算机程序时还可以实现:所述设备实现层根据所述设备接口,执行与所述设备接口相应的读操作,获取与所述初始化指令对应的初始化参数;根据所述初始化参数对所述初始化指令对应的寄存器进行相应的写操作,以进行boot阶段初始化。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

综上所述,本发明公开了boot阶段初始化兼容的实现方法、系统及计算机设备,方法包括:所述系统层接收初始化指令,并根据所述初始化指令调用所述逻辑接口层中的初始化接口;所述逻辑实现层根据所述初始化接口获取所述初始化指令对应的初始化函数,并根据所述初始化函数调用所述设备接口层;所述设备接口层从所述设备实现层中获取与所述初始化指令对应的初始化参数;所述系统层根据所述初始化参数进行boot阶段初始化。本发明通过接口层和实现层实现boot阶段初始化,实现了不同芯片厂商的boot框架兼容,芯片厂商不用为多样化的外设初始化而头疼,减少了成品厂商与芯片厂商的对接工作量,提高工作效率,实现了代码的统一,降低了成品开发风险。

应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1