CN114090086B - 一种基于ZynqMP平台嵌入式操作系统快速启动方法 - Google Patents

一种基于ZynqMP平台嵌入式操作系统快速启动方法 Download PDF

Info

Publication number
CN114090086B
CN114090086B CN202111397849.3A CN202111397849A CN114090086B CN 114090086 B CN114090086 B CN 114090086B CN 202111397849 A CN202111397849 A CN 202111397849A CN 114090086 B CN114090086 B CN 114090086B
Authority
CN
China
Prior art keywords
operating system
core
apu
platform
zynqmp
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
CN202111397849.3A
Other languages
English (en)
Other versions
CN114090086A (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.)
Xian Microelectronics Technology Institute
Original Assignee
Xian Microelectronics Technology 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 Xian Microelectronics Technology Institute filed Critical Xian Microelectronics Technology Institute
Priority to CN202111397849.3A priority Critical patent/CN114090086B/zh
Publication of CN114090086A publication Critical patent/CN114090086A/zh
Application granted granted Critical
Publication of CN114090086B publication Critical patent/CN114090086B/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
    • 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/4418Suspend and resume; Hibernate and awake
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本发明公开了一种基于ZynqMP平台嵌入式操作系统快速启动方法,系统板上电后,同时加载操作系统和平台管理单元固件,平台管理单元固件对副核上电完成后进入低功耗的待唤醒状态,利用操作系统操作执行唤醒指令对副核进行唤醒,副核根据唤醒指令上电执行指令,跳转至多核状态,实现多核启动。本发明通过操作系统和平台管理单元固件单独加载完成进入各自操作环境中,然后利用操作系统根据唤醒指令对副核唤醒加载,进入多核模式,利用操作系统直接唤醒副核加载进入多核启动,避免了运行时服务加载启动,减少了启动项,简化了操作系统启动的流程,使代码易于维护和移植,加快了整个系统启动的速度。

Description

