WO2022170904A1 - 开机方法及电子设备、可读存储介质、计算机程序产品 - Google Patents

开机方法及电子设备、可读存储介质、计算机程序产品 Download PDF

Info

Publication number
WO2022170904A1
WO2022170904A1 PCT/CN2022/071340 CN2022071340W WO2022170904A1 WO 2022170904 A1 WO2022170904 A1 WO 2022170904A1 CN 2022071340 W CN2022071340 W CN 2022071340W WO 2022170904 A1 WO2022170904 A1 WO 2022170904A1
Authority
WO
WIPO (PCT)
Prior art keywords
program
electronic device
running
power
image
Prior art date
Application number
PCT/CN2022/071340
Other languages
English (en)
French (fr)
Inventor
袁帅
高强
刘嵩
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2022170904A1 publication Critical patent/WO2022170904A1/zh

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot

Definitions

  • the present invention relates to the field of electronic technology, and in particular, to a booting method, an electronic device, a readable storage medium, and a computer program product.
  • a system of embedded devices for example, when an embedded Linux system is powered on, needs to initialize the small system in multiple stages, and finally starts the system and completes the boot.
  • the boot process requires the operation of the SoC, the first stage of the Bootloader small system and the initialization of the second stage of the Bootloader small system, and finally the Kernel kernel and the Android system are booted to complete the boot process.
  • TEE Trusted Execution Environment
  • the present invention provides a booting method, an electronic device, a readable storage medium, and a computer program product, so as to improve a user's booting experience.
  • Some embodiments of the present application provide a power-on method.
  • the present application is described below from various aspects, and the embodiments and beneficial effects of the following various aspects can be referred to each other.
  • the present invention provides a booting method, which is applied to an electronic device, and the method includes:
  • the electronic device detects the first power-on trigger event, for example, the user presses the power-on button of the electronic device, or a signal sent by other devices to instruct the electronic device to power on, etc.; in response to the first power-on trigger event, the preset perception class is run in sequence A program and a trusted execution environment, and start the kernel to complete booting, wherein the preset perception program is a program that enables the electronic device to output an effect perceived by the user when running.
  • the effects perceived by the user include effects that the user can see, hear or feel physically. For example, the user can perceive effects such as vibration, picture display, sound, etc.
  • a customized bootstrap program is added, the customized bootstrap program can complete the user's perception class program, and the customized bootstrap program runs before the trusted execution environment TEE runs, and after receiving the trigger event.
  • the mobile phone can quickly output effects that the user can perceive, such as vibration, displayed LOGO, sound, etc., which improves the user's boot experience.
  • the electronic device runs a first bootloader image (bootloader1) in response to the first power-on trigger event, and in the process of running the first bootloader image , trigger the running of the customized bootstrap image, and run the preset perception program to output the effect perceived by the user. That is, the customized bootstrap image runs when the first bootstrap image runs.
  • bootloader1 the first bootloader image
  • the preset perception program to output the effect perceived by the user. That is, the customized bootstrap image runs when the first bootstrap image runs.
  • the electronic device stores the execution state of running the preset perception program in a shared memory. So that both phases of the bootloader run are accessible to understand the execution status of the custom bootloader image.
  • the electronic device in response to the first power-on trigger event, sequentially runs a preset perception program and a trusted execution environment, and starts the kernel to complete the power-on, including: : the electronic device runs the first bootstrap image in response to the power-on trigger event, and in the process of running the first bootstrap image, triggers the running of the customized bootstrap image to run a preset perception program; The electronic device jumps back to the first boot program image by running the customized boot program image, and in the process of continuing to run the first boot program image, triggers the operation of the trusted execution environment, and runs the executable program.
  • bootloader2 After the execution environment is updated, run the second bootloader image (bootloader2); when the electronic device runs the second bootloader image, determine the running state of the customized bootloader image based on the execution state in the shared memory, for example , according to the execution state data, it is judged whether the sensing program is effectively running, etc., so that the subsequent program can execute the content executed by the customized boot program again according to the determined result.
  • bootloader2 After the execution environment is updated, run the second bootloader image (bootloader2); when the electronic device runs the second bootloader image, determine the running state of the customized bootloader image based on the execution state in the shared memory, for example , according to the execution state data, it is judged whether the sensing program is effectively running, etc., so that the subsequent program can execute the content executed by the customized boot program again according to the determined result.
  • the customized boot program image when the running state of the customized boot program image is abnormal, when the electronic device runs the second boot program image, the customized boot program image
  • the bootloader image is reloading and running programs that are not functioning properly to ensure a smooth boot process.
  • the running state of the customized bootstrap image is abnormal, including: the execution state at least includes that the customized bootstrap image does not load the device tree block DTB file to the The shared memory, or, the customized bootstrap image uses the device tree block DTB file to run a sense program that is abnormal.
  • the bootloader2 image when the electronic device runs the customized bootloader image and loads the device tree block DTB file into the shared memory, the bootloader2 image directly uses the DTB file in the shared memory, The bootloader2 image does not need to be loaded and can be used directly to improve the booting speed.
  • the electronic device runs the bootloader2 image and starts the kernel, including: when the electronic device jumps from running the bootloader2 image to the booting kernel, releasing the DTB file without occupying additional memory.
  • the electronic device records the log generated in the process of running the customized bootloader image in the shared memory, and when the electronic device runs the first The log is saved when a bootstrap image jumps to run the second bootstrap image.
  • logs can be obtained during the kernel startup phase of the processor, and logs can be obtained in the event of abnormal stability problems such as failure to boot to determine the location and cause of the abnormality.
  • the method further includes: the electronic device detects a second power-on trigger event, for example, a short press of the power button for a preset duration; the electronic device responds to the second power-on Trigger an event, run the preset sensing program, and shut down after running the preset sensing program.
  • a second power-on trigger event for example, a short press of the power button for a preset duration
  • the electronic device responds to the second power-on Trigger an event, run the preset sensing program, and shut down after running the preset sensing program.
  • the method can be applied to quickly obtain the time information required by the user, etc., shut down the mobile phone and save power when the power of the mobile phone is insufficient, or the user just wants to watch the time.
  • the output is turned off when the effect perceived by the user reaches a predetermined period of time, for example, the display time of the display screen reaches 2 seconds shut down.
  • the first power-on trigger event is a normal power-on trigger event
  • the second power-on trigger event is a short power-on trigger event
  • the first power-on triggering event and the second power-on triggering event are events triggered by different types of user operations.
  • the user may manually press the power button, or the user may automatically trigger the power-on event when the set time is reached by setting an alarm clock, which is not limited herein.
  • the first power-on triggering event is an event triggered by an operation of long pressing the power button
  • the second power-on triggering event is an event triggered by an operation of short pressing the power button
  • the preset perception program includes one or more programs among a picture display program, a vibration program, an alarm clock, and a clock display program.
  • the present invention also provides a booting method, which is applied to an electronic device, and the method includes:
  • the electronic device detects a second power-on trigger event, such as pressing the power supply for a short time for 0.5 seconds; the electronic device runs the preset perception program in response to the second power-on trigger event, and runs the preset sensor program. Shut down after the set perceptual program. Wherein, the executable environment is not run before running the preset perception program.
  • the method can be applied to quickly obtain the time information required by the user, etc., shut down the mobile phone and save power when the power of the mobile phone is insufficient, or the user just wants to watch the time.
  • the electronic device runs the preset sensing program in response to the second power-on trigger event, and shuts down after running the preset sensing program , including: the electronic device runs a first bootstrap image in response to the second power-on trigger event, and in the process of running the first bootstrap, triggers to run a customized bootstrap image to run a preset perception class program, and output the effect perceived by the user.
  • the second power-on triggering event is an event triggered by different types of user operations.
  • the second power-on triggering event is an event triggered by an operation of short pressing the power button.
  • the application also provides an electronic device, comprising:
  • the detection module is used to detect the power-on trigger event
  • the processing module is used to respond to the boot trigger event, and run the preset perception program first, then run the trusted execution environment, start the kernel, and complete the boot, wherein the preset perception program is the runtime A program that causes the processing module to output an effect perceived by a user.
  • a customized bootstrap program is added, the customized bootstrap program can complete the user's perception class program, and the customized bootstrap program runs before the trusted execution environment TEE runs, and after receiving the trigger event , the mobile phone can quickly output effects that the user can perceive, such as vibration, displayed LOGO, sound, etc., which improves the user's boot experience.
  • the processing module is further configured to: in response to the first power-on trigger event, run the first bootstrap image, and in the process of running the first bootstrap image , triggers the running of the custom bootstrap image to run the preset awareness program.
  • the execution state of the processing module running the preset perception class program is stored in the shared memory.
  • the processing module is further configured to: in response to the first power-on trigger event, run the first bootstrap image, and in the process of running the first bootstrap, Trigger to run the customized bootstrap image to run a preset perception class program; the processing module jumps back to the first bootstrap image by running the customized bootstrap image, and continues to run the first bootstrap image.
  • the trusted execution environment is triggered to run, and after running the trusted execution environment, the second bootstrap image is run; when the processing module runs the second bootstrap image, based on all the information in the shared memory.
  • the execution state determines the running state of the customized bootstrap image, for example, according to the execution state data, to determine whether the perception program is effectively running, etc., so that the subsequent program can execute whether to re-execute the content executed by the customized bootstrap according to the determined result.
  • the processing module when running the second bootstrap image, converts the customized bootstrap image The bootloader image is misbehaving and the program reloads and runs.
  • the running state of the customized bootstrap image is abnormal, including: the execution state at least includes that the customized bootstrap image does not load the device tree block DTB file to the The shared memory, or the device block DTB file loaded into the shared memory is abnormal.
  • the processing module when the processing module jumps from running the bootloader2 image to the booting kernel, it releases the DTB file that the customized bootloader image has run, and does not occupy additional memory.
  • the processing module records the log generated in the process of running the customized bootstrap image in the shared memory, and when the processing module runs the first The log is saved when a bootstrap image jumps to run the second bootstrap image.
  • the processing module detects a second power-on trigger event, for example, a short press of the power button for a preset duration; the electronic device responds to the second power-on Trigger an event, run the preset sensing program, and shut down after running the preset sensing program.
  • the method can be applied to quickly obtain the time information required by the user, etc., shut down the mobile phone and save power when the power of the mobile phone is insufficient, or the user just wants to watch the time.
  • the display screen is turned off when the display time reaches a predetermined duration.
  • the first power-on trigger event is a normal power-on trigger event
  • the second power-on trigger event is a short power-on trigger event
  • the first power-on triggering event and the second power-on triggering event are events triggered by different types of user operations.
  • the user may manually press the power button, or the user may automatically trigger the power-on event when the set time is reached by setting an alarm clock, which is not limited herein.
  • the first power-on triggering event is an event triggered by an operation of long pressing the power button
  • the second power-on triggering event is an event triggered by an operation of short pressing the power button
  • the preset perception program includes one or more programs among a picture display program, a vibration program, an alarm clock, and a clock display program.
  • the application also provides an electronic device, comprising:
  • memory for storing instructions for execution by one or more processors of the device
  • the processor is configured to execute the instruction, so that the electronic device executes the method of the embodiment of the first aspect or the second aspect.
  • the present application provides a computer-readable storage medium, where the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the processor causes the processor to execute the method of the embodiment of the first aspect or the second aspect.
  • the present application discloses a computer program product comprising instructions, which, when executed on a computer, cause the computer to execute the method of the above-mentioned first aspect or the second aspect embodiment.
  • Figure 1a is a schematic diagram of an existing mobile phone boot process
  • Fig. 1b is a schematic diagram of a current mobile phone booting process
  • FIG. 2 is a frame diagram of a boot process of an embodiment of the present application
  • FIG. 3 is a schematic structural diagram of an electronic device according to an embodiment of the application.
  • FIG. 4 is a flowchart of a method for starting a mobile phone according to an embodiment of the application
  • FIG. 5 is a frame diagram of a mobile phone booting process according to an embodiment of the application.
  • FIG. 6 is a schematic structural diagram of each module in a mobile phone structure according to an embodiment of the application.
  • FIG. 7 is a sequence diagram of the runtime of each module in the mobile phone structure according to an embodiment of the application.
  • FIG. 8 is a schematic structural diagram of an electronic device according to an embodiment of the application.
  • FIG. 9 is a block diagram of a device according to an embodiment of the application.
  • FIG. 10 is a block diagram of a system-on-chip according to some embodiments of the present application.
  • FIG. 1a is a schematic diagram of the existing mobile phone booting process. As shown in Fig. 1a, the booting process of a mobile phone is divided into three stages, namely the SoC operation stage, the small system boot stage and the boot system stage. .
  • the small system booting stage is further divided into the first booting stage, which is the first bootloader bootloader1 (abbreviation: BL1) running stage, which can complete the initialization of the small system, memory, security context, etc., as well as loading programs, etc.; second The booting stage, this stage is the second booting program running the bootloader2 (abbreviation: BL2) running stage, executing the initialization of peripheral hardware, loading the kernel and so on.
  • the boot memory Bootrom
  • the inside of the Bootrom contains the first code that the processor executes on power-up or reset, and decides where to load the next part of the code to be executed.
  • Initialize static random-access memory SRAM
  • non-volatile memory such as an embedded multimedia card (Embedded Multi Media Card, EMMC)
  • EMMC embedded Multi Media Card
  • the EMMC includes programs or system codes such as bootloader1, bootloader2, boot image bootimage, Android system Android, and executable environment TEE.
  • BL1 runs, and completes the initialization of the small system, the initialization of the dynamic random access memory (Synchronous Dynamic Random Access Memory, SDRAM), the initialization of the environment security context, and loads the BL2 image to the SDRAM and Jump to perform the second boot phase of the small system boot phase.
  • the BL2 image runs, performs initialization of some peripherals, runs user-aware programs, etc., loads the Kernel and jumps.
  • the Android system is started, and the mobile phone is turned on.
  • FIG. 1b is a schematic diagram of a mobile phone booting process, and the schematic diagram of the process is a further refinement of FIG. 1a.
  • the execution environment system Trusted Execution Environment Operating System, TEEOS
  • TEEOS Trusted Execution Environment Operating System
  • the perceptual programs that the user can experience such as vibration, the display of the brand logo (Logo), and the sound, etc., can be perceived by the user.
  • TEEOS system needs to run before the BL2 run phase. Due to the long running time of the TEEOS system, user-perceived programs will be delayed due to the running of the TEEOS system, which will delay the user's startup perception time and reduce the user's experience.
  • the power-on method is applied to an electronic device, including: when the electronic device detects a power-on trigger event, for example, a user manually presses the power button to make the electronic device execute a power-on command (manually trigger power-on).
  • a power-on trigger event for example, a user manually presses the power button to make the electronic device execute a power-on command (manually trigger power-on).
  • the electronic device automatically executes the power-on command, or the electronic device automatically executes the power-on command when the preset alarm clock time arrives (not manually triggered to power on).
  • the electronic device sequentially runs the preset sensing program, TEEOS, and starts the kernel to complete the boot.
  • the preset perception program is a program that enables the electronic device to output effects perceived by the user when running, for example, a boot logo, an alarm clock sound, and a display time.
  • the sequential operation in the embodiment of the present application refers to the sequence of running the preset sensing programs and TEEOS, that is, the preset sensing programs are executed before TEEOS, and the preset sensing programs are not limited. Whether there are other program executions between TEEOS and TEEOS does not limit the execution of other program instructions between the detection of a power-on trigger event and the running of a preset perception program.
  • the booting method of the present application runs a user-aware running program before the TEEOS system, so that the user can perceive the booting action of the mobile phone earlier, thereby improving the user experience.
  • FIG. 2 shows a frame diagram of the booting process of the present application.
  • the frame diagram includes bootrom, SRAM, DRAM and EMMC.
  • Program codes such as "bootloader1", “bootloader2”, “bootimage”, “Android” and “TEE” are stored in the EMMC.
  • the user presses the power button for 3 seconds as a power-on trigger event (the first power-on trigger event).
  • the mobile phone detects that the user is directed to a boot event, the mobile phone responds to the boot event and performs a boot operation.
  • the bootrom When the system on chip is powered on, the bootrom starts to run a fixed code as the starting point, initializes the SRAM and external memory, such as the EMMC of the non-volatile memory, and loads the BL1 image from the EMMC to the SRAM, and jumps to make The phone performs the first boot phase.
  • the custom bootloader bootloader-cust (abbreviation: BLcust) image and BL2 image are loaded into DRAM.
  • the mobile phone After BLcust runs in DRAM, it can complete "device initialization” and "environment initialization", and complete Users can experience perceptual programs when they turn on, for example, the vibrations that users can perceive, the "Logo” displayed, and programs such as "quick alarm clock” and “quick clock display” that are not experienced when starting up.
  • the mobile phone After the user-perceived program finishes running, the mobile phone jumps back from running BLcust in DRAM to running the first boot stage in SRAM, so that the TEE program after the BL1 image runs.
  • the TEE program includes two parts, the trusted firmware (arm-trusted-firmware, ATF) and TEEOS.
  • the mobile phone's operation phase jumps back to the BL1 operation phase and runs the TEE program.
  • the TEE program when running the TEE program, first run the ATF image in the SRAM to initialize the decryption environment, and then jump to the DRAM to run TEEOS to complete the device executable environment initialization and improve the security of the mobile phone. Then run the bootloader2 image in turn to load and start the kernel and the android system to complete the boot.
  • the mobile phone is used as the electronic device for description.
  • the booting method of the present application can also be applied to other electronic devices, for example, the electronic device can be a mobile phone, a tablet computer, a notebook computer, a super mobile personal computer, a personal digital assistant (PDA), a TV, or a wearable electronic devices, such as watches, wristbands, etc.
  • the electronic device can be a mobile phone, a tablet computer, a notebook computer, a super mobile personal computer, a personal digital assistant (PDA), a TV, or a wearable electronic devices, such as watches, wristbands, etc.
  • PDA personal digital assistant
  • the device type of the electronic device is not specifically limited in this application.
  • FIG. 3 shows a schematic structural diagram of the mobile phone 100 .
  • the mobile phone 100 may include a processor 110, an external memory interface 120, an internal memory 121, a universal serial bus (USB) connector 130, a charging management module 140, a power management module 141, a battery 142, an antenna 1, an antenna 2, Mobile communication module 150, wireless communication module 160, audio module 170, speaker 170A, receiver 170B, microphone 170C, headphone jack 170D, sensor module 180, buttons 190, motor 191, indicator 192, camera 193, display screen 194, and user Identity module (subscriber identification module, SIM) card interface 195 and so on.
  • SIM subscriber identification module
  • the sensor module 180 may include a pressure sensor 180A, a gyroscope sensor 180B, an air pressure sensor 180C, a magnetic sensor 180D, an acceleration sensor 180E, a distance sensor 180F, a proximity light sensor 180G, a fingerprint sensor 180H, a temperature sensor 180J, a touch sensor 180K, and ambient light. Sensor 180L, bone conduction sensor 180M, etc.
  • the structures illustrated in the embodiments of the present invention do not constitute a specific limitation on the mobile phone 100 .
  • the mobile phone 100 may include more or less components than shown, or some components may be combined, or some components may be separated, or different component arrangements.
  • the illustrated components may be implemented in hardware, software, or a combination of software and hardware.
  • the processor 110 may include one or more processing units, for example, the processor 110 may include an application processor (application processor, AP), a modem processor, a graphics processor (graphics processing unit, GPU), an image signal processor (image signal processor, ISP), controller, video codec, digital signal processor (digital signal processor, DSP), baseband processor, and/or neural-network processing unit (neural-network processing unit, NPU), etc. Wherein, different processing units may be independent devices, or may be integrated in one or more processors.
  • application processor application processor, AP
  • modem processor graphics processor
  • ISP image signal processor
  • controller video codec
  • digital signal processor digital signal processor
  • baseband processor baseband processor
  • neural-network processing unit neural-network processing unit
  • the processor 110 may generate an operation control signal according to the instruction operation code and the timing signal, and complete the control of fetching and executing the instruction.
  • a memory may also be provided in the processor 110 for storing instructions and data.
  • the memory in processor 110 is cache memory. This memory may hold instructions or data that have just been used or recycled by the processor 110 . If the processor 110 needs to use the instruction or data again, it can be called directly from memory. Repeated accesses are avoided and the latency of the processor 110 is reduced, thereby increasing the efficiency of the system.
  • the processor 110 receives a user's instruction, eg, a user's instruction to power on. After the user is turned on, the system is powered on, and the program counter (PC) pointer points to the BOOT ROM address inside the chip and starts to run.
  • the BOOTROM of the processor 110 loads the BL1 image from the external memory (eg EMMC) into the SRAM, and runs the BL1 image to complete the initialization of the SRAM.
  • the processor runs the BLcust image. Among them, the BLcust image operation can complete the initialization of the device operating environment and the operation of the preset perception programs.
  • the BLcust image runs, it jumps back to the BL1 running stage, and runs the trusted execution environment TEE and BL2 images in turn, starts the kernel, and the android system, and completes the boot process of the phone.
  • TEE trusted execution environment
  • the mobile phone 100 realizes the display function through the GPU, the display screen 194, and the application processor.
  • the GPU is a microprocessor for image processing, and is connected to the display screen 194 and the application processor.
  • the GPU is used to perform mathematical and geometric calculations for graphics rendering.
  • Processor 110 may include one or more GPUs that execute program instructions to generate or alter display information.
  • Display screen 194 is used to display images, videos, and the like.
  • Display screen 194 includes a display panel.
  • the display panel can be a liquid crystal display (LCD), an organic light-emitting diode (OLED), an active-matrix organic light-emitting diode or an active-matrix organic light-emitting diode (active-matrix organic light).
  • LED diode AMOLED
  • flexible light-emitting diode flexible light-emitting diode (flex light-emitting diode, FLED), Miniled, MicroLed, Micro-oLed, quantum dot light-emitting diode (quantum dot light emitting diodes, QLED) and so on.
  • the handset 100 may include 1 or N display screens 194, where N is a positive integer greater than 1.
  • user-perceived programs such as static Logo and dynamic Logo images
  • static logo and dynamic logo images can be displayed to the user through the display screen 194 , so that the user can view the display screen 194 by viewing the display screen 194 .
  • LOGO make sure the phone is turned on.
  • Internal memory 121 may be used to store computer executable program code, which includes instructions.
  • the internal memory 121 may include a storage program area and a storage data area.
  • the storage program area can store the operating system, at least one sensory application required for a function, a sound playback function, an image playback function, a vibration function, and the like.
  • the internal memory 121 may include high-speed random access memory, and may also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, universal flash storage (UFS), and the like.
  • the processor 110 executes various functional applications and data processing of the mobile phone 100 by executing the instructions stored in the internal memory 121 and/or the instructions stored in the memory provided in the processor.
  • the internal memory 121 may store a boot method instruction
  • the processor 110 enables the mobile phone 100 to quickly prompt the user that the device has been powered on through the boot method instruction, thereby improving the user's boot experience.
  • the mobile phone 100 can implement audio functions through an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, an earphone interface 170D, and an application processor. Such as music playback, recording, etc.
  • the audio module 170 is used for converting digital audio information into analog audio signal output, and also for converting analog audio input into digital audio signal. Audio module 170 may also be used to encode and decode audio signals. In some embodiments, the audio module 170 may be provided in the processor 110 , or some functional modules of the audio module 170 may be provided in the processor 110 .
  • the audio module 170 may play a prompt sound when powering on, for example, a piece of boot music, or a voice prompt, etc., to remind the user that the mobile phone 100 is powered on.
  • the booting method provided by the embodiment of the present application can be applied to a mobile phone having the hardware structure shown in FIG. 2 . Or there are more or less components than shown in the figure, or some components are combined, or some components are split, or different components are arranged in a mobile phone with similar hardware structure and software structure.
  • FIG. 4 shows a flow chart of a method for starting a mobile phone, and the flow chart is a process of starting a mobile phone normally, and the method includes S410-S440.
  • the mobile phone detects a power-on trigger event (represented as a first power-on trigger event). For example, when the mobile phone has been turned off, when the user presses the button 190 of the mobile phone 100, for example, long presses it for 3 seconds, after the button 190 detects the long-pressed operation, it sends an instruction to the processor 110, and the instruction is used to instruct the mobile phone 100 is powered on, and the processor 110 receives the booting instruction and executes the booting process. In other embodiments of the present application, other devices may also be used to send the power-on command.
  • a power-on trigger event represented as a first power-on trigger event
  • a power-on command may also be sent to the TV through other devices such as a remote control, so as to control the TV to be turned on.
  • a remote control so as to control the TV to be turned on.
  • the clock to power on, that is, not manually triggering the boot.
  • the user sets 12 hours to power on before powering off. When it is 12 hours away from the set time, the mobile phone is automatically triggered to perform the boot process, or, when the set alarm time arrives, the mobile phone is automatically triggered to perform the boot process. This application does not limit this.
  • the mobile phone loads the BL1 image to the static memory, and the BL1 image initializes the dynamic memory.
  • the mobile phone firstly runs an on-chip (SoC) system to initialize system resources and load a bootloader.
  • SoC on-chip
  • SRAM read-only memory
  • EMMC read-only memory
  • the mobile phone can run this code.
  • the resources of the SOC are initialized, and BL1 is loaded into the SRAM.
  • the processor 110 of the mobile phone 100 runs the BL1 and completes the initialization of the BL1, and the BL1 completes the initialization of the dynamic memory (Dynamic Random Access Memory, DRAM).
  • DRAM Dynamic Random Access Memory
  • BL1 has the capability of memory space layout, and reserves memory space for other programs, for example, reserves space for customized boot programs.
  • the mobile phone loads the customized boot program image BLcust and the second boot program bootloader2 image to the dynamic random access memory, and runs BLcust.
  • BLcust can also include programs for memory management, so that memory-aware programs can be stored in an orderly manner.
  • the initialization of the device operating environment, the device initialization, and the preset perception program can be completed.
  • the preset perception program may include a boot experience program, for example, a LOGO display program or a sound playback program. It may also include other perception applications that are not intended to be turned on, for example, an alarm clock, a clock, a charging reminder program, and the like.
  • the customized boot program image runs before the trusted execution environment TEE runs, so that the user can perceive the power-on action of the mobile phone more quickly.
  • the loading time of the second bootstrap image may not be synchronized with the customized bootstrap image BLcus, as long as the loading is completed before running the first bootstrap image, which is not limited herein.
  • the power-on triggering event is the second power-on triggering event, for example, short press the power button for 1 second
  • the power is turned off directly, and during the booting process, the The second bootloader image does not need to be loaded. This speeds up the running of custom bootstrap images.
  • a customized bootstrap program BLcust is added between BL1 and BL2.
  • the customized bootstrap program can complete the user's perception class program, and the customized bootstrap program runs before the trusted execution environment TEE runs.
  • the mobile phone After receiving the trigger event, the mobile phone can quickly output effects that the user can perceive, such as vibration, displayed LOGO, sound, etc., which improves the user's boot experience.
  • FIG. 5 shows a frame diagram of a process of starting a mobile phone.
  • the explanations about EMMC, Bootrom, and SRAM have been described in the above-mentioned embodiments. For details, please refer to the descriptions in the above-mentioned embodiments, which will not be repeated here.
  • the BLcust running stage in the first boot stage and the BL2 in the second boot stage are mainly described.
  • the mobile phone runs the customized bootstrap image BLcust.
  • BLcust can complete "environment initialization", "device initialization” and complete the operation of "perception class program”.
  • the initialization and execution status of various programs are temporarily stored in the "shared memory" in the form of files.
  • the mobile phone runs the second boot phase.
  • BL2 can read these files from shared memory. That is, in step S440 shown in FIG. 5 , when the mobile phone runs BL2, BL2 can read the files in the shared memory, and can judge whether the customized bootloader image is running abnormally according to the files in the shared memory.
  • the mobile phone When the mobile phone judges that the customized bootloader image is running abnormally, it will reload and run the abnormally running program that has been run in BLcust in the BL2 running phase, so as to complete the device and environment initialization, or make the program run normally. Thus, it is ensured that the mobile phone can be turned on normally, and the user-aware program can be sensed by the user.
  • the user of the DTB file realizes the effect perceived by the user, such as display on a display screen.
  • the custom bootloader image BLcust can load and parse the device block DTB files, and store the parsed "DTB" files in "shared memory".
  • BL2 When BL2 is running, it is judged whether the device initialization is completed through the DTB file. When BL2 determines that the device initialization has been completed, the device is not initialized any more. When the mobile phone judges that there is an abnormality in running the preset sensing program, such as failure to load the DTB file to the shared memory, or the customized bootloader image uses the device tree block DTB file to run the sensing program abnormally, etc., the BL2 will execute the preset again. perceptual program. In order to ensure that the mobile phone can realize the normal boot process.
  • an abnormality in running the preset sensing program such as failure to load the DTB file to the shared memory, or the customized bootloader image uses the device tree block DTB file to run the sensing program abnormally, etc.
  • the log generated during the execution of the BLcust program is recorded in the shared space so that it can be accessed in both BL1 and BL2 stages, and is uniformly copied and saved when BL1 jumps to BL2, and is stored with the small system log
  • the recording function performs unified recording.
  • the processor 110 can view the log generated in the BLcust stage during the kernel startup stage, or obtain the log generated in the BLcust stage when a stability abnormality such as a shutdown occurs, and determine the location and cause of the exception.
  • FIG. 6 shows a schematic structural diagram of each module in the structure of the mobile phone.
  • the mobile phone includes a detection module 610 , a processing module 620 , a BL1 module 630 , a BLcust module 640 , a TEE module 650 and a BL2 module 660 .
  • the detection module 610 is configured to detect a boot event, and after detecting the boot event, send a boot command to the processing module 620 .
  • the processing module 620 causes the first piece of code on the chip to run according to the boot command, and loads the BL1 program into the memory.
  • the BL1 module 630 runs the BL1 program, completes the initialization of the small system, the SDRAM initialization, and the environment security context initialization, and loads the BLcust program image to the BLcust module 640 and the BL2 program image to the memory.
  • the BL2 module 660 runs the BLcust program image.
  • the BLcust program may include user perception programs, such as programs such as vibration, sound, and dynamic images.
  • the BLcust module 640 After the operation of the BLcust module 640 is completed, it jumps to the BL1 module 610. After the operation of the BL1 module 610 jumps to the operation of the TEE module 650, the TEE module 650 runs its internal program and completes the initialization of the executable environment to ensure the safety of the mobile phone. run. After the TEE module 650 runs, it jumps to the BL2 module 660 to run. BL2 module 660 runs the BL2 program. After that, the kernel is started and the system is booted.
  • FIG. 7 shows a timing diagram of the operation of each module in the mobile phone structure.
  • the mobile phone includes a BL1 module, a BLcust module, a TEE module and a BL2 module, which can be integrated on a chip.
  • the entire running state jumps from the BL1 module to the BLcust module.
  • the BLcust module can include the initialization process of the space, loading the DTB file to complete the device initialization, environment initialization, execution of the perception program, etc., for example, "motor” Sensing programs such as vibration” and “interface display”.
  • the BLcust module jump to the BL1 module.
  • the BLcust module in the present application has the ability to manage memory. For example, by setting a memory management module, the memory can be managed to facilitate the storage of various program files.
  • the BLcust module is added between the BL1 module and the BL2 module, the user-perceived program is run before the TEE module runs, and the corresponding boot action is output, so the user can perceive earlier The action of turning on the phone improves the booting experience.
  • the specific functions of each module in this application reference may be made to the description of the booting method in the foregoing embodiment, which is not repeated here.
  • the power-on vibration program and the power-on LOGO display program are set in the BLcust module to complete, when the user presses the power button, and the user presses the power button to start timing until the time interval between the phone vibrating and the first frame of LOGO display , all completed within 3 seconds.
  • the same test method is used to test the existing mobile phone, and the time interval between the start-up vibration and the display of the first frame is far greater than 3 seconds, see Table 1 for details.
  • the interval time from pressing the power button to the vibration is 3.3 seconds, 3.7 seconds and 5 seconds respectively.
  • the interval time between the first frame display of the six tested samples is 4.3 seconds, 5.6 seconds, 3.7 seconds, 3.4 seconds, 4.9 seconds and 6.5 seconds, respectively.
  • the mobile phone of the present application can complete the vibration and the time of displaying the first frame within 3 seconds, and the time of displaying the first frame can even be completed in about 2 seconds.
  • the mobile phone of the present application shortens the time for the user to feel the power-on behavior (such as vibration, display screen) more quickly, and has obvious advantages compared with competitive products.
  • setting the alarm clock is done within the BLcust module.
  • the alarm clock will ring and vibrate within 3 seconds after the time set by the alarm clock.
  • the existing mobile phone is completed 30 seconds after the time set by the alarm clock, compared with the time set by the user, the mobile phone of the present application is closer to the time set by the user.
  • the existing device alarm needs to be ringed during the kernel startup phase. If the mobile phone fails in the BL2 phase or the kernel startup phase, or the startup speed is slow, the alarm clock is prone to the problem of not ringing or delaying the ringing time.
  • the alarm is set in the independent BLcust module before the BL2 running stage, and the probability of slow startup is greatly reduced, which effectively improves the stability and accuracy of the use of the alarm clock.
  • the time display program can also be set in the BLcust module to complete.
  • This setting method is suitable for the scenario where the user wants to know the current time in a special environment where the user is outdoors and the mobile phone is out of power.
  • This setting method can realize that after the user presses the power button (indicating the second power-on triggering event), only a relatively low amount of electricity is required to support the operation of the BLcust module and complete the display of time. For example, when booting normally, the first boot event is that the user presses the power button for 3 seconds for a long time.
  • the mobile phone When the power button is pressed for 1 second, it is determined that the user is the second power-on trigger event, and the mobile phone is turned off after displaying the display of the time desired by the user when the BLcust module is running.
  • the mobile phone may also be automatically shut down within a predetermined time period after the mobile phone receives the second power-on trigger event, and the predetermined time period is set to ensure that the display of the time is completed.
  • the current electronic equipment such as a mobile phone
  • the current electronic equipment can display the time after booting up, and it is difficult to complete the time when the mobile phone is out of power. show.
  • the power-on method of the present application only a small amount of power is required to maintain the operation of the BLcust module and display the time, and then power off. It can meet the basic needs of users in special environments.
  • the perception program provided in the BLcust module is described.
  • other programs may also be provided, such as a charging prompt program. It is also possible to prevent non-perceptual programs, etc., which is not limited in this application.
  • the electronic device of the embodiment of the present application since the BLcust program is added between BL1 and BL2, and the BLcust customized boot program starts to run before the TEE runs.
  • the user-perceived programs are not affected by the running time of the TEE, and the user can quickly feel whether the mobile phone has been turned on after pressing the power-on button, which improves the user's boot-up experience.
  • the present application also provides an electronic device, including:
  • memory 810 for storing instructions for execution by one or more processors of the device
  • the processor 820 is configured to execute the methods explained in the above embodiments in conjunction with FIG. 4 to FIG. 5 .
  • the present application also provides a computer-readable storage medium, where the computer-readable storage medium stores a computer program, and when the computer program is executed by the processor, the processor causes the processor to execute the methods explained in FIG. 4 to FIG. 5 in the foregoing embodiment.
  • the present application also provides a computer program product containing instructions, when the computer program product is run on an electronic device, the processor causes the processor to execute the methods shown in FIGS. 4 to 5 in the foregoing embodiments.
  • Device 1200 may include one or more processors 1201 coupled to controller hub 1203 .
  • the controller hub 1203 is connected via a multidrop bus such as a Front Side Bus (FSB), a point-to-point interface such as a Quick Path Interconnect (QPI), or the like 1206 communicates with processor 1201.
  • FOB Front Side Bus
  • QPI Quick Path Interconnect
  • Processor 1201 executes instructions that control general types of data processing operations.
  • the controller hub 1203 includes, but is not limited to, a Graphics Memory Controller Hub (GMCH) (not shown) and an Input/Output Hub (IOH) (which may be on a separate chip) (not shown), where the GMCH includes the memory and graphics controller and is coupled to the IOH.
  • GMCH Graphics Memory Controller Hub
  • IOH Input/Output Hub
  • Device 1200 may also include a coprocessor 1202 and memory 1204 coupled to controller hub 1203 .
  • the memory and GMCH may be integrated within the processor (as described in this application), with the memory 1204 and coprocessor 1202 coupled directly to the processor 1201 and to the controller hub 1203, the controller hub 1203 and IOH in a single chip.
  • the memory 1204 may be, for example, Dynamic Random Access Memory (DRAM), Phase Change Memory (PCM), or a combination of the two.
  • DRAM Dynamic Random Access Memory
  • PCM Phase Change Memory
  • the coprocessor 1202 is a special-purpose processor, such as, for example, a high-throughput MIC processor (Many Integerated Core, MIC), a network or communications processor, a compression engine, a graphics processor, a general graphics processor (General Purpose Computing on GPU, GPGPU), or embedded processor, etc.
  • a high-throughput MIC processor Many Integerated Core, MIC
  • MIC Manufacturing Integerated Core
  • GPGPU General Purpose Computing on GPU
  • embedded processor etc.
  • Optional properties of the coprocessor 1202 are represented in FIG. 9 by dashed lines.
  • the memory 1204 acts as a computer-readable storage medium and may include one or more tangible, non-transitory computer-readable media for storing data and/or instructions.
  • memory 1204 may include any suitable non-volatile memory such as flash memory and/or any suitable non-volatile storage device, such as one or more hard-disk drives (HDD(s)), one or more Multiple Compact Disc (CD) drives, and/or one or more Digital Versatile Disc (DVD) drives.
  • HDD hard-disk drives
  • CD Multiple Compact Disc
  • DVD Digital Versatile Disc
  • the device 1200 may further include a Network Interface Controller (NIC) 1206 .
  • Network interface 1206 may include a transceiver for providing a radio interface for device 1200 to communicate with any other suitable device (eg, front-end modules, antennas, etc.).
  • network interface 1206 may be integrated with other components of device 1200 .
  • the network interface 1206 may implement the functions of the communication unit in the above-described embodiments.
  • Device 1200 may further include an input/output (I/O) device 1205 .
  • I/O 1205 may include: a user interface designed to enable a user to interact with device 1200; a peripheral component interface designed to enable peripheral components to also interact with device 1200; and/or sensors designed to determine the environment associated with device 1200 Condition and/or location information.
  • Figure 9 is only exemplary. That is, although FIG. 9 shows that the device 1200 includes multiple devices such as the processor 1201 , the controller hub 1203 , and the memory 1204 , in practical applications, the device using each method of the present application may only include the devices of the device 1200 Some of the devices, for example, may contain only the processor 1201 and the NIC 1206. The properties of the optional device in Figure 9 are shown in dashed lines.
  • the memory 1204 which is a computer-readable storage medium, stores instructions.
  • the system 1200 executes the method for switching between applications and tasks in the application according to the above-mentioned embodiments. Referring to the booting method of the above-mentioned embodiment, details are not described herein again.
  • SoC 1300 includes: interconnect unit 1350 coupled to application processor 1310; system proxy unit 1380; bus controller unit 1390; integrated memory controller unit 1340; one or more coprocessors 1320, which may include integrated graphics logic, image processor, audio processor and video processor; Static Random Access Memory (SRAM) unit 1330; Direct Memory Access (DMA) unit 1360.
  • the coprocessor 1320 includes a special purpose processor such as, for example, a network or communications processor, a compression engine, a GPGPU, a high throughput MIC processor, an embedded processor, or the like.
  • Static random access memory (SRAM) unit 1330 may include one or more computer-readable media for storing data and/or instructions.
  • the computer-readable storage medium may have instructions stored thereon, in particular, temporary and permanent copies of the instructions.
  • the instruction may include: when executed by at least one unit in the processor, causing the Soc1300 to execute the method for establishing a device communication connection according to the above-mentioned embodiment. Repeat.
  • Embodiments of the mechanisms disclosed herein may be implemented in hardware, software, firmware, or a combination of these implementation methods.
  • Embodiments of the present application may be implemented as a computer program or program code executing on a programmable system including at least one processor, a storage system (including volatile and nonvolatile memory and/or storage elements) , at least one input device, and at least one output device.
  • Program code may be applied to input instructions to perform the functions described herein and to generate output information.
  • the output information can be applied to one or more output devices in a known manner.
  • a processing system includes any processor having a processor such as, for example, a Digital Signal Processor (DSP), a microcontroller, an Application Specific Integrated Circuit (ASIC), or a microprocessor system.
  • DSP Digital Signal Processor
  • ASIC Application Specific Integrated Circuit
  • the program code may be implemented in a high-level procedural language or an object-oriented programming language to communicate with the processing system.
  • the program code may also be implemented in assembly or machine language, if desired.
  • the mechanisms described in this application are not limited in scope to any particular programming language. In either case, the language may be a compiled language or an interpreted language.
  • the disclosed embodiments may be implemented in hardware, firmware, software, or any combination thereof.
  • the disclosed embodiments can also be implemented as instructions carried by or stored on one or more transitory or non-transitory machine-readable (eg, computer-readable) storage media, which can be executed by one or more processors read and execute.
  • the instructions may be distributed over a network or over other computer-readable media.
  • a machine-readable medium can include any mechanism for storing or transmitting information in a form readable by a machine (eg, a computer), including, but not limited to, floppy disks, optical disks, optical disks, Compact Disc Read Only Memory , CD-ROMs), magneto-optical disks, Read Only Memory (ROM), Random Access Memory (RAM), Erasable Programmable Read Only Memory (EPROM), Electrically Erasable Programmable read-only memory (Electrically Erasable Programmable Read Only Memory, EEPROM), magnetic or optical cards, flash memory, or for the use of the Internet to transmit information by electrical, optical, acoustic or other forms of propagating signals (for example, carrier waves, infrared signals tangible machine-readable storage of digital signals, etc.).
  • machine-readable media includes any type of machine-readable media suitable for storing or transmitting electronic instructions or information in a form readable by a machine (eg, a computer).
  • each unit/module mentioned in each device embodiment of this application is a logical unit/module.
  • a logical unit/module may be a physical unit/module or a physical unit/module.
  • a part of a module can also be implemented by a combination of multiple physical units/modules.
  • the physical implementation of these logical units/modules is not the most important, and the combination of functions implemented by these logical units/modules is the solution to the problem of this application. The crux of the technical question raised.
  • the above-mentioned device embodiments of the present application do not introduce units/modules that are not closely related to solving the technical problems raised in the present application, which does not mean that the above-mentioned device embodiments do not exist. other units/modules.

