一种AMP系统引导和配置的方法技术方案

技术编号:35539906 阅读:21 留言:0更新日期:2022-11-09 15:07
本发明专利技术公开了一种AMP系统引导和配置的方法,其包括以下步骤:选择一个CPU核运行bootloader;加载主操作系统和命令等待程序至内存;启动一个CPU核运行主操作系统;通过主操作系统根据业务需要创建业务处理线程,并创建从操作系统引导线程;加载从操作系统至内存;通过主操作系统的引导线程修改命令等待程序的内容,实现启动命令下发;通过其他CPU核运行命令等待程序,使相应CPU核跳转到从操作系统的入口地址,启动从操作系统,完成AMP系统引导和配置。本发明专利技术可在3秒内启动主操作系统,执行实时业务,当从操作系统崩溃时不会影响主操作系统的运行,因此本方法的主操作系统具有很高的安全性。的安全性。的安全性。

【技术实现步骤摘要】
一种AMP系统引导和配置的方法


[0001]本专利技术涉及嵌入式
,具体涉及一种AMP系统引导和配置的方法。

技术介绍

[0002]随着CPU芯片设计和制造的发展,CPU的性能越来越高,CPU的核心数也越来越多。对于多CPU核心,在多核处理芯片上的操作系统体系结构主要有两种:SMP: (Symmetric Multi

processing) 对称多处理器AMP: (Asymmetric Multi

processing) 非对称多处理器SMP系统由一个操作系统管理所有CPU核心,所有处理器共享系统总线和资源,由操作系统负责任务的调度和管理。
[0003]AMP系统是指不同的CPU运行不同的操作系统,每个系统相互独立,共享系统总线和外设。在AMP系统中,各个核心如何分配,运行什么系统(或裸机),资源如何分配,都与特定的业务务求有关,因此系统复杂多变,AMP系统主要用于高实时性要求或高安全性要求的场景。
[0004]SMP系统的引导由bootload和操作系统内核负责,引导过程和引导方式比较简单,但对于AMP系统,由于系统的组成复杂多变,引导和配置方式也会变得复杂。
[0005]常见的SMP系统的启动方式同AMP系统的启动流程一样,先以SMP方式启动非实时性系统(如Linux),非实时性系统启动后再启动其他系统。这种启动方式的启动速度慢,且无法保证实时系统的安全性,如果主操作系统崩溃,从操作系统也无法正常运行。

技术实现思路

[0006]针对现有技术中的上述不足,本专利技术提供的一种AMP系统引导和配置的方法解决了现有AMP系统启动速度慢、实时系统安全性低的问题。
[0007]为了达到上述专利技术目的,本专利技术采用的技术方案为:提供一种AMP系统引导和配置的方法,其包括以下步骤:S1、选择一个CPU核运行bootloader;S2、通过bootloader将主操作系统程序二进制镜像从非易失存储器加载到内存中;S3、通过bootloader将命令等待程序二进制镜像从非易失存储器加载到内存中;S4、通过bootloader启动一个CPU核运行主操作系统;S5、通过主操作系统根据业务需要创建业务处理线程,并创建从操作系统引导线程;S6、通过从操作系统引导线程加载和解析资源配置文件,并将从操作系统二进制镜像从非易失存储器加载至内存;S7、通过主操作系统的引导线程修改命令等待程序的内容,实现启动命令下发;S8、通过其他CPU核运行命令等待程序,使相应CPU核跳转到从操作系统的入口地
址,启动从操作系统,完成AMP系统引导和配置。
[0008]进一步地,步骤S1的具体方法为:通过设备上电使第一个CPU核运行bootloader,使剩余CPU核处于复位或睡眠状态。
[0009]进一步地,步骤S4的具体方法为:通过bootloader设置一个CPU核的入口地址为主操作系统二进制镜像加载到内存的地址,使该CPU核运行主操作系统。
[0010]进一步地,步骤S6中资源配置文件采用TOML格式且存放在非易失存储器上,记载有主操作系统的配置参数、从操作系统的引导参数,以及资源分配参数。
[0011]进一步地,步骤S7中命令等待程序包括:status字段,用于记录命令执行状态;当status字段的值为0时,表示无执行命令;当status字段的值为1时,表示存在待执行命令;status字段的初始值为0;cmd字段,用于记录命令码;当命令码的值为1时,表示需要启动从操作系统;当命令码的值为0时,表示无需启动从操作系统;cmd字段的初始值为0;entry字段,用于记录其他CPU核的入口地址,即从操作系统二进制镜像加载到内存的地址;参数记录字段,用于记录从操作系统启动参数。
[0012]进一步地,步骤S7的具体方法为:通过主操作系统的引导线程向entry字段写入入口地址、向参数记录字段写入从操作系统启动参数,将status字段的值和cmd字段的值均修改为1。
[0013]进一步地,步骤S8的具体方法包括以下子步骤:S8

