In recent years, the number of cases where Linux and Android are used as the OS for digital home appliances and in-vehicle equipment, which have increasingly complex functions, is increasing. It may take several tens of seconds to a minute or so to start up (cold boot) after the power is turned off, and this is an issue that should be improved by device manufacturers. Especially for in-vehicle devices such as car navigation systems and drive recorders, it is essential to shorten the start-up time because the car starts running once the engine is started.
Therefore, Ubiquitous developed UbiquitousQuickBoot, a new technology that can instantly boot Linux/Android in just a few seconds and restore the application execution state, and demonstrated it on the Mpression Sodia – Cyclone® V ST SoC evaluation board. is created. Introducing the features of Ubiquitous QuickBoot.
Ubiquitous QuickBoot Overview
Ubiquitous QuickBoot is a software product that uses boot technology originally developed by Ubiquitous. It doesn't depend on how much memory your application is using, and it can be powered off and ready for you in just a few seconds. Being able to quickly start up and start operating devices with a user interface has been evaluated as enhancing user satisfaction. , radar equipment, medical diagnostic equipment, e-books, smart TVs, and more. (More than 15 million mass-produced units as of December 31, 2017)
By using QuickBoot, it is possible to develop products such as digital home appliances and in-vehicle equipment that can instantly start up the system from a state where the standby power consumption is almost zero without impairing the user's operability.
benchmark
Evaluation environment
Evaluation Board | Mpression Sodia - Cyclone® V SoC Evaluation Board with Dual Arm® Cortex® -A9 |
DRAM | 1GB DDR3 |
Storage | Card (contains rootfs and Snapshot Image) |
OS | Ubuntu 14.04 (kernel 4.9) + glxgears |
screen output | DVI |
Snapshot Image Size | 60MB after compression / 137MB before compression (44% compression ratio) |
normal boot | 24 seconds |
Start QuickBoot (Advanced mode) |
3.5 seconds |
QuickBoot SDK
QuickBoot SDK is an SDK (software development kit) for implementing QuickBoot on your target board environment.
QuickBoot SDK for Macnica Mpression Sodia provides code for applying QuickBoot for Mpression Sodia board with Cyclone® V SoC. It is designed so that you can easily implement QuickBoot by modifying the code according to your target environment.
Main function
Supports two boot modes
QuickBoot supports two boot modes, Standard mode and Advanced mode.
Standard mode
This boot mode efficiently restores snapshot images (compression supported) stored in non-volatile memory to RAM at once using Ubiquitous' unique method. This is the best mode when the demand level for fast start-up is not so high, when the memory usage of the system including the application is not large, and when the stable operation of the system immediately after start-up is emphasized (during debugging, etc.).
Advanced mode
Ubiquitous' unique method restores the memory area required for system startup from non-volatile memory to RAM preferentially from snapshot images (compression support) stored in non-volatile memory. This is a startup mode that enables fast startup by minimizing the This is the optimal mode when the level of demand for high-speed startup is high and priority is given to shortening the startup time.
SecureBoot-enabled
It works in cooperation with SecureBoot, and in addition to the conventional tampering check, it detects tampering by including QuickBoot main modules and snapshot images, realizing high-speed startup with consideration for security.
Significantly reduced boot time
We have developed a Super Read Boost function that speeds up the reading time of snapshot images by 30 to 40% compared to the conventional one, realizing even faster startup.
Optimize read size of snapshot image
The read size of the snapshot image can be adjusted more flexibly than before by user specification, enabling fast startup that is optimal for the application.
User threads with multiple cores at startup
It is possible to define user threads for each CPU core, support multiple tasks running in the background, and execute other processes concurrently during startup.
Hardware dependent part provided in source code
The hardware dependent part is provided as open source for easy porting to the target platform.
Optional products for Android
An add-on package Android Pack for Android that supports adding/updating/deleting Android applications, reflecting various setting values, OTA, and factory reset is available.
Supports the latest storage media
Supports the latest high-speed SD / eMMC standards such as UHS-I, HS200, HS400.
Click here for recommended articles/materials
Mpression Sodia – Cyclone® V ST SoC Evaluation Board
SoC FPGA related articles and resources
[FAQ] Related to SoC FPGA
Intel® FPGA Development Flow