一种基于ZynqMP平台嵌入式操作系统快速启动方法
技术领域
本发明属于通信控制操控领域,具体涉及一种基于ZynqMP(Zynq UltraScale+MPSoc)平台嵌入式操作系统快速启动方法,适用于基于ZynqMP对实时性要求高的弹载控制类、无线通信、5G部署等领域操作系统的快速启动。
背景技术
嵌入式操作系统的启动技术是控制系统的关键技术,其中系统启动时间是影响产品性能的关键指标。对于新一代ZynqMP系列芯片,因为考虑整体设备运行稳定性,在引导操作系统启动时,要同时加载6个启动项,操作系统多核启动采用的是SMC(secure monitorcall)指令,对操作系统要求比较高,操作系统启动方式中启动项多,启动流程繁杂,并且导致启动耗时久,影响了产品的实用性能和效率。
发明内容
本发明的目的在于提供一种基于ZynqMP平台嵌入式操作系统快速启动方法,以克服现有技术的不足。
一种基于ZynqMP平台嵌入式操作系统快速启动方法,包括以下步骤:
S1,系统板上电后,同时加载操作系统和平台管理单元固件;
S2,操作系统和平台管理单元固件加载完成后,平台管理单元固件对副核上电完成后进入低功耗的待唤醒状态,利用操作系统执行唤醒指令对副核进行唤醒,跳转至多核状态,实现多核启动。
进一步的,采用APU core0加载并运行fsbl,fsbl对硬件系统进行初始化,并加载平台管理固件和操作系统到内存,平台管理单元固件对副核上电完成后进入低功耗的待唤醒状态。
进一步的,采用wfe指令控制上电完成后的副核进入低功耗的待唤醒状态。
进一步的,操作系统利用set指令唤醒副核进入多核模式。
进一步的,副核被唤醒后,副核的运行地址被指定为操作系统的入口地址。
进一步的,操作系统加载完成后配置APU寄存器。
进一步的,利用APU core0开始运行fsbl后,对APU-a53处理器的核号进行核对,根据APU-a53处理器的核号运行相应的操作。
进一步的,fsbl对APU配置寄存器的值是否为指定值进行判断。
进一步的,若当前运行的APU-a53核号是core0,则对fsbl对硬件系统进行初始化后,并加载平台管理固件和操作系统到内存。
进一步的,若当前运行的APU-a53核号是core1/2/3,当平台管理固件给副核加电后,副核则执行wfe指令,副核进入休眠状态,等待操作系统端发起set指令进行唤醒;如果是一次成功的唤醒,跳转到操作系统入口地址,进入多核状态;如果不是,则认为这是一次错误的唤醒,继续进入休眠状态,等待唤醒。
与现有技术相比,本发明具有以下有益的技术效果:
本发明一种基于ZynqMP平台嵌入式操作系统快速启动方法,系统板上电后,同时加载操作系统和平台管理单元固件,平台管理单元固件对副核上电完成后进入低功耗的待唤醒状态,利用操作系统操作执行唤醒指令对副核进行唤醒,副核根据唤醒指令上电执行指令,跳转至多核状态,实现多核启动。本发明通过操作系统和平台管理单元固件单独加载完成进入各自操作环境中,然后利用操作系统根据唤醒指令对副核唤醒加载,进入多核模式,利用操作系统直接唤醒副核加载进入多核启动,避免了运行时服务加载启动,减少了启动项,简化了操作系统启动的流程,使代码易于维护和移植,加快了整个系统启动的速度。
进一步的,使用wfe和set指令,简化了启动流程,使代码易于维护和移植。
附图说明
图1为本发明实施例中快速启动系统原理图。
图2为本发明实施例中快速启动流程图。
图3为本发明实施例中采用本发明方法针对骊山九天系统操作进行启动结果示意图。
图4为本发明实施例中采用现有方法针对骊山九天系统操作进行启动结果示意图。
具体实施方式
下面结合附图对本发明做进一步详细描述:
如图1所示,一种基于ZynqMP平台嵌入式操作系统快速启动方法,包括以下步骤:
S1,系统板上电后,同时加载操作系统和平台管理单元固件(Plaformmanagementunitfirmware,pmufw);
具体的,系统板上电后,采用APU core0加载并运行fsbl(firststagebootloader),fsbl对硬件系统进行初始化后,并加载平台管理固件和操作系统到内存。
S2,操作系统和平台管理单元固件加载完成后,平台管理单元固件对副核上电完成后进入低功耗的待唤醒状态,利用操作系统执行唤醒指令对副核进行唤醒,副核接收到唤醒指令被唤醒后,跳转至多核状态,实现多核启动。本发明通过操作系统和平台管理单元固件单独加载完成进入各自操作环境中,然后利用操作系统根据唤醒指令对副核唤醒加载,进入多核模式,利用操作系统直接唤醒副核加载进入多核启动,避免了运行时服务加载启动,减少了启动项,简化了操作系统启动的流程,使代码易于维护和移植,加快了整个系统启动的速度。
具体的,采用wfe指令控制上电完成后的副核进入低功耗的待唤醒状态;操作系统利用set指令唤醒副核进入多核模式。副核被唤醒后,副核的运行地址被指定为操作系统的入口地址,进入多核模式。
具体,如图2所示,本申请操作系统采用加速处理器为APU-a53,利用APU-a53开始运行时,对加速处理器核号进行核对,根据APU-a53加载的核号运行相应的操作。
若当前运行的APU-a53核号是core0(主核),则对fsbl对硬件系统进行初始化,此时初步启动处于完成状态,然后同步加载平台管理单元固件和多核操作系统。
若当前运行的APU-a53核号是core1/2/3(副核),当平台管理固件给副核加电后,副核则执行wfe指令,副核进入休眠状态,等待操作系统端发起set指令进行唤醒;如果是一次成功的唤醒,跳转到操作系统入口地址,进入多核状态;如果不是,则认为这是一次错误的唤醒,继续进入休眠状态,等待唤醒。
寄存器是全局的一个寄存器,APU core 0/1/2/3都可以访问,APU core0在将操作系统启动后,配置该寄存器,而处于休眠状态的APU core 1/2/3在被唤醒后,通过判断该寄存器,来判断是否是一次正确的唤醒,如果是,则进入操作系统多核模式,否则继续休眠。
平台管理单元固件对APU配置寄存器的值是否为指定值进行判断:
如果APU配置寄存器的值不是指定值,则平台管理单元固件一直等待唤醒指令。
本发明提出的基于ZynqMP平台嵌入式操作系统快速启动方法的流程如图2所示,利用现有方法及本发明方法分别针对骊山九天操作系统(LSOS)操作进行启动:首先分别配置APU-a53 core1/2/3对应APU配置寄存器;然后通过set指令,唤醒在fsbl阶段等待唤醒的APU-a53 core1/2/3;至此操作系统成功进入多核模式,完成骊山九天操作系统在多核模式下的启动。利用本发明方法,从加电到骊山九天操作系统启动成功总共耗时472ms;其中,fsbl阶段耗时158ms,操作系统启动耗时314ms(如图3所示);而采用现有启动方法,从系统加电到骊山九天操作系统启动成功总共耗时3464ms,其中fsbl耗时230ms,bl31耗时10ms,u-boot耗时2897ms(图4中u-boot是7897ms,但是这是加入5s倒计时时间的,所以u-boot实际耗时2897ms),骊山九天系统启动耗时327ms。由此可见,本发明方法有效提高了整个系统启动的速度,系统的启动更为简单快速,能更好的满足实时性要就较高的产品需求。

