i'm working on the DEVKIT MPC5748G module and working under the with S32 IDE.
I'm trying to deploy 1 Mega bytes (the last 4 blocks of 256K bytes) in C55 FLASH for FATFS.
My problem is that I need to erase 256K each time a byte is needed to be updated, meaning,
1. saving the old data in 256K ram,
2. update ram block with the new data
2. erase block
3. write back to block.
note that using the 16K blocks isn't optional for me (I need a large space) .
1. is possible to erase small amount of data, 512/1024/2048 bytes in the 256K blocks ?
2. does the FATFS S32 examples uses the the C55 internal FLASH (I see only the example with SD card) ?
3. i'll be glad to hear if there another options to overcome this issue
1) No, I am afraid it is not possible.
2) No, it does not.
3) The flash block must always be erased as a whole.
Another issue it may bring up is that often erase of the block may cause overcoming of guaranteed endurance of particular data place. And it can be quite easy for large blocks as guaranteed minimum of cycles it is capable to withstand is 1000.
Due to that EEPROM emulation drivers are used for the purpose because it spreads the data over the flash. And it uses small and possibly medium blocks. Large blocks are intended mainly for static program memory (and expected updates in the meaning of firmware updates and so on).
One yet note to SD card - these memory storage use NAND flashes (as well as USB flash drives) that are suitable for these kind of operations, internal MCU is always NOR flash type.