ECU Bypass Routine Volatile Memory Runtime Replacement
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current methods for bypassing program routines in electronic control units (ECUs) require complete reprogramming of flash memory, which is time-consuming and strains the memory, and often necessitate updating checksums, making it difficult to replace functions without interrupting the control unit's operation.
Innovation Solution
The bypass routine is transferred to the volatile working memory instead of the permanent flash memory, allowing for functional replacement of original program routines without reprogramming the flash memory, and enabling replacement at any time, including runtime, without altering the checksum.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the bypass routine is stored in the permanent flash memory, then the function replacement can be implemented, but the flash memory is strained and requires complete reprogramming which is time-consuming
Solution Approach 1:
The patent divides the memory storage into two segments: permanent flash memory for original program routines and volatile working memory for bypass routines. This segmentation allows bypass routines to be loaded independently without reprogramming the entire flash memory, thus reducing reprogramming time while maintaining function replacement capability.
Solution Approach 2:
The patent introduces a service function as an intermediary layer between the original program routines and bypass routines. This service function checks a table for bypass addresses and conditionally executes bypass routines, enabling dynamic function replacement without direct modification of flash memory contents.
2Reliability
If the flash memory is reprogrammed for bypass functionality, then the bypass routine can be implemented, but the flash memory undergoes wear and strain
Solution Approach 1:
The patent separates the bypass routine storage from the permanent flash memory by using volatile working memory instead. This prevents write operations to flash memory during bypass routine loading, eliminating wear and strain on the flash memory while maintaining bypass implementation capability.
Solution Approach 2:
The patent uses volatile working memory for bypass routines, which can be freely written to and discarded without consequence. This disposable memory approach allows multiple bypass routine loadings without degrading the permanent flash memory, extending its operational lifespan.
3Adaptability or versatility
If the service function is called to execute bypass routine, then the original function can be replaced, but the processor execution time is extended
Solution Approach 1:
The service function performs a minimal check of the bypass table and only executes the bypass routine when a valid address is found. This partial action approach minimizes the overhead added to original function execution while maintaining the flexibility to replace functions when needed.
Solution Approach 2:
The service function is designed to quickly determine whether bypass execution is needed by checking the bypass table. When no bypass is required, the service function exits immediately without extending execution time, making the overhead negligible in normal operation.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
The invention relates to a method for modifying the software in the memory of an electronic control unit (ECU). A bypass routine is stored in the ECU's working memory, and its memory address is stored in a table. A service function reads the address from the table and calls the bypass routine. By deleting the table entry, the bypass routine can be replaced at runtime. In one embodiment of the method according to the invention, the service function call is integrated into the ECU's program code using an overlay memory, a memory management unit, or watchpoints.