Claims (5)

1.一种基于ZynqMP平台嵌入式操作系统快速启动方法,其特征在于,包括以下步骤:
S1,系统板上电后,同时加载操作系统和平台管理单元固件;
S2,操作系统和平台管理单元固件加载完成后,平台管理单元固件对副核上电完成后进入低功耗的待唤醒状态,利用操作系统执行唤醒指令对副核进行唤醒,跳转至多核状态,实现多核启动;
操作系统加载完成后配置APU寄存器;利用APU core0开始运行fsbl后,对APU-a53处理器的核号进行核对,根据APU-a53处理器的核号运行相应的操作;fsbl对APU配置寄存器的值是否为指定值进行判断;若当前运行的APU-a53 核号是core0,则对fsbl对硬件系统进行初始化后,并加载平台管理固件和操作系统到内存;若当前运行的APU-a53核号是 core1/2/3,当平台管理固件给副核加电后,副核则执行wfe指令,副核进入休眠状态,等待操作系统端发起set指令进行唤醒;如果是一次成功的唤醒,跳转到操作系统入口地址,进入多核状态;如果不是,继续进入休眠状态,等待唤醒。
2. 根据权利要求1所述的一种基于ZynqMP平台嵌入式操作系统快速启动方法,其特征在于,采用APU core0加载并运行fsbl,fsbl对硬件系统进行初始化后,并加载平台管理固件和操作系统到内存。
3.根据权利要求1所述的一种基于ZynqMP平台嵌入式操作系统快速启动方法,其特征在于,采用wfe指令控制上电完成后的副核进入低功耗的待唤醒状态。
4.根据权利要求1所述的一种基于ZynqMP平台嵌入式操作系统快速启动方法,其特征在于,操作系统利用set指令唤醒副核进入多核模式。
5.根据权利要求4所述的一种基于ZynqMP平台嵌入式操作系统快速启动方法,其特征在于,副核被唤醒后,副核的运行地址被指定为操作系统的入口地址,进入多核模式。
CN202111397849.3A 2021-11-23 2021-11-23 一种基于ZynqMP平台嵌入式操作系统快速启动方法 Active CN114090086B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111397849.3A CN114090086B (zh) 2021-11-23 2021-11-23 一种基于ZynqMP平台嵌入式操作系统快速启动方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111397849.3A CN114090086B (zh) 2021-11-23 2021-11-23 一种基于ZynqMP平台嵌入式操作系统快速启动方法

