Static Linking Isolation Layer for Independent MCU Updates

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing static linking methods require recompilation and relinking of applications when updates occur in static libraries or operating systems, leading to high costs and inefficiencies in updating processes.

Innovation Solution

Introduce a binary difference isolation layer to decouple third-party components and operating systems, allowing independent updates by using fixed addresses for call instructions, ensuring components can find and call system functions without recompilation or relinking.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If static linking is used to compile and link applications with system libraries and operating systems, then the application can run with fixed addresses in memory, but when updates occur in the system library or operating system, the application source file must be recompiled and relinked, leading to high update costs

Engineering Contradiction:
Improveapplication execution stabilityVSAvoidupdate cost
Core Design Contradiction:
ReliabilityVSEase of manufacture

Solution Approach 1:

The patent segments the address space by introducing a binary difference isolation layer at a fixed address that separates the application's address dependencies from the actual system library and operating system addresses. This segmentation allows the application to maintain fixed address references while the isolated layer handles address translation to dynamic addresses of updated systems.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The binary difference isolation layer acts as an intermediary between the application and the system library/operating system. It receives fixed address references from the application and translates them to the actual dynamic addresses of system functions, enabling updates without requiring application recompilation.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Stability of the object's composition

If static linking relocates symbols to absolute addresses, then the application is strongly coupled to the static library and operating system, but this coupling requires recompilation and relinking when updates occur

Engineering Contradiction:
Improveaddress mapping stabilityVSAvoidindependent update capability
Core Design Contradiction:
Stability of the object's compositionVSAdaptability or versatility

Solution Approach 1:

The patent adds another dimension to the address space by introducing a fixed address space for the binary difference isolation layer separate from the dynamic address space of system libraries and operating systems. This dimensional separation allows stable fixed address references in the application while enabling adaptability through address translation in the isolation layer.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Reliability

If the application source file is recompiled and relinked for every update of the static library or operating system, then the address dependencies are updated, but this process incurs high time and resource costs

Engineering Contradiction:
Improveaddress dependency accuracyVSAvoidupdate time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The binary difference isolation layer is pre-configured at a fixed address with the capability to handle address translation. This preliminary setup eliminates the need for recompilation and relinking during updates, as the isolation layer can adapt to new address mappings without requiring application source code changes.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP4708033A1Static linking method and related apparatus
Publication Date: 2026.03.11 HUAWEI TECH CO LTD
  • EP4708033A1 patent drawingFigure 1A~1C
  • EP4708033A1 patent drawingFigure 2
  • EP4708033A1 patent drawingFigure 3

AI summary

This application provides a static linking method and a related apparatus. In a scenario in which a third-party component and an operating system are fully statically linked on an MCU device, in the static linking method provided in this application, a dependency of the third-party component on an actual storage address of a system function in the operating system and a dependency of a system application on an actual storage address of the third-party component are isolated by using a binary difference isolation layer, to decouple the third-party component from the operating system. Both the third-party component and the operating system may be independently updated without affecting each other. This can reduce costs of updating the third-party component and the operating system.