The assignment is to be aware of the characteristics and specialties of the Freescale Semiconductor MC9S12G microcontroller family in depth, and creating a low-level EEPROM driver, which can be used on most of these devices. The driver software must satisfy the given specification which determines the basic mechanism of operation, names, arguments and return values of the functions called from higher levels, and the exact form and name of the error codes. The driver functions – read, write and erase – must be realized by a periodically called state machine. The finished driver must be checked for correct operation by a self-made testing environment on an ECU device provided by Knorr-Bremse. The environment must contain a self-made linker script and a startup code with the image of previous projects. A makefile has to be created for compiling the project, which uses the Cosmic CX compiler, linker and assembler. Further testing has to be done in the VectorCAST environment. The finished project must be documented.