Publications (2)

Publication Number Publication Date
CN114090086A CN114090086A (zh) 2022-02-25
CN114090086B true CN114090086B (zh) 2023-05-30

Family

ID=80303538

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111397849.3A Active CN114090086B (zh) 2021-11-23 2021-11-23 一种基于ZynqMP平台嵌入式操作系统快速启动方法

Country Status (1)

Country Link
CN (1) CN114090086B (zh)

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101464807A (zh) * 2009-01-08 2009-06-24 杭州华三通信技术有限公司 一种应用程序的加载方法及装置
CN101604263A (zh) * 2009-07-13 2009-12-16 浪潮电子信息产业股份有限公司 一种实现操作系统核心代码段多副本运行的方法
CN102207881A (zh) * 2011-07-07 2011-10-05 电子科技大学 一种基于Android的操作系统快速启动方法
CN102693162A (zh) * 2011-12-29 2012-09-26 中国科学技术大学苏州研究院 基于共享内存和核间中断的多核平台上多个虚拟机之间进程通信方法
CN104050137A (zh) * 2013-03-13 2014-09-17 华为技术有限公司 一种异构操作系统中内核运行的方法及装置
CN106407156A (zh) * 2016-09-23 2017-02-15 深圳震有科技股份有限公司 一个bootrom引导多核cpu启动的方法及系统
CN107807827A (zh) * 2017-10-19 2018-03-16 安徽皖通邮电股份有限公司 一种支持多核cpu多操作系统的方法
CN108701033A (zh) * 2018-05-08 2018-10-23 深圳前海达闼云端智能科技有限公司 客户操作系统唤醒方法、装置、电子设备及可读介质
CN109885343A (zh) * 2019-02-25 2019-06-14 深圳忆联信息系统有限公司 一种控制器低功耗启动方法、装置、计算机设备及存储介质
CN110908724A (zh) * 2019-12-03 2020-03-24 深圳市迅雷网络技术有限公司 一种Android App启动方法及相关组件
CN111694787A (zh) * 2020-04-30 2020-09-22 新华三半导体技术有限公司 一种芯片启动的方法、网络设备和机器可读存储介质
CN112346789A (zh) * 2020-11-06 2021-02-09 中国电子信息产业集团有限公司 双系统休眠及唤醒方法、装置、设备及存储介质
CN112463342A (zh) * 2020-12-14 2021-03-09 北京四方继保工程技术有限公司 一种多核cpu运行模式的平台架构设计方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8205196B2 (en) * 2008-04-08 2012-06-19 Broadcom Corporation Systems and methods for using operating system (OS) virtualisation for minimizing power consumption in mobile phones
US8276009B2 (en) * 2008-09-05 2012-09-25 Broadcom Corporation Operating system (OS) virtualisation and processor utilization thresholds for minimizing power consumption in mobile phones
US8862917B2 (en) * 2011-09-19 2014-10-14 Qualcomm Incorporated Dynamic sleep for multicore computing devices
US10007323B2 (en) * 2012-12-26 2018-06-26 Intel Corporation Platform power consumption reduction via power state switching
US10289188B2 (en) * 2016-06-21 2019-05-14 Intel Corporation Processor having concurrent core and fabric exit from a low power state

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101464807A (zh) * 2009-01-08 2009-06-24 杭州华三通信技术有限公司 一种应用程序的加载方法及装置
CN101604263A (zh) * 2009-07-13 2009-12-16 浪潮电子信息产业股份有限公司 一种实现操作系统核心代码段多副本运行的方法
CN102207881A (zh) * 2011-07-07 2011-10-05 电子科技大学 一种基于Android的操作系统快速启动方法
CN102693162A (zh) * 2011-12-29 2012-09-26 中国科学技术大学苏州研究院 基于共享内存和核间中断的多核平台上多个虚拟机之间进程通信方法
CN104050137A (zh) * 2013-03-13 2014-09-17 华为技术有限公司 一种异构操作系统中内核运行的方法及装置
CN106407156A (zh) * 2016-09-23 2017-02-15 深圳震有科技股份有限公司 一个bootrom引导多核cpu启动的方法及系统
CN107807827A (zh) * 2017-10-19 2018-03-16 安徽皖通邮电股份有限公司 一种支持多核cpu多操作系统的方法
CN108701033A (zh) * 2018-05-08 2018-10-23 深圳前海达闼云端智能科技有限公司 客户操作系统唤醒方法、装置、电子设备及可读介质
CN109885343A (zh) * 2019-02-25 2019-06-14 深圳忆联信息系统有限公司 一种控制器低功耗启动方法、装置、计算机设备及存储介质
CN110908724A (zh) * 2019-12-03 2020-03-24 深圳市迅雷网络技术有限公司 一种Android App启动方法及相关组件
CN111694787A (zh) * 2020-04-30 2020-09-22 新华三半导体技术有限公司 一种芯片启动的方法、网络设备和机器可读存储介质
CN112346789A (zh) * 2020-11-06 2021-02-09 中国电子信息产业集团有限公司 双系统休眠及唤醒方法、装置、设备及存储介质
CN112463342A (zh) * 2020-12-14 2021-03-09 北京四方继保工程技术有限公司 一种多核cpu运行模式的平台架构设计方法

