CN116700815B - 硬件资源控制方法、电子设备及可读存储介质 - Google Patents
硬件资源控制方法、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN116700815B CN116700815B CN202211295998.3A CN202211295998A CN116700815B CN 116700815 B CN116700815 B CN 116700815B CN 202211295998 A CN202211295998 A CN 202211295998A CN 116700815 B CN116700815 B CN 116700815B
- Authority
- CN
- China
- Prior art keywords
- temperature sensor
- color temperature
- application
- power
- flag bit
- 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
- 238000000034 method Methods 0.000 title claims abstract description 355
- 230000008569 process Effects 0.000 claims abstract description 296
- 238000004590 computer program Methods 0.000 claims description 12
- 238000012544 monitoring process Methods 0.000 claims description 9
- 230000002159 abnormal effect Effects 0.000 claims description 6
- 230000004044 response Effects 0.000 claims description 4
- 230000006870 function Effects 0.000 description 21
- 238000013500 data storage Methods 0.000 description 18
- 238000004891 communication Methods 0.000 description 17
- 238000012545 processing Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 13
- 238000010295 mobile communication Methods 0.000 description 5
- 230000003213 activating effect Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000003416 augmentation Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004040 coloring Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000004886 process control Methods 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Telephone Function (AREA)
Abstract
本申请涉及硬件资源控制技术领域,提供一种硬件资源控制方法、装置、电子设备及可读存储介质,该方法包括:基于显示进程对电子设备的色温传感器的调用请求,以及摄像头进程对所述色温传感器的调用请求,以及第一标志位控制所述色温传感器上电或者下电,其中,所述第一标志位的取值用于指示当前已经调用所述色温传感器的进程数量;在控制所述色温传感器上电或者下电之后,对所述第一标志位的取值进行更新,从而根据第一标志位确定当前是否存在使用该色温传感器的应用进程,在存在使用该色温传感器的应用进程则不直接进行下电,从而保障其他应用进程正常使用该色温传感器。
Description
技术领域
本申请涉及硬件资源控制技术领域,尤其涉及一种硬件资源控制方法、装置、电子设备及可读存储介质。
背景技术
在目前的电子设备中,色温传感器一般适配的某一个特定的进程,该进程内部能够获取色温传感器的数据,或者对色温传感器进行控制。但是目前的方案存在着色温传感器的控制方式不够灵活,使用体验不佳的问题。
发明内容
本申请提供一种硬件资源控制方法、装置、电子设备及可读存储介质,目的在于避免色温传感器的控制方式不够灵活,使用体验不佳。
第一方面,本申请提供了一种硬件资源控制方法,该方法包括:
接收用户的第一操作;
响应于所述第一操作,启动显示进程;
接收用户针对所述电子设备的相机应用的第二操作;
响应于所述第二操作,启动摄像头进程;
基于所述显示进程对所述电子设备的色温传感器的调用请求,以及所述摄像头进程对所述色温传感器的调用请求,以及第一标志位控制所述色温传感器上电或者下电,其中,所述第一标志位的取值用于指示当前已经调用所述色温传感器的进程数量;
在控制所述色温传感器上电或者下电之后,对所述第一标志位的取值进行更新。
在一种可能的实现方式中,获取所述显示进程或所述摄像头进程对所述电子设备的色温传感器的调用请求的类型;
在所述显示进程或所述摄像头进程对所述色温传感器的调用请求的类型为对所述色温传感器进行上电类型时,且所述第一标志位为0时,控制所述色温传感器上电;
在所述显示进程或所述摄像头进程对所述色温传感器的调用请求的类型为对所述色温传感器进行上电类型时,且所述第一标志位不为0时,保持所述色温传感器的上电状态,不再执行上电流程。
在一种可能的实现方式中,所述获取所述显示进程或所述摄像头进程对所述电子设备的色温传感器的调用请求的类型之后,所述方法还包括:
在所述显示进程或所述摄像头进程对所述色温传感器的调用请求的类型为对所述色温传感器进行下电类型时,且所述第一标志位为1时,控制所述色温传感器下电;
在所述显示进程或所述摄像头进程对所述色温传感器的调用请求的类型为对所述色温传感器进行下电类型时,且所述第一标志位为大于1的整数时,保持所述色温传感器的上电状态,不执行下电流程。
在一种可能的实现方式中,所述在控制所述色温传感器上电或者下电之后,对所述第一标志位的取值进行更新,包括:
在控制所述色温传感器上电之后,对所述第一标志位的取值进行加1;
在控制所述色温传感器下电之后,对所述第一标志位的取值进行减1。
在一种可能的实现方式中,所述对所述第一标志位的取值进行更新之后,所述方法还包括:
在控制所述色温传感器上电之后,监控所述色温传感器的第一使用状态;
在所述色温传感器的第一使用状态为上电异常状态时,确定所述色温传感器上电失败;
在所述色温传感器上电失败后,对所述第一标志位进行减1。
在一种可能的实现方式中,所述对所述第一标志位的取值进行更新之后,所述方法还包括:
在控制所述色温传感器下电之后,监控所述色温传感器的第二使用状态;
在检测到所述色温传感器的第二使用状态为下电异常状态时,确定所述色温传感器下电失败;
在所述色温传感器下电失败后,对所述第一标志位进行加1。
在一种可能的实现方式中,所述方法还包括:
获取各个应用进程对所述色温传感器的调用请求;
将所述各个应用进程对所述色温传感器的调用请求与预设请求参数列表进行匹配,其中,所述预设通知参数列表包括所有可调用所述色温传感器的应用进程信息;
根据匹配结果确定当前已经调用所述色温传感器的进程数量。
在一种可能的实现方式中,所述第一操作为开机操作。
在一种可能的实现方式中,所述第二操作为启动所述相机应用的操作。
第二方面,本申请提供了一种硬件资源控制装置,包括:
接收模块,用于接收用户的第一操作;
启动模块,用于响应于所述第一操作,启动显示进程;
所述接收模块,还用于接收用户针对所述电子设备的相机应用的第二操作;
所述启动模块,还用于响应于所述第二操作,启动摄像头进程;
控制模块,用于基于所述显示进程对所述电子设备的色温传感器的调用请求,以及所述摄像头进程对所述色温传感器的调用请求,以及第一标志位控制所述色温传感器上电或者下电,其中,所述第一标志位的取值用于指示当前已经调用所述色温传感器的进程数量;
更新模块,用于在控制所述色温传感器上电或者下电之后,对所述第一标志位的取值进行更新。
第三方面,本申请提供了一种电子设备,包括:
一个或多个处理器;存储器;以及一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中,所述一个或多个计算机程序包括指令,当所述指令被所述电子设备执行时,使得所述电子设备执行如上述第一方面或第一方面的可能的实现方式中任一项所述的硬件资源控制方法。
第四方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质中存储了计算机程序,当所述计算机程序被处理器执行时,使得处理器执行如上述第一方面或第一方面的可能的实现方式中任一项所述的硬件资源控制方法。
第五方面,本申请提供了一种芯片,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,执行第一方面或第一方面的可能的实现方式中任一项所述的硬件资源控制方法。
可选的,作为一种可能的实现方式,所述芯片还可以包括存储器,所述存储器中存储有指令,所述处理器用于执行所述存储器上存储的指令,当所述指令被执行时,所述处理器用于执行第一方面或第一方面的可能的实现方式中任一项所述的硬件资源控制方法。
附图说明
图1为现有技术应用进程处理的一个示意性场景图;
图2为本申请实施例提供的电子设备的一种结构示意图;
图3为本申请实施例提供的电子设备的一种软件结构框图;
图4为本申请一个实施例提供的硬件资源控制方法的流程示意图;
图5为本申请另一个实施例提供的硬件资源控制方法的流程示意图;
图6为本申请另一个实施例提供的硬件资源控制方法的框架示意图;
图7为本申请另一个实施例提供的硬件资源控制方法的状态机图;
图8为本申请另一个实施例提供的硬件资源控制方法的控制流程示意图;
图9为本申请另一个实施例提供的硬件资源控制方法的模块交互图。
具体实施方式
本申请说明书和权利要求书及附图说明中的术语“第一”、“第二”和“第三”等是用于区别不同对象,而不是用于限定特定顺序。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
为了下述各实施例的描述清楚简洁,首先给出一种硬件资源控制的实现方案的简要介绍:
目前,LCD调光需要获取后置颜色传感器色温传感器的上报数值,当前色温传感器数值上报单独针对摄像头Cam进程(CameraProvider进程,也可以称为Camera进程)适配,不具备同时兼容两个或多个进程使用同一个器件的能力。当前已有方案会导致Cam进程和显示Display进程采用相同的参数控制器件,当两个进程同时使用器件时,其中某一个进程关闭会导致器件直接下电,影响其他进程对器件的正常使用,如图1所示,图1为现有技术对应用进程处理的一个示意性场景图,在摄像头CamX进程和显示Display进程同时访问同一硬件器件时,调用色温传感器的具体流程为CamX进程的摄像头闪光灯进程Camxflash访问闪光灯使能flash-enable节点,通过flash-enable节点使用色温传感器colorsensor函数控制硬件器件,CamX进程和Display进程通过色温传感器color.sensor硬件抽象层函数访问色温传感器使能colorsensor-enable节点实现跨层之间的信息交互,然后通过colorsensor-enable节点使用colorsensor函数控制色温传感器,但是两个进程都在使用色温传感器时,如果一个进程关闭会导致色温传感器下电,从而影响正在运行的其他进程使用色温传感器,例如在CamX进程和Display进程同时使用色温传感器时,如果CamX进程关闭会导致色温传感器器件直接下电,从而影响Display进程对色温传感器器件的正常使用。
基于上述技术方案中存在的问题,本申请提供了一种硬件资源控制方法,通过接收用户的第一操作;响应于所述第一操作,启动显示进程;接收用户针对所述电子设备的相机应用的第二操作;响应于所述第二操作,启动摄像头进程;基于所述显示进程对所述电子设备的色温传感器的调用请求,以及所述摄像头进程对所述色温传感器的调用请求,以及第一标志位控制所述色温传感器上电或者下电,其中,所述第一标志位的取值用于指示当前已经调用所述色温传感器的进程数量;在控制所述色温传感器上电或者下电之后,对所述第一标志位的取值进行更新,从而根据第一标志位确定当前是否存在使用该色温传感器的应用进程,在存在使用该色温传感器的应用进程则不直接进行下电,从而保障其他应用进程正常使用该色温传感器。所提供的硬件资源控制方法,可以适用于手机、平板电脑、桌面型、膝上型、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、手持计算机、上网本、个人数字助理(Personal Digital Assistant,PDA)、可穿戴电子设备、智能手表等电子设备。其中,适用该硬件资源控制方法的电子设备,其结构可以如图2所示。
如图2所示,图2为本申请提供的一种电子设备的组成示例图,电子设备200可以包括处理器210,外部存储器接口220,内部存储器221,通用串行总线(universal serialbus,USB)接口230,充电管理模块240,电源管理模块241,电池242,天线1,天线2,移动通信模块250,无线通信模块260,音频模块270,扬声器270A,受话器270B,麦克风270C,耳机接口270D,传感器模块280,按键290,马达291,指示器292,摄像头293,显示屏294,以及用户标识模块(subscriber identification module,SIM)卡接口295等。其中传感器模块280可以包括压力传感器280A,陀螺仪传感器280B,气压传感器280C,磁传感器280D,加速度传感器280E,距离传感器280F,接近光传感器280G,指纹传感器280H,温度传感器280J,触摸传感器280K,环境光传感器280L,骨传导传感器280M等。
可以理解的是,本实施例示意的结构并不构成对该电子设备200的具体限定。在另一些实施例中,该电子设备200可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器210可以包括一个或多个处理单元,例如:处理器210可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是电子设备200的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器210中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器210中的存储器为高速缓冲存储器。该存储器可以保存处理器210刚用过或循环使用的指令或数据。如果处理器210需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器210的等待时间,因而提高了***的效率。
在一些实施例中,处理器210可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
可以理解的是,本实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备200的结构限定。在本申请另一些实施例中,电子设备200也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
电子设备200的无线通信功能可以通过天线1,天线2,移动通信模块250,无线通信模块260,调制解调处理器以及基带处理器等实现。
无线通信模块260可以提供应用在电子设备200上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星***(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块260可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块260经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器210。无线通信模块260还可以从处理器210接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备200的天线1和移动通信模块250耦合,天线2和无线通信模块260耦合,使得电子设备200可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯***(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(codedivision multiple access,CDMA),宽带码分多址(wideband code division multipleaccess,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位***(global positioning system,GPS),全球导航卫星***(global navigation satellite system,GLONASS),北斗卫星导航***(beidounavigation satellite system,BDS),准天顶卫星***(quasi-zenith satellitesystem,QZSS)和/或星基增强***(satellite based augmentation systems,SBAS)。
电子设备200通过GPU,显示屏294,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏294和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器210可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
电子设备200的显示屏294上可以显示一系列图形用户界面(graphical userinterface,GUI),这些GUI都是该电子设备200的主屏幕。一般来说,电子设备200的显示屏294的尺寸是固定的,只能在该电子设备200的显示屏294中显示有限的控件。控件是一种GUI元素,它是一种软件组件,包含在应用程序中,控制着该应用程序处理的所有数据以及关于这些数据的交互操作,用户可以通过直接操作(direct manipulation)来与控件交互,从而对应用程序的有关信息进行读取或者编辑。一般而言,控件可以包括图标、按钮、菜单、选项卡、文本框、对话框、状态栏、导航栏、Widget等可视的界面元素。例如,在本申请实施例中,显示屏291可以显示虚拟按键(一键编排、开始编排、场景编排)。
电子设备200可以通过ISP,摄像头293,视频编解码器,GPU,显示屏294以及应用处理器等实现拍摄功能。
电子设备200可以通过音频模块270,扬声器270A,受话器270B,麦克风270C,耳机接口270D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
另外,在上述部件之上,运行有操作***。例如鸿蒙***,iOS操作***,Android开源操作***,Windows操作***等。在该操作***上可以安装运行应用程序。
图3为本申请实施例提供的电子设备的一种软件结构框图。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在本申请的一些实施例中,电子设备的软件架构至少包括三层,从上至下分别为应用程序层,应用程序框架层,以及硬件抽象层。
应用程序层可以包括一系列应用程序包。这些应用程序包可以包括相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。如图3所示,应用程序框架层可以包括窗口管理器,内容提供器,视图***,电话管理器,资源管理器,通知管理器等。窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
视图***包括可视控件,例如显示文字的控件,显示图片的控件等。视图***可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于提供电子设备的通信功能。例如通话状态的管理(包括接通,挂断等)。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在***顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
硬件抽象层为电子设备200的操作***内核与硬件电路之间的接口层,其目的在于将硬件抽象化。在本申请的一些实施例中硬件抽象层包括进程类型判断模块,激活模块,等待时间控制模块、投票控制模块、数据存储模块。
进程类型判断模块,即color-enable-type模块,用于采用区分参数的方式,确定当前控制使用硬件器件的应用进程。例如color-enable-type接收访问的应用进程,对接收的参数的接收节点进行调整,对接收的节点区域进行划分,前2位字节用于接收Cam_enable,中间2位字节用于接收LCD_enable,或后2位字节用于接收flash_enable,根据接收的参数与参数列表进行比较,从而确定当前控制使用硬件器件的应用进程。
激活模块,即activte模块,用于激活硬件器件的功能,例如将激活硬件器件的功能进行封装成activte模块,通过activte模块实现跨层的色温传感器的控制。
等待时间控制模块,即wTime模块,用于控制不同应用进程调用色温传感器的状态刷新间隔时间,通过控制色温传感器的状态刷新频率,从而提降低***的功耗。
色温传感器调用模块,即color enable模块用于实现对色温传感器的调用。
投票控制模块,即enable_store模块用于通过投票控制逻辑控制色温传感器的运行状态。
数据存储模块,即data模块用于将识别的使用色温传感器的应用进程数量进行保存。
为了便于理解,本申请以下实施例将以具有图2和图3所示结构的电子设备200为例,结合附图和应用场景,对本申请实施例提供的硬件资源控制方法进行具体阐述。
图4为本申请一个实施例提供的硬件资源控制方法的流程示意图。
如图4所示,上述硬件资源控制方法可以包括:
步骤S10:接收用户的第一操作。
需要说明的是,第一操作为开机操作,例如用户点击电源键开屏,还可通过其他方式进行开机操作,本实施例对此并不限制。
步骤S20:响应于所述第一操作,启动显示进程。
在本实施例中,显示进程为显示屏的显示进程,例如用户点击电源键开屏后,启动显示屏的显示进程。
步骤S30:接收用户针对所述电子设备的相机应用的第二操作。
在本实施例中,第二操作为启动相机应用的操作,可以是打开相机应用的触控操作,例如用户点击手机桌面上的相机图标,还可通过其他方式打开相机应用,本实施例对此并不限制。
步骤S40:响应于所述第二操作,启动摄像头进程。
步骤S50:基于所述显示进程对所述电子设备的色温传感器的调用请求,以及所述摄像头进程对所述色温传感器的调用请求,以及第一标志位控制所述色温传感器上电或者下电,其中,所述第一标志位的取值用于指示当前已经调用所述色温传感器的进程数量。
可以理解的是,显示进程对所述电子设备的色温传感器的调用请求可为对色温传感器进行上电的请求,还可为对色温传感器进行下电的请求,同样,摄像头进程对所述色温传感器的调用请求可为对色温传感器进行上电的请求,还可为对色温传感器进行下电的请求,例如显示进程对所述电子设备的色温传感器进行上电的请求LCD_enable,显示进程对所述电子设备的色温传感器进行下电的请求LCD_disable,摄像头进程对所述电子设备的色温传感器进行上电的请求Cam_enable,显示进程对所述电子设备的色温传感器进行下电的请求Cam_disable,第一标志位的取值用于指示当前已经调用所述色温传感器的进程数量,例如第一标志位为0时,表示当前未有应用进程调用色温传感器,第一标志位为1时,表示当前有1个应用进程调用色温传感器,第一标志位为2时,表示当前有2个应用进程调用色温传感器,以此类推。
步骤S60:在控制所述色温传感器上电或者下电之后,对所述第一标志位的取值进行更新。
需要说明的是,在一般情况下,不管当前是否有其他应用进程在使用色温传感器时,如果有当前使用的应用进程使色温传感器下电时,则对色温传感器进行下电处理,从而使其他应用进程无法使用色温传感器,其中,色温传感器的运行状态可为对色温传感器进行上电或下电处理,还可包括其他形式的处理,本实施例对此不做限制,在本实施例中,以对色温传感器进行上电或下电处理为例进行说明。
而本申请通过应用进程数量确定当前是否还有其他应用进程在使用色温传感器,在应用进程数量大于1的情况下,则说明当前还有其他应用进程在使用色温传感器,则不对色温传感器进行下电处理,在应用进程数量等于1的情况下,则说明当前还未有其他应用进程在使用色温传感器,则可对色温传感器进行下电处理,从而避免由于下电的情况导致其他应用进程无法使用色温传感器。
在一种可能实现的方式中,在进行色温传感器上电处理时,在应用进程数量大于等于1的情况下,则说明当前已经有应用进程在使用色温传感器,则不对色温传感器进行上电处理,在应用进程数量小于1的情况下,则说明当前还未有其他应用进程在使用色温传感器,则可对色温传感器进行上电处理,从而在色温传感器已经有应用进程在使用的情况下,无需再继续进行上电处理,在没有应用进程在使用色温传感器的情况下,再进行上电处理,从而提高***的处理效率。
在具体实现中,color_enable节点收到enable消息时,首先判断标志位的数值,如果为0则表示色温传感器没有进程使用,色温传感器处于下电状态,所以之后进行色温传感器上电,上电成功后标志位数值+1;如果不为0,表示色温传感器被一个或多个进程使用,色温传感器处于上电状态,之后不再次进行上电操作,仅把标志位数值+1,实现第一标志位的实时更新,从而提高对温传感器的灵活控制。
在本实施例中,通过接收用户的第一操作;响应于所述第一操作,启动显示进程;接收用户针对所述电子设备的相机应用的第二操作;响应于所述第二操作,启动摄像头进程;基于所述显示进程对所述电子设备的色温传感器的调用请求,以及所述摄像头进程对所述色温传感器的调用请求,以及第一标志位控制所述色温传感器上电或者下电,其中,所述第一标志位的取值用于指示当前已经调用所述色温传感器的进程数量;在控制所述色温传感器上电或者下电之后,对所述第一标志位的取值进行更新,从而根据第一标志位确定当前是否存在使用该色温传感器的应用进程,在存在使用该色温传感器的应用进程则不直接进行下电,从而保障其他应用进程正常使用该色温传感器。
图5为本申请另一个实施例提供的硬件资源控制方法的流程示意图,如图5所示,上述硬件资源控制方法基于第一实施例,所述步骤S50,包括:
步骤S501,获取所述显示进程或所述摄像头进程对所述电子设备的色温传感器的调用请求的类型。
需要说明的是,对所述电子设备的色温传感器的调用请求的类型可为Cam_enable、LCD_enable、flash_enable或者Cam_disable、LCD_disable、flash_disable请求,即色温传感器上电请求和色温传感器下电请求,还可包括其他类型的对色温传感器的调用请求类型,本实施例对此不做限制。
本实施例采用投票控制逻辑确定所述色温传感器是否执行上电或下电流程,投票控制逻辑是放在enable_store函数中实现的,主要逻辑为:1.根据收到的参数Cam_enable和LCD_enable,确认当前是哪个进程在使用器件,并把信息保存到data中;2.定义全局int型变量,记录当前使用器件的进程数,收到enable请求时,先判断是否有进程已经使用器件,是的话只进行计数+1,不做实际上电流程;当前没有进程使用的话则在计数+1之后调用上电流程,上电失败的话则对计数进行-1,并返回结果;3.当收到disable请求时,先判断有多少进程在使用器件,如果计数为1,也就是只有当前进程在使用,则优先进行计数-1,之后进行实际下电操作,下电失败的话需要再次计数+1,并返回结果;如果大于1,则只对计数进行-1,不调用实际下电函数。
在本实施例中,在应用进程数量的基础上,进一步确定当前调用请求,根据当前调用请求确定色温传感器是执行上电或下电流程,在当前调用请求为Cam_enable、LCD_enable请求时,则确定当前需要色温传感器执行上电流程,在当前调用请求为Cam_disable、LCD_disable请求时,则确定当前需要色温传感器执行下电流程,根据当前调用请求以及标志位指示的应用进程数量,控制所述色温传感器执行上电或下电流程,从而保证对色温传感器的灵活调用。
步骤S502,在所述显示进程或所述摄像头进程对所述色温传感器的调用请求的类型为对所述色温传感器进行上电类型时,且所述第一标志位为0时,控制所述色温传感器上电。
需要说明的是,在所述显示进程或所述摄像头进程对所述色温传感器的调用请求的类型为对所述色温传感器进行上电类型时,且所述第一标志位为0时,则说明当前还未有应用进程在使用色温传感器,在这种情况下,由于接收到enable请求,则说明当前应用进程要使用色温传感器,并且还未有其他应用进程使用色温传感器,因此在原来统计的应用进程数量的基础上加上当前要使用色温传感器的应用进程,即增加所述应用进程数量,并控制所述色温传感器执行上电流程,例如第一标志位为0时,接收到enable请求,则将第一标志位+1,得到所述第一标志位为1,并控制所述色温传感器执行上电流程。
步骤S503,在所述显示进程或所述摄像头进程对所述色温传感器的调用请求的类型为对所述色温传感器进行上电类型时,且所述第一标志位不为0时,保持所述色温传感器的上电状态,不再执行上电流程。
需要说明的是,在所述显示进程或所述摄像头进程对所述色温传感器的调用请求的类型为对所述色温传感器进行上电类型时,且所述第一标志位大于0时,则说明当前已有应用进程在使用色温传感器,在这种情况下,由于接收到enable请求,则说明当前应用进程要使用色温传感器,因此在原来统计的应用进程数量的基础上加上当前要使用色温传感器的应用进程,即增加所述应用进程数量,并控制所述色温传感器保持上电状态,例如第一标志位为1时,接收到enable请求,则将第一标志位+1,得到所述第一标志位为2,并控制所述色温传感器保持上电状态,不做实际上电流程,避免重复上电操作,提高***处理的效率。
在一种可能实现的方式中,所述步骤S501之后,所述方法还包括:
在所述显示进程或所述摄像头进程对所述色温传感器的调用请求的类型为对所述色温传感器进行下电类型时,且所述第一标志位为1时,控制所述色温传感器下电。
可以理解的是,在所述显示进程或所述摄像头进程对所述色温传感器的调用请求的类型为对所述色温传感器进行下电类型,即disable类型,且第一标志位等于1时,则说明只有当前应用进程在使用色温传感器,在这种情况下,由于接收到disable请求,则说明当前应用进程控制所述色温传感器执行下电流程,因此在原来统计的应用进程数量的基础上减去当前要使用色温传感器的应用进程,即减少所述应用进程数量,并控制所述色温传感器执行下电流程,例如第一标志位为1时,接收到disable请求,则将第一标志位-1,得到所述第一标志位为0,并控制所述色温传感器执行下电流程,由于通过当前调用请求以及所述应用进程数量确定只有当前应用进程在使用色温传感器,在执行下电流程时可避免影响其他应用进行的使用,从而保障其他应用进程正常使用该色温传感器。
在所述显示进程或所述摄像头进程对所述色温传感器的调用请求的类型为对所述色温传感器进行下电类型时,且所述第一标志位为大于1的整数时,保持所述色温传感器的上电状态,不执行下电流程。
需要说明的是,在所述显示进程或所述摄像头进程对所述色温传感器的调用请求的类型为对所述色温传感器进行下电类型时,即disable类型,且第一标志位为大于1的整数时,则说明当前还有其他应用进程在使用色温传感器,在这种情况下,由于接收到disable请求,则说明当前应用进程控制所述色温传感器执行下电流程会影响其他应用进程的正常使用,因此在原来统计的应用进程数量的基础上减去当前要使用色温传感器的应用进程,即减少所述应用进程数量,并控制所述色温传感器保持上电状态,不调用实际下电函数,例如第一标志位为3时,接收到disable请求,则将第一标志位-1,得到所述第一标志位为2,并不调用实际下电函数,由于通过当前调用请求以及所述应用进程数量确定否有进程已经使用器件,在执行下电流程时可避免影响其他应用进行的使用,从而保障其他应用进程正常使用该色温传感器。
在一种可能实现的方式中,所述步骤S60,包括:
在控制所述色温传感器上电之后,对所述第一标志位的取值进行加1;在控制所述色温传感器下电之后,对所述第一标志位的取值进行减1,例如第一标志位为1时,接收到enable请求,则将第一标志位+1,得到所述第一标志位为2,第一标志位为3时,接收到disable请求,则将第一标志位-1,得到所述第一标志位为2。
在一种可能实现的方式中,所述对所述第一标志位的取值进行更新之后,所述方法还包括:
在控制所述色温传感器上电之后,监控所述色温传感器的第一使用状态;在所述色温传感器的第一使用状态为上电异常状态时,确定所述色温传感器上电失败;在所述色温传感器上电失败后,对所述第一标志位进行减1。
在本实施例中,上电失败可通过监控与色温传感器的通信状态以及色温传感器的运行状态判断色温传感器是否上电失败,在上电失败时,则减小所述色温传感器的应用进程数量,并返回上电失败结果,例如第一标志位为0的情况下,接收到enable请求,则将第一标志位+1,得到更新后的第一数量为1,上电失败,则将更新后的标志位-1得到再次更新后的第一数量0,保证应用进程数量的实时更新,从而提高硬件资源控制的准确性。
在一种可能实现的方式中,所述对所述第一标志位的取值进行更新之后,所述方法还包括:在控制所述色温传感器下电之后,监控所述色温传感器的第二使用状态;在检测到所述色温传感器的第二使用状态为下电异常状态时,确定所述色温传感器下电失败;在所述色温传感器下电失败后,对所述第一标志位进行加1。
在本实施例中,下电失败可通过监控与色温传感器的通信状态以及色温传感器的运行状态判断色温传感器是否下电失败,在下电失败时,则增加所述色温传感器的应用进程数量,保证应用进程数量,并返回下电失败结果,例如第一标志位为1的情况下,接收到disable请求,则将第一标志位-1,得到所述第一标志位为0,下电失败,则将所述第一标志位+1得到再次更新后的第一第一标志位为1,保证应用进程数量的实时更新,从而提高硬件资源控制的准确性。
在一种可能实现的方式中,所述方法还包括:获取各个应用进程对所述色温传感器的调用请求;将所述各个应用进程对所述色温传感器的调用请求与预设请求参数列表进行匹配,其中,所述预设通知参数列表包括所有可调用所述色温传感器的应用进程信息;根据匹配结果确定当前已经调用所述色温传感器的进程数量。
在本实施例中,两个进程或多个进程同时控制和使用器件,要想对其进行协调控制,需要找到独立进程的公共部分,在此场景中,最合适的公共部分就是器件driver。
在器件driver中,通常会生成多个设备节点,并以此作为内核与上层的隔离。这些节点通常会包括enable表示控制器件使能、data表示获取器件数据等等。同时接收进程参数为字符串类型,通过driver函数解析得到。
需要说明的是,预设请求参数列表包括记录Cam_enable、LCD_enable、flash_enable或者Cam_disable、LCD_disable、flash_disable参数的列表,还可包括其他参数,本实施例对此不作限制,通过与预设请求参数列表中记录的进程参数进行匹配,确定当前调用色温传感器的应用进程,本实施例采用区分参数的方式,来表明当前调用色温传感器的进程。具体参数列表采用枚举类型:
在具体实现中,将使用色温传感器的应用进程的进程参数与预设请求参数列表进行匹配,得到当前已经调用所述色温传感器的进程数量,例如将使用色温传感器的应用进程的进程参数Cam_enable和LCD_enable,确认当前是哪个进程在使用器件,从而实现当前使用色温传感器的应用进程的识别,如图6所示框架示意图,标粗的为改进部分,在原来的基础框架的基础上加上函数参数en-type进行使用色温传感器的类型,并在原来CAM与color_enable的基础上加入其他应用进程的通路,使通过Linux R/W的所有应用进程可通过通路到color_enable进行色温传感器的调用,并通过color_enable获取色温传感器的运行状态,将色温传感器的运行状态进行反馈。所述基于所述标志位控制所述色温传感器上电或下电之后,还包括:分别设置所述显示进程或所述摄像头进程调用所述色温传感器的等待时间;根据所述等待时间监测所述显示进程或所述摄像头进程调用所述色温传感器的当前使用状态;根据所述当前使用状态确定所述色温传感器是否正常使用。
在一种可能实现的方式中,获取当前色温传感器的使用状态以及当前调用请求;根据所述当前色温传感器的使用状态以及当前调用请求查询状态机表,确定色温传感器的实际运行状态,其中,所述查询状态机表包括色温传感器的使用状态、调用请求以及色温传感器的实际运行状态的对应关系;控制所述色温传感器按照所述实际运行状态运行。
在本实施例中,当前色温传感器的使用状态可为Cam on、LCD on、Cam off、LCDoff,分别表示摄像头进程调用色温传感器上电,显示进程调用色温传感器上电,摄像头进程调用色温传感器下电,显示进程调用色温传感器下电,还可包括其他应用进程使用色温传感器的使用状态,本实施例对此不做限制,本实施例仅以Cam和LCD使用色温传感器闪光灯为例进行说明,Cam on、LCD on分别表示Cam和LCD正在使用色温传感器,色温传感器处于上电的状态,Cam off、LCD off分别表示Cam和LCD当前未使用色温传感器,色温传感器处于下电的状态,对应的状态机图如图7所示,本实施例采用投票机制实现,主要是控制进程计数信号量,并且根据其数值来决策实际的上下电行为,具体实现过程采用状态机的方式实现,结合各个应用进程使用色温传感器的使用状态以及当前调用请求,以及根据状态机表,对应用进程使用色温传感器的进程计数的信号量进行调整以及控制实际需要进行色温传感器上下电操作的状态,从而保证硬件资源控制的准确性以及存在多个应用进程同时使用色温传感器的正常使用,其中标粗的是实际的需要进行色温传感器上下电操作的状态,其他状态均为对于进程计数信号量的修改。
在具体实现中,例如在当前色温传感器的使用状态为Cam on、LCD on,当前调用请求为Cam_enable时,说明当前已有应用进程在使用色温传感器,这种情况下,无需再根据Cam_enable请求进行上电处理,仅对应用进程使用色温传感器的进程计数的信号量进行调整,在当前色温传感器的使用状态为Cam on、LCD off,当前调用请求为Cam_disable时,说明仅有当前应用进程在使用色温传感器,这种情况下,可对色温传感器进行下电处理,从而根据应用进程使用当前色温传感器的使用状态以及当前色温传感器的控制请求对比状态机表,得到实际的需要进行色温传感器上下电操作,达到色温传感器有效控制的目的。
在对应的代码实现中,采用switch-case的方式,根据下发的参数作为case条件,根据当前进程计数信号量的值决策实际的控制流程,从而实现两个或者多个进程控制同一个器件的功能。本实施例目前描述为两个进程的控制流程,当有多个流程是基本机制相同,需要修改的就是对于指令和状态的扩充,所以对于多个进程使用有较好的兼容性,如图8所示的控制流程示意图,例如色温传感器的初始状态为off状态,即应用进程使用色温传感器的控制参数为Cam_disable和LCD_disable,在接收到LCD_enable使用时,色温传感器的使用状态调整为Cam off、LCD on,在接收到cam_enable使用时,色温传感器的使用状态调整为Cam on、LCD on。
下面结合图9对本申请实施例的硬件资源控制方法进行了详细的介绍。图9所示的过程包括步骤S101至S1092,下面分别对这些步骤进行详细的介绍。
S101,进程类型判断模块获取各个应用进程对所述色温传感器的调用请求;
S102:进程类型判断模块将所述各个应用进程对所述色温传感器的调用请求与预设请求参数列表进行匹配。
其中,在上述S102中,预设通知参数列表包括所有可调用所述色温传感器的应用进程信息;
S103:进程类型判断模块根据匹配结果确定当前已经调用所述色温传感器的进程数量;
S104:进程类型判断模块发送当前使用色温传感器应用进程数量至数据存储模块;
在104之后,数据存储模块接收到进程类型判断模块发送的当前使用色温传感器应用进程数量之后可以执行步骤S1041。
S1041:数据存储模块根据当前使用色温传感器应用进程数量确定第一标志位,并保存;
S105:投票控制模块获取所述显示进程或所述摄像头进程对所述电子设备的色温传感器的调用请求的类型,并从所述数据存储模块中获取第一标志位;
S1061:投票控制模块在所述显示进程或所述摄像头进程对所述色温传感器的调用请求的类型为对所述色温传感器进行上电类型时,且所述第一标志位为0时,发送所述色温传感器上电指令至色温传感器;
S1062:色温传感器根据所述上电指令进行上电,并发送第一标志位更新指令至数据存储模块;
S1063:数据存储模块根据第一标志位更新指令对所述第一标志位的取值进行加1;
S1064:色温传感器上电后,检测是否上电成功,上电未成功时,发送标志位更新指令至数据存储模块;
S1065:数据存储模块对第一标志位的取值进行减1。
S1071:投票控制模块在所述显示进程或所述摄像头进程对所述色温传感器的调用请求的类型为对所述色温传感器进行上电类型时,且所述第一标志位不为0时,发送保持所述色温传感器的上电的状态至所述色温传感器;
S1072:色温传感器保持上电状态,并发送第一标志位更新指令至数据存储模块;
S1073:数据存储模块对第一标志位的取值进行加1。
S1081:投票控制模块在所述显示进程或所述摄像头进程对所述色温传感器的调用请求的类型为对所述色温传感器进行下电类型时,且所述第一标志位为1时,发送所述色温传感器下电指令至所述色温传感器;
S1082:色温传感器下电,并发送第一标志位更新指令至数据存储模块;
S1083:数据存储模块对第一标志位的取值进行减1。
S1084:色温传感器下电后,检测是否下电成功,下电未成功时,发送标志位更新指令至数据存储模块;
S1085:数据存储模块对第一标志位的取值进行加1。
S1091:投票控制模块在所述显示进程或所述摄像头进程对所述色温传感器的调用请求的类型为对所述色温传感器进行下电类型时,且所述第一标志位为大于1的整数时,保持所述色温传感器的上电状态指令至所述色温传感器;
S1092:色温传感器保持上电,并发送第一标志位更新指令至数据存储模块;
S1093:数据存储模块对第一标志位的取值进行减1。
color-enable-type模块获取应用进程对应的进程参数;将所述进程参数与预设请求参数列表进行匹配,得到使用色温传感器的目标应用进程,并将目标应用进程保存在data中,enable_store函数,用于根据定义全局int型变量,记录当前使用器件的进程数,根据所述目标应用进程的数量确定所述色温传感器的应用进程数量。
可以理解的是,也可以采用控制逻辑上移的方案实现,即依然采用底层driver实现进程计数,但是提供控制进程计数信号量变量加减的接口给上层;同时driver进程计数信号量同data数据一并进行上报,打通上层进程获取底层实际调用数量的通路。之后在上层进程调用器件接口时进行判断,同时底层driver要实现的确保多次调用enable进行器件使能时,只有第一次进程实际上电操作,具体逻辑为:1.当器件需要使能器件时,进程计数信号量设置为0,直接调用enable接口使能器件,之后调用计数信号量+1的接口控制底层信号量;2.在每一帧数据上报后,解析出对应的计数信号量的值,并在当前调用层维护全局变量保存此信号量的值;3.调用下电接口前,先对信号量进行判断,如果只有当前进程在使用,则调用下电接口,否则只调用信号量-1的接口控制底层信号量控制,不进行实际下电操作。
本替代方案是把投票机制的方案做了上移,在每个调用器件的上层实现控制逻辑,因此,每一个使用相同器件的进程都需要进程逻辑的实现,才能实现上述场景问题的解决。
应理解的是,这里的电子设备以功能模块的形式体现。这里的术语“模块”可以通过软件和/或硬件形式实现,对此不作具体限定。例如,“模块”可以是实现上述功能的软件程序、硬件电路或二者结合。所述硬件电路可能包括应用特有集成电路(applicationspecificintegrated circuit,ASIC)、电子电路、用于执行一个或多个软件或固件程序的处理器(例如共享处理器、专有处理器或组处理器等)和存储器、合并逻辑电路和/或其它支持所描述的功能的合适组件。
本申请还提供一种电子设备,包括:一个或多个处理器;存储器;以及一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中,所述一个或多个计算机程序包括指令,当所述指令被所述电子设备执行时,使得所述电子设备执行如上述第一方面或第一方面的可能的实现方式中任一项所述的硬件资源控制方法。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质中存储了计算机程序,当所述计算机程序被处理器执行时,使得处理器执行如上述第一方面或第一方面的可能的实现方式中任一项所述的硬件资源控制方法。
本申请还提供一种芯片,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,执行第一方面或第一方面的可能的实现方式中任一项所述的硬件资源控制方法。
可选的,该芯片还可以包括存储器,所述存储器中存储有指令,所述处理器用于执行所述存储器上存储的指令,当所述指令被执行时,所述处理器用于执行第一方面或第一方面的可能的实现方式中任一项所述的硬件资源控制方法。
存储器可以是只读存储器(read-only memory,ROM)、可存储静态信息和指令的其它类型的静态存储设备、随机存取存储器(random access memory,RAM)或可存储信息和指令的其它类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备,或者还可以是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质等。
本申请实施例中,“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示单独存在A、同时存在A和B、单独存在B的情况。其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项”及其类似表达,是指的这些项中的任意组合,包括单项或复数项的任意组合。例如,a,b和c中的至少一项可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
本领域普通技术人员可以意识到,本文中公开的实施例中描述的各单元及算法步骤,能够以电子硬件、计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,任一功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。本申请的保护范围应以所述权利要求的保护范围为准。
Claims (8)
1.一种硬件资源控制方法,所述方法应用于电子设备,其特征在于,包括:
接收用户的第一操作;
响应于所述第一操作,启动显示进程;
接收用户针对所述电子设备的相机应用的第二操作;
响应于所述第二操作,启动摄像头进程;
获取所述显示进程或所述摄像头进程对所述电子设备的色温传感器的调用请求的类型;
在所述显示进程或所述摄像头进程对所述色温传感器的调用请求的类型为对所述色温传感器进行上电类型时,且第一标志位为0时,控制所述色温传感器上电;
在所述显示进程或所述摄像头进程对所述色温传感器的调用请求的类型为对所述色温传感器进行上电类型时,且所述第一标志位不为0时,保持所述色温传感器的上电状态,不再执行上电流程;
在所述显示进程或所述摄像头进程对所述色温传感器的调用请求的类型为对所述色温传感器进行下电类型时,且所述第一标志位为1时,控制所述色温传感器下电;
在所述显示进程或所述摄像头进程对所述色温传感器的调用请求的类型为对所述色温传感器进行下电类型时,且所述第一标志位为大于1的整数时,保持所述色温传感器的上电状态,不执行下电流程,其中,所述第一标志位的取值用于指示当前已经调用所述色温传感器的进程数量;
在控制所述色温传感器上电或者下电之后,对所述第一标志位的取值进行更新;所述在控制所述色温传感器上电或者下电之后,对所述第一标志位的取值进行更新,包括:
在控制所述色温传感器上电之后,对所述第一标志位的取值进行加1;
在控制所述色温传感器下电之后,对所述第一标志位的取值进行减1。
2.如权利要求1所述的硬件资源控制方法,其特征在于,所述对所述第一标志位的取值进行更新之后,所述方法还包括:
在控制所述色温传感器上电之后,监控所述色温传感器的第一使用状态;
在所述色温传感器的第一使用状态为上电异常状态时,确定所述色温传感器上电失败;
在所述色温传感器上电失败后,对所述第一标志位进行减1。
3.如权利要求1所述的硬件资源控制方法,其特征在于,所述对所述第一标志位的取值进行更新之后,所述方法还包括:
在控制所述色温传感器下电之后,监控所述色温传感器的第二使用状态;
在检测到所述色温传感器的第二使用状态为下电异常状态时,确定所述色温传感器下电失败;
在所述色温传感器下电失败后,对所述第一标志位进行加1。
4.如权利要求1至3中任一项所述的硬件资源控制方法,其特征在于,所述方法还包括:
获取各个应用进程对所述色温传感器的调用请求;
将所述各个应用进程对所述色温传感器的调用请求与预设请求参数列表进行匹配,其中,所述预设请求参数列表包括所有可调用所述色温传感器的应用进程信息;
根据匹配结果确定当前已经调用所述色温传感器的进程数量。
5.如权利要求1至3中任一项所述的硬件资源控制方法,其特征在于,所述第一操作为开机操作。
6.如权利要求1至3中任一项所述的硬件资源控制方法,其特征在于,所述第二操作为启动所述相机应用的操作。
7.一种电子设备,其特征在于,包括:一个或多个处理器;存储器;以及一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中,所述一个或多个计算机程序包括指令,当所述指令被所述电子设备执行时,使得所述电子设备执行如权利要求1至6中任一项所述的硬件资源控制方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储了计算机程序,当所述计算机程序被处理器执行时,使得处理器执行权利要求1至6中任一项所述的硬件资源控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211295998.3A CN116700815B (zh) | 2022-10-21 | 2022-10-21 | 硬件资源控制方法、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211295998.3A CN116700815B (zh) | 2022-10-21 | 2022-10-21 | 硬件资源控制方法、电子设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116700815A CN116700815A (zh) | 2023-09-05 |
CN116700815B true CN116700815B (zh) | 2024-04-26 |
Family
ID=87832783
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211295998.3A Active CN116700815B (zh) | 2022-10-21 | 2022-10-21 | 硬件资源控制方法、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116700815B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113778641A (zh) * | 2021-08-09 | 2021-12-10 | 荣耀终端有限公司 | 控制摄像头的方法、电子设备及计算机可读存储介质 |
CN113899448A (zh) * | 2020-06-22 | 2022-01-07 | 北京小米移动软件有限公司 | 电子设备、环境光色温的测量方法及装置、存储介质 |
CN114490010A (zh) * | 2020-10-27 | 2022-05-13 | 华为技术有限公司 | 资源操作控制方法、电子设备、芯片及可读存储介质 |
CN114625525A (zh) * | 2020-12-14 | 2022-06-14 | 华为技术有限公司 | 一种资源管控方法及设备 |
-
2022
- 2022-10-21 CN CN202211295998.3A patent/CN116700815B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113899448A (zh) * | 2020-06-22 | 2022-01-07 | 北京小米移动软件有限公司 | 电子设备、环境光色温的测量方法及装置、存储介质 |
CN114490010A (zh) * | 2020-10-27 | 2022-05-13 | 华为技术有限公司 | 资源操作控制方法、电子设备、芯片及可读存储介质 |
CN114625525A (zh) * | 2020-12-14 | 2022-06-14 | 华为技术有限公司 | 一种资源管控方法及设备 |
CN113778641A (zh) * | 2021-08-09 | 2021-12-10 | 荣耀终端有限公司 | 控制摄像头的方法、电子设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116700815A (zh) | 2023-09-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102148948B1 (ko) | 전자 장치의 멀티 태스킹 방법 및 그 전자 장치 | |
US10631361B2 (en) | Method and apparatus for providing user with information received by electronic device | |
KR102187255B1 (ko) | 전자 장치의 디스플레이 방법 및 그 전자 장치 | |
US20180240260A1 (en) | Electronic device and method for displaying screen thereof | |
EP3712742A1 (en) | Electronic device and method for configuring display thereof | |
CN112055424B (zh) | 电子装置以及切换电子装置的方法 | |
KR20160089329A (ko) | 펌웨어 복원 방법, 장치, 단말기, 프로그램 및 기록매체 | |
CN107800865B (zh) | 电子设备和在低功率状态下显示时间信息的方法 | |
US10198057B2 (en) | Electronic device and method for measuring position change | |
CN103631580B (zh) | 一种生成主题图标的方法和装置 | |
EP3367646B1 (en) | Method for detecting proximity of object and electronic device using the same | |
US20180032195A1 (en) | Method of processing touch events and electronic device adapted thereto | |
CN114153621B (zh) | ***进程调控方法、装置、电子设备及可读存储介质 | |
KR20150066876A (ko) | 사용자 인터페이스 제어 방법 및 그 전자 장치 | |
US10430091B2 (en) | Electronic device and method for storing security information thereof | |
KR20150057085A (ko) | 전력 소모를 줄일 수 있는 전자 장치 및 방법 | |
US10237087B2 (en) | Method for controlling transmission speed and electronic device thereof | |
CN111191227B (zh) | 阻止恶意代码执行的方法和装置 | |
KR20150085996A (ko) | 전자 센서 모듈의 노이즈 회피를 위한 디스플레이 구동 주파수 시프트 방법 및 장치 | |
CN116156044A (zh) | 设备协同方法及相关装置 | |
CN116700815B (zh) | 硬件资源控制方法、电子设备及可读存储介质 | |
CN111897726B (zh) | 异常定位方法、装置、存储介质及移动终端 | |
CN107256151A (zh) | 页面渲染的处理方法、装置及终端 | |
CN111625283A (zh) | 硬件更新方法、装置、***和计算机可读存储介质 | |
CN113760164A (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 |