Fast Start Loader for Embedded Device Boot Speed

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for starting embedded apparatuses are inefficient, as they either require configured regions with no power failure or demand knowledge of source code for fast starting, which is not feasible in all scenarios.

Innovation Solution

A method involving a fast start loader that loads the system image file by segments based on service requirements, prioritizing mission-critical services for rapid startup, allowing for precise control and increased loading speed without needing source code knowledge.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If a region with no power failure is configured to load the startup program, then the system start speed is improved, but the device complexity increases and this solution is not applicable to all embedded devices

Engineering Contradiction:
Improvesystem start speedVSAvoiddevice complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The system image file is divided into multiple segments: a fast start loader segment that is always executed, and additional service segments that are loaded conditionally. This segmentation allows the system to start quickly with essential functions while optionally loading other services, resolving the contradiction between fast startup and device complexity by making the complexity optional rather than mandatory.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The startup functionality is extracted from the general service loading mechanism. A dedicated fast start loader is separated from other service programs, responsible specifically for initial system startup. This extraction allows the startup process to be optimized independently from other system functions, achieving fast startup without requiring complex power failure region configurations.

Inventive Principle:
Principle #2Taking out (Extraction)

2Speed

If code functions and variables for startup are set in an independent segment through link compilation, then the system can load and run startup-related segments first, but the developer needs to know all source code of code functions and variables related to system starting

Engineering Contradiction:
Improvesystem start speedVSAvoidease of operation
Core Design Contradiction:
SpeedVSEase of operation

Solution Approach 1:

A service requirement identification mechanism acts as an intermediary between the compiled program segments and the fast start loader. This intermediary automatically identifies which segments correspond to mission-critical services based on service requirements, eliminating the need for developers to manually analyze source code. The intermediary translates service requirements into segment loading decisions, maintaining fast startup while improving ease of operation.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If all services in the system image file are loaded at once, then all services are available, but the service start time increases and overall start speed decreases

Engineering Contradiction:
Improveservice availabilityVSAvoidservice start time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The service loading process is made dynamic and adaptive. The fast start loader dynamically determines which service segments to load based on real-time service requirements and system state. Mission-critical services are loaded and executed first, while non-critical services are loaded subsequently or on-demand. This dynamic approach ensures that essential services start quickly while maintaining the ability to load all services as needed, resolving the contradiction between service availability and start time.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentEP3410296B1Starting method and device for embedded device
Publication Date: 2021.10.27 HUAWEI TECH CO LTD
  • EP3410296B1 patent drawingFigure 1~2
  • EP3410296B1 patent drawingFigure 3~4
  • EP3410296B1 patent drawingFigure 5

AI summary

Embodiments of the present invention provide a method for starting an embedded apparatus, and an apparatus, and are applied to the field of embedded technologies, so as to improve a start speed of an embedded apparatus. The method is: A development and compilation apparatus divides a program of a system of an embedded apparatus, where the divided program includes a fast start loader and program segments corresponding to different services. In this way, after compilation and linking are performed on the program segments obtained by division to generate a system image file of the embedded apparatus, the embedded apparatus may first load the fast start loader after downloading the image file, then load one or more services in the image file one by one according to service requirements of different services by using the fast start loader, and then run the one or more loaded services.