SOC启动早期载入用户配置的方法及系统、Bootloader镜像配置方法与流程

文档序号:17988316发布日期:2019-06-22 00:34阅读:364来源:国知局
SOC启动早期载入用户配置的方法及系统、Bootloader镜像配置方法与流程

本发明涉及soc启动方案技术领域,具体涉及一种soc启动早期载入用户配置的方法及系统、bootloader镜像及其配置方法。



背景技术:

嵌入式soc一般会在片内集成一块rom,rom上会固化一段启动代码,通常称之为romcode。cpu解复位后,会首先执行romcode,romcode负责从外部存储设备上载入下一阶段的启动代码,通常称为bootloader。

由于romcode在soc流片阶段已经固化在soc内部,后期无法修改,所以romcode为了能够支持尽可能多的外部存储设备,一般针对总线接口的配置比较保守,通常会给总线时序预留比较大的裕量,以及使用单数据线等。但这些手段会导致romcode从外部存储设备的载入bootloader的速度比较慢,或者说达不到最优效率。

为了解决上述问题,现有技术中通过在soc内部增加一个模块,用于专门从外部存储设备上载入并应用这些配置,之后释放cpu。但是这种方式需要专门设计ip模块从外部存储设备载入并应用配置,技术难度相对较高。

因此,针对上述技术问题,有必要提供一种新的soc启动早期载入用户配置的方法及系统。



技术实现要素:

有鉴于此,本发明的目的之一在于提供一种soc启动早期载入用户配置的方法及系统。

为了实现上述目的,本发明一实施例提供的技术方案如下:

一种soc启动早期载入用户配置的方法,所述方法包括:

在bootloader镜像中定义位于最前端的bootloader头部信息、以及bootloader配置信息,所述bootloader配置信息包括若干配置条目,所述若干配置条目分别包括各自的配置后等待时间;

在soc启动时载入bootloader镜像中的bootloader头部信息;

根据所述bootloader头部信息载入所述bootloader配置信息;

提取并应用所述bootloader配置信息中的若干配置条目,其中,在应用所述若干配置条目后分别等待相应的配置后等待时间;

载入bootloader镜像中的bootloader代码段。

作为本发明的进一步改进,所述bootloader头部信息包括bootloader配置信息在bootloader镜像中的位置以及bootloader配置信息的大小。

作为本发明的进一步改进,根据所述bootloader头部信息载入所述bootloader配置信息,具体包括:

根据所述bootloader头部信息中bootloader配置信息在bootloader镜像中的位置以及bootloader配置信息的大小,载入所述bootloader配置信息。

作为本发明的进一步改进,所述bootloader配置信息中的若干配置条目还分别包括寄存器地址、和/或要写入寄存器的值、和/或寄存器位宽。

本发明一实施例还提供一种bootloader镜像配置方法,所述方法包括:

在bootloader镜像中定义bootloader头部信息和bootloader配置信息,所述bootloader头部信息用于指引载入所述bootloader配置信息,所述bootloader配置信息包括若干配置条目,所述若干配置条目分别包括各自的配置后等待时间。

本发明一实施例还提供一种soc启动早期载入用户配置的系统,所述系统包括:

bootloader镜像,所述bootloader镜像中定义有位于最前端的bootloader头部信息、以及bootloader配置信息,所述bootloader配置信息包括若干配置条目,所述若干配置条目分别包括各自的配置后等待时间;

rom启动单元,用于执行:

在soc启动时载入bootloader镜像中的bootloader头部信息;

根据所述bootloader头部信息载入所述bootloader配置信息;

提取并应用所述bootloader配置信息中的若干配置条目,其中,在应用所述若干配置条目后分别等待相应的配置后等待时间;

载入bootloader镜像中的bootloader代码段。

作为本发明的进一步改进,所述bootloader头部信息包括bootloader配置信息在bootloader镜像中的位置以及bootloader配置信息的大小。

作为本发明的进一步改进,所述rom启动单元还具体用于:

根据所述bootloader头部信息中bootloader配置信息在bootloader镜像中的位置以及bootloader配置信息的大小,载入所述bootloader配置信息。

作为本发明的进一步改进,所述bootloader配置信息中的若干配置条目还分别包括寄存器地址、和/或要写入寄存器的值、和/或寄存器位宽。

本发明一实施例还提供一种bootloader镜像,所述bootloader镜像包括:

定义在最前端的bootloader头部信息、以及bootloader配置信息,所述bootloader头部信息用于指引载入所述bootloader配置信息,所述bootloader配置信息包括若干配置条目,所述若干配置条目分别包括各自的配置后等待时间。

本发明具有以下有益效果:

本发明通过在bootloader镜像中定义位于最前端的bootloader头部信息、以及bootloader配置信息,bootloader配置信息的配置条目中分别包括各自的配置后等待时间,在应用这些配置条目后,可以按照相应的配置后等待时间进行等待,并在配置结束后及时载入bootloader代码段,从而实现了总体配置后等待时间的可控和最优化,不需要为总线时序预留过大的裕量,显著提升了romcode从外部储存设备载入bootloader的速度;同时,通过将bootloader配置信息分离,用户可以在软件层面对配置条目中的成员进行按需配置,灵活性更高。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明中soc启动早期载入用户配置的方法的流程示意图;

