一种基于U-Boot的多核处理器一级启动程序架构制造技术

技术编号:33439327 阅读:14 留言:0更新日期:2022-05-19 00:26
本发明专利技术公开一种基于U

【技术实现步骤摘要】
一种基于U

Boot的多核处理器一级启动程序架构


[0001]本专利技术涉及控制系统
,特别涉及一种基于U

Boot的多核处理器一级启动程序架构。

技术介绍

[0002]处理器上电解复位之后,从特定地址区获取第一条可执行指令,该指令所对应的程序称之为第一级启动程序。用以完成芯片核心初始化、二级启动程序加载等功能。由二级启动程序加载操作系统,最终构建完整的软件运行环境。U

Boot作为广泛使用的二级启动程序代码框架,其兼容绝大多数的处理器架构,并具备一般性外设硬件的初始化能力,可灵活加载不同的操作系统镜像。
[0003]对于通用处理器芯片而言,其生态融入程度的重要性不言而喻,而如何能够在软件生态环境中构建出自有特性的软件代码,又显得极为重要。在处理器芯片中,芯片出厂前在其内部ROM中固化了bootrom程序,实际使用过程中程序无法修改,一旦芯片ROM区损坏或bootrom程序设计错误,则芯片无法完成正常的启动流程。
[0004]为补充和扩展芯片启动的多样化,保证芯片在各种环境都可以正常工作,常具备多种启动模式。通过硬件管脚对启动模式进行编码,芯片上电解复位后读取管脚编码值,判断出芯片当前所对应的启动模式。通常来说,非bootrom启动模式下,芯片的第一级启动程序固化在板级的静态存储介质中,处理器从此处获取到第一条的指令,完成芯片的初始化以及程序加载等工作。

技术实现思路

[0005]本专利技术的目的在于提供一种基于U/>‑
Boot的多核处理器一级启动程序架构,以解决
技术介绍
中的问题。
[0006]为解决上述技术问题,本专利技术提供了一种基于U

Boot的多核处理器一级启动程序架构,基于U

Boot代码框架,在编译U

Boot时,能够同时编译出第一级和第二级启动程序;在处理器芯片内部bootrom程序无法启动时,运行该一级启动程序使得处理器芯片能够正常工作;
[0007]该多核处理器一级启动程序系统的镜像文件存储于外部静态存储介质中,其功能包括:
[0008]DDR3内存初始化,用以完成第二级启动程序和操作系统运行环境介质的准备;
[0009]处理器串口模块初始化,用以打印处理器上电解复位后启动过程中的关键信息;
[0010]处理器指令跳转控制,实现处理器跳转到不同的存储介质处执行预定程序码;
[0011]多核处理器启动处理,完成多核间启动流程控制;
[0012]不同存储介质间的镜像文件搬移功能,以实现可执行程序镜像文件在不同存储介质间执行。
[0013]可选的,所述DDR3内存初始化包含DDR3控制器初始化以及DDR3的trainning,完成
DDR3内存的读写校验,后期第二级启动程序和操作系统能够运行于DDR3内存空间,加快程序的执行速度。
[0014]可选的,所述处理器串口模块初始化包括串口工作模式、数据格式、引脚复用、时钟、波特率配置,用于输出处理器核心初始化是否正常完成以及其他关键系统信息。
[0015]可选的,所述处理器指令跳转控制,配置处理器在不同应用场景下跳转到指定地址处加载程序码,执行预期的程序;亦能够控制主核与从核的程序入口地址控制。
[0016]可选的,所述多核处理器启动处理,对于处理器主核,处理器跳转到固定地址执行程序码;从核的跳转地址需要从特定寄存器中读出,并跳转到该地址执行程序码,实现主、从核在SMP模式下加载、运行操作系统功能。
[0017]可选的,所述不同存储介质间的镜像文件搬移功能,该启动程序系统能够从外部静态存储介质中搬移第二级启动程序镜像或操作系统程序镜像到内部SRAM或DDR内存空间运行。
[0018]本专利技术提供的基于U

Boot的多核处理器一级启动程序架构中,具有以下有益效果:
[0019](1)充分利用普遍使用的U

