启动引导程序加载方法、装置、系统、电子设备及介质与流程

文档序号:28595084发布日期:2022-01-22 10:11阅读:147来源:国知局
启动引导程序加载方法、装置、系统、电子设备及介质与流程

1.本技术涉及计算机技术领域,特别涉及一种启动引导程序加载方法、启动引导程序加载装置、启动引导程序加载系统、电子设备及计算机可读存储介质。


背景技术:

2.蜂窝无线通信模组作为汽车电气系统中的重要部件,其bootloader(启动引导程序)非常重要。通常,bootloader运行在cpu(central processing unit,处理器)内部的imem(即internal memory,处理器片内内存)之上。当前,在编译bootloader时,编译器将所有的代码运行空间都部署在imem空间的地址范围内。cpu在上电启动后,从flash(即闪存)上读出完整的bootloader代码,将其加载到imem中运行。位于cpu内部的imem空间大小通常非常有限,且厂商无法通过修改硬件来扩充imem空间大小。这就导致了厂商通常无法在bootloader中实现强大且必要的功能来增加增强蜂窝无线通信模组的可靠性,否则bootloader将超出imem空间范围,最终无法被正常加载和运行。


技术实现要素:

3.有鉴于此,本技术的目的在于提供一种启动引导程序加载方法、启动引导程序加载装置、启动引导程序加载系统、电子设备及计算机可读存储介质,使得启动引导程序的大小不受限制。
4.为解决上述技术问题,本技术提供了一种启动引导程序加载方法,包括:
5.若检测到需要加载启动引导程序,则将闪存存储器中的第一代码段加载至处理器片内内存;
6.运行所述第一代码段,以便在所述第一代码段运行时将所述闪存存储器中的第二代码段加载至外部存储器;
7.运行所述第二代码段。
8.可选地,所述将闪存存储器中的第一代码段加载至处理器片内内存,包括:
9.识别所述闪存存储器中各个启动引导程序代码段对应的代码段标识;
10.将具有第一代码段标识的所述第一代码段加载至所述处理器片内内存。
11.可选地,还包括:
12.将所述启动引导程序中的硬件驱动代码和加载引导代码标记为所述第一代码段;
13.将所述启动引导程序中的功能代码标记为所述第二代码段。
14.可选地,所述将所述初始启动引导程序中的硬件驱动代码和加载引导代码标记为所述第一代码段,包括:
15.将所述硬件驱动代码和所述加载引导代码的运行空间起始地址,指定为所述处理器片内内存的第一地址;
16.相应的,所述将所述初始启动引导程序中的功能代码标记为所述第二代码段,包括:
17.将所述功能代码的运行空间起始地址,指定为所述外部存储器的第二地址。
18.可选地,所述将闪存存储器中的第一代码段加载至处理器片内内存,包括:
19.识别所述闪存存储器中各个启动引导程序代码段对应的所述运行空间起始地址;
20.将所述运行空间起始地址为所述第一地址的所述第一代码段加载至所述处理器片内内存。
21.可选地,还包括:
22.获取编辑指令,并根据所述编辑指令,编辑所述功能代码。
23.本技术还提供了一种启动引导程序加载装置,包括:
24.加载模块,用于若检测到需要加载启动引导程序,则将闪存存储器中的第一代码段加载至处理器片内内存;
25.第一运行模块,用于运行所述第一代码段,以便在所述第一代码段运行时将所述闪存存储器中的第二代码段加载至外部存储器;
26.第二运行模块,用于运行所述第二代码段。
27.本技术还提供了一种启动引导程序加载系统,包括处理器、闪存存储器和外部存储器,其中:
28.所述闪存存储器,用于存储启动引导程序;
29.所述处理器,用于若检测到需要加载启动引导程序,则将闪存存储器中的第一代码段加载至处理器片内内存;运行所述第一代码段,以便在所述第一代码段运行时将所述闪存存储器中的第二代码段加载至外部存储器;运行所述第二代码段。
30.本技术还提供了一种电子设备,包括存储器和处理器,其中:
31.所述存储器,用于保存计算机程序;
32.所述处理器,用于执行所述计算机程序,以实现上述的启动引导程序加载方法。
33.本技术还提供了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现上述的启动引导程序加载方法。
34.本技术提供的启动引导程序加载方法,若检测到需要加载启动引导程序,则将闪存存储器中的第一代码段加载至处理器片内内存;运行第一代码段,以便在第一代码段运行时将闪存存储器中的第二代码段加载至外部存储器;运行第二代码段。
35.可见,该方法将启动引导程序划分为两个部分,分别为第一代码段和第二代码段。在加载启动引导程序时,可以将闪存存储区中的第一代码段加载时处理器片内内存中。第一代码段可以不用于实现功能,其被运行后能够将第二代码段加载至外部存储器。外部存储器具有相对较大的存储空间,对第二代码段的数据体积大小几乎无限制。第二代码段用于实现各种功能,由于其大小不受到任何限制,因此可以利用其实现强大且必要的功能来增加增强蜂窝无线通信模组的可靠性,且不受处理器片内内存大小的限制,不会出现启动引导程序无法被正常加载和运行的问题。
36.此外,本技术还提供了一种启动引导程序加载装置、启动引导程序加载系统、电子设备及计算机可读存储介质,同样具有上述有益效果。
附图说明
37.为了更清楚地说明本技术实施例或相关技术中的技术方案,下面将对实施例或相
关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
38.图1为本技术实施例提供的一种启动引导程序加载方法流程图;
39.图2为本技术实施例提供的一种启动引导程序加载系统的结构示意图;
40.图3为本技术实施例提供的一种启动引导程序加载装置的结构示意图;
41.图4为本技术实施例提供的一种电子设备的结构示意图。
具体实施方式
42.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
43.请参考图1,图1为本技术实施例提供的一种启动引导程序加载方法流程图。该方法包括:
44.s101:若检测到需要加载启动引导程序,则将闪存存储器中的第一代码段加载至处理器片内内存。
45.启动引导程序(即bootloader)是嵌入式系统在加电后执行的第一段代码,在它完成cpu和相关硬件的初始化之后,再将操作系统映像或固化的嵌入式应用程序装载到内存中然后跳转到操作系统所在的空间,启动操作系统运行。启动引导程序可以初始化硬件设备、建立内存空间映射图,从而将系统的软硬件环境带到一个合适状态,以便为最终调用操作系统内核准备好正确的环境。
46.在系统加电启动时,会生成需要加载启动引导程序的信号或标识,在检测到该信号或标识后,确定需要加载启动引导程序,因此从闪存存储器中读取第一代码段,并将其加载至处理器片内内存中。第一代码段的具体内容不做限定,其具有特殊的功能,即在其运行后,能够将第二代码段中的内容加载至外部存储器。外部存储器,是指与处理器通信连接的非片内内存的存储器,其具体可以为ddr(double data rate synchronous dynamic random access memory,双倍速率同步动态随机存储器)。
47.s102:运行第一代码段,以便在第一代码段运行时将闪存存储器中的第二代码段加载至外部存储器。
48.第一代码段,是指用于将闪存存储器中的第二代码段加载至外部存储器的代码段。在运行第一代码段后,第一代码段的运行过程会将第二代码段加载至外部存储器。由于外部存储器具有相对较大的存储空间,对第二代码段的数据体积大小几乎无限制,因此可以利用第二代码段实现各种功能,实现强大且必要的功能来增加增强蜂窝无线通信模组的可靠性,不受处理器片内内存大小的限制。
49.s103:运行第二代码段。
50.在第二代码段被加载完毕后,将其运行。第二代码段的运行实现相应的功能。
51.可以理解的是,第一代码段和第二代码段均存储于闪存存储器,因此在进行代码段的加载时,需要确定哪些是第一代码段。具体的,将闪存存储器中的第一代码段加载至处
理器片内内存的过程可以包括:
52.步骤11:识别闪存存储器中各个启动引导程序代码段对应的代码段标识。
53.步骤12:将具有第一代码段标识的第一代码段加载至处理器片内内存。
54.在本实施例中,闪存存储器中,组成启动引导程序的各个启动引导程序代码段均具有对应的代码段标识。在加载第一代码段时,可以识别各个代码段标识,并将具有第一代码段标识的启动引导程序代码段确定为第一代码段,进而将其加载至处理器片内内存,即imem。本实施例并不限定代码段标识的具体形式,其通过对启动引导程序进行标记得到。因此,本实施例还可以包括如下步骤:
55.步骤21:将启动引导程序中的硬件驱动代码和加载引导代码标记为第一代码段。
56.步骤22:将启动引导程序中的功能代码标记为第二代码段。
57.由于第一代码段需要执行初始化硬件设备、建立内存空间映射图等工作,还需要将第二代码段加载至外部存储器,因此在进行标记时,可以将硬件驱动代码和加载引导代码标记为第一代码段。其中,加载引导代码,是指被运行后用于将第二代码段加载至外部存储器的代码。此外,为了实现各种功能以保证蜂窝无线通信模组的可靠性,还可以设置有若干个功能代码,这些功能代码占用空间较大,因此可以将其标记为第二代码段,避免占用imem的空间。
58.本实施例并不限定具体的标记方式,在一种实施方式中,将初始启动引导程序中的硬件驱动代码和加载引导代码标记为第一代码段的过程可以包括:
59.步骤31:将硬件驱动代码和加载引导代码的运行空间起始地址,指定为处理器片内内存的第一地址。
60.相应的,将初始启动引导程序中的功能代码标记为第二代码段的过程可以包括:
61.步骤32:将功能代码的运行空间起始地址,指定为外部存储器的第二地址。
62.由于各个代码在加载时,需要确定其对应的运行空间,因此可以通过设置对应于不同存储设备的方式区分第一代码段和第二代码段。在本实施方式中,通过将硬件驱动代码和加载引导代码的运行空间起始地址设置在imem中的第一地址,此外将功能代码的运行空间起始地址指定为外部存储器的第二地址。
63.相应的,在加载时,可以执行如下步骤:
64.步骤33:识别闪存存储器中各个启动引导程序代码段对应的运行空间起始地址。
65.步骤34:将运行空间起始地址为第一地址的第一代码段加载至处理器片内内存。
66.即在加载时,识别各个启动引导程序代码段的运行空间启示地址,并将该地址为第一地址的代码段确定为第一代码段,进而加载至imem。
67.可以理解的是,用户可以根据需要对功能代码的内容进行设置,因此可以获取编辑指令,并根据编辑指令,编辑功能代码,使得用户能够根据需要设置功能代码。
68.应用本技术实施例提供的启动引导程序加载方法,将启动引导程序划分为两个部分,分别为第一代码段和第二代码段。在加载启动引导程序时,可以将闪存存储区中的第一代码段加载时处理器片内内存中。第一代码段可以不用于实现功能,其被运行后能够将第二代码段加载至外部存储器。外部存储器具有相对较大的存储空间,对第二代码段的数据体积大小几乎无限制。第二代码段用于实现各种功能,由于其大小不受到任何限制,因此可以利用其实现强大且必要的功能来增加增强蜂窝无线通信模组的可靠性,且不受处理器片
内内存大小的限制,不会出现启动引导程序无法被正常加载和运行的问题。
69.下面对本技术实施例提供的启动引导程序加载系统进行介绍,下文描述的启动引导程序加载系统与上文描述的启动引导程序加载方法可相互对应参照。
70.请参考图2,图2为本技术实施例提供的一种启动引导程序加载系统的结构示意图,包括处理器、闪存存储器和外部存储器,其中:
71.闪存存储器,用于存储启动引导程序;
72.处理器,用于若检测到需要加载启动引导程序,则将闪存存储器中的第一代码段加载至处理器片内内存;运行第一代码段,以便在第一代码段运行时将闪存存储器中的第二代码段加载至外部存储器;运行第二代码段。
73.下面对本技术实施例提供的启动引导程序加载装置进行介绍,下文描述的启动引导程序加载装置与上文描述的启动引导程序加载方法可相互对应参照。
74.请参考图3,图3为本技术实施例提供的一种启动引导程序加载装置的结构示意图,包括:
75.加载模块110,用于若检测到需要加载启动引导程序,则将闪存存储器中的第一代码段加载至处理器片内内存;
76.第一运行模块120,用于运行第一代码段,以便在第一代码段运行时将闪存存储器中的第二代码段加载至外部存储器;
77.第二运行模块130,用于运行第二代码段。
78.可选地,加载模块110,包括:
79.标识识别单元,用于识别闪存存储器中各个启动引导程序代码段对应的代码段标识;
80.加载单元,用于将具有第一代码段标识的第一代码段加载至处理器片内内存。
81.可选地,还包括:
82.第一标记模块,用于将启动引导程序中的硬件驱动代码和加载引导代码标记为第一代码段;
83.第二标记模块,用于将启动引导程序中的功能代码标记为第二代码段。
84.可选地,第一标记模块,包括:
85.第一地址设置单元,用于将硬件驱动代码和加载引导代码的运行空间起始地址,指定为处理器片内内存的第一地址;
86.相应的,第二标记模块,包括:
87.第二地址设置单元,用于将功能代码的运行空间起始地址,指定为外部存储器的第二地址。
88.可选地,加载模块110,包括:
89.地址识别单元,用于识别闪存存储器中各个启动引导程序代码段对应的运行空间起始地址;
90.加载单元,用于将运行空间起始地址为第一地址的第一代码段加载至处理器片内内存。
91.可选地,还包括:
92.功能编辑模块,用于获取编辑指令,并根据编辑指令,编辑功能代码。
93.下面对本技术实施例提供的电子设备进行介绍,下文描述的电子设备与上文描述的启动引导程序加载方法可相互对应参照。
94.请参考图4,图4为本技术实施例提供的一种电子设备的结构示意图。其中电子设备100可以包括处理器101和存储器102,还可以进一步包括多媒体组件103、信息输入/信息输出(i/o)接口104以及通信组件105中的一种或多种。
95.其中,处理器101用于控制电子设备100的整体操作,以完成上述的启动引导程序加载方法中的全部或部分步骤;存储器102用于存储各种类型的数据以支持在电子设备100的操作,这些数据例如可以包括用于在该电子设备100上操作的任何应用程序或方法的指令,以及应用程序相关的数据。该存储器102可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(static random access memory,sram)、电可擦除可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、可擦除可编程只读存储器(erasable programmable read-only memory,eprom)、可编程只读存储器(programmable read-only memory,prom)、只读存储器(read-only memory,rom)、磁存储器、快闪存储器、磁盘或光盘中的一种或多种。
96.多媒体组件103可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器102或通过通信组件105发送。音频组件还包括至少一个扬声器,用于输出音频信号。i/o接口104为处理器101和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件105用于电子设备100与其他设备之间进行有线或无线通信。无线通信,例如wi-fi,蓝牙,近场通信(near field communication,简称nfc),2g、3g或4g,或它们中的一种或几种的组合,因此相应的该通信组件105可以包括:wi-fi部件,蓝牙部件,nfc部件。
97.电子设备100可以被一个或多个应用专用集成电路(application specific integrated circuit,简称asic)、数字信号处理器(digital signal processor,简称dsp)、数字信号处理设备(digital signal processing device,简称dspd)、可编程逻辑器件(programmable logic device,简称pld)、现场可编程门阵列(field programmable gate array,简称fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述实施例给出的启动引导程序加载方法。
98.下面对本技术实施例提供的计算机可读存储介质进行介绍,下文描述的计算机可读存储介质与上文描述的启动引导程序加载方法可相互对应参照。
99.本技术还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述的启动引导程序加载方法的步骤。
100.该计算机可读存储介质可以包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
101.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分
说明即可。
102.本领域技术人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应该认为超出本技术的范围。
103.结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。
104.最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系属于仅仅用来将一个实体或者操作与另一个实体或者操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语包括、包含或者其他任何变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
105.本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的一般技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1