CN114090086B - 一种基于ZynqMP平台嵌入式操作***快速启动方法 - Google Patents
一种基于ZynqMP平台嵌入式操作***快速启动方法 Download PDFInfo
- 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
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
-
- 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/4418—Suspend and resume; Hibernate and awake
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
Abstract
本发明公开了一种基于ZynqMP平台嵌入式操作***快速启动方法,***板上电后,同时加载操作***和平台管理单元固件,平台管理单元固件对副核上电完成后进入低功耗的待唤醒状态,利用操作***操作执行唤醒指令对副核进行唤醒,副核根据唤醒指令上电执行指令,跳转至多核状态,实现多核启动。本发明通过操作***和平台管理单元固件单独加载完成进入各自操作环境中,然后利用操作***根据唤醒指令对副核唤醒加载,进入多核模式,利用操作***直接唤醒副核加载进入多核启动,避免了运行时服务加载启动,减少了启动项,简化了操作***启动的流程,使代码易于维护和移植,加快了整个***启动的速度。
Description
技术领域
本发明属于通信控制操控领域,具体涉及一种基于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平台嵌入式操作***快速启动方法,其特征在于,副核被唤醒后,副核的运行地址被指定为操作***的入口地址,进入多核模式。
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)
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)
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 |
-
2021
- 2021-11-23 CN CN202111397849.3A patent/CN114090086B/zh active Active
Patent Citations (13)
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 |
---|---|---|
US10592254B2 (en) | Technologies for fast low-power startup of a computing device | |
US7529958B2 (en) | Programmable power transition counter | |
CN103282854B (zh) | 用于功率管理的***和方法 | |
JP5090569B2 (ja) | ミクロアーキテクチャのバンド幅スロットリングによるプロセッサ電力消費制御及び電圧降下 | |
US8700936B2 (en) | Modular gating of microprocessor low-power mode | |
CN109375954B (zh) | 基于蜂窝技术的物联网芯片的控制方法及物联网芯片 | |
CN112083791A (zh) | 芯片功耗优化方法、装置、计算机设备和存储介质 | |
CN115576258B (zh) | 车辆芯片***控制方法、***级芯片以及车辆 | |
US10795422B2 (en) | Method and apparatus for mission critical standby of a portable communication drive | |
WO2008070912A1 (en) | Power management system and method | |
CN113765679B (zh) | 计算机网络唤醒方法及*** | |
US7906996B1 (en) | System and method for controlling an integrated circuit in different operational modes | |
CN101329597A (zh) | 便携式多媒体处理平台的片上处理***及电源管理方法 | |
CN114090086B (zh) | 一种基于ZynqMP平台嵌入式操作***快速启动方法 | |
WO2014176893A1 (zh) | 移动终端的关机方法及装置 | |
CN112947738A (zh) | 一种智能终端电源***及智能终端待机、唤醒方法 | |
KR20050065394A (ko) | 모바일 장치에서의 메모리 전류 누설을 줄이기 위한 방법및 장치 | |
CN102156523A (zh) | 电源管理方法及计算机*** | |
CN112944565A (zh) | 室外机唤醒方法、装置以及多联机空调*** | |
CN101770278A (zh) | 一种无线终端的省电方法 | |
CN107741865B (zh) | 一种能自唤醒的待机***及待机方法 | |
CN115599457B (zh) | 一种基于spi接口的从芯片唤醒与启动方法 | |
KR100619845B1 (ko) | 이동통신 단말기 제어기의 클럭 장치 | |
CN114698072B (zh) | Wia-pa无线振动变送器的低功耗电路及控制方法 | |
CN116243987A (zh) | 台式机远程控制方法、***、设备和可读存储介质 |
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 |