Hi There,
I am really confused with my current situation.
I am trying to program this new flash device which is 2Meg flash part SST29c020PLCC32.
When it comes to Reading Entire sector before Erase and Write operation everything seems to be working ok.... that is...it reads entire sector into the Ram_buffer then Erases entire flash sector, and when it comes to Flash write sector which gets executed from RAM.... i cant write the odd address bytes,,,,, what gets written is:
At address: 0x27000 this is my configuration buffer:
@0x27000: 0x07 0xFF 0x45 0xFF
So every odd address is filled with 0xFF instead of real data.
Some this else which confuses me is:
When RAM_WriteSector is defined as function pointer .... my init.s has defined the following:
ds.w 1
RAM_WriteSector ds.b 102 ; this is for 256 byte of data per sector
Do i need to change the alignment? or it is something else i need to worrry about?
Any suggestion or advise would be greatly appreciated?
Regards
It seems to be only writing every second byte.
What hardware are you based on?
What FLASH chip was in the development board (that you've replaced)?
Have you changed the bus width of the FLASH from 8 <--> 16 <--> 32 bits and not told the software about the width change?
Are the write-enable pins connected to the right pins on the FLASH. Are they all enabled on the CPU.
Tom