Abstract

一种开机方法及电子设备、可读存储介质、计算机程序产品,属于电子技术领域,该方法应用于电子设备中,该方法包括,通过在bootloader1和bootloader2之间增加了定制引导程序,该定制引导程序用于对设备运行环境初始化,运行预设的感知类程序,其中,运行感知类程序使电子设备输出被用户感知的效果,且定制引导程序在TEE运行之前就开始运行。使得用户在按下开机键后能够快速的感受到手机是否已经开机,不受到TEE运行时间的影响,进而提高了用户开机体验。

Description

开机方法及电子设备、可读存储介质、计算机程序产品
本申请要求于2021年02月10日提交中国专利局、申请号为202110184753.2、申请名称为“开机方法及电子设备、可读存储介质、计算机程序产品”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本发明涉及电子技术领域,尤其涉及开机方法及电子设备、可读存储介质、计算机程序产品。
背景技术
随着消费电子行业的迅猛发展,嵌入式设备越来越多的被人们关注。嵌入式设备的系统,例如,嵌入式Linux系统在开机时,需要小系统多个阶段初始化,最终启动系统,完成开机。例如,Android系统的手机,开机流程需要片上系统运行、Bootloader小系统的第一阶段和Bootloader小系统的第二阶段的初始化,最终引导启动Kernel内核和Android系统,完成开机过程。
目前,在设备开机过程中,由于在小系统的阶段增加有提升设备安全性的可执行环境(Trusted Execution Environment,TEE),以保证加载到该环境内部的代码和数据的安全性、机密性以及完整性,提升设备的安全性。但是由于TEE会增加耗时,使得设备开机的时间增加,降低了用户的体验。
发明内容
有鉴于此,本发明提供一种开机方法及电子设备、可读存储介质、计算机程序产品,用以提高用户开机体验。
本申请的一些实施方式提供了一种开机方法。以下从多个方面介绍本申请,以下多个方面的实施方式和有益效果可互相参考。
第一方面,本发明提供一种开机方法,应用于电子设备,方法包括:
电子设备检测到第一开机触发事件,例如,用户按压电子设备的电源开机键,或者由其他设备发送的指示电子设备开机的信号等;响应于第一开机触发事件,依次运行预设的感知类程序、可信执行环境,并启动内核,以完成开机,其中,所述预设的感知类程序为运行时使所述电子设备输出被用户感知的效果的程序。其中,用户感知的效果包括用户可以看到、听到或身体感觉到的效果。例如,用户可以感知的震动、画面显示、声音等效果。
根据本申请实施例的开机方法,增加了定制引导程序,该定制引导程序能够完成用户的感知类的程序,并且该定制化引导程序在可信执行环境TEE运行之前运行,在接收到触发事件后,手机可以快速的输出用户可以感知的效果,例如震动、显示的LOGO,声音等,提高了用户的开机体验。
在上述第一方面的一种可能的实现中,所述电子设备响应于所述第一开机触发事件, 运行第一引导程序镜像(bootloader1),并在运行所述第一引导程序镜像的过程中,触发运行定制引导程序镜像,运行预设的感知类程序,以输出被用户感知的效果。也就是说,定制化引导程序镜像在第一引导程序镜像运行时运行。
在上述第一方面的一种可能的实现中,所述电子设备将运行所述预设的感知类程序的执行状态存储至共享内存。以便于引导程序运行的两个阶段都可以访问,了解定制引导程序镜像的执行状态。
在上述第一方面的一种可能的实现中,所述电子设备响应于所述第一开机触发事件,依次运行预设的感知类程序、可信执行环境,并启动内核,以完成开机,包括:所述电子设备响应于所述开机触发事件,运行第一引导程序镜像,并在运行所述第一引导程序镜像的过程中,触发运行定制引导程序镜像,以运行预设的感知类程序;所述电子设备由运行所述定制引导程序镜像跳回至所述第一引导程序镜像,在继续运行所述第一引导程序镜像的过程中,触发运行可信执行环境,并在运行所述可信执行环境之后,运行第二引导程序镜像(bootloader2);所述电子设备运行所述第二引导程序镜像时,基于所述共享内存中的所述执行状态确定定制引导程序镜像的运行状态,例如,根据执行状态数据,判断感知类程序是否有效被运行等,以便于后续程序根据确定的结果,执行是否重新执行定制引导程序执行的内容。
在上述第一方面的一种可能的实现中,在所述定制引导程序镜像的所述运行状态为异常的情况下,所述电子设备在运行所述第二引导程序镜像时,将所述定制引导程序镜像运行异常的程序重新加载和运行,以确保开机过程的顺利进行。
在上述第一方面的一种可能的实现中,所述定制引导程序镜像的所述运行状态为异常,包括:所述执行状态至少包括所述定制引导程序镜像未加载设备树块DTB文件至所述共享内存,或,所述定制引导程序镜像利用设备树块DTB文件运行感知类程序存在异常。
在上述第一方面的一种可能的实现中,当所述电子设备运行所述定制引导程序镜像并将所述设备树块DTB文件加载至共享内存,bootloader2镜像直接使用共享内存中的DTB文件,bootloader2镜像不需要加载,可以直接使用,提高开机运行速度。
在上述第一方面的一种可能的实现中,电子设备运行bootloader2镜像,并启动内核,包括:电子设备由运行bootloader2镜像跳转至启动内核时,将DTB文件释放,不占用额外内存。
在上述第一方面的一种可能的实现中,所述电子设备将运行所述定制引导程序镜像过程中生成的日志,记录在所述共享内存中,并在所述电子设备由运行所述第一引导程序镜像跳转至运行所述第二引导程序镜像时,保存所述日志。这些记录,可以在处理器在启动kernel阶段查看,在发生不开机等稳定性异常问题时能够获取到日志,判断异常发生的位置和原因。
在上述第一方面的一种可能的实现中,还包括:所述电子设备检测到第二开机触发事件,例如,预设时长的短按电源键;所述电子设备响应于所述第二开机触发事件,运行所述预设的感知类程序,并在运行所述预设的感知类程序后关机。该方法可以应用于在手机电量不足,或者用户只是想观看时间等情况下,快速获得用户需要的时间信息等,关机,节约电源。
在上述第一方面的一种可能的实现中,所述电子设备在运行所述预设的感知类程序时, 输出被用户感知的效果达到预定时长时关机,例如,显示屏显示时间达到2秒时关机。
在上述第一方面的一种可能的实现中,所述第一开机触发事件为正常开机触发事件,所述第二开机触发事件为短暂开机触发事件。
在上述第一方面的一种可能的实现中,所述第一开机触发事件和所述第二开机触发事件为不同类型的用户操作触发的事件。例如,可以是用户手动按压电源键,也可以是用户通过设定闹钟,到达设定时间后自动触发开机事件,在此并不作为限定。
在上述第一方面的一种可能的实现中,所述第一开机触发事件为长按电源键的操作触发的事件,所述第二开机触发事件为短按电源键的操作触发的事件。
在上述第一方面的一种可能的实现中,预设的感知类程序,包括:图片显示程序、震动程序、闹钟、时钟显示程序中的一个或多个程序。
第二方面,本发明还提供一种开机方法,应用于电子设备,方法包括:
所述电子设备检测到第二开机触发事件,例如短时间按压电源0.5秒;所述电子设备响应于所述第二开机触发事件,运行所述预设的感知类程序,并在运行所述预设的感知类程序后关机。其中,运行所述预设的感知类程序之前不运行可执行环境。该方法可以应用于在手机电量不足,或者用户只是想观看时间等情况下,快速获得用户需要的时间信息等,关机,节约电源。
在上述第二方面的一种可能的实现中,所述电子设备响应于所述第二开机触发事件,运行所述预设的感知类程序,并在运行所述预设的感知类程序后关机,包括:所述电子设备响应于所述第二开机触发事件,运行第一引导程序镜像,并在运行所述第一引导程序过程中,触发运行定制引导程序镜像,以运行预设的感知类程序,并输出被用户感知的效果。
在上述第二方面的一种可能的实现中,所述第二开机触发事件为不同类型的用户操作触发的事件。
在上述第二方面的一种可能的实现中,所述第二开机触发事件为短按电源键的操作触发的事件。
第三方面,本申请还提供一种电子设备,包括:
检测模块,用于检测到开机触发事件;
处理模块,用于响应于所述开机触发事件,并先运行预设的感知类程序,再运行可信执行环境,启动内核,并完成开机,其中,所述预设的感知类程序为运行时使所述处理模块输出被用户感知的效果的程序。
根据本申请实施例的电子设备,增加了定制引导程序,该定制引导程序能够完成用户的感知类的程序,并且该定制化引导程序在可信执行环境TEE运行之前运行,在接收到触发事件后,手机可以快速的输出用户可以感知的效果,例如震动、显示的LOGO,声音等,提高了用户的开机体验。
在上述第三方面的一种可能的实现中,所述处理模块还用于:响应于所述第一开机触发事件,运行第一引导程序镜像,并在运行所述第一引导程序镜像过程中,触发运行定制引导程序镜像,以运行预设的感知类程序。
在上述第三方面的一种可能的实现中,所述处理模块运行所述预设的感知类程序的执行状态存储至共享内存。
在上述第三方面的一种可能的实现中,所述处理模块还用于:响应于所述第一开机触 发事件,运行第一引导程序镜像,并在运行所述第一引导程序过程中,触发运行定制引导程序镜像,以运行预设的感知类程序;所述处理模块由运行所述定制引导程序镜像跳回至所述第一引导程序镜像,在继续运行所述第一引导程序镜像的过程中,触发运行可信执行环境,并在运行所述可信执行环境之后,运行第二引导程序镜像;所述处理模块运行所述第二引导程序镜像时,基于所述共享内存中的所述执行状态确定定制引导程序镜像的运行状态,例如,根据执行状态数据,判断感知类程序是否有效被运行等,以便于后续程序根据确定的结果,执行是否重新执行定制引导程序执行的内容。
在上述第三方面的一种可能的实现中,在所述定制引导程序镜像的所述运行状态为异常的情况下,所述处理模块在运行所述第二引导程序镜像时,将所述定制引导程序镜像运行异常的程序重新加载和运行。
在上述第三方面的一种可能的实现中,所述定制引导程序镜像的所述运行状态为异常,包括:所述执行状态至少包括所述定制引导程序镜像未加载设备树块DTB文件至所述共享内存,或,所述加载至所述共享内存中的所述设备数块DTB文件存在异常。
在上述第三方面的一种可能的实现中,当加载至所述共享内存中的所述设备数块DTB文件无异常,则所述处理模块运行所述第二引导程序镜像时,直接使用所述共享内存中的DTB文件。
在上述第三方面的一种可能的实现中,处理模块由运行bootloader2镜像跳转至启动内核时,将定制引导程序镜像运行过的DTB文件释放,不占用额外内存。
在上述第三方面的一种可能的实现中,所述处理模块将运行所述定制引导程序镜像过程中生成的日志,记录在所述共享内存中,并在所述处理模块由运行所述第一引导程序镜像跳转至运行所述第二引导程序镜像时,保存所述日志。这些记录,可以在处理模块在启动kernel阶段查看,在发生不开机等稳定性异常问题时能够获取到日志,判断异常发生的位置和原因。
在上述第三方面的一种可能的实现中,还包括:所述处理模块检测到第二开机触发事件,例如,预设时长的短按电源键;所述电子设备响应于所述第二开机触发事件,运行所述预设的感知类程序,并在运行所述预设的感知类程序后关机。该方法可以应用于在手机电量不足,或者用户只是想观看时间等情况下,快速获得用户需要的时间信息等,关机,节约电源。
在上述第三方面的一种可能的实现中,所述处理模块在运行所述预设的感知类程序时,使显示屏显示时间达到预定时长时关机。
在上述第三方面的一种可能的实现中,所述第一开机触发事件为正常开机触发事件,所述第二开机触发事件为短暂开机触发事件。
在上述第三方面的一种可能的实现中,所述第一开机触发事件和所述第二开机触发事件为不同类型的用户操作触发的事件。例如,可以是用户手动按压电源键,也可以是用户通过设定闹钟,到达设定时间后自动触发开机事件,在此并不作为限定。
在上述第三方面的一种可能的实现中,所述第一开机触发事件为长按电源键的操作触发的事件,所述第二开机触发事件为短按电源键的操作触发的事件。
在上述第三方面的一种可能的实现中,预设的感知类程序,包括:图片显示程序、震动程序、闹钟、时钟显示程序中的一个或多个程序。
第四方面,本申请还提供一种电子设备,包括:
存储器,用于存储由设备的一个或多个处理器执行的指令;
处理器,用于执行指令,使得电子设备执行上述第一方面或第二方面实施例的方法。
第五方面,本申请提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器运行时,使得处理器执行上述第一方面或第二方面实施例的方法。
第六方面,本申请的公开了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面或第二方面实施例的方法。
附图说明
图1a为现有手机开机流程的示意图;
图1b为现有手机开机流程的示意图;
图2为本申请一个实施例的开机过程的框架图;
图3为本申请一个实施例的电子设备结构示意图;
图4为本申请一个实施例的手机开机方法的流程图;
图5为本申请一个实施例的手机开机过程的框架图;
图6为本申请一个实施例的手机结构中的各模块的结构示意图;
图7为本申请一个实施例的手机结构中的各模块的运行时的时序图;
图8为本申请一个实施例的电子设备的结构示意图;
图9为本申请一个实施例的设备的框图;
图10为本申请一些实施例的一种片上系统的框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
下面结合现有设备开机的流程对本申请实施例的开机方法进行描述。
以手机的开机过程为例,图1a为现有手机开机流程的示意图,如图1a所示,手机的开机过程分为三个阶段,分别为片上系统运行阶段、小系统引导阶段和启动系统阶段。通常在小系统引导阶段进一步分为第一引导阶段,该阶段为第一引导程序bootloarder1(简称:BL1)运行阶段,可以完成小系统、内存、安全上下文等的初始化,以及加载程序等;第二引导阶段,该阶段为第二引导程序运行bootloarder2(简称:BL2)运行阶段,执行外设硬件的初始化,加载内核等。在片上系统运行阶段,手机上电后首先在引导内存(Bootrom)运行,Bootrom是嵌入处理器芯片内的一小块掩模或写保护闪存。Bootrom的内部包含处理器在上电或复位时执行的第一个代码,并决定从哪里加载要执行的代码的下一部分。对静态随机存取存储器(Static Random-Access Memory,SRAM),非易失性存储器,例如,嵌入式多媒体卡(Embedded Multi Media Card,EMMC)进行初始化,并加载第一引导程序bootloarder1镜像至SRAM并跳转运行。如图1a所示,在EMMC中包括,bootloarder1、bootloarder2、引导镜像bootimage、安卓系统Android和可执行环境TEE等程序或系统代码。在小系统引导阶段中的第一引导阶段,BL1运行,并完成小系统的初 始化,动态随机存取存储器(Synchronous Dynamic Random Access Memory,SDRAM)初始化,环境安全上下文初始化,并加载BL2镜像至SDRAM并跳转,以执行小系统引导阶段的第二引导阶段。在第二引导阶段中,BL2镜像运行,执行部分外设的初始化,以及运行用户感知类的程序等,加载Kernel并进行跳转。第三阶段,启动Android系统,完成手机开机。
为了进一步说明技术问题,对上述描述进一步说明,如图1b为手机开机流程的示意图,该流程的示意图对图1a的进一步细化。在上述的开机过程中,为了提升手机的安全性,以及保证加载到环境内部的代码和数据的安全性、机密性以及完整性,会在小系统引导阶段中的第二引导阶段之前,引入可执行环境系统(Trusted Execution Environment Operating System,TEEOS)。如图1b所示,用户能够体验到的感知类程序,如,震动,品牌标识(Logo)的显示和声音类等等的这些可被用户感知到的程序。这些程序在小系统引导阶段的BL2运行阶段完成。而TEEOS系统需要在BL2运行阶段之前运行。由于TEEOS系统的运行时间较长,因而用户感知类的程序会因为TEEOS系统的运行而向后推迟,这将使得用户开机感知的时间推后,而降低用户的体验。
为了解决上述问题,本申请提出了一种开机方法。该开机方法应用于电子设备中,包括,当电子设备检测到开机触发事件,例如,用户手动按压电源键以使电子设备执行开机指令(手动触发开机)。或者,通过时钟设置,在到达设定时间时,电子设备自动执行开机指令,又或者,电子设备在预设闹钟时间到达时,自动执行开机指令(非手动触发开机)。在执行开机指令时,电子设备依次运行预设的感知类程序、TEEOS,并启动内核,以完成开机。其中,所述预设的感知类程序为运行时使所述电子设备输出被用户感知的效果的程序,例如,开机LOGO,闹钟响声,显示时间等。
需要说明的是,本申请实施例中的依次运行指的是运行预设的感知类程序和TEEOS的先后顺序,即预设的感知类程序在TEEOS之前执行,并不限定预设的感知类程序和TEEOS之间的是否有其他程序执行,也不限定检测到开机触发事件和运行预设的感知类程序之间不执行其他的程序指令。
本申请的开机方法,将用户感知类的运行程序在TEEOS系统之前运行,用户可以更早的感知到手机的开机动作,进而提高用户的体验。
下面结合附图对开机的过程进行描述。
参考图2,图2示出了本申请的开机过程的框架图,如图2所示,该框架图中,包括bootrom,SRAM,DRAM和EMMC。在EMMC中存储有“bootloarder1”、“bootloarder2”、“bootimage”、“Android”和“TEE”等程序代码。举例来说,用户长按开机键3秒作为开机触发事件(第一开机触发事件)。当手机检测到用户针对开机事件,手机响应该开机事件,并执行开机的操作。当片上系统上电后,bootrom作为起始点开始运行一段固定代码,对SRAM和外部存储器,如非易失性存储器的EMMC进行初始化,并从EMMC中加载BL1镜像至SRAM中,并跳转,使手机执行第一引导阶段。在第一引导阶段,BL1运行时,加载定制引导程序bootloarder-cust(简称:BLcust)镜像和BL2镜像到DRAM,在DRAM中BLcust运行结束,能够完成“设备初始化”和“环境初始化”,并完成用户开机时能够体验类的感知类程序,例如,用户能够感知的震动、显示的“Logo”,以及非开机体验的“快速闹钟”和“时钟快速显示”等程序。在用户感知类程序运行结束后,手机由在DRAM中运行BLcust跳转回至在SRAM中运行第一引导阶段,以使BL1镜像之后的TEE程序运行。 其中,TEE程序包括可信固件(arm-trusted-firmware,ATF)和TEEOS两部分。如图2所示,在BLcust运行结束后,手机的运行阶段跳转回BL1运行阶段,并运行TEE程序。其中,在运行TEE程序时,首先在SRAM中运行ATF镜像,以解密环境初始化,随后跳转至DRAM中运行TEEOS,以完成设备可执行环境初始化,提高手机的安全性。随后依次运行bootloader2镜像,加载并启动内核、android系统,以完成开机。
在本申请的实施例中,由于在BL1和BL2之间增加了BLcust,且该BLcust在TEE运行之前就开始运行,使得用户在按下开机键后能够快速的感受到手机是否已经开机,这将使得用户感知类程序不受到TEE运行时间的影响,并且,提高了用户开机体验。
在上述实施例中以手机作为电子设备进行了说明。本申请的开机方法还可以应用在其他的电子设备中,例如,电子设备可以是手机、平板电脑、笔记本电脑、超级移动个人计算机、个人数字助理(personal digital assistant,PDA)、电视,或者可穿戴的电子设备,如手表、手环等。本申请中对电子设备的设备类型不予具体限定。
下面结合手机的具体结构对本申请实施例的开机方法进行描述。
图3示出了手机100的结构示意图。手机100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接头130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本发明实施例示意的结构并不构成对手机100的具体限定。在本申请另一些实施例中,手机100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processing unit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
处理器110可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一个实施例中,处理器110接收用户的指令,例如,用户开机的指令。用户开机后,系统上电,程序计数器(Program counter,PC)指针指向芯片内部的BOOT ROM地址并开 始运行。处理器110的BOOTROM从外部存储器中(如EMMC)加载BL1镜像到SRAM中,并运行BL1镜像,以完成SRAM的初始化,在由BL1加载BLcust和BL2至DRAM中,处理器运行BLcust镜像。其中,BLcust镜像运行可完成设备运行环境的初始化,以及预设定感知类程序的运行。在BLcust镜像运行结束后跳回BL1运行阶段,并依次运行可信执行环境TEE、BL2镜像,启动内核,android系统,完成手机的开机过程。在该过程中,由于用户感知类程序在执行TEE之前完成,使得用户能够更早的感知到手机的开机,提高用户体验。
手机100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emitting diode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode的,AMOLED),柔性发光二极管(flex light-emitting diode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot light emitting diodes,QLED)等。在一些实施例中,手机100可以包括1个或N个显示屏194,N为大于1的正整数。
在本申请的一个实施例中,在处理器110运行BLcust时,用户感知类的程序,例如静态Logo、动态Logo画面,可通过显示屏194展示给用户,使用户通过观看到显示屏194上显示的LOGO而确定手机已经开机。
内部存储器121可以用于存储计算机可执行程序代码,可执行程序代码包括指令。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的感知类的应用程序,声音播放功能,图像播放功能和震动功能等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。处理器110通过运行存储在内部存储器121的指令,和/或存储在设置于处理器中的存储器的指令,执行手机100的各种功能应用以及数据处理。
在本申请的一个实施例中,内部存储器121中可以存储有开机方法的指令,处理器110通过开机方法指令,使得手机100能够快速的提示用户已经开机的感知,提高用户的开机体验。
手机100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
在一些实施例中,音频模块170可以播放开机时的提示音,例如,一段开机音乐,或者一句语音提醒等,以提醒用户手机100已开机。
本申请实施例提供的开机方法可以应用于具有如图2所示的硬件结构的手机中。或者比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置 等类似的硬件结构和软件结构的手机中。
下面结合本发明实施例应用在上述图3所示的手机结构中,对手机的开机方法进行详细的说明。
参考图4所示,图4示出了手机开机方法的流程图,该流程图为手机正常开机的流程,该方法包括S410-S440。
S410,手机检测到开机触发事件(表示为第一开机触发事件)。举例说明,已经关机的手机,当用户对手机100按键190进行按压时,例如,长按3秒,按键190检测到被长按的操作后,向处理器110发送指令,该指令用于指示手机100开机,处理器110接收到开机指令,并执行开机过程。在本申请的其他实施例中,也可以是使用其他设备发送开机指令。例如,当电子设备为电视等设备时,也可以是通过遥控器等其他设备向电视发送开机指令,以控制电视开机。或者是通过设置时钟来开机,即非手动触发开机。例如,用户在关机前设置12小时开机。当距离开始设定时间有12小时,自动触发手机执行开机的过程,又或者,在设置的闹钟时间到达是,自动触发手机执行开机。本申请对此不作限定。
S420,手机加载BL1镜像至静态存储器,BL1镜像初始化动态存储器。手机响应于开机操作,首先片上(syetem on chip,SoC)系统运行,实现系统资源初始化,加载引导程序。例如,对SRAM,EMMC等进行初始化。可以理解为,在SOC的只读内存(read-only memery,ROM)中可以有一段最基本固定的不可更改的代码,在SOC上电后进行SOC初始化的位置,手机通过运行这段代码可以实现对SOC的资源初始化,并且将BL1加载至SRAM中。
手机100的处理器110运行BL1,并完成BL1的初始化,BL1完成动态存储器(Dynamic Random Access Memory,DRAM)的初始化。
在本申请的实施例中,BL1具有对内存空间布局的能力,为其他程序预留内存空间,例如,为定制引导程序预留空间。
S430,手机加载定制引导程序镜像BLcust和第二引导程序bootloader2镜像至动态随机存取存储器,并运行BLcust。可以理解为,在BL1初始化,DRAM初始化之后,BL1加载定制引导程序镜像BLcust和BL2至SRAM中,并运行定制引导程序镜像。这里BLcust还可以包括对内存管理的程序,以使得内存的感知类程序有序的存放。
在本申请的实施例中,定制引导程序镜像运行过程中,可以完成设备运行环境初始化、设备初始化,以及预设的感知类程序。其中,预设的感知类程序可以包括开机体验类的程序,例如,LOGO的显示程序或声音的播放程序等。也可以包括其他的并非想要开机的感知类的应用程序,例如,闹钟、时钟、充电的提示程序等。该定制引导程序镜像在可信执行环境TEE运行之前运行,使得用户更快的感知到手机的开机的动作。
此外,在本申请的实施例中,第二引导程序镜像的加载时间可以与定制引导程序镜像BLcus不同步,只要在运行第一引导程序镜像之前加载完成即可,在此并不限定。并且,当本申请的实施例中,当开机触发事件为第二开机触发事件,例如,短按电源键1秒,在手机运行制引导程序镜像结束后,直接关机,而该开机过程中,并不需要加载第二引导程序镜像。从而加快定制引导程序镜像的运行。S440,手机运行BLcust镜像结束后跳转回BL1运行阶段,并依次运行可信执行环境TEE、bootloader2镜像,并启动内核,以完成开机。在下面的实施例中对BL2的运行过程进一步描述。
本申请的实施例的开机方法,在BL1和BL2之间增加了定制引导程序BLcust,该定制引导程序能够完成用户的感知类的程序,并且该定制化引导程序在可信执行环境TEE运行 之前运行,在接收到触发事件后,手机可以快速的输出用户可以感知的效果,例如震动、显示的LOGO,声音等,提高了用户的开机体验。
参考图5,并结合图4进一步对S430和S440进行说明。
图5示出了手机开机过程的框架图。该框架图中,关于EMMC、Bootrom、SRAM的解释,已经在上述实施例中进行说明,具体可参照上述实施例中的描述,此处不再赘述。本实施例中重点描述第一引导阶段中的BLcust运行阶段,和第二引导阶段的BL2。如图4所示,在S430中,手机运行定制引导程序镜像BLcust。如图5所示,在BLcust镜像的运行过程中,BLcust可以完成“环境初始化”、“设备初始化”以及完成“感知类程序”的运行。BLcust运行过程中,将初始化和对各类程序的执行状态,以文件的形式临时存储在“共享内存”中。当第一引导阶段运行结束后,手机运行第二引导阶段。在第二运行阶段,BL2可以从共享内存中读取这些文件。即在图5所示的步骤S440中,当手机运行BL2时,BL2可以读取共享内存中的文件,并且可以根据共享内存中的文件判断在定制引导程序镜像运行是否异常。当在手机判断定制引导程序镜像运行异常时,则在BL2运行阶段重新加载并运行在BLcust运行过的出现运行异常的程序,以完成设备、环境初始化,或使程序正常运行。从而确保手机能够正常开机,以及用户感知类的程序能够被用户感知。如图5所示,以设备树块(Device Tree Block,DTB)文件为例,DTB文件用户实现被用户感知的效果,例如显示屏显示等。定制引导程序镜像BLcust可以加载并解析设备数块DTB文件,并将解析的“DTB”文件存储在“共享内存”。在BL2运行时,通过DTB文件判断设备初始化是否完成等。当BL2判断设备初始化已经完成,则不再对设备进行初始化。当手机判断运行预设的感知类程序出现异常,如加载DTB文件至共享内存失败,或所述定制引导程序镜像利用设备树块DTB文件运行感知类程序存在异常等,则由BL2再次执行预设的感知类程序。以确保手机能够正常的实现开机过程。
在本申请的实施例中,在BL2运行结束后,手机由运行BL2跳转至内核时,将共享内存中的文件释放,避免占用额外的内存空间。
在本申请的另一个实施例中,BLcust程序执行过程中生成的日志,记录在共享空间,以使得在BL1和BL2阶段均能够访问,在BL1跳转至BL2时统一拷贝保存,随小系统日志记录功能统一进行记录,可以在处理器110在启动kernel阶段查看BLcust阶段生成的日志,或者在发生不开机等稳定性异常问题时能够获取到BLcust阶段生成的日志,判断异常发生的位置和原因。
下面结合图6和图7对手机结构中的各模块对本申请的开机方法进行说明。
参考图6,图6示出了手机结构中的各模块的结构示意图。如图6所示,该手机包括检测模块610,处理模块620,BL1模块630,BLcust模块640、TEE模块650和BL2模块660。
检测模块610用于检测开机事件,并在检测到开机事件后,将开机指令发送给处理模块620。处理模块620根据开机指令,使得芯片上的第一段代码运行,加载BL1程序至内存。BL1模块630运行BL1程序,完成小系统的初始化,SDRAM初始化,环境安全上下文初始化,并加载BLcust程序镜像至BLcust模块640,加载BL2程序镜像至内存。BL2模块660运行BLcust程序镜像。其中,BLcust程序中可以包括用户感知类程序,例如,震动、声音、动态画面等程序。BLcust模块640运行结束后跳转至BL1模块610,在由BL1模块610的运行跳转至TEE模块650的运行,TEE模块650运行其内部的程序,并完成可 执行环境的初始化,确保手机的安全运行。TEE模块650运行结束跳转至BL2模块660运行。BL2模块660运行BL2程序。此后启动内核、系统完成开机。
参考图7,图7示出了手机结构中的各模块的运行时的时序图,如图6所示,手机包括BL1模块,BLcust模块、TEE模块和BL2模块,这些模块可以集成在芯片上。在该时序图中,整个运行的状态从BL1模块跳转到BLcust模块,在BLcust模块可以包括对空间的初始化过程,加载DTB文件完成设备初始化,环境初始化,执行感知类程序等,例如,“马达震”、“界面显示”等感知程序。在BLcust模块运行结束跳转至BL1模块,在BL1作为出发点,依次运行TEE模块和BL2模块,在BL2模块中,若判断BLcust模块中感知类程序运行异常时,需要对BLcust模块中运行的程序,重新运行,例如,对“马达震”、“界面显示”再一次加载和运行。本申请中的BLcust模块具有管理内存的能力,例如,可以通过设置内存管理模块,对内存进行管理,便于各类程序文件的存放。
本申请的实施例中,由于在在BL1模块和BL2模块之间增加了BLcust模块,使得用户感知类程序在TEE模块运行之前被运行,并输出响应的开机动作,因而用户能够更早的感知到手机开机的动作,提升开机体验。本申请中各模块的具体的作用可参考上述实施例中开机方法的描述,在此不在赘述。
下面以具体实施例对手机开机的速度测试及优势进行描述。
在实施例中,将开机震动程序、开机LOGO显示程序设置在BLcust模块内完成,当用户按压开机电源键,并在用户按下电源键开始计时,直到手机开始震动和首帧LOGO显示的时间间隔,均在3秒内完成。以同样的测试方法对现有的手机进行测试,开机震动和首帧画面显示的时间间隔远都大于3秒,具体参见表1。
表1
被测试样品 震动(秒) 首帧画面显示(秒)
TEL(HISI) 3.3 4.3
优秀竞品(MTK6873) NA 5.6
优秀竞品(QCOM) NA 3.7
业界标杆 NA 3.4
华为产品(MTK6765) 3.7 4.9
华为产品(MTK6853&6873) 5 6.5
由表1可以看出,被测试样品中,其中有震动提示的三个被测试样品中,从按下开机电源键到震动的间隔时间分别为3.3秒,3.7秒以及5秒。六个被测试样品中首帧画面显示的间隔时间分别为4.3秒,5.6秒,3.7秒,3.4秒,4.9秒和6.5秒。而应用本申请实施例的开机方法的手机,本申请的手机可以将震动和首帧画面显示的时间均在3秒内完成,首帧画面显示的时间甚至可以在2秒左右完成。相比之下,本申请的手机使得用户更快的感受到开机行为(如震动、显示画面)的时间缩短,与有竞争力的产品相比具有明显的优势。
在一个实施例中,将闹钟设置在BLcust模块内完成。在手机开机时设置闹钟的定时时间,关机进行测试。闹钟设定的定时时间之后3秒内完成闹钟的响铃和震动。而现有的手机在闹钟设定时间之后的30秒之后完成,与用户设定的时间相比,本申请的手机更接近用户设定的时间。并且,现有的设备闹铃开机需要在启动内核阶段进行响铃,若遇到BL2 阶段、启动内核阶段手机发生故障或者开机速度慢时,闹钟容易出现不响或者响的时间推迟问题。而本申请将闹铃设置在BL2运行阶段之前的独立的BLcust模块内完成,开机慢的问题发生概率大幅度降低,有效提高闹钟使用的稳定性和准确性。
此外,还可以将时间显示程序设置在BLcust模块内完成。该设置方式适用于用户在户外而手机没电的特殊环境下,用户又想要知道当前的时间的场景。该设置方式能够实现,在用户按下电源键后(表示第二开机触发事件),仅需要较低的电量就可以支撑BLcust模块的运行,完成时间的显示。例如,当正常开机时,第一开机事件是用户长按电源键3秒。而短按电源键1秒时,则判断用户是第二开机触发事件,则手机在BLcust模块运行时,显示用户想要的时间的显示后,关机。本申请的其他实施例中,也可以是在手机接收到第二开机触发事件之后的预定时长内自动关机,该预定时长的设定以确保时间的显示完成。
本申请实施例的开机方法,与现有的电子设备开机显示时间相比,现有的设备,如手机,需要开机结束后才能够显示时间,而在手机没电的情况下很难完成时间的显示。而本申请的开机方法,仅需要很少的电量维持BLcust模块运行并显示时间后,关机。可以满足用户在特殊环境下的基础需求。此外,在上述的几个实施例中,对设置于BLcust模块内的感知类程序进行了说明,在本申请的其他实施例中,也可以设置其他的程序,例如,充电的提示程序等。也可以防止非感知类程序等,本申请对此不作限定。
根据本申请实施例的电子设备,由于在BL1和BL2之间增加了BLcust程序,且该BLcust定制引导程序在TEE运行之前就开始运行。使得用户感知类程序不受到TEE运行时间的影响,并且用户在按下开机键后能够快速的感受到手机是否已经开机,提高了用户开机体验。
参考图8,本申请还提供一种电子设备,包括:
存储器810,用于存储由设备的一个或多个处理器执行的指令,以及
处理器820,用于执行上述实施例中结合图4至图5所解释的方法。
本申请还提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器运行时,使得处理器执行上述实施例中图4至图5所解释的方法。
本申请还提供一种包含指令的计算机程序产品,当该计算机程序产品在电子设备上运行时,使得处理器执行上述实施例中图4至图5所示的方法。
现在参考图9,所示为根据本申请的一个实施例的设备1200的框图。设备1200可以包括耦合到控制器中枢1203的一个或多个处理器1201。对于至少一个实施例,控制器中枢1203经由诸如前端总线(Front Side Bus,FSB)之类的多分支总线、诸如快速通道互连(Quick Path Interconnect,QPI)之类的点对点接口、或者类似的连接1206与处理器1201进行通信。处理器1201执行控制一般类型的数据处理操作的指令。在一实施例中,控制器中枢1203包括,但不局限于,图形存储器控制器中枢(Graphics Memory Controller Hub,GMCH)(未示出)和输入/输出中枢(Input Output Hub,IOH)(其可以在分开的芯片上)(未示出),其中GMCH包括存储器和图形控制器并与IOH耦合。
设备1200还可包括耦合到控制器中枢1203的协处理器1202和存储器1204。或者,存储器和GMCH中的一个或两者可以被集成在处理器内(如本申请中所描述的),存储器1204和协处理器1202直接耦合到处理器1201以及控制器中枢1203,控制器中枢1203与IOH处于单个芯片中。存储器1204可以是例如动态随机存取存储器(Dynamic Random Access Memory,DRAM)、相变存储器(Phase Change Memory,PCM)或这两者的组合。在一个实 施例中,协处理器1202是专用处理器,诸如例如高吞吐量MIC处理器(Many Integerated Core,MIC)、网络或通信处理器、压缩引擎、图形处理器、通用图形处理器(General Purpose Computing on GPU,GPGPU)、或嵌入式处理器等等。协处理器1202的任选性质用虚线表示在图9中。
存储器1204作为计算机可读存储介质,可以包括用于存储数据和/或指令的一个或多个有形的、非暂时性计算机可读介质。例如,存储器1204可以包括闪存等任何合适的非易失性存储器和/或任何合适的非易失性存储设备,例如一个或多个硬盘驱动器(Hard-Disk Drive,HDD(s)),一个或多个光盘(Compact Disc,CD)驱动器,和/或一个或多个数字通用光盘(Digital Versatile Disc,DVD)驱动器。
在一个实施例中,设备1200可以进一步包括网络接口(Network Interface Controller,NIC)1206。网络接口1206可以包括收发器,用于为设备1200提供无线电接口,进而与任何其他合适的设备(如前端模块,天线等)进行通信。在各种实施例中,网络接口1206可以与设备1200的其他组件集成。网络接口1206可以实现上述实施例中的通信单元的功能。
设备1200可以进一步包括输入/输出(Input/Output,I/O)设备1205。I/O 1205可以包括:用户界面,该设计使得用户能够与设备1200进行交互;外围组件接口的设计使得外围组件也能够与设备1200交互;和/或传感器设计用于确定与设备1200相关的环境条件和/或位置信息。
值得注意的是,图9仅是示例性的。即虽然图9中示出了设备1200包括处理器1201、控制器中枢1203、存储器1204等多个器件,但是,在实际的应用中,使用本申请各方法的设备,可以仅包括设备1200各器件中的一部分器件,例如,可以仅包含处理器1201和NIC1206。图9中可选器件的性质用虚线示出。
根据本申请的一些实施例,作为计算机可读存储介质的存储器1204上存储有指令,该指令在计算机上执行时使系统1200执行根据上述实施例中的切换应用和应用中任务的方法,具体可参照上述实施例的开机方法,在此不再赘述。
现在参考图10,所示为根据本申请的一实施例的SoC(System on Chip,片上系统)1300的框图。在图10中,相似的部件具有同样的附图标记。另外,虚线框是更先进的SoC的可选特征。在图10中,SoC1300包括:互连单元1350,其被耦合至应用处理器1310;系统代理单元1380;总线控制器单元1390;集成存储器控制器单元1340;一组或一个或多个协处理器1320,其可包括集成图形逻辑、图像处理器、音频处理器和视频处理器;静态随机存取存储器(Static Random Access Memory,SRAM)单元1330;直接存储器存取(DMA)单元1360。在一个实施例中,协处理器1320包括专用处理器,诸如例如网络或通信处理器、压缩引擎、GPGPU、高吞吐量MIC处理器、或嵌入式处理器等。
静态随机存取存储器(SRAM)单元1330中可以包括用于存储数据和/或指令的一个或多个计算机可读介质。计算机可读存储介质中可以存储有指令,具体而言,存储有该指令的暂时和永久副本。该指令可以包括:由处理器中的至少一个单元执行时使Soc1300执行根据上述实施例中的设备通信连接建立方法,具体可参照上述实施例图4至图5所解释的开机方法,在此不再赘述。
本申请公开的机制的各实施例可以被实现在硬件、软件、固件或这些实现方法的组合中。本申请的实施例可实现为在可编程系统上执行的计算机程序或程序代码,该可编程系 统包括至少一个处理器、存储系统(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备以及至少一个输出设备。
可将程序代码应用于输入指令,以执行本申请描述的各功能并生成输出信息。可以按已知方式将输出信息应用于一个或多个输出设备。为了本申请的目的,处理系统包括具有诸如例如数字信号处理器(Digital Signal Processor,DSP)、微控制器、专用集成电路(Application Specific Integrated Circuit,ASIC)或微处理器之类的处理器的任何系统。
程序代码可以用高级程序化语言或面向对象的编程语言来实现,以便与处理系统通信。在需要时,也可用汇编语言或机器语言来实现程序代码。事实上,本申请中描述的机制不限于任何特定编程语言的范围。在任一情形下,该语言可以是编译语言或解释语言。
在一些情况下,所公开的实施例可以以硬件、固件、软件或其任何组合来实现。所公开的实施例还可以被实现为由一个或多个暂时或非暂时性机器可读(例如,计算机可读)存储介质承载或存储在其上的指令,其可以由一个或多个处理器读取和执行。例如,指令可以通过网络或通过其他计算机可读介质分发。因此,机器可读介质可以包括用于以机器(例如,计算机)可读的形式存储或传输信息的任何机制,包括但不限于,软盘、光盘、光碟、光盘只读存储器(Compact Disc Read Only Memory,CD-ROMs)、磁光盘、只读存储器(Read Only Memory,ROM)、随机存取存储器(RAM)、可擦除可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、电可擦除可编程只读存储器(Electrically Erasable Programmable Read Only Memory,EEPROM)、磁卡或光卡、闪存、或用于利用因特网以电、光、声或其他形式的传播信号来传输信息(例如,载波、红外信号数字信号等)的有形的机器可读存储器。因此,机器可读介质包括适合于以机器(例如,计算机)可读的形式存储或传输电子指令或信息的任何类型的机器可读介质。
在附图中,可以以特定布置和/或顺序示出一些结构或方法特征。然而,应该理解,可能不需要这样的特定布置和/或排序。而是,在一些实施例中,这些特征可以以不同于说明书附图中所示的方式和/或顺序来布置。另外,在特定图中包括结构或方法特征并不意味着暗示在所有实施例中都需要这样的特征,并且在一些实施例中,可以不包括这些特征或者可以与其他特征组合。
需要说明的是,本申请各设备实施例中提到的各单元/模块都是逻辑单元/模块,在物理上,一个逻辑单元/模块可以是一个物理单元/模块,也可以是一个物理单元/模块的一部分,还可以以多个物理单元/模块的组合实现,这些逻辑单元/模块本身的物理实现方式并不是最重要的,这些逻辑单元/模块所实现的功能的组合才是解决本申请所提出的技术问题的关键。此外,为了突出本申请的创新部分,本申请上述各设备实施例并没有将与解决本申请所提出的技术问题关系不太密切的单元/模块引入,这并不表明上述设备实施例并不存在其它的单元/模块。
需要说明的是,在本专利的示例和说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定 的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
虽然通过参照本申请的某些优选实施例,已经对本申请进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种改变,而不偏离本申请的精神和范围。

Claims (29)

  1. 一种开机方法,应用于电子设备,其特征在于,所述方法包括:
    所述电子设备检测到第一开机触发事件;
    所述电子设备响应于所述第一开机触发事件,依次运行预设的感知类程序、可信执行环境,并启动内核,以完成开机,其中,所述预设的感知类程序为运行时使所述电子设备输出被用户感知的效果的程序。
  2. 根据权利要求1所述的方法,其特征在于,所述电子设备响应于所述第一开机触发事件,依次运行预设的感知类程序,包括:
    所述电子设备响应于所述第一开机触发事件,运行第一引导程序镜像,并在运行所述第一引导程序镜像的过程中,触发运行定制引导程序镜像,以运行预设的感知类程序。
  3. 根据权利要求1所述的方法,其特征在于,
    所述电子设备将运行所述预设的感知类程序的执行状态存储至共享内存。
  4. 根据权利要求3所述的方法,其特征在于,所述电子设备响应于所述第一开机触发事件,依次运行预设的感知类程序、可信执行环境,并启动内核,以完成开机,包括:
    所述电子设备响应于所述开机触发事件,运行第一引导程序镜像,并在运行所述第一引导程序的过程中,触发运行定制引导程序镜像,以运行预设的感知类程序;
    所述电子设备由运行所述定制引导程序镜像跳回至所述第一引导程序镜像,在继续运行所述第一引导程序镜像的过程中,触发运行可信执行环境,并在运行所述可信执行环境之后,运行第二引导程序镜像;
    所述电子设备运行所述第二引导程序镜像时,基于所述共享内存中的所述执行状态确定定制引导程序镜像的运行状态。
  5. 根据权利要求4所述的方法,其特征在于,
    在所述定制引导程序镜像的所述运行状态为异常的情况下,所述电子设备在运行所述第二引导程序镜像时,将所述定制引导程序镜像运行异常的程序重新加载和运行。
  6. 根据权利要求5所述的方法,其特征在于,所述定制引导程序镜像的所述运行状态为异常,包括:
    所述执行状态至少包括所述定制引导程序镜像未加载设备树块DTB文件至所述共享内存,或,所述定制引导程序镜像利用设备树块DTB文件运行感知类程序存在异常。
  7. 根据权利要求4所述的方法,其特征在于,当所述电子设备运行所述定制引导程序镜像并将所述设备树块DTB文件加载至所述共享内存,则所述电子设备运行所述第二引导程序镜像时,直接使用所述共享内存中的所述设备树块DTB文件。
  8. 根据权利要求7所述的方法,其特征在于,所述电子设备运行第二引导程序镜像,并启动内核,包括:
    所述电子设备由运行所述第二引导程序镜像跳转至启动所述内核时,将所述设备树块DTB文件释放。
  9. 根据权利要求4所述的方法,其特征在于,还包括:
    所述电子设备将运行所述定制引导程序镜像过程中生成的日志,记录在所述共享 内存中,并在所述电子设备由运行所述第一引导程序镜像跳转至运行所述第二引导程序镜像时,保存所述日志。
  10. 根据权利要求1所述的方法,其特征在于,还包括:
    所述电子设备检测到第二开机触发事件;
    所述电子设备响应于所述第二开机触发事件,运行所述预设的感知类程序,并在运行所述预设的感知类程序后关机。
  11. 根据权利要求10所述的方法,其特征在于,所述电子设备在运行所述预设的感知类程序时,输出被用户感知的效果达到预定时长时关机。
  12. 根据权利要求10所述的方法,其特征在于,所述第一开机触发事件为正常开机触发事件,所述第二开机触发事件为短暂开机触发事件。
  13. 根据权利要求10-12任一项所述的方法,其特征在于,所述第一开机触发事件和所述第二开机触发事件为不同类型的用户操作触发的事件。
  14. 根据权利要求13所述的方法,其特征在于,所述第一开机触发事件为长按电源键的操作触发的事件,所述第二开机触发事件为短按电源键的操作触发的事件。
  15. 根据权利要求1所述的方法,其特征在于,所述预设的感知类程序,包括:图片显示程序、震动程序、闹钟、时钟显示程序中的一个或多个程序。
  16. 一种开机方法,应用于电子设备,其特征在于,包括:
    所述电子设备检测到第二开机触发事件;
    所述电子设备响应于所述第二开机触发事件,运行预设的感知类程序,并在运行所述预设的感知类程序后关机,其中,运行所述预设的感知类程序之前不运行可执行环境。
  17. 根据权利要求16所述的方法,其特征在于,所述电子设备响应于所述第二开机触发事件,运行所述预设的感知类程序,并在运行所述预设的感知类程序后关机,包括:
    所述电子设备响应于所述第二开机触发事件,运行第一引导程序镜像,并在运行所述第一引导程序过程中,触发运行定制引导程序镜像,以运行预设的感知类程序。
  18. 根据权利要求16或17所述的方法,其特征在于,所述第二开机触发事件为预设类型的用户操作触发的事件。
  19. 根据权利要求18所述的方法,其特征在于,所述第二开机触发事件为短按电源键的操作触发的事件。
  20. 一种电子设备,其特征在于:包括:
    检测模块,用于检测到第一开机触发事件;
    处理模块,用于响应于所述第一开机触发事件,并先运行预设的感知类程序,再运行可信执行环境,启动内核,并完成开机,其中,所述预设的感知类程序为运行时使所述处理模块输出被用户感知的效果的程序。
  21. 根据权利要求20所述的电子设备,其特征在于,所述处理模块还用于:
    响应于所述第一开机触发事件,运行第一引导程序镜像,并在运行所述第一引导程序镜像过程中,触发运行定制引导程序镜像,以运行预设的感知类程序。
  22. 根据权利要求20所述的电子设备,其特征在于,所述处理模块运行所述预设 的感知类程序的执行状态存储至共享内存。
  23. 根据权利要求22所述的电子设备,其特征在于,所述处理模块还用于:
    响应于所述第一开机触发事件,运行第一引导程序镜像,并在运行所述第一引导程序过程中,触发运行定制引导程序镜像,以运行预设的感知类程序;
    所述处理模块由运行所述定制引导程序镜像跳回至所述第一引导程序镜像,在继续运行所述第一引导程序镜像的过程中,触发运行可信执行环境,并在运行所述可信执行环境之后,运行第二引导程序镜像;
    所述处理模块运行所述第二引导程序镜像时,基于所述共享内存中的所述执行状态确定定制引导程序镜像的运行状态。
  24. 根据权利要求23所述的电子设备,其特征在于,
    在所述定制引导程序镜像的所述运行状态为异常的情况下,所述处理模块在运行所述第二引导程序镜像时,将所述定制引导程序镜像运行异常的程序重新加载和运行。
  25. 根据权利要求24所述的电子设备,其特征在于,所述定制引导程序镜像的所述运行状态为异常,包括:
    所述执行状态至少包括所述定制引导程序镜像未加载设备树块DTB文件至所述共享内存,或,所述定制引导程序镜像利用设备树块DTB文件运行感知类程序存在异常。
  26. 根据权利要求25所述的电子设备,其特征在于,当所述电子设备运行所述定制引导程序镜像并将所述设备树块DTB文件加载至所述共享内存,则所述处理模块运行所述第二引导程序镜像时,直接使用所述共享内存中的DTB文件。
  27. 一种电子设备,其特征在于,包括:
    存储器,用于存储由设备的一个或多个处理器执行的指令,以及
    处理器,用于执行权利要求1-19任一项所述的开机方法。
  28. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器运行时,使得所述处理器执行权利要求1-19任一项所述的开机方法。
  29. 一种包含指令的计算机程序产品,其特征在于,当该计算机程序产品在电子设备上运行时,使得处理器执行权利要求1-19任一项所述的开机方法。
PCT/CN2022/071340 2021-02-10 2022-01-11 开机方法及电子设备、可读存储介质、计算机程序产品 WO2022170904A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110184753.2A CN114911529A (zh) 2021-02-10 2021-02-10 开机方法及电子设备、可读存储介质、计算机程序产品
CN202110184753.2 2021-02-10

Publications (1)

Publication Number Publication Date
WO2022170904A1 true WO2022170904A1 (zh) 2022-08-18

Family

ID=82761165

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/071340 WO2022170904A1 (zh) 2021-02-10 2022-01-11 开机方法及电子设备、可读存储介质、计算机程序产品

Country Status (2)

Country Link
CN (1) CN114911529A (zh)
WO (1) WO2022170904A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116662270A (zh) * 2022-09-09 2023-08-29 荣耀终端有限公司 文件解析方法及相关装置
CN117082170A (zh) * 2023-10-16 2023-11-17 荣耀终端有限公司 一种开关机测试方法、测试系统及共享主机

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101751273A (zh) * 2008-12-15 2010-06-23 中国科学院声学研究所 用于嵌入式系统的安全引导装置及方法
CN104375852A (zh) * 2013-08-16 2015-02-25 厦门雅迅网络股份有限公司 一种加快嵌入式产品开机界面显示的方法
US20160116974A1 (en) * 2014-10-23 2016-04-28 Qualcomm Incorporated Methods and systems to boot up smartphones in ultra low power modes
CN105786315A (zh) * 2016-02-26 2016-07-20 深圳天珑无线科技有限公司 时间显示方法及装置
CN106339166A (zh) * 2015-07-17 2017-01-18 天津三星通信技术研究有限公司 用于移动终端在关机状态下显示时间的方法及装置
CN108399339A (zh) * 2018-02-12 2018-08-14 广东为辰信息科技有限公司 一种基于安全芯片的可信启动方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101751273A (zh) * 2008-12-15 2010-06-23 中国科学院声学研究所 用于嵌入式系统的安全引导装置及方法
CN104375852A (zh) * 2013-08-16 2015-02-25 厦门雅迅网络股份有限公司 一种加快嵌入式产品开机界面显示的方法
US20160116974A1 (en) * 2014-10-23 2016-04-28 Qualcomm Incorporated Methods and systems to boot up smartphones in ultra low power modes
CN106339166A (zh) * 2015-07-17 2017-01-18 天津三星通信技术研究有限公司 用于移动终端在关机状态下显示时间的方法及装置
CN105786315A (zh) * 2016-02-26 2016-07-20 深圳天珑无线科技有限公司 时间显示方法及装置
CN108399339A (zh) * 2018-02-12 2018-08-14 广东为辰信息科技有限公司 一种基于安全芯片的可信启动方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116662270A (zh) * 2022-09-09 2023-08-29 荣耀终端有限公司 文件解析方法及相关装置
CN117082170A (zh) * 2023-10-16 2023-11-17 荣耀终端有限公司 一种开关机测试方法、测试系统及共享主机
CN117082170B (zh) * 2023-10-16 2024-03-08 荣耀终端有限公司 一种开关机测试方法、测试系统及共享主机

Also Published As

Publication number Publication date
CN114911529A (zh) 2022-08-16

Similar Documents

Publication Publication Date Title
WO2022170904A1 (zh) 开机方法及电子设备、可读存储介质、计算机程序产品
JP5606633B2 (ja) オペレーティングシステム(os)不在サービス環境においてファームウェアをプロビジョニングする方法
JP4459290B2 (ja) オペレーティングシステムの停止状態からの高速起動
RU2451989C2 (ru) Поддержка нескольких операционных систем в мультимедийных устройствах
US9098301B2 (en) Electronic device and booting method
US7707400B2 (en) Direct computing experience
US10180842B2 (en) User device and integrity verification method of the same
US9563439B2 (en) Caching unified extensible firmware interface (UEFI) and/or other firmware instructions in a non-volatile memory of an information handling system (IHS)
US20170269725A1 (en) Electronic device for touch and finger scan sensor input and control method thereof
EP3451193B1 (en) Electronic device and file data journaling method of electronic device
US20110154065A1 (en) Operating system independent network event handling
KR102465927B1 (ko) 복수의 운영 체제 환경에서의 하이버네이션 운용 방법 및 장치
US20080155247A1 (en) Platform management processor assisted resume
EP3926466A1 (en) Electronic device which prefetches application and method therefor
US7383450B2 (en) Low power firmware
CN109964227A (zh) 更新SELinux安全策略的方法及终端
CN1627260A (zh) 用通电自检基本输入输出系统检测对存储器中代码的修改
WO2021233363A1 (zh) 计算设备及其bios更新方法和介质
WO2023070823A1 (zh) 启动引导程序加载方法、装置、系统、电子设备及介质
US10586038B2 (en) Secure stack overflow protection via a hardware write-once register
US20230198775A1 (en) Memory device with secure boot updates and self-recovery
TWI464681B (zh) 加速開機方法及系統
WO2022036670A1 (en) Methods and apparatus to perform an enhanced s3 protocol to update firmware with a boot script update
WO2020133437A1 (zh) 应用程序的管理方法、装置、存储介质及电子设备
KR101249831B1 (ko) 컴퓨터 시스템 및 그 부팅 방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22752066

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 22752066

Country of ref document: EP

Kind code of ref document: A1