This content is not included in
your SAE MOBILUS subscription, or you are not logged in.
Program Overlay Mechanism for Engine Control Module
Technical Paper
2010-36-0157
ISSN: 0148-7191, e-ISSN: 2688-3627
Annotation ability available
Sector:
Language:
English
Abstract
As the complexity and size of algorithms dedicated to EMS
continually grows more hardware resources, like processing speed
and memory are demanded, increasing the cost of the final product
(ECUs in this case). This paper presents a technique aimed at
saving flash memory space by pulling pieces of executable binary
code out of the microprocessor's flash area and storing them in
an external device like an EEPROM. When the application needs to
execute that piece of code stored at EEPROM, it will request it to
be downloaded into an available RAM memory area and run it from
there. For such it is required that some sort of allocation
technique be applied once the RAM size is by far much smaller than
the EEPROM storage device's size meaning that the whole content
of EEPROM cannot be downloaded single shot into RAM. It happens to
be necessary a strategy to break the flash application code down in
smaller pieces to be stored at EEPROM.
This technique can be summarized in 6 steps:
Software development at the host platform phase: 1. Provide a
strategy to decide what part of the current implementation is worth
to be moved to EEPROM. 2. Separate that part of code by redesigning
and refactoring the current application. 3. Compile and link that
code so it can be separately stored at EEPROM.
Software running at the target platform phase: 4. Check if the
code has been already downloaded in to RAM. 5. If not, look up the
RAM and find a free space to house the code. 6. Download the code
from EEPROM to RAM. 7. Execute it in RAM.
This algorithm is an alternative approach to the very well known
industry standard memory managers base on the implementations of
"Best Fit," "Worst Fit," "Sequential
Fit," as well as the combination of them.
Authors
Citation
Cruz, R. and Filho, O., "Program Overlay Mechanism for Engine Control Module," SAE Technical Paper 2010-36-0157, 2010, https://doi.org/10.4271/2010-36-0157.Also In
References
- Page-Jones, Meilir “Practical Guide to Structured Systems Design” 2nd Prentice Hall 978-8120314825 May 14 1988
- Tenenbaum, Aaron M. “Data Structures using C” Prentice Hall Facsimile December 11 1989
- Blunden, William “Memory Management: Algorithms and Implementations in C/C++” Jones & Bartlett Publishers 1st 2002 978-1556223471
- Jones, Richard Lins, Rafael D. “Garbage Collection: Algorithms for Automatic Dynamic Memory Management” Wiley 1996 978-0471941484