READ AND WRITE IN A MEMORY
in
this topic should to understand how we can read and write in a memory. To read
and write in a memory we need an electronic tool called a universal programmer.
With this programmer we can read the data contained in a memory and save this
data on your computer . We can also write data that is modified or saved on the
computer in a memory to changing then its original programming .
There
are several needs for this reprogramming, such as updating the ECU program ,They
are also necessary in some cases of disabling the starting immobilizer. This
disabling is done by exchanging the original ECU file for a modified file to
disable the immobilizer function.
UNIVERSAL PROGRAMMER
The
memory programmers have the function of reading and saving the contents of a
memory data and also of recording new content. The program is responsible for
all contact with the user, in this program we can find a screen called buffer where
the data read or to be written in memory is loaded. These data are converted from
binary to hexadecimal, where a huge reduction in the size of the data
representation is achieved, with the hexadecimal notation we can represent any
binary number, and with that, any letter, number or character.
Hexadecimal
notation is used for its practical representation, with fewer digits than other
notations, such as decimal notation.
As the name implies, universal programmers are designed to serve all types of existing memory. In our case, we will only use a small part of these resources, since the automotive ECUs and immobilizers are equipped with DIP, PLCC, TSOP AND SOIC housings, and there are also special features, which many universal programmers do not have, the programming of the embedded memories on processors.
ADAPTERS FOR MEMORIES
Many
memories need an adapter to fit the fit of universal programmers, as their
component socket has a unique shape for use, this shape is usually the DIP
.With this, it is necessary an adapter for each type of memory. Providing dip conversion
for the respective enclosures. The adapters used in automotive ECUs are: DIP
PARA SOIC Two adapters are used, a socket and tweezers.
DIP ADAPTER FOR PLCC
This adapter will depend on the number of pins
in the memory
PSOP DIP ADAPTER
In most cases, the one adapted according to the
picture bellow is used:
EMBEDDED MEMORIES
The
memories built into the processors have a different programming mode than the
conventional ones, since they can be programmed in weldable sockets, which are
of little practicality, since it is necessary to remove the processor from its
board, a new solder in the adapter socket, where it will be read or changed
your data, and again, the reverse process to the one described when returning
the processor to your board.
The
most used process is circuit programming with the acronym ICP (In Circuit
Programmer). This process consists of soldering the wires needed for
programming on the CI plate itself , without the exhaustive removal of the
processor.
In general,
it is necessary a specific programmer for programming of embedded memories, and
that most of the times, it has a high cost, because such devices have software
and interface directed to each processor, which can also be called a
development tool.
BOOT LOADER READING MODE
The
reading mode in boot mode, or boot loader, which comes from the English boot.
Through this initialization mode we can use the specific program to load or
read the processor's built-in memory. This mode aims at savings in programming
processes, since more expensive tools are not necessary, thus attracting the
interest of electronics manufacturers.
The
activation mode in this way is done physically, through connections with
resistors, on the specific ports. Usually the activation port is raised to 5vdc
voltage that denotes level 1 or high level in the internal circuits of the ECUs.
When we bring this port to level 0 or low, the boot loader process starts.
THE ST10FXXX PROCESSOR
The ST
semiconductors processor ST10fxx, was widely used in automotive ECUs from the
year 2004. This processor is widely used in embedded processes, such as ECUs,
toys, process automation in general and etc.
There
is no need for development tools and special programmers to program the memory
built into these processors, as it uses a very practical boot loader system, as
previously described. In addition to its practicality, the program used for the
boot loader process is free and can be downloaded from the manufacturer's
website. Below the screen of the program ST10 flasher.
The use of the ST10 flasher program and the activation of the boots is simple, just open the ECU, solder the resistors as described in the boots and ECU model manual, connect the interface via the k diagnostic line, open the ST10 program flasher and follow the program instructions.
There
are cases in which a single resistor is required to activate the boot mode
process, as in the IAW 4AFB ECUs, which uses the ST10F168 processor.
And there are ECUs need more than one
resistor to activate the boot mode
process.
We can read the data contained in the ecus
memories in two ways, which are:
DIRECT READING AND PROGRAMMING
In
this mode, there is no need to remove memory or boots. A special tool called a
serial programmer and connected via the vehicle's diagnostic plug to read the
ECU processor, with communication being successful, the processor sends the
data from memory to the computer, through the diagnostic line and the serial
programmer.
In the same way with programming, however in
reverse order, the programmer asks the processor to write, or that is, save the
data that is on the computer, in the internal memory of the ECU.
This
feature is common in hybrid ECUs, hybrid ECUs as the name says are ECUs that
use encapsulated components in conjunction with non-encapsulated components,
only covered with a protective gel. These ECUs had their manufacturing
discontinued in 2003 .
INDIRECT READING
The
reading and writing indirect of the memory data in automotive ECUs is done
through universal programmers and boot modes, as previously described. This is
the way in which there is a need to remove the memory for programming. There
are many ECUs that use this mode for programming