图2为本发明中soc启动早期载入用户配置的系统的模块示意图;

图3为本发明中bootloader镜像的模块示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

配合参照图1至图3,介绍本发明一种soc启动早期载入用户配置的方法,该方法包括:

s1、在bootloader镜像中定义位于最前端的bootloader头部信息、以及bootloader配置信息,bootloader配置信息包括若干配置条目,该若干配置条目分别包括各自的配置后等待时间。

一实施例中,bootloader头部信息包括两个成员cfg_offset和cfg_size。cfg_offset用于指明bootloader配置信息在bootloader镜像中的位置,cfg_size用于指明bootloader配置信息的大小。

一实施例中,bootloader配置信息中的若干配置条目还分别包括寄存器地址、和/或要写入寄存器的值、和/或寄存器位宽。需要理解的是,在本发明的实施例中,由于通过bootloader配置信息将上述的配置条目与bootloader代码段互相分离,用户可以在软件层面对配置条目中的成员进行按需配置,所以在一些其他的实施例中,配置条目中的成员还可以包括不限于上述列举的内容,而这些实施例仍应当属于本发明的保护范围之内。

s2、在soc启动时载入bootloader镜像中的bootloader头部信息。

bootloader头部信息由于位于bootloader镜像的最前端,因此会在soc启动时被首先载入,但bootloader头部信息的信息量较少,对soc启动速度影响较小。

s3、根据bootloader头部信息载入bootloader配置信息。

一实施例中,可以是根据bootloader头部信息中bootloader配置信息在bootloader镜像中的位置以及bootloader配置信息的大小,载入bootloader配置信息。

同样的,bootloader配置信息同样仅占据较少的信息量,对soc启动速度影响较小。

s4、提取并应用bootloader配置信息中的若干配置条目,其中,在应用若干配置条目后分别等待相应的配置后等待时间。

bootloader配置信息中通常包括多个的配置条目,每个配置条目都有与其对应的所需配置后等待时间,而依据各自的配置后等待时间进行应用等待,可以实现每个配置条目的最佳应用效率。

s5、载入bootloader镜像中的bootloader代码段,以实现对用户配置的载入。

这里,在载入bootloader镜像中的bootloader代码段时,用户的配置实质上已经在soc从片内启动的早期实现了提前载入。

本发明还提供一种bootloader镜像配置方法,该方法包括:

在bootloader镜像中定义bootloader头部信息和bootloader配置信息,bootloader头部信息用于指引载入bootloader配置信息,bootloader配置信息包括若干配置条目,该若干配置条目分别包括各自的配置后等待时间。

这里的bootloader头部信息包括两个成员cfg_offset和cfg_size。cfg_offset用于指明bootloader配置信息在bootloader镜像中的位置,cfg_size用于指明bootloader配置信息的大小。bootloader配置信息中的若干配置条目还分别包括寄存器地址、和/或要写入寄存器的值、和/或寄存器位宽。

参图2,本发明还提供一种soc启动早期载入用户配置的系统,该系统包括:

bootloader镜像,bootloader镜像中定义有位于最前端的bootloader头部信息、以及bootloader配置信息,bootloader配置信息包括若干配置条目,若干配置条目分别包括各自的配置后等待时间;

rom启动单元,用于执行:

在soc启动时载入bootloader镜像中的bootloader头部信息;

根据bootloader头部信息载入bootloader配置信息;

提取并应用bootloader配置信息中的若干配置条目,其中,在应用若干配置条目后分别等待相应的配置后等待时间;

载入bootloader镜像中的bootloader代码段,以实现对用户配置的载入。

一实施例中,bootloader头部信息包括bootloader配置信息在bootloader镜像中的位置以及bootloader配置信息的大小。

一实施例中,rom启动单元还具体用于:

根据bootloader头部信息中bootloader配置信息在bootloader镜像中的位置以及bootloader配置信息的大小,载入bootloader配置信息。

一实施例中,bootloader配置信息中的若干配置条目还分别包括寄存器地址、和/或要写入寄存器的值、和/或寄存器位宽。

参图3,本发明还提供一种bootloader镜像,该bootloader镜像包括:

定义在最前端的bootloader头部信息、以及bootloader配置信息,bootloader头部信息用于指引载入bootloader配置信息,bootloader配置信息包括若干配置条目,若干配置条目分别包括各自的配置后等待时间。

由以上技术方案可以看出,本发明具有以下优点:

本发明通过在bootloader镜像中定义位于最前端的bootloader头部信息、以及bootloader配置信息,bootloader配置信息的配置条目中分别包括各自的配置后等待时间,在应用这些配置条目后,可以按照相应的配置后等待时间进行等待,并在配置结束后及时载入bootloader代码段,从而实现了总体配置后等待时间的可控和最优化,不需要为总线时序预留过大的裕量,显著提升了romcode从外部储存设备载入bootloader的速度;同时,通过将bootloader配置信息分离,用户可以在软件层面对配置条目中的成员进行按需配置,灵活性更高。

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。

为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书一个或多个实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

本领域技术人员应明白,本说明书一个或多个实施例的实施例可提供为方法、系统或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本说明书一个或多个实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书一个或多个实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。

此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。

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