Also Published As

Publication number Publication date
CN114090086A (zh) 2022-02-25

Similar Documents

Publication Publication Date Title
US7529958B2 (en) Programmable power transition counter
US20180107490A1 (en) Technologies for fast low-power startup of a computing device
CN103282854B (zh) 用于功率管理的系统和方法
JP5090569B2 (ja) ミクロアーキテクチャのバンド幅スロットリングによるプロセッサ電力消費制御及び電圧降下
US8700936B2 (en) Modular gating of microprocessor low-power mode
CN109375954B (zh) 基于蜂窝技术的物联网芯片的控制方法及物联网芯片
US20080098245A1 (en) Power management system and method
TWI454905B (zh) 在多核心平台中之受限制的啓動技術
US10795422B2 (en) Method and apparatus for mission critical standby of a portable communication drive
CN112083791A (zh) 芯片功耗优化方法、装置、计算机设备和存储介质
CN115576258B (zh) 车辆芯片系统控制方法、系统级芯片以及车辆
JP2012256308A (ja) 異種計算機システム動作方法
WO2016043899A1 (en) Technologies for collaborative hardware and software scenario-based power management
US7906996B1 (en) System and method for controlling an integrated circuit in different operational modes
CN113765679A (zh) 计算机网络唤醒方法及系统
CN101329597A (zh) 便携式多媒体处理平台的片上处理系统及电源管理方法
CN114090086B (zh) 一种基于ZynqMP平台嵌入式操作系统快速启动方法
CN112947738A (zh) 一种智能终端电源系统及智能终端待机、唤醒方法
WO2014176893A1 (zh) 移动终端的关机方法及装置
CN102156523A (zh) 电源管理方法及计算机系统
CN112944565A (zh) 室外机唤醒方法、装置以及多联机空调系统
CN107741865B (zh) 一种能自唤醒的待机系统及待机方法
CN112140889B (zh) 一种车辆上下电控制方法及车辆
KR100619845B1 (ko) 이동통신 단말기 제어기의 클럭 장치
CN114698072B (zh) Wia-pa无线振动变送器的低功耗电路及控制方法

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