1、通过bootloader控制除运行主操作系统的CPU核外的所有CPU核读取当前status字段的值;S8

2、判断当前status字段的值是否为1,若是则进入步骤S8

3;否则返回步骤S8

1;S8

3、通过当前entry字段获取入口地址,通过当前参数记录字段获取从操作系统启动参数,通过汇编跳转指令使相应CPU核跳转到入口地址并启动从操作系统,完成AMP系统引导和配置。
[0014]本专利技术的有益效果为:1、本方法将主操作系统作为实时操作系统率先启动,将任意其他操作系统作为从操作系统。主操作系统启动后可根据业务需要,创建业务处理线程,立即开始处理实时业务。且由于主操作系统是实时系统,因此从上电到处理实时业务所用的时间很短,可在3秒内启动主操作系统,执行实时业务。
[0015]2、本方法在启动过程保留传统bootloader,如u

boot,bootloader除了系统引导的基本功能外,还提供调试、升级等功能,而且方便系统的移植和实现。
[0016]3、当从操作系统崩溃时不会影响主操作系统的运行,因此本方法的主操作系统具有很高的安全性。
[0017]4、本方法通过配置文件控制各个系统的资源和引导过程,可适配不同的应用场景,灵活性好。
[0018]5、本方法不需要增加额外的硬件,可以方便地在原SMP系统硬件上应用本方法,即实现在SMP系统中运行AMP系统。
附图说明
[0019]图1为本方法的流程示意图。
具体实施方式
[0020]下面对本专利技术的具体实施方式进行描述,以便于本
的技术人员理解本专利技术,但应该清楚,本专利技术不限于具体实施方式的范围,对本
的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本专利技术的精神和范围内,这些变化是显而易见的,一切利用本专利技术构思的专利技术创造均在保护之列。
[0021]如图1所示,该AMP系统引导和配置的方法包括以下步骤:S1、选择一个CPU核运行bootloader;S2、通过bootloader将主操作系统程序二进制镜像从非易失存储器加载到内存中;S3、通过bootloader将命令等待程序二进制镜像从非易失存储器加载到内存中;S4、通过bootloader启动一个CPU核运行主操作系统;S5、通过主操作系统根据业务需要创建业务处理线程,并创建从操作系统引导线程;S6、通过从操作系统引导线程加载和解析资源配置文件,并将从操作系统二进制镜像从非易失存储器加载至内存;S7、通过主操作系统的引导线程修改命令等待程序的内容,实现启动命令下发;S8、通过其他CPU核运行命令等待程序,使相应CPU核跳转到从操作系统的入口地址,启动从操作系统,完成AMP系统引导和配置。
[0022]步骤S1的具体本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种AMP系统引导和配置的方法,其特征在于,包括以下步骤:S1、选择一个CPU核运行bootloader;S2、通过bootloader将主操作系统程序二进制镜像从非易失存储器加载到内存中;S3、通过bootloader将命令等待程序二进制镜像从非易失存储器加载到内存中;S4、通过bootloader启动一个CPU核运行主操作系统;S5、通过主操作系统根据业务需要创建业务处理线程,并创建从操作系统引导线程;S6、通过从操作系统引导线程加载和解析资源配置文件,并将从操作系统二进制镜像从非易失存储器加载至内存;S7、通过主操作系统的引导线程修改命令等待程序的内容,实现启动命令下发;S8、通过其他CPU核运行命令等待程序,使相应CPU核跳转到从操作系统的入口地址,启动从操作系统,完成AMP系统引导和配置。2.根据权利要求1所述的AMP系统引导和配置的方法,其特征在于,步骤S1的具体方法为:通过设备上电使第一个CPU核运行bootloader,使剩余CPU核处于复位或睡眠状态。3.根据权利要求1所述的AMP系统引导和配置的方法,其特征在于,步骤S4的具体方法为:通过bootloader设置一个CPU核的入口地址为主操作系统二进制镜像加载到内存的地址,使该CPU核运行主操作系统。4.根据权利要求1所述的AMP系统引导和配置的方法,其特征在于,步骤S6中资源配置文件采用TOML格式且存放在非易失存储器上,记载有主操作系统的配置参数、从操作系统的引导参数,以及资源分配参数。5.根据权利要求1所述的AMP系统引导和配置的方法,其特征在...

【专利技术属性】
技术研发人员:郑国玲廖茂益张昆
申请(专利权)人:成都菁蓉联创科技有限公司
类型:发明
国别省市:

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

1