Adrian,
I am not sure where the select all the sectors (Ctrl + A) option is. I do not see this option in the simple flash programmer.
To erase sector by sector, I edited the S29GL512P.xml file. Changed the 'chiperase' option to false.
<chiperase>false</chiperase>
Now, when I select 'Erase Whole Device' I get:
fl::target -lc "LC for Simple Flash (3)"
fl::target -b 0x2000 0x30000
fl::target -v off -l off
cmdwin::fl::device -d "S29GL512P" -o "32Mx16x1" -a 0xfc000000 0xffffffff
cmdwin::fl::erase all
Beginning Operation ...
-------------------------
Chip erase not supported. Erasing sector by sector.
Performing target initialization ...
Downloading Flash Device Driver ...
Reading flash ID ...
Erasing Sector 0xFC000000 to 0xFC01FFFF
Erasing Sector 0xFC020000 to 0xFC03FFFF
Erasing Sector 0xFC040000 to 0xFC05FFFF
Erasing Sector 0xFC060000 to 0xFC07FFFF
Erasing Sector 0xFC080000 to 0xFC09FFFF
...... All 512 sectors in here........
Erasing Sector 0xFFFE0000 to 0xFFFFFFFF
Erasing ...
Error: Erase failed.
Could not restore context from exception(CCSProtocolPlugin)
The Error message 'Erase Failed' appears instantly after 'Erasing...'
I should note that I am able to successfully erase all sectors of the flash using the uboot commands.
Uboot erases sector by sector, I have not yet tried implementing the chip erase command.
This is a bit of a puzzler. The data sheet for S29GL512S seem to indicate that it should be compatible with S29GL512P.