CN113282344B - 在飞腾非对称双核处理器上实现天脉操作系统的方法 - Google Patents

在飞腾非对称双核处理器上实现天脉操作系统的方法 Download PDF

Info

Publication number
CN113282344B
CN113282344B CN202110570162.9A CN202110570162A CN113282344B CN 113282344 B CN113282344 B CN 113282344B CN 202110570162 A CN202110570162 A CN 202110570162A CN 113282344 B CN113282344 B CN 113282344B
Authority
CN
China
Prior art keywords
operating system
core
core1
weather
uboot
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110570162.9A
Other languages
English (en)
Other versions
CN113282344A (zh
Inventor
许斌
张明远
杨舟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Aeronautical Radio Electronics Research Institute
Original Assignee
China Aeronautical Radio Electronics Research Institute
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Aeronautical Radio Electronics Research Institute filed Critical China Aeronautical Radio Electronics Research Institute
Priority to CN202110570162.9A priority Critical patent/CN113282344B/zh
Publication of CN113282344A publication Critical patent/CN113282344A/zh
Application granted granted Critical
Publication of CN113282344B publication Critical patent/CN113282344B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • G06F9/4408Boot device selection

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明公开了一种在飞腾非对称双核处理器上实现天脉操作系统的方法,在Uboot下配置网络IP和tftp服务器地址;第一核Core0上的天脉操作系统启动,并向第二核Core1发送wfe指令让第二核Core1进入低功耗等待状态;当第一核Core0上的模块支持层和操作系统层启动完毕时,向第二核Core1发送sev指令;第二核Core1上的天脉操作系统启动;其中,第二核Core1上天脉操作系统的_start标志处,设有将EL3等级、64位工作模式切换为EL1等级、32位工作模式的汇编代码。本发明通过对UBOOT引导程序和天脉操作系统的配置和修改来实现,为基于飞腾处理器的多核应用提供了技术保障和支持。

Description

在飞腾非对称双核处理器上实现天脉操作系统的方法
技术领域
本发明涉及国产处理器的嵌入式多核操作系统开发领域,特别涉及一种在飞腾非对称双核处理器上实现天脉操作系统的方法。
背景技术
飞腾FT-2000A/2处理器是由国防科技大学研制开发的ARMv8a指令集架构的双核国产处理器,主要面向嵌入式装备和工业控制领域应用产品需求,具有低功耗、强实时、高可靠、高安全等特点。
天脉操作系统是中国航空工业集团第六三一研究所自主开发的机载嵌入式实时操作系统,具备强实时、高安全、高可靠、高确定、可裁剪性、可升级性等特点。借助于与之配套的集成开发环境LambdaAE,用户可以快速完成嵌入式应用的开发、调试和部署。天脉操作系统已实现对PowerPC、X86、ARM、MIPS等多种架构的支持,被广泛应用于机载嵌入式领域。
操作系统AMP架构,又称为非对称多处理器架构,是指每个处理器核上运行一个独立的操作系统或同一操作系统的独立实例,每个处理器核都有自己的独立资源。在机载嵌入式领域,存在AMP架构的多核应用需求。目前天脉操作系统没有对多核AMP的实现,本发明实现了基于FT-2000A/2处理器的多核AMP架构的天脉操作系统,满足了机载嵌入式领域的国产化和多核应用需求。
发明内容
本发明的发明目的在于提供一种在飞腾非对称双核处理器上实现天脉操作系统的方法,通过对UBOOT引导程序和天脉操作系统的配置和修改来实现,满足了机载嵌入式领域的国产化和多核应用需求,充分利用了处理器资源,为基于飞腾处理器的多核应用提供了技术保障和支持。
本发明的发明目的通过以下技术方案实现:
一种在飞腾非对称双核处理器上实现天脉操作系统的方法,包含有以下操作步骤:
步骤1、分别在第一核Core0和第二核Core1的Uboot下配置网络IP和tftp服务器地址;
步骤2、Uboot加载第一核Core0的天脉操作系统镜像后引导第一核Core0上的天脉操作系统启动,并向第二核Core1发送wfe指令让第二核Core1进入低功耗等待状态;
步骤3、当第一核Core0上的天脉操作系统的模块支持层和操作系统层启动完毕时,向第二核Core1发送sev指令;
步骤4、Uboot加载第二核Core1的天脉操作系统镜像后引导第二核Core1上的天脉操作系统启动;其中,第二核Core1上天脉操作系统的crt.s文件中的_start标志处,设有将EL3等级、64位工作模式切换为EL1等级、32位工作模式的汇编代码。
附图说明
图1为天脉操作系统的软件结构示意图。
图2为实施例所示的飞腾非对称双核处理器上实现天脉操作系统的方法的流程示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。本实施例以飞腾FT2000A/2处理器进行举例说明。
天脉操作系统在整个计算机系统中处于硬件层和应用层之间的位置,其主要任务是管理机载计算机软、硬件资源,并为机载应用软件的运行提供服务。天脉操作系统的软件结构如图1所示。天脉操作系统在逻辑上可分为三个层次:模块支持层(MSL)、操作系统层(OSL)和应用层。
模块支持层(MSL)主要作用是管理和配置硬件层设备。模块支持层是由遵循特定接口规范的专用硬件模块支持软件组成。主要实现硬件与操作系统层之间的隔离。模块支持层主要涉及到硬件资源的申请和使用,
操作系统层主要实现与硬件无关的功能服务,包括操作系统的基本核心功能及满足特定应用需求的各种可配置组件。操作系统层主要设计到软件资源的申请和使用。
应用层主要实现应用任务的调度、系统资源的分配,为应用软件提供可使用的组件,包括:RTL库、OpenGL、BIT检测等功能,应用软件可通过应用层提供的API接口访问天脉操作系统,以支持应用软件的功能。
天脉操作系统单核的启动过程主要包括系统引导固件的启动、天脉操作系统的启动。
天脉操作系统在飞腾FT2000A/2处理器上的引导固件的启动采用Uboot。U-boot,全称Universal Boot Loader,是遵循GPL条款的开放源码项目,它的主要功能是完成硬件设备初始化、操作系统镜像搬运和引导。在Uboot的shell界面下可以提通过tftp网络传输命令加载天脉操作系统镜像os.bin到内存中,然后通过Uboot自带的boot32命令实现天脉操作系统的启动。流程如下所示:
配置飞腾通用计算模块网络IP和tftp服务器地址
Figure BDA0003082367470000041
Uboot>setenv ipaddr 192.168.1.88
Figure BDA0003082367470000042
Uboot>setenv serverip 192.168.1.28
Figure BDA0003082367470000043
Uboot>setenv netmask 255.255.255.0
Tftp从tftp服务器加载操作系统镜像到内存地址
Figure BDA0003082367470000044
Uboot>tftp 0x82000000os.bin
启动并执行天脉操作系统镜像
Figure BDA0003082367470000045
Uboot>boot32 0x82000000
基于AMP架构的FT2000A/2多核启动主要考虑的问题包括:
1、处理器两个核的启动顺序:如果两个核同时启动,会造成资源竞争,启动干扰等问题,两个核谁先启动谁后启动需要考虑。
2、第二个启动的核的启动时机:先启动的核启动到哪个阶段可以通知第二个核启动,即启动时机需要考虑。
3、两个核的通信机制:通过哪种通信机制可以实现一个核启动过程中通知另外一个核启动。
4、第二个核上电阶段默认是工作在ARM处理器的EL3等级,并且是64位的,而天脉操作系统工作在EL1等级并且是32位的,如果实现第二个核的等级和位数切换。
针对以上问题,本实施例所示的一种在飞腾非对称双核处理器上实现天脉操作系统的方法包含有以下操作步骤:
步骤1、分别在第一核Core0和第二核Core1的Uboot下配置网络IP和tftp服务器地址:
Figure BDA0003082367470000046
Uboot>setenv ipaddr 192.168.1.88
Figure BDA0003082367470000047
Uboot>setenv serverip 192.168.1.28
Figure BDA0003082367470000051
Uboot>setenv netmask 255.255.255.0
步骤2、Uboot加载第一核Core0的天脉操作系统镜像:
Uboot>tftp 0x82000000os1.bin;
Uboot引导第一核Core0上的天脉操作系统启动:
Uboot>tftp 0x82000000os1.bin;
向第二核Core1发送wfe指令让第二核Core1进入低功耗等待状态;
步骤3、当第一核Core0上的天脉操作系统的模块支持层(MSL)和操作系统层(OSL)启动完毕时,向第二核Core1发送sev指令让第二核Core1启动天脉操作系统。
步骤4、Uboot加载第二核Core1的天脉操作系统镜像:
Uboot>tftp 0x82000000os1.bin;
Uboot引导第二核Core1上的天脉操作系统启动:
Uboot>tftp 0x82000000os2.bin;
其中,第二核Core1上天脉操作系统的crt.s文件中的_start标志处,设有将EL3等级、64位工作模式切换为EL1等级、32位工作模式的汇编代码。
在上述方法中,本实施例通过先启动Core0的天脉操作系统,并且在Core0的模块支持层(MSL)和操作系统层(OSL)启动完毕后,再启动第Core1,这样可以有效避免多核启动过程中的硬件和软件资源无序抢占。
飞腾FT2000A/2处理器是基于Armv8a指令集,本实施例通过Arm指令集的wfe和sev指令实现第二个核Core1的等待和启动。当第一个核Core0在模块支持层(MSL)和操作系统层(OSL)的启动过程中时,第二个核通过wfe指令进入低功耗等待状态。当第一个核完成启动,通过发送sev指令,激活第二个核并让第二个核开始启动。
由于Uboot是通用引导程序,如果修改Uboot会导致对其引导其他操作系统产生影响,所以本实施例把EL等级和工作模式的切换放到天脉操作系统的入口处实现。本实施例将EL等级和处理器工作位数切换的汇编代码编译成二进制格式,并插入到天脉操作系统的入口为crt.s文件中的_start标志处,解决了Uboot到天脉操作系统工作模式切换的难点。
可以理解的是,对本领域普通技术人员来说,可以根据本发明的技术方案及其发明构思加以等同替换或改变,而所有这些改变或替换都应属于本发明所附的权利要求的保护范围。

Claims (1)

1.一种在飞腾非对称双核处理器上实现天脉操作系统的方法,其特征在于包含有以下操作步骤:
步骤1、分别在第一核Core0和第二核Core1的Uboot下配置网络IP和tftp服务器地址;
步骤2、Uboot加载第一核Core0的天脉操作系统镜像后引导第一核Core0上的天脉操作系统启动,并向第二核Core1发送wfe指令让第二核Core1进入低功耗等待状态;
步骤3、当第一核Core0上的天脉操作系统的模块支持层和操作系统层启动完毕时,向第二核Core1发送sev指令;
步骤4、Uboot加载第二核Core1的天脉操作系统镜像后引导第二核Core1上的天脉操作系统启动;其中,第二核Core1上天脉操作系统的crt.s文件中的_start标志处,设有将EL3等级、64位工作模式切换为EL1等级、32位工作模式的汇编代码。
CN202110570162.9A 2021-05-25 2021-05-25 在飞腾非对称双核处理器上实现天脉操作系统的方法 Active CN113282344B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110570162.9A CN113282344B (zh) 2021-05-25 2021-05-25 在飞腾非对称双核处理器上实现天脉操作系统的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110570162.9A CN113282344B (zh) 2021-05-25 2021-05-25 在飞腾非对称双核处理器上实现天脉操作系统的方法

Publications (2)

Publication Number Publication Date
CN113282344A CN113282344A (zh) 2021-08-20
CN113282344B true CN113282344B (zh) 2022-11-04

Family

ID=77281391

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110570162.9A Active CN113282344B (zh) 2021-05-25 2021-05-25 在飞腾非对称双核处理器上实现天脉操作系统的方法

Country Status (1)

Country Link
CN (1) CN113282344B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102929719A (zh) * 2012-09-18 2013-02-13 中标软件有限公司 一种多核计算机上多操作系统的控制方法及多核计算机
CN106407156A (zh) * 2016-09-23 2017-02-15 深圳震有科技股份有限公司 一个bootrom引导多核cpu启动的方法及系统
CN109189429A (zh) * 2018-09-11 2019-01-11 武汉正维电子技术有限公司 双核处理器amp模式下cpu0更新cpu1程序的方法
CN109213721A (zh) * 2018-08-23 2019-01-15 上海华测导航技术股份有限公司 采用异构多核处理器架构的整机接收机
CN111224867A (zh) * 2020-01-03 2020-06-02 清华大学深圳国际研究生院 一种基于多核异构硬件虚拟化的智能网关方法
CN112099799A (zh) * 2020-09-21 2020-12-18 天津飞腾信息技术有限公司 Numa感知的smp系统只读代码段多副本优化方法及系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7987464B2 (en) * 2006-07-25 2011-07-26 International Business Machines Corporation Logical partitioning and virtualization in a heterogeneous architecture
US8650426B2 (en) * 2009-12-16 2014-02-11 Qualcomm Incorporated System and method for controlling central processing unit power in a virtualized system
US9928115B2 (en) * 2015-09-03 2018-03-27 Apple Inc. Hardware migration between dissimilar cores

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102929719A (zh) * 2012-09-18 2013-02-13 中标软件有限公司 一种多核计算机上多操作系统的控制方法及多核计算机
CN106407156A (zh) * 2016-09-23 2017-02-15 深圳震有科技股份有限公司 一个bootrom引导多核cpu启动的方法及系统
CN109213721A (zh) * 2018-08-23 2019-01-15 上海华测导航技术股份有限公司 采用异构多核处理器架构的整机接收机
CN109189429A (zh) * 2018-09-11 2019-01-11 武汉正维电子技术有限公司 双核处理器amp模式下cpu0更新cpu1程序的方法
CN111224867A (zh) * 2020-01-03 2020-06-02 清华大学深圳国际研究生院 一种基于多核异构硬件虚拟化的智能网关方法
CN112099799A (zh) * 2020-09-21 2020-12-18 天津飞腾信息技术有限公司 Numa感知的smp系统只读代码段多副本优化方法及系统

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
《Design of a Dual-core Processor Based Controller with RTOS-GPOS Dual Operating System》;Yuansong Sun et al.;《2019 IEEE International Conference on Mechatronics and Automation (ICMA)》;20190829;全文 *
《基于国产FT-1500A/4处理器的通用处理模块设计》;陈思宇;《电子测试》;20180531;全文 *
《天脉1实时操作系统的机器人框架移植方法研究》;郝继锋 等;《单片机与嵌入式系统应用》;20210331;全文 *
嵌入式Linux在SMP系统上的移植研究与实现;朱苏建等;《电子设计工程》;20160925(第18期);全文 *

Also Published As

Publication number Publication date
CN113282344A (zh) 2021-08-20

Similar Documents

Publication Publication Date Title
US9483639B2 (en) Service partition virtualization system and method having a secure application
RU2639693C1 (ru) Способ обработки ресурса, операционная система и устройство
US10255090B2 (en) Hypervisor context switching using a redirection exception vector in processors having more than two hierarchical privilege levels
US10162655B2 (en) Hypervisor context switching using TLB tags in processors having more than two hierarchical privilege levels
US9170835B2 (en) Apparatus and method for expedited virtual machine (VM) launch in VM cluster environment
US9009701B2 (en) Method for controlling a virtual machine and a virtual machine system
US20150261952A1 (en) Service partition virtualization system and method having a secure platform
US20150261559A1 (en) Reduced service partition virtualization system and method
US8739156B2 (en) Method for securing the execution of virtual machines
US20110161955A1 (en) Hypervisor isolation of processor cores
Goto Kernel-based virtual machine technology
EP2548123B1 (en) Accelerating memory operations using virtualization information
US10019275B2 (en) Hypervisor context switching using a trampoline scheme in processors having more than two hierarchical privilege levels
CN113778612A (zh) 基于微内核机制的嵌入式虚拟化系统实现方法
JP2014225242A (ja) 異種システムをブートし、コアの対称的なビューを表示する方法
US9417886B2 (en) System and method for dynamically changing system behavior by modifying boot configuration data and registry entries
US10983847B2 (en) Dynamically loadable unikernel binaries
US20090100424A1 (en) Interrupt avoidance in virtualized environments
US20180239715A1 (en) Secure zero-copy packet forwarding
CN106339257B (zh) 使客户机操作系统轻量化的方法及系统和虚拟化操作系统
CN103885920A (zh) 对用于多处理器系统的初始化的主微处理器的选择
WO2015088374A1 (en) Systems and methods for cross-architecture container virtualization
CN111213127A (zh) 用于直接分配的设备的虚拟化操作
CN115617456A (zh) 混合运行虚拟机与容器的方法、装置、电子设备和可读存储介质
EP3633507B1 (en) Technologies for secure and efficient native code invocation for firmware services

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant