ECU Software Verification via Bootloader Segmentation
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Reliability
If comprehensive verification of software completeness and compatibility is performed, then software reliability is improved, but the complexity of the verification system increases
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.
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.
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
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.
Data Source
Figure 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.