ECU Software Verification via Bootloader Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing software download processes for Electronic Control Units (ECUs) lack comprehensive verification of software completeness and compatibility, leading to potential incomplete or incompatible software configurations, which can hinder proper communication and programming, and require hardware replacement for bootloader updates.

Innovation Solution

A distributed verification functionality between the bootloader and a CompleteCompatible verification component that checks the completeness and compatibility of software components by reading signatures, verifying addresses, version numbers, and calculating checksums, allowing for software updates without replacing the bootloader.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the bootloader is fixed and burnt into memory circuit, then the bootloader is stable and reliable, but the number of software components to check for completeness and compatibility is fixed and cannot be updated

Engineering Contradiction:
Improvebootloader stabilityVSAvoidsoftware component verification capability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The verification functionality is divided into two parts: the bootloader (fixed in hardware) and the CompleteCompatible verification component (downloadable software). The bootloader handles initial startup and loads the verification component, while the verification component performs the actual software completeness and compatibility checks. This segmentation allows the verification capabilities to be updated without changing the bootloader.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The CompleteCompatible verification component acts as an intermediary between the bootloader and the software components to be verified. It receives the list of software components from the bootloader, performs verification checks, and reports results back. This intermediary structure enables flexible verification without modifying the fixed bootloader.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If comprehensive verification of software completeness and compatibility is performed, then software reliability is improved, but the complexity of the verification system increases

Engineering Contradiction:
Improvesoftware completeness and compatibilityVSAvoidverification system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The verification system performs targeted checks on specific critical attributes (start address, stop address, version number, checksum) rather than exhaustive analysis of all software properties. This partial verification approach provides sufficient reliability while keeping the system manageable and efficient.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

Each software component contains embedded verification data (signatures, checksums, version information) that enables self-verification. The CompleteCompatible verification component simply reads and validates these self-contained markers, reducing the complexity of the verification process while maintaining comprehensive checking.

Inventive Principle:
Principle #25Self-service

3Productivity

If simple detection of application validity is performed, then the verification process is fast and simple, but the total amount of software completeness and component compatibility cannot be verified

Engineering Contradiction:
Improveverification speedVSAvoidsoftware verification completeness
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

Verification data (signatures, checksums, version numbers) are pre-calculated and embedded in each software component during compilation. During runtime, the CompleteCompatible verification component only needs to read and compare these pre-prepared values, achieving fast verification without compromising completeness or compatibility checking.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP2503459B1Complete and compatible function
Publication Date: 2021.01.20 VOLVO CAR CORP
  • EP2503459B1 patent drawingFigure 1

AI summary

The present invention relates to an arrangement and method for verifying the completeness and compatibility of software components in an electronic control unit (ECU). The ECU comprises a bootloader and a CompleteCompatible verification component. The bootloader is arranged to, upon start-up of the electronic control unit, verify the completeness and compatibility of the CompleteCompatible verification component, and upon such verification being positive initiate the CompleteCompatible verification component. The CompleteCompatible verification component is arranged to, upon performance thereof, verify the completeness and compatibility of further software components in the electronic control unit, and upon such verification being positive execute the further software components.