I will try to explain it.
FLASH_IOCTL_ENABLE_BUFFERING, FLASH_IOCTL_DISABLE_BUFFERING, FLASH_IOCTL_FLUSH_BUFFER
- - in this mode driver internally allocate RAM buffer of FLASH sector size(4KB for MCF52259)
- - if you writing to flash device writes to same sector are buffered and written to flash at once
FLASH_IOCTL_ENABLE_SECTOR_CACHE, FLASH_IOCTL_DISABLE_SECTOR_CACHE
- - intend of this is RAM saving, but it restrict functionality of driver
- - when you want to write new data to flash - driver have to store read current content of flash sector to RAM buffer, clear flash sector, modify data in buffer and write it back to flash. For this buffer of Flash sector size is required.
- - if you know that you will do only listed actions, you do not need RAM buffer
- * Incremental write to erased area
- * Full sector write
- * Partial sector overwrite when the remaining area of
sector is erased.
- - this feature can be used e.g.. if you are saving whole parameter structure still on the same place in flash, overwriting all previously stored data.. Then you do not need quite big RAM sector buffer.
PetrL