CN112395018B - 一种方向控制应用启动方法、装置、电子设备和存储介质 - Google Patents
一种方向控制应用启动方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN112395018B CN112395018B CN202011417256.4A CN202011417256A CN112395018B CN 112395018 B CN112395018 B CN 112395018B CN 202011417256 A CN202011417256 A CN 202011417256A CN 112395018 B CN112395018 B CN 112395018B
- Authority
- CN
- China
- Prior art keywords
- cpu core
- direction control
- control application
- operating system
- cpu
- 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/4418—Suspend and resume; Hibernate and awake
-
- 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/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本申请实施例提供一种方向控制应用启动方法、装置、电子设备及存储介质,涉及电子设备技术领域。其中,方法包括:在接收到CPU核唤醒指令后,唤醒所述至少两个CPU核;在至少两个CPU核被唤醒后,将裸机部署程序加载至第一CPU核,将电子设备的操作系统内核加载至第二CPU核,以使得第一CPU核启动裸机部署程序,并使得第二CPU核启动电子设备的操作系统,其中,裸机部署程序包括第一方向控制应用;控制第一CPU核在启动裸机部署程序后,初始化第一方向控制应用的关联硬件;控制第一CPU核启动第一方向控制应用。本申请实施例在不增加电子设备的硬件成本,且不影响电子设备操作系统启动的流程和时间的情况下,快速启动方向控制应用,以快速响应方向控制信号。
Description
技术领域
本申请涉及电子设备技术领域,具体涉及一种方向控制应用启动方法、装置、电子设备和存储介质。
背景技术
目前电子设备的系统大多基于Android系统,Android系统启动时间较长,通常在7秒以上。为了安全性考虑,电子设备在冷启动以后,需要立刻响应方向控制信号,显示当前的视频(视频影像)。如果在Android系统启动以后,再启动方向控制应用,则启动方向控制应用的时间在7秒以上,不能满足立即响应方向控制信号的要求。
为了解决此问题,现有的一种方案是在系统第一次启动以后,之后每次进入休眠模式,每次启动都从休眠方式唤醒,以满足快速显示视频的需求;采用该种休眠机制,虽然使视频显示时间变短,但是休眠机制会使系统长期驻留内存,导致系统内存碎片化增加,工作稳定性下降,同时,因系统长期处于休眠状态,会消耗额外的电量。另一种方案是增加微控制单元,通过微控制单元来快速显示视频;采用微控制单元的方式,虽然可使视频显示时间变短,但是它增加了额外的硬件成本,且需要修改硬件架构,增加了硬件和软件的复杂度。
因此如何实现快速启动方向控制应用,以实现视频的快速显示,是本领域技术人员亟待解决的技术问题。
发明内容
本申请实施例提供一种方向控制应用启动方法、装置、电子设备和存储介质,可在不增加电子设备的硬件成本,且不影响电子设备操作系统启动的流程和时间的情况下,快速启动方向控制应用,以快速响应方向控制信号。
本申请实施例提供了一种方向控制应用启动方法,运行于电子设备中,所述电子设备包括至少两个CPU核,所述方向控制应用启动方法,包括:
在接收到CPU核唤醒指令后,唤醒至少两个CPU核;
在至少两个CPU核被唤醒后,将裸机部署程序加载至第一CPU核,将电子设备的操作系统内核加载至第二CPU核,以使得第一CPU核启动裸机部署程序,并使得第二CPU核启动电子设备的操作系统,所述裸机部署程序包括第一方向控制应用;
控制第一CPU核在启动裸机部署程序后,初始化第一方向控制应用的关联硬件;
控制第一CPU核启动第一方向控制应用。
本申请实施例还提供了一种方向控制应用启动装置,运行于电子设备中,所述电子设备包括至少两个CPU核,所述方向控制应用启动装置,包括:
唤醒单元,用于在接收到CPU核唤醒指令后,唤醒至少两个CPU核;
加载单元,用于在至少两个CPU核被唤醒后,将裸机部署程序加载至第一CPU核,将电子设备的操作系统内核加载至第二CPU核,以使得第一CPU核启动裸机部署程序,并使得第二CPU核启动电子设备的操作系统,所述裸机部署程序包括第一方向控制应用;
第一控制单元,用于控制第一CPU核在启动裸机部署程序后,初始化第一方向控制应用的关联硬件;
第二控制单元,用于控制第一CPU核启动第一方向控制应用。
本申请实施例还提供了一种电子设备,所述电子设备包括:
一个或多个处理器;存储器;以及一个或多个计算机程序,其中所述处理器和所述存储器相连接,所述一个或多个计算机程序被存储于所述存储器中,并配置为由所述处理器执行上述所述的方向控制应用启动方法。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现上述任一种方向控制应用启动方法中的步骤。
本申请实施例通过在接收到CPU核唤醒指令后,唤醒至少两个CPU核;在至少两个CPU核唤醒后,将裸机部署程序加载至第一CPU核,将电子设备的操作系统内核加载至第二CPU核,以使得第一CPU核启动裸机部署程序,并使得第二CPU核启动电子设备的操作系统,其中,裸机部署程序包括第一方向控制应用;控制第一CPU核在启动裸机部署程序后,初始化第一方向控制应用的关联硬件;并启动第一方向控制应用。本申请实施例在CPU核唤醒后,将裸机部署程序加载至第一CPU核,同时将电子设备的操作系统内核加载至第二CPU核,以使得第一CPU核启动第一方向控制应用,并使得第二CPU核启动电子设备的操作系统,如此,正常启动电子设备的操作系统,且同时启动第一方向控制应用,既不影响电子设备的操作系统启动流程和启动时间,又能快速启动第一方向控制应用,以快速响应方向控制信号;从另一方面来理解,在使用第一CPU核启动第一方向控制应用后,第一方向控制应用即处于可运行的状态,在第二CPU核启动电子设备的操作系统的过程中,无需再检测是否有方向控制信号等相关操作,如此不影响电子设备的操作系统启动流程和启动时间,电子设备的操作系统启动流程不会被方向控制信号中断,且裸机部署程序也不占用中断资源,当检测到方向控制信号时,随时可运行;此外,使用第一CPU核来启动第一方向控制应用,即使用独立的CPU核来启动第一方向控制应用,既不会增加额外的硬件成本,又可提高对视频影像的处理功能。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的方向控制应用启动方法的流程示意图;
图2是本申请实施例提供的方向控制应用启动方法的另一流程示意图;
图3是本申请实施例提供的方向控制应用启动方法的另一流程示意图;
图4是本申请实施例提供的对视频数据进行处理的流程示意图;
图5是本申请实施例提供的方向控制应用启动方法的另一流程示意图;
图6是本申请实施例提供的CPU核启动的流程示意图;
图7是本申请实施例提供的第一方向控制应用运行的流程示意图;
图8是本申请实施例提供的方向控制应用启动装置的结构示意图;
图9是本申请实施例提供的方向控制应用启动装置的另一结构示意图;
图10是本申请实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供一种方向控制应用启动方法、装置、电子设备和存储介质。本申请实施例提供的任一种方向控制应用启动装置,可以集成在电子设备中。该电子设备可以是安装有操作系统,且需要方向控制和方向控制影像显示的各种设备。以下实施例以方向控制应用启动方法应用在车载设备场景,电子设备为安装有操作系统,且可实现方向控制和方向控制视频影像显示的车辆为例进行说明,但本申请不限于此,本申请的方向控制应用方法可应用在任意安装有操作系统,且可实现方向控制和方向控制视频影像显示的设备中。该电子设备的系统可以是安卓系统,也可以是苹果系统,还可以是其他系统。该电子设备包括至少两个CPU核(CPU core),至少两个CPU核拥有一个中断资源。
本申请实施例中将以电子设备的操作系统为安卓系统为例进行说明。
请参阅图1,是本申请实施例提供的方向控制应用启动方法的流程示意图。该方向控制应用启动方法应用于电子设备中,该电子设备包括至少两个CPU核,该方向控制应用启动方法包括如下步骤。具体可结合图5来理解方向控制应用启动方法。
101,在接收到CPU核唤醒指令后,唤醒至少两个CPU核。
在电子设备冷启动时,最开始会从内存中加载引导加载程序(BootLoader),引导加载程序包括Boot ROM程序和SBL(Second Boot Loader)程序,其中,Boot ROM程序为系统上电后运行的第一段程序,SBL程序为系统上电后运行的第二段程序。在系统启动至引导加载程序后期,即启动至SBL程序中的一个阶段时,电子设备会接收到CPU核唤醒指令,根据CPU核唤醒指令唤醒至少两个CPU核。唤醒CPU核可理解为唤醒电子设备中的所有CPU核;也可以是唤醒电子设备中启动时需要使用的CPU核,如包括下文中的第一CPU核和第二CPU核。
102,在至少两个CPU核被唤醒后,将裸机部署程序加载至第一CPU核,将电子设备的操作系统内核加载至第二CPU核,以使得第一CPU核启动裸机部署程序,并使得第二CPU核启动电子设备的操作系统,该裸机部署程序包括第一方向控制应用。
其中,裸机部署程序(Baremetal程序)中包括第一方向控制应用,如在车载设备场景中,第一方向控制应用可理解为第一倒车应用。可以简单理解,将第一方向控制应用写入至Baremetal环境中,使得第一方向控制应用可以运行于没有操作系统的CPU核中,打开Baremetal程序即理解为打开第一方向控制应用。kernel为内核,是一个操作系统的核心,提供操作系统最基本的功能,是操作系统工作的基础,它负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。
其中,预先设定电子设备的CPU核中用于加载裸机部署程序的第一CPU核,和用于加载电子设备的操作系统内核的第二CPU核,并确定加载裸机部署程序的第一CPU核的第一CPU核标识,以及确定加载电子设备的操作系统内核的第二CPU核的第二CPU核标识。
可以理解地,将电子设备的CPU核分为第一CPU核和第二CPU核,其中,第一CPU核的数量为一个,将电子设备中除去第一CPU核之外的剩余核作为第二CPU核。例如,电子设备中核的总数量为4,第一CPU核的数量为1,第二CPU核的数量为3;电子设备中核的总数量为8,第一CPU核的数量为1,第二CPU核的数量为7。在一些情况下,将电子设备中除去第一CPU核之外的剩余部分核作为第二CPU核,可以理解地,不是所有剩余核都用于加载电子设备的操作系统内核,以及用来启动操作系统,还可以预留一些核用于其他用途。
先设置CPU核的CPU核标识,再确定加载裸机部署程序的第一CPU核的第一CPU核标识,以及确定加载电子设备的操作系统内核的第二CPU核标识。本申请实施例中以CPU核为4个,第一CPU核的数量为1,第二CPU核的数量为3为例进行说明。设置4个CPU核的CPU核标识分别为CPU0、CPU1、CPU2和CPU3。确定加载电子设备的操作系统内核的第二CPU核标识为CPU0、CPU1、CPU2,确定加载裸机部署程序的第一CPU核的第一CPU核标识为CPU3。
确定了对应的CPU核标识之后,对应地,将裸机部署程序加载至第一CPU核,将电子设备的操作系统内核加载至第二CPU核的步骤,包括:根据第一CPU核标识,将裸机部署程序加载至第一CPU核;根据第二CPU核标识,将电子设备的操作系统内核加载至第二CPU核。
103,控制第一CPU核在启动裸机部署程序后,初始化第一方向控制应用的关联硬件。
其中,方向控制应用的关联硬件包括电子设备的摄像头、摄像头接口、图像处理单元、畸变校正单元、显示单元、显示接口、显示屏等。
在电子设备的系统上电后,电子设备控制第一CPU核在启动裸机部署程序后,初始化第一方向控制应用的关联硬件。
104,控制第一CPU核启动第一方向控制应用。
在第一方向控制应用的关联硬件初始化完成后,电子设备控制第一CPU核启动第一方向控制应用。
该方法实施例在CPU核唤醒后,将裸机部署程序加载至第一CPU核,同时将电子设备的操作系统内核加载至第二CPU核,以使得第一CPU核启动第一方向控制应用,并使得第二CPU核启动电子设备的操作系统,如此,正常启动电子设备的操作系统,且同时启动第一方向控制应用,既不影响电子设备的操作系统启动流程和启动时间,又能快速启动第一方向控制应用,以快速响应方向控制信号。从另一方面来理解,裸机部署程序是在系统冷启动时,实现快速方向控制显示的一个独立的应用,它与操作系统共存,使用电子设备中的独立的CPU核,但不占用中断资源,所以无论操作系统启动在哪个阶段,该第一方向控制应用都是可以被使用的,即在使用第一CPU核启动第一方向控制应用后,第一方向控制应用即处于可运行的状态,在第二CPU核启动电子设备的操作系统的过程中,无需检测是否有方向控制信号等相关操作,不影响电子设备的操作系统启动流程和启动时间,电子设备的操作系统启动流程不会被方向控制信号打断/中断。此外,使用第一CPU核来启动第一方向控制应用,即使用独立的CPU核来启动第一方向控制应用,既不会增加额外的硬件成本,又可提高对视频影像的处理功能。
图2是本申请实施例中的方向控制应用启动方法的流程示意图。该方向控制应用启动方式包括以下步骤201至步骤207。
201,在接收到CPU核唤醒指令后,唤醒至少两个CPU核。
202,在至少两个CPU核被唤醒后,将裸机部署程序加载至第一CPU核,将电子设备的操作系统内核加载至第二CPU核,以使得第一CPU核启动裸机部署程序,并使得第二CPU核启动电子设备的操作系统,该裸机部署程序包括第一方向控制应用。
203,控制第一CPU核在启动裸机部署程序后,初始化第一方向控制应用的关联硬件。
204,控制第一CPU核启动第一方向控制应用。
其中,步骤201至步骤204请参看上文中的步骤101至步骤104中的对应描述。
205,当第一CPU核检测到方向控制信号且未接收到第二CPU核发送的操作系统已启动的启动通知时,控制第一方向控制应用通过摄像头接口获取来自摄像头的视频数据。
如在车载设备场景中,第一CPU核检测到倒挡信号,即为检测到方向控制信号,意味着电子设备将要开始方向控制(如倒车);在其他场景中,通过其他方式来确定是否检测到方向控制信号。若未接收到第二CPU核发送的操作系统已启动的启动通知,则意味着电子设备当前的操作系统还未启动,则不能使用操作系统中的第二方向控制应用来进行方向控制,实现视频影像的显示。因此,当第一CPU核检测到方向控制信号且未接收到第二CPU核发送的操作系统已启动的启动通知时,控制第一CPU核中的第一方向控制应用通过摄像头接口获取来自摄像头的视频数据。
可以理解地,第二CPU核在操作系统启动后,会向第一CPU核发送操作系统已启动的启动通知,以告知第一CPU核当前操作系统已启动。其中,第一CPU核和第二CPU核之间通过核间通讯的方式进行通讯。
其中,第一CPU核中,检测方向控制信号,检测操作系统的启动状态,检测摄像头、图像处理单元、显示单元等硬件状态等可通过相关事件来实现,第一方向控制应用通过循环处理相关事件来获取对应的相关事件的状态,下文中图7对应的部分有详细的描述。
需要注意的是,第一CPU核正在控制第一方向控制应用通过摄像头接口获取来自摄像头的视频数据的过程中,若接收到第二CPU核发送的操作系统已启动的启动通知时,此时仍控制第一方向控制应用通过摄像头接口获取来自摄像头的视频数据,直至此次方向控制结束。如在车载设备场景中,检测到前进挡信号,则意味着此次方向控制结束;在其他场景中,通过其他方式来确定此次方向控制是否结束。
206,控制第一方向控制应用处理视频数据,得到视频影像。
由于第一方向控制应用在一个独立的CPU核中,独立的CPU核的处理能力比一个微处理器的能力强大的多,因此可充分利用该独立的CPU核来处理视频数据,以得到处理后的视频影像。
具体地,如图3所示,控制第一方向控制应用处理视频数据,得到视频影像的步骤,包括以下步骤301至305。
301,控制第一方向控制应用根据摄像头的状态位获取视频数据中的每帧初始方向控制图像数据。
获取的来自摄像头的视频数据是一帧一帧的初始方向控制图像数据,如在车载设备场景中,初始方向控制图像数据也理解为初始倒车图像数据。其中,摄像头设置有对应的状态位以表示摄像头的状态,当摄像头拍摄了一帧初始方向控制图像数据后,修改摄像头的状态位,以表示摄像头中有初始方向控制图像数据,其他的关联硬件可以来获取该初始方向控制图像数据,以对该初始方向控制图像数据进行处理。如摄像头对应的状态位用0和1来表示,0表示摄像头中没有初始方向控制图像数据,1表示摄像头中有初始方向控制图像数据。当摄像头拍摄了一帧初始方向控制图像数据后,将摄像头的状态位从0修改为1。第一方向控制应用通过查询摄像头的状态位,若摄像头的状态位为1,则获取该帧初始方向控制图像数据,并将该帧初始方向控制图像数据发送至下一个处理单元进行处理。如此,控制第一方向控制应用通过摄像头接口获取来自摄像头拍摄的每帧初始方向控制图像数据。
可以理解地,第一CPU核中当前并没有中断资源,是个裸核,因此,对应的软件程序需要通过查询的方式获取第一方向控制应用的关联硬件的状态位。
302,将每帧初始方向控制图像数据发送至图像处理单元进行图像处理,以得到图像处理后的中间方向控制图像数据,并修改图像处理单元的状态位。
其中,图像处理单元可用于对图像进行各种处理,如滤镜处理、去除模糊处理等等,以得到图像处理后的中间方向控制图像数据。图像处理单元设置有对应的状态位,当图像处理单元对一帧初始方向控制图像数据处理完成后,修改该图像处理单元的状态位,以表示图像处理单元中有图像处理后的中间方向控制图像数据。例如,将图像处理单元对应的状态位用0和1来表示,如此,图像处理单元处理完成后,将图像处理单元的状态位从0修改为1,第一方向控制应用通过查询图像处理单元的状态位(如状态位为1),并根据该状态位的值将该帧中间方向控制图像数据发送至下一个处理单元进行处理。将该帧中间方向控制图像数据发送至下一个处理单元之后,若当前没有经过图像处理单元处理完成的中间方向控制图像数据,则修改状态位,将状态位从1修改至0。
需要说明的是,本申请实施例中以状态位用0和1表示为例进行说明,在其他实施例中,状态位可以用任何一个值来表示,如用yes和no表示,用1和-1表示等等。
在一种情况下,当得到图像处理后的中间方向控制图像数据后,可直接将图像处理后的中间方向控制图像数据发送至显示单元进行显示处理。
303,根据图像处理单元的状态位,将图像处理后的中间方向控制图像数据发送至畸变校正单元进行畸变校正处理,以得到畸变校正处理后的中间方向控制图像数据,并修改畸变校正单元的状态位。
其中,畸变校正处理单元可用于对图像进行去畸。摄像头拍摄得到的图像数据往往具有一定的畸变,进行畸变校正处理之后,得到畸变校正处理后的中间方向控制图像数据,以使得最后得到的视频影像看起来更容易理解,提升用户体验。尤其是在摄像头为鱼眼摄像头的情况下,鱼眼摄像头拍摄的图像数据畸变较大,对鱼眼摄像头拍摄的图像数据进行畸变校正处理非常有必要。
其中,畸变校正处理单元与图像处理单元一致,也对应设置有状态位。假设状态位用0和1表示,当畸变校正单元对接收到的一帧图像处理后的中间方向控制图像数据进行畸变处理完成,修改畸变校正单元的状态位,以表示当前畸变校正单元中存在畸变校正处理后的中间方向控制图像数据。第一方向控制应用通过查询畸变校正处理单元的状态位(如状态位为1),并根据该状态位的值将该帧中间方向控制图像数据发送至下一个处理单元进行处理。将该帧中间方向控制图像数据发送至下一个处理单元之后,若当前没有经过畸变校正处理单元处理完成的中间方向控制图像数据,则修改畸变校正处理单元的状态位,将状态位从1修改至0。具体地请参看上文中图像处理单元的描述,在此不再赘述。
304,根据畸变校正单元的状态位,将中间方向控制图像数据发送至显示单元进行显示处理,以得到目标方向控制图像数据,并修改显示单元的状态位。
其中,显示单元的处理包括旋转、颜色变换等等。显示单元进行显示处理后,得到目标方向控制图像数据,显示单元的处理主要是为了能让对应的图像数据可以显示在显示屏上。
同理,显示单元与图像处理单元一致,也对应设置有状态位。设状态位用0和1表示,当显示单元对接收到的一帧中间方向控制图像数据进行显示处理完成,修改显示单元的状态位,以表示当前显示单元中存在显示处理后的目标方向控制图像数据。第一方向控制应用通过查询显示单元的状态位(如状态位为1),并根据该状态位的值将该帧目标方向控制图像数据发送至显示屏进行显示。将该帧目标方向控制图像数据发送至显示屏之后,若当前没有经过显示单元处理完成的目标方向控制图像数据,则修改显示单元的状态位,将状态位从1修改至0。具体地,请参看上文中图像处理单元的描述,在此不再赘述。
305,根据显示单元进行显示处理后的多张目标方向控制图像数据,形成视频影像。
将显示单元进行显示处理后的多张目标方向控制图像数据按照时间顺序组合,形成视频影像。
上述步骤实现对来自于摄像头的视频数据进行处理,得到视频影像。需要注意的是,本申请实施例中,第一CPU核和第二CPU核拥有一个中断资源,由于第二CPU核用来启动电子设备的操作系统,而在操作系统启动过程中,必然会涉及到使用中断资源(该中断资源并非用来检测方向控制信号),为了不影响第二CPU核中操作系统的启动流程,中断资源需要给到第二CPU核,第一CPU核中并没有对应的中断资源(中断硬件资源)。由于第一CPU核中没有对应的中断资源,因此第一CPU核并不能通过中断的方式获取对应的事件,而是通过第一CPU核中的软件程序去轮询相关硬件单元的状态(状态位),并控制将数据流从一个硬件单元流向下一个硬件单元。
可以理解地,该电子设备芯片上的系统架构并非是SMP架构(对称多处理架构,Symmetric Multi-Processor)或者AMP架构(对称多处理架构,Asymmetric Multi-Processing),而是介于SMP架构和AMP结构之间的一种架构。这种架构的优点是,相比于AMP系统,不需要为裸机部署程序设计一套单独的中断硬件资源;相比于SMP系统,在没有使用虚拟化的场景下,可以在主操作系统(比如Android系统)之外,跑一个独立的应用(比如裸机部署程序)。
207,控制第一方向控制应用在电子设备的显示屏上显示视频影像。
将视频影像通过显示接口显示在显示屏上,以将视频影像实时显示。具体的,当显示单元的状态位表示显示单元中有目标方向控制图像数据后,将目标方向控制图像数据通过显示接口发送至显示屏,以进行显示。
该实施例描述了当启动第一方向控制应用后,当第一CPU核检测到方向控制信号且未接收到所述第二CPU核发送的所述操作系统已启动的启动通知时,通过控制第一方向控制应用进行对应的处理,来快速实现视频影像的显示。
在一些情况下,如图2所示,方向控制应用启动方法还包括步骤208至209。具体可结合图5来进一步进行理解。
208,当第一CPU核未检测到方向控制信号且接收到第二CPU核发送的操作系统已启动的启动通知时,控制第一CPU核关闭裸机部署程序。
检测是否有方向控制信号,若未检测到方向控制信号,且接收到第二CPU核发送的操作系统已启动的启动通知,意味着当前无需进行方向控制,无需进行视频影像的显示,且操作系统已启动,此时控制第一CPU核关闭裸机部署程序,结束第一方向控制应用。其中,关闭裸机部署程序,也即关系第一方向控制应用。
在一些情况下,当接收到第二CPU核发送的操作系统已启动的启动通知,且未检测到方向控制信号时,控制第一CPU核修改内存中第一CPU核对应的状态标志位,通过状态标志位来表示第一CPU核的使用状态。该状态标志位的值包括第一标志值和第二标志值,第一标志值表示方向控制未完成,对应的第一CPU核在使用,第二标志值表示方向控制完成,对应的第一CPU核未使用。当接收到第二CPU核发送的操作系统已启动的启动通知,且未检测到方向控制信号时,控制第一CPU核修改内存中对应的状态标志位,将状态标志位的值从第一标志值修改为第二标志值。即在释放第一CPU核之前,控制第一CPU核修改内存中对应的状态标志位。修改内存中对应的状态标志位之后,即意味着可以释放关联硬件,以及释放第一CPU核。
209,控制第一CPU核释放关联硬件,并释放第一CPU核。
结束第一方向控制应用后,控制第一CPU核释放关联硬件,以便后续操作系统获取关联硬件的使用权。由于当前操作系统已启动,且无需使用裸机部署程序,因此释放第一CPU核。
释放第一CPU核后,通过第二CPU核操作系统来控制第一CPU核断电。
在一些情况下,电子设备冷启动的过程中,未检测到方向控制信号,如此,控制第一CPU核启动第一方向控制应用后,第一CPU核在接收到第二CPU核发送的操作系统已启动的启动通知时,控制第一CPU核关闭裸机部署程序,以及控制第一CPU核释放关联硬件,并释放第一CPU核。
在上述实施例的基础上,释放第一CPU核之后,如图4所示,方向控制应用启动方法还包括以下步骤401至步骤404。具体可结合图5进一步理解。
401,控制第二CPU核检测第一CPU核是否已释放。
具体地,控制第二CPU核检测第一CPU核的使用状态;根据第一CPU核的使用状态来确定第一CPU核是否释放。如获取内存中第一CPU核对应的状态标志位;若第一CPU核对应的状态标志位的值为第二状态值,则确定第一CPU核已释放;若第一CPU核对应的状态标志位的值为第一状态值,则确定第一CPU核未释放。
402,若第一CPU核已释放,控制第二CPU核回收第一CPU核。
若第一CPU核已释放,控制第二CPU核回收第一CPU核。具体地,控制操作系统内核通过热插拔(Hotplug)的方式来回收第一CPU核,使得第一CPU核回收至电子设备的操作系统,即操作系统可调用/使用该第一CPU核。
403,控制操作系统加载第二方向控制应用的关联硬件,其中,操作系统中包括第二方向控制应用。
如在车载设备场景中,第二方向控制应用可理解为第二倒车应用。需要注意的是,本申请实施例中的第一方向控制应用和第二方向控制应用虽然实现同样的功能,但是两个应用存在不同。第一方向控制应用是运行于没有操作系统的第一CPU核中,第二方向控制应用运行于有操作系统的第二CPU核中,决定了第一方向控制应用和第二方向控制应用不相同。
第二方向控制应用可理解为是操作系统中携带的一个应用,即操作系统中包括第二方向控制应用。控制操作系统加载第二方向控制应用的关联硬件,包括:控制操作系统加载第二方向控制应用的关联硬件对应的硬件驱动。
404,当检测到方向控制信号时,通过操作系统启动第二方向控制应用。
该实施例当第二CPU核检测到第一CPU核已释放后,回收第一CPU核,并加载第二方向控制应用的关联硬件,当检测到方向控制信号时,通过操作系统启动第二方向控制应用。如此,回收第一CPU核至操作系统,并启动操作系统中的第二方向控制应用,为正常方向控制做准备。
图5是本申请实施例提供的方向控制应用启动方法的另一流程示意图,具体包括如下步骤。
501,Boot ROM程序执行。
在引导加载程序执行阶段,电子设备上电冷启动,Boot ROM程序开始执行,通过Boot ROM程序初始化必要的硬件。其中,Boot ROM程序一般不修改。然后SBL程序开始执行。
502,SBL程序初始化相关硬件。
503,SBL程序将裸机部署程序(Baremetal程序)、内核(kernel)加载至内存中。具体地,从闪存(flash memory)中加载至内存中。
504,SBL程序唤醒至少两个CPU核。
通过SBL程序生成CPU核唤醒指令,电子设备接收CPU核唤醒指令,唤醒至少两个CPU核。
唤醒至少两个CPU内核,并确定用于加载裸机部署程序的第一CPU核,和用于加载电子设备的操作系统的第二CPU核。
以上步骤501至步骤504对应的是引导加载程序(Bootloader)的执行。
511,初始化第一方向控制应用的关联硬件。
512,判断是否检测到方向控制信号。
若检测到方向控制信号,执行步骤513;若未检测到方向控制信号,接着进行检测。
513,运行第一方向控制应用。
514,当接收到第二CPU核发送的操作系统已启动的启动通知时,判断是否检测到方向控制信号。
若未检测到方向控制信号,则确定方向控制结束,执行步骤515;若检测到方向控制信号,则意味着方向控制未结束,接着执行步骤513。
515,修改第一CPU核对应的使用状态,并关闭第一方向控制应用。即关闭裸机部署程序。修改第一CPU核对应的使用状态即修改内存中第一CPU核对应的状态标志位的值。
516,释放第一CPU核和关联硬件。
以上步骤511至步骤516运行于裸机部署程序所在的第一CPU核中。
521,通过第二CPU核启动操作系统。
522,当操作系统启动成功,向Baremetal程序发送操作系统已启动的启动通知。
523,检测第一CPU核对应的使用状态。具体地,检测内存中第一CPU核对应的状态标志位的值。
524,判断第一CPU核是否释放。
根据第一CPU核对应的状态标志位的值来确定第一CPU核是否释放。若第一CPU核已释放,则执行步骤525;若第一CPU核未释放,执行步骤523。
525,操作系统内核以热插拔的方式回收第一CPU核,并加载第二方向控制应用的关联硬件。
电源管理接口(PSCI, Power State Coordination Interface)提供热插拔的接口,操作系统内核通过电源管理接口以热插拔的方式回收第一CPU核,并加载第二方向控制应用的关联硬件。
以上步骤521至步骤525运行于操作系统所在的第二CPU核中。
如图6所示,为本申请实施例提供的CPU核启动的流程示意图。该实施例中,有4个CPU核,CPU核标识分别为CPU0、CPU1、CPU2和CPU3。第一CPU核的第一CPU核标识为CPU3,用来加载裸机部署程序;第二CPU核标识为CPU0、CPU1、CPU2,用来加载电子设备的操作系统内核。
在操作系统侧,当电子设备上电后,CPU0作为Bootcore先启动,接着启动secondary CPU,即CPU1、CPU2;若检测到CPU核标识为CPU3,则不启动该CPU。
如对于CPU0,当电子设备上电后,CPU0的启动流程包括以下步骤:
601,检测当前CPU标识是否为CPU0。若是,则执行步骤602。
602,加载操作系统内核,并启动操作系统内核。
接着进行其他的一些处理,直至操作系统启动。
603,运行操作系统。
604,通知裸机部署程序(Baremetal程序),即向CPU3中的Baremetal程序发送操作系统已启动的启动通知。
605,检测第一CPU核对应的使用状态。具体地,检测内存中第一CPU核对应的状态标志位的值。
606,根据第一CPU核对应的使用状态,判断CPU3是否已释放。
607,若CPU3已释放,操作系统内核以热插拔的方式回收CPU3。
对于CPU2和CPU3,当系统上电后,CPU2或者CPU3的启动流程包括以下步骤:
611,检测当前CPU标识是否为CPU0。
若不为CPU0,接着执行步骤612。
612,检测当前CPU标识是否为CPU3。
若不是CPU3,则可进行CPU核启动过程中的一些处理。
即对于CPU2和CPU3来说,检测当前CPU标识是否为CPU0或者是否为CPU3,若不为CPU0,也不为CPU3,则可进行CPU核启动过程中的一些处理。
对于CPU3,当系统上电后,CPU3的启动流程包括以下步骤:
621,检测当前CPU标识是否为CPU3。
若为CPU3,执行步骤622。
622,加载裸机部署程序(Baremetal)。
623,裸机部署程序的初始化,即初始化第一方向控制应用的关联硬件。
624,运行第一方向控制应用。
625,判断是否检测到方向控制结束且接收到操作系统已启动的启动通知。
若检测到方向控制结束且接收到操作系统启动的启动通知时,则执行步骤626。
626,修改第一CPU核对应的使用状态,并结束裸机部署程序,即结束第一方向控制应用,释放CPU3,以及关联硬件,即第一方向控制应用的关联硬件。
其中,在整个CPU核启动流程中,CPU0对应的CPU核与CPU1、CPU2、CPU3对应的CPU核可通过核间通讯的方式相互通信。
如图7所示,为本申请实施例提供的第一方向控制应用运行的流程示意图,具体可结合图3的实施例一起理解。
701,裸机部署程序启动,裸机部署程序包括第一方向控制应用。
702,初始化第一方向控制应用的关联硬件,包括:摄像头、摄像头接口、图像处理单元、畸变校正单元、显示单元、显示接口和显示屏等。
703,轮询查询第一方向控制应用的相关事件的状态,并根据查询的相关事件状态来循环处理相关事件。其中,相关事件包括各个关联硬件对应的事件、操作系统的启动状态事件、方向控制信号的检测事件等。
其中,状态包括三种:1、方向控制信号,2、摄像头、图像处理单元、畸变校正单元、显示单元等关联硬件的状态(通过状态位表示),3、操作系统的启动状态。
具体地,轮询查询第一方向控制应用的相关事件的状态,并根据查询的相关事件状态来循环处理相关事件的步骤,包括:
a)检测是否有方向控制信号,如果有,则进入b);如果没有,则进入f);
b)获取摄像头中的一帧初始方向控制图像数据,将接收到的一帧初始方向控制图像数据交给图像处理单元,进入c);
c)对初始方向控制图像数据进行图像处理,将处理完的一帧中间方向控制图像数据交给畸变校正单元处理,进入d);
d)对中间方向控制图像数据进行畸变校正处理,将处理完的一帧中间方向控制图像数据交给显示单元处理,得到目标方向控制图像数据,进入e);
e)将目标方向控制图像数据通过显示接口显示在显示屏上;循环进入a),如此形成视频影像;
f)查询操作系统的启动状态是否为已启动,若是,即操作系统已经启动,且未检测到方向控制信号,则修改内存中第一CPU核的使用状态(状态标志位的值),关闭裸机部署程序,释放第一CPU核,摄像头,图像处理单元,显示单元等关联硬件,裸机部署程序结束进入步骤711。
上述步骤a)b)c)d)e)f)等运行于第一CPU核的裸机部署程序中,后面的步骤711至713等运行于操作系统中。
711,操作系统通过查询第一CPU核的使用状态(状态标志位的值),得到第一CPU核已经释放,则通过操作系统内核以热插拔(Hotplug)的方式回收该第一CPU核,并加载摄像头,图像处理单元,显示单元等硬件驱动。
712,操作系统是否接收到方向控制信号。
713,若接收到方向控制信号,从操作系统启动第二方向控制应用。
根据上述实施例所描述的方法,本实施例将从方向控制应用启动装置的角度进一步进行描述,该方向控制应用启动装置具体可以集成在电子设备中来实现。
图8是本申请实施例提供的方向控制应用启动装置的结构示意图。该方向控制应用启动装置包括唤醒单元801、加载单元802、第一控制单元803和第二控制单元804。
唤醒单元801,用于在接收到CPU核唤醒指令后,唤醒至少两个CPU核。
加载单元802,用于在至少两个CPU核被唤醒后,将裸机部署程序加载至第一CPU核,将电子设备的操作系统内核加载至第二CPU核,以使得第一CPU核启动裸机部署程序,并使得第二CPU核启动电子设备的操作系统,裸机部署程序包括第一方向控制应用。
第一控制单元803,用于控制第一CPU核在启动裸机部署程序后,初始化第一方向控制应用的关联硬件。
第二控制单元804,用于控制第一CPU核启动第一方向控制应用。
在一种情况下,如图9所示,方向控制应用启动装置还包括控制处理单元805。其中,控制处理单元805,用于在启动第一方向控制应用后,当第一CPU核检测到方向控制信号且未接收到第二CPU核发送的所述操作系统已启动的启动通知时,控制第一方向控制应用通过摄像头接口获取来自摄像头的视频数据;控制第一方向控制应用处理视频数据,得到视频影像;控制第一方向控制应用在电子设备的显示屏上显示视频影像。
其中,控制处理单元805在执行控制所述第一方向控制应用处理所述视频数据,得到视频影像的步骤时,具体执行控制第一方向控制应用获取视频数据中的每帧初始方向控制图像数据;将每帧初始方向控制图像数据发送至图像处理单元进行图像处理,得到图像处理后的中间方向控制图像数据;将中间方向控制图像数据至显示单元进行显示处理,得到目标方向控制图像数据;根据多张目标方向控制图像数据,形成视频影像。
进一步地,在得到图像处理后的中间方向控制图像数据之后,将图像处理后的中间方向控制图像数据发送至畸变校正单元进行畸变校正处理,以得到畸变校正处理后的中间方向控制图像数据;将中间方向控制图像数据至显示单元进行显示处理,得到目标方向控制图像数据;根据多张目标方向控制图像数据,形成视频影像。
在一种情况下,如图9所示,方向控制应用启动装置还包括控制关闭单元806、控制释放单元807。其中,控制关闭单元806,用于当第一CPU核未检测到方向控制信号且接收到第二CPU核发送的操作系统已启动的启动通知时,控制第一CPU核关闭裸机部署程序。控制释放单元807,用于控制第一CPU核释放关联硬件,并释放第一CPU核。
在上述装置实施例中,还包括:确定单元。其中,确定单元,用于确定加载裸机部署程序的第一CPU核的第一CPU核标识,以及确定加载电子设备的操作系统内核的第二CPU核的第二CPU核标识。加载单元802,具体用于根据第一CPU核标识,将裸机部署程序加载至第一CPU核;根据第二CPU核标识,将电子设备的操作系统内核加载至第二CPU核。
在一种情况下,如图9所示,方向控制应用启动装置还包括控制回收单元808。其中,控制回收单元808,用于控制第二CPU核检测第一CPU核是否已释放,若第一CPU核已释放,控制第二CPU核回收第一CPU核。第一控制单元803,还用于控制操作系统加载第二方向控制应用的关联硬件,其中,操作系统包括第二方向控制应用。第二控制单元804,还用于当检测到方向控制信号时,通过操作系统启动第二方向控制应用。
具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现。以上装置和各单元的具体实现过程,以及所达到的有益效果,可以参考前述方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。
本申请实施例还提供一种电子设备,如图10所示,其示出了本申请实施例所涉及的电子设备的结构示意图,具体来讲:
该电子设备可以包括至少处理核心的处理器901、一个或一个以上计算机可读存储介质的存储器902、射频(Radio Frequency,RF)电路903、电源904、输入单元905、以及显示屏906等部件。本领域技术人员可以理解,图中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器901是该电子设备的控制中心,处理器利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器902内的软件程序和/或模块,以及调用存储在存储器902内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。可选的,处理器可包括至少两个处理核心;优选的,处理器可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解地是,上述调制解调处理器也可以不集成到中央处理器中。
存储器902可用于存储软件程序(也称为计算机程序,如引导加载程序、操作系统内核、第一方向控制应用、第二方向控制应用等)以及模块,处理器901通过运行存储在存储器902的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器902可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据电子设备的使用所创建的数据,如视频影像数据等。此外,存储器902可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器902还可以包括存储器控制器,以提供处理器901对存储器902的访问。
RF电路903可用于收发信息过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器901处理;另外,将涉及上行的数据发送给基站。通常,RF电路903包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM)卡、收发信机、耦合器、低噪声放大器(LNA,Low Noise Amplifier)、双工器等。此外,RF电路903还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(GSM,Global System of Mobilecommunication)、通用分组无线服务(GPRS,General Packet Radio Service)、码分多址(CDMA,Code Division Multiple Access)、宽带码分多址(WCDMA,Wideband CodeDivision Multiple Access)、长期演进(LTE,Long Term Evolution)、电子邮件、短消息服务(SMS,Short Messaging Service)等。
电子设备还包括给各个部件供电的电源904(比如电池),优选的,电源904可以通过电源管理系统与处理器901逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源904还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该还可包括输入单元905,该输入单元905可用于接收输入的数字或字符信息。具体地,在一个具体地实施例中,输入单元905可包括触敏表面以及其他输入设备。触敏表面,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面上或在触敏表面附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器901,并能接收处理器901发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面。除了触敏表面,输入单元905还可以包括其他输入设备。
该电子设备还可包括显示屏906,该显示屏906可用于显示由用户输入的信息或提供给用户的信息以及电子设备的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示屏906可包括显示面板,可选的,可以采用液晶显示器(LCD,Liquid Crystal Display)、有机发光二极管(OLED,Organic Light-EmittingDiode)等形式来配置显示面板。进一步的,触敏表面可覆盖显示面板,当触敏表面检测到在其上或附近的触摸操作后,传送给处理器901以确定触摸事件的类型,随后处理器901根据触摸事件的类型在显示面板上提供相应的视觉输出。虽然在图中,触敏表面与显示面板是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面与显示面板集成而实现输入和输出功能。
该电子设备还可以包括摄像头907,摄像头907包括倒车摄像头。摄像头用于在方向控制时拍摄场景对应的方向控制图像数据,得到初始方向控制图像数据。
尽管未示出,电子设备还可以包括蓝牙模块等,在此不再赘述。具体在本实施例中,电子设备中的处理器901会按照对应的指令,将引导加载程序、第一方向控制应用和第二方向控制应用对应的可执行文件加载到存储器902中,并由处理器901来运行存储在存储器902中的应用程序,从而实现上述方法实施例中描述的各种功能。
该电子设备可以实现本申请实施例所提供的方向控制应用启动方法任一实施例中的步骤,因此,可以实现本申请实施例所提供的任一方向控制应用启动方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令(计算机程序)来完成,或通过指令(计算机程序)控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。为此,本发明实施例提供一种存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本发明实施例所提供的方向控制应用启动方法中任一实施例的步骤。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的指令,可以执行本发明实施例所提供的任一方向控制应用启动方法实施例中的步骤,因此,可以实现本发明实施例所提供的任一方向控制应用启动方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本申请实施例所提供的一种方向控制应用启动方法、装置、电子设备以及存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种方向控制应用启动方法,应用于电子设备中,其特征在于,所述电子设备包括至少两个CPU核,所述方向控制应用启动方法包括:
在接收到CPU核唤醒指令后,唤醒所述至少两个CPU核;
在所述至少两个CPU核被唤醒后,将裸机部署程序加载至第一CPU核,将所述电子设备的操作系统内核加载至第二CPU核,以使得所述第一CPU核启动所述裸机部署程序,并使得所述第二CPU核启动所述电子设备的操作系统,所述裸机部署程序包括第一方向控制应用,所述第一CPU核和所述第二CPU核拥有一个中断资源,所述中断资源分配给所述第二CPU核,以使所述第二CPU核启动所述电子设备的操作系统;
控制所述第一CPU核在启动所述裸机部署程序后,初始化所述第一方向控制应用的关联硬件,所述关联硬件对应包括状态位;
控制所述第一CPU核启动所述第一方向控制应用;
当所述第一CPU核检测到方向控制信号且未接收到所述第二CPU核发送的所述操作系统已启动的启动通知时,控制所述第一方向控制应用轮询所述关联硬件对应的状态位,并根据所述关联硬件对应的状态位控制所述关联硬件处理摄像头的视频数据,以实现视频影像的显示。
2.根据权利要求1所述的方向控制应用启动方法,其特征在于,所述关联硬件包括显示屏、显示单元、摄像头接口和摄像头,所述控制所述第一方向控制应用轮询所述关联硬件对应的状态位,并根据所述关联硬件对应的状态位控制所述关联硬件处理摄像头的视频数据,实现视频影像的显示的步骤,包括:
控制所述第一方向控制应用查询所述摄像头的状态位,并根据所述摄像头的状态位通过所述摄像头接口获取来自所述摄像头的视频数据;
控制所述第一方向控制应用处理所述视频数据,得到视频影像;
控制所述第一方向控制应用查询所述显示单元的状态位,并根据所述显示单元的状态位在所述电子设备的所述显示屏上显示所述视频影像。
3.根据权利要求2所述的方向控制应用启动方法,其特征在于,所述关联硬件还包括图像处理单元和显示接口,所述控制所述第一方向控制应用处理所述视频数据,得到视频影像的步骤,包括:
控制所述第一方向控制应用根据所述摄像头的状态位获取所述视频数据中的每帧初始方向控制图像数据;
将所述每帧初始方向控制图像数据发送至所述图像处理单元进行图像处理,得到图像处理后的中间方向控制图像数据,并修改所述图像处理单元的状态位;
根据所述图像处理单元的状态位,将所述中间方向控制图像数据发送至所述显示单元进行显示处理,得到目标方向控制图像数据,并修改所述显示单元的状态位;
根据所述显示单元进行显示处理后的多张所述目标方向控制图像数据,形成视频影像。
4.根据权利要求3所述的方向控制应用启动方法,其特征在于,所述关联硬件还包括畸变校正单元,在将所述每帧初始方向控制图像数据发送至所述图像处理单元进行图像处理,得到图像处理后的中间方向控制图像数据,并修改所述图像处理单元的状态位之后,还包括:
根据所述图像处理单元的状态位,将图像处理后的中间方向控制图像数据发送至所述畸变校正单元进行畸变校正处理,以得到畸变校正处理后的中间方向控制图像数据,并修改所述畸变校正单元的状态位;
所述根据所述图像处理单元的状态位,将所述中间方向控制图像数据发送至所述显示单元进行显示处理,得到目标方向控制图像数据的步骤,包括:根据所述畸变校正单元的状态位,将所述中间方向控制图像数据发送至所述显示单元进行显示处理,得到目标方向控制图像数据。
5.根据权利要求1所述的方向控制应用启动方法,其特征在于,在控制所述第一CPU核启动所述第一方向控制应用之后,还包括:
当所述第一CPU核未检测到方向控制信号且接收到所述第二CPU核发送的所述操作系统已启动的启动通知时,控制所述第一CPU核关闭所述裸机部署程序;
控制释放所述关联硬件,并释放所述第一CPU核。
6.根据权利要求5所述的方向控制应用启动方法,其特征在于,在所述释放所述第一CPU核之后,还包括:
控制所述第二CPU核检测所述第一CPU核是否已释放;
若所述第一CPU核已释放,控制所述第二CPU核回收所述第一CPU核;
控制所述操作系统加载第二方向控制应用的关联硬件,所述操作系统包括所述第二方向控制应用;
控制所述第二CPU核启动所述第二方向控制应用。
7.根据权利要求1所述的方向控制应用启动方法,其特征在于,在所述将裸机部署程序加载至第一CPU核,将所述电子设备的操作系统内核加载至第二CPU核的步骤之前,还包括:
确定加载裸机部署程序的第一CPU核的第一CPU核标识,以及确定加载所述电子设备的操作系统内核的第二CPU核的第二CPU核标识;
所述将裸机部署程序加载至第一CPU核,将所述电子设备的操作系统内核加载至第二CPU核的步骤,包括:根据所述第一CPU核标识,将裸机部署程序加载至第一CPU核;根据所述第二CPU核标识,将所述电子设备的操作系统内核加载至第二CPU核。
8.一种方向控制应用启动装置,应用于电子设备中,其特征在于,所述电子设备包括至少两个CPU核,所述方向控制应用启动装置包括:
唤醒单元,用于在接收到CPU核唤醒指令后,唤醒所述至少两个CPU核;
加载单元,用于在所述至少两个CPU核被唤醒后,将裸机部署程序加载至第一CPU核,将所述电子设备的操作系统内核加载至第二CPU核,以使得所述第一CPU核启动所述裸机部署程序,并使得所述第二CPU核启动所述电子设备的操作系统,所述裸机部署程序包括第一方向控制应用,所述第一CPU核和所述第二CPU核拥有一个中断资源,所述中断资源分配给所述第二CPU核,以使所述第二CPU核启动所述电子设备的操作系统;
第一控制单元,用于控制所述第一CPU核在启动所述裸机部署程序后,初始化所述第一方向控制应用的关联硬件,所述关联硬件对应包括状态位;
第二控制单元,用于控制所述第一CPU核启动所述第一方向控制应用;
控制处理单元,用于当所述第一CPU核检测到方向控制信号且未接收到所述第二CPU核发送的所述操作系统已启动的启动通知时,控制所述第一方向控制应用轮询所述关联硬件对应的状态位,并根据所述关联硬件对应的状态位控制所述关联硬件处理摄像头的视频数据,以实现视频影像的显示。
9.一种电子设备,其特征在于,所述电子设备包括存储器以及至少两个CPU核、所述存储器中存储有计算机程序,所述计算机程序被所述至少两个CPU核执行时,实现上述权利要求1至7任一项所述的方向控制应用启动方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现上述权利要求1至7任一项所述的方向控制应用启动方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011417256.4A CN112395018B (zh) | 2020-12-07 | 2020-12-07 | 一种方向控制应用启动方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011417256.4A CN112395018B (zh) | 2020-12-07 | 2020-12-07 | 一种方向控制应用启动方法、装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112395018A CN112395018A (zh) | 2021-02-23 |
CN112395018B true CN112395018B (zh) | 2021-04-13 |
Family
ID=74604427
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011417256.4A Active CN112395018B (zh) | 2020-12-07 | 2020-12-07 | 一种方向控制应用启动方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112395018B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114860551B (zh) * | 2022-07-04 | 2022-10-28 | 飞腾信息技术有限公司 | 确定指令执行状态的方法、装置、设备及多核处理器 |
CN117938825A (zh) * | 2022-10-14 | 2024-04-26 | 广州汽车集团股份有限公司 | 远程控制方法、域控制器以及车辆 |
WO2024221469A1 (zh) * | 2023-04-28 | 2024-10-31 | 苏州元脑智能科技有限公司 | 嵌入式系统的启动控制方法和装置、存储介质和电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103150178A (zh) * | 2013-02-05 | 2013-06-12 | 联发科技(新加坡)私人有限公司 | 一种开机显示控制方法及处理器芯片 |
CN206510830U (zh) * | 2016-11-04 | 2017-09-22 | 重庆优擎科技有限公司 | 一种车载智能后视镜系统 |
CN110245585A (zh) * | 2019-05-28 | 2019-09-17 | 艾贝科技(深圳)有限公司 | 倒车后视系统实现方法、装置、计算机设备及其存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8321489B2 (en) * | 2006-09-15 | 2012-11-27 | National Semiconductor Corporation | Software reconfigurable digital phase lock loop architecture |
CN202721760U (zh) * | 2012-06-11 | 2013-02-06 | 深圳市益光实业有限公司 | 车载倒车视频快速显示系统 |
CN103514043B (zh) * | 2012-06-29 | 2017-09-29 | 华为技术有限公司 | 多处理器系统及该系统的数据处理方法 |
JP5966805B2 (ja) * | 2012-09-21 | 2016-08-10 | ブラザー工業株式会社 | 印刷のための制御装置 |
-
2020
- 2020-12-07 CN CN202011417256.4A patent/CN112395018B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103150178A (zh) * | 2013-02-05 | 2013-06-12 | 联发科技(新加坡)私人有限公司 | 一种开机显示控制方法及处理器芯片 |
CN206510830U (zh) * | 2016-11-04 | 2017-09-22 | 重庆优擎科技有限公司 | 一种车载智能后视镜系统 |
CN110245585A (zh) * | 2019-05-28 | 2019-09-17 | 艾贝科技(深圳)有限公司 | 倒车后视系统实现方法、装置、计算机设备及其存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112395018A (zh) | 2021-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112395018B (zh) | 一种方向控制应用启动方法、装置、电子设备和存储介质 | |
KR101832953B1 (ko) | 모바일 디바이스의 어플리케이션 프로세서의 원격 시동 | |
CN109426525B (zh) | 一种针对计算机的睡眠状态唤醒的方法及装置 | |
US10481917B2 (en) | Method and apparatus for hibernation operation in multiple operating system environments | |
US20220100490A1 (en) | Firmware updating method, and electronic apparatus and storage media for same | |
CN106959857B (zh) | 一种电子设备的应用控制方法和装置 | |
CN107704133B (zh) | 冻屏监测与解决方法、移动终端及计算机可读存储介质 | |
CN111332224B (zh) | 车载多媒体系统的控制方法及装置 | |
CN113728312B (zh) | 用于控制应用的执行的方法、电子装置及其存储介质 | |
JP2023521457A (ja) | 電子デバイス及びウェイクアップのトリガに応答する方法 | |
CN108958807B (zh) | 一种终端系统启动方法及终端 | |
CN116339838A (zh) | 服务器启动方法、装置、电子设备及存储介质 | |
CN111399874A (zh) | 一种系统升级方法、装置、存储介质及智能穿戴设备 | |
WO2021254318A1 (zh) | 终端设备及其手势操作方法和介质 | |
CN107861827B (zh) | 卡屏检测方法、移动终端及计算机可读存储介质 | |
CN113543104A (zh) | 蓝牙通信方法、多媒体设备及存储介质 | |
WO2018010438A1 (zh) | 终端的响应方法和装置 | |
CN113138785A (zh) | 应用程序的更新方法和装置 | |
CN110109529B (zh) | Sd卡供电控制方法、装置、存储介质及电子设备 | |
EP2998859B1 (en) | Display control device, display control method, and program | |
CN111176958A (zh) | 信息监测方法、系统和存储介质 | |
CN113434336B (zh) | 开机方法、装置、电子设备及可读存储介质 | |
CN114594965A (zh) | 应用软件的安装方法、装置、终端设备以及存储介质 | |
CN108881623B (zh) | 移动终端控制方法、移动终端及其存储介质 | |
KR20220069925A (ko) | 복수의 인터페이스를 이용하여 다른 전자 장치를 인식하는 방법 및 그 전자 장치 |
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 |