Boot代码框架,满足系统生态的要求,实现多核处理器的一级启动程序,可同时编译出第一级和第二级启动程序,降低了开发者工程量并缩短了开发周期;
[0020](2)在处理器芯片内部bootrom程序无法正常启动时,本专利技术所涉及的一级启动程序可以作为一个完美的补充,增加了芯片启动方式灵活性的同时又保障了芯片工作的可靠性。
附图说明
[0021]图1是本专利技术提供的基于U

Boot的多核处理器一级启动程序架构示意图;
[0022]图2是本专利技术提供的基于U

Boot的多核处理器一级启动程序的实现流程示意图。
具体实施方式
[0023]以下结合附图和具体实施例对本专利技术提出的一种基于U

Boot的多核处理器一级启动程序架构作进一步详细说明。根据下面说明和权利要求书,本专利技术的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比例,仅用以方便、明晰地辅助说明本专利技术实施例的目的。
[0024]本专利技术的运行框架如图1所示,包括处理器芯片核心(即core0、core1、core2、core3)、DDR3内存控制器及DDR3内存颗粒(即DDR3内存)、用于输出处理器核心工作状态的串口控制器(即串口)、SRAM存储空间、加载外部镜像文件如第二级启动程序镜像或操作系统镜像文件、存放于外部静态存储空间的一级启动程序镜像(即基于U

Boot的多核处理器一级启动程序)。
[0025]多核处理器一级启动程序的实现流程如图2所示,处理器芯片上电解复位后,芯片内部逻辑读取处理器启动模式,若处理器启动模式为外部启动,则进行memory remap操作,从外部静态存储空间获取第一条执行指令。本专利技术的代码段、只读数据段的VMA/LMA位于0x00000000地址处,BSS、MALLOC段位于内部SRAM空间。
[0026]所述处理器串口模块初始化的目的是为了检查处理器芯片核心的初始化完成状态以及打印一些关键系统信息。初始化包括引脚复用、配置串口数据格式、配置工作模式(DMA、轮询、中断等)、配置串口传输波特率等,以实现处理器核心初始化完成状态的输出。
[0027]所述处理器指令跳转控制用于设置处理器芯片的取指地址。该控制流程通过配置处理器控制寄存器及相关的通用寄存器,完成处理器工作上下文的切换。
[0028]所述DDR3内存初始化部分首先得到执行,初始化包括配置内存控制器、时钟使能、预充电、自刷新、链路训练等。
[0029]所述处理器串口模块初始化结束后,打印出处理器核心及DDR3内存初始化完成状态,决定是否进行后续运行流程。
[0030]所述不同存储介质间的镜像文件搬移功能,可以实现不同镜像文件的搬移,如第二级启动程序镜像文件、操作系统镜像等。可实现不同存储介质之间镜像文件的搬移,如从外部静态存储介质中搬移到DDR3内存、从本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于U

Boot的多核处理器一级启动程序架构,其特征在于,基于U

Boot代码框架,在编译U

Boot时,能够同时编译出第一级和第二级启动程序;在处理器芯片内部bootrom程序无法启动时,运行该一级启动程序使得处理器芯片能够正常工作;该多核处理器一级启动程序系统的镜像文件存储于外部静态存储介质中,其功能包括:DDR3内存初始化,用以完成第二级启动程序和操作系统运行环境介质的准备;处理器串口模块初始化,用以打印处理器上电解复位后启动过程中的关键信息;处理器指令跳转控制,实现处理器跳转到不同的存储介质处执行预定程序码;多核处理器启动处理,完成多核间启动流程控制;不同存储介质间的镜像文件搬移功能,以实现可执行程序镜像文件在不同存储介质间执行。2.如权利要求1所述的基于U

Boot的多核处理器一级启动程序架构,其特征在于,所述DDR3内存初始化包含DDR3控制器初始化以及DDR3的trainning,完成DDR3内存的读写校验,后期第二级启动程序和操作系统能够运行于DDR3内存空间,加快程序的执行速度。3.如权利要...

【专利技术属性】
技术研发人员:张明月张梅娟杨楚玮胡鹏
申请(专利权)人:中电科申泰信息科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1