CN113282344B - 在飞腾非对称双核处理器上实现天脉操作系统的方法 - Google Patents
在飞腾非对称双核处理器上实现天脉操作系统的方法 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
- G06F9/4408—Boot 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服务器地址
Tftp从tftp服务器加载操作系统镜像到内存地址
启动并执行天脉操作系统镜像
基于AMP架构的FT2000A/2多核启动主要考虑的问题包括:
1、处理器两个核的启动顺序:如果两个核同时启动,会造成资源竞争,启动干扰等问题,两个核谁先启动谁后启动需要考虑。
2、第二个启动的核的启动时机:先启动的核启动到哪个阶段可以通知第二个核启动,即启动时机需要考虑。
3、两个核的通信机制:通过哪种通信机制可以实现一个核启动过程中通知另外一个核启动。
4、第二个核上电阶段默认是工作在ARM处理器的EL3等级,并且是64位的,而天脉操作系统工作在EL1等级并且是32位的,如果实现第二个核的等级和位数切换。
针对以上问题,本实施例所示的一种在飞腾非对称双核处理器上实现天脉操作系统的方法包含有以下操作步骤:
步骤1、分别在第一核Core0和第二核Core1的Uboot下配置网络IP和tftp服务器地址:
步骤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位工作模式的汇编代码。
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)
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)
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 |
-
2021
- 2021-05-25 CN CN202110570162.9A patent/CN113282344B/zh active Active
Patent Citations (6)
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)
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 | |
CN107528801B (zh) | 从架顶式交换机提供超融合基础架构裸机系统 | |
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 | |
CN110495136A (zh) | 裸金属服务器的硬件属性发现方法和系统 | |
Goto | Kernel-based virtual machine technology | |
US20110161955A1 (en) | Hypervisor isolation of processor cores | |
US20040268107A1 (en) | Method for sharing firmware across heterogeneous processor architectures | |
US10019275B2 (en) | Hypervisor context switching using a trampoline scheme in processors having more than two hierarchical privilege levels | |
US10983847B2 (en) | Dynamically loadable unikernel binaries | |
US8051281B2 (en) | Operating system startup control method and information processing apparatus | |
JP2014225242A (ja) | 異種システムをブートし、コアの対称的なビューを表示する方法 | |
US9417886B2 (en) | System and method for dynamically changing system behavior by modifying boot configuration data and registry entries | |
US20090100424A1 (en) | Interrupt avoidance in virtualized environments | |
US20180239715A1 (en) | Secure zero-copy packet forwarding | |
CN106339257B (zh) | 使客户机操作系统轻量化的方法及系统和虚拟化操作系统 | |
CN110968392B (zh) | 一种升级虚拟化模拟器的方法和装置 | |
CN103885920A (zh) | 对用于多处理器系统的初始化的主微处理器的选择 | |
WO2015088374A1 (en) | Systems and methods for cross-architecture container virtualization |
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 |