
Originally Written by
matteosr
I don't want to curb the hopes of someone, but what you want to do is almost impossible, and those looking for a bit I can confirm.
In the meantime, don't dwell on what is in the eeprom, but on what is in the flash; and in the eeprom there are data-only variables, in the flash there is the true operating system of the ecu, that would be the one to disassemble and interpret.
You need to make clarifications, each type of ecu has a micro with a different architecture; in the case of edc16c39 there is a motorola with the arm architecture.
Designers when they create an ecu, write the program to do and write it in a language of high ****llo (C++ or similar), then compile using the tools available from the same companies that create microcontrollers, making it become a binary file which is loaded, or directly to the memory of the microcontroller, or in an external memory.
A binary file or hex can in no way and with no software to return the listing to the original source, but can only be disassemlato with the same tools used to compile it, getting a file in machine language or assembly, but of course without the name of a variable and various info.
In essence, I can't read the contents of an ecu, I can disassemble it, but the assembly file that I get is almost useless as I just get pages and pages of source code written in a machine language without names, and notes, humanly speaking, impossible to interpret.
If I want to actually create something, I need the original sources to the ecu, not written in machine language, but into a language of high ****llo more humanly interpretable.