The safety and comfort features of a modern vehicle are supported by many embedded control units (ECU). To ensure that the ECU tolerates significant physical stress (extreme temperature, vibration, humidity, fluctuating power, etc.) throught the whole life of the vehicle, they typically use EEPROM or Flash based storage instead of hard drives used in general customer systems.
These non-volatile memories are primarily used to store diagnostic information about the ECU, meaning a kind of black box in the vehicle. For some problems during the tests of car manufacturers (eg. abnormal behaviour of steering system) the related supplier must analyse the cause of the malfunction. In these cases, ECU could be seriously damaged (logical or physical memory impairment), if the self-protection mechanisms of the software deny the restarting, that means the memory content cannot be read by using standard software processes. In such cases, most of the time the last content of the non-volatile memory can be reached, if ECU is disassembled. The data structure of the reached content is less clear for humans and the understanding of it requires a lengthy analysis.
The goal is to create a desktop application which can analyse memory content extracted from the microcontroller and provide informative visualization of physical or logical injuries for people.
Before starting the development, I have acquainted with the standards and methodologies of automotive software development. In addition it was necessary to expand the scope of my knowledge about memory structures of embedded microcontrollers. I got detailed knowledge about fault-tolerant storage, especially the features of the software modules that used by the company to reach non-volatile memories.
After all the theoretical information gathering and designs phase, I made the memory analysis software developed in JAVA which has extended with a HTML report generator used Template Expression of Xtend programing language. The memory analysis software has integrated as plugin to the Eclipse based integrated development tool called AUTOSAR Architect. This IDE is developed by thyssenkrupp company.
I performed modular testing on well distinguished functional units, which enabled to check the fulfilment of my requirements defined in the design phase.