Hi,
flash drivers can be found here:
http://www.freescale.com/files/microcontrollers/software/device_drivers/MPC5500_H7F_SSD_v323.zip
The package contains drivers, examples, user manual...
"Write the first address to be programmed in the flash module with the program data"
- this sentence means that you have to write data directly to flash address that is going to be programmed. For example:
*(unsigned int *)0x1000 = 0xAABBCCDD;
If you follow all other steps described on mentioned page 22-20 then this will program value 0xAABBCCDD to address 0x1000 in flash.
And important note from reference manual:
"Whenever a program operation occurs, ECC bits are programmed. ECC is handled on a 64-bit boundary.
Thus, if only one word in any given 64-bit ECC segment is programmed, the adjoining word (in that
segment) should not be programmed because ECC calculation has already completed for that 64-bit
segment. Attempts to program the adjoining word will probably result in an operation failure. It is
recommended that all programming operations be from 64 bits to 128 bits, and be 64-bit aligned. The
programming operation should completely fill selected ECC segments within the page."
Lukas