what is the size for array?
What's the type of your definition of the array? I think you should care more about the SRAM size instead of the flash. Unless you define the array as the "const" type.
the write unit is in row ?
The write unit is byte.
Could you tell us why do you have this question?
i mean flash, to store data even power off.
the array i mentioned is flash array in probuilt library, so need to figure out the flash structure.
cystatus CyWriteRowData(uint8 arrayId, uint16 rowAddress, const uint8 * rowData)
You can refer to the code example in creator: Flash Example.
The size of the array should not be larger than 256 bytes.
How much non-volatile memory do you need?
There are three practical options for you.
- The PSoC5 provides up to 2K of EEPROM. This type is designed for most person's needs of NV memory.
- Use the PSoC5 FLASH as emulated EEPROM. This can provide more NV memory but it has its limitations.
- Write endurance may be more limited compared to EEPROM.
- It takes longer to erase/write than EEPROM. This is usually because the sector size is larger.
- Care must be taken in segmenting the emulated EEPROM space. It's inadvisable to share the same sectors as Application code or data.
- Because the sector size is much larger, writing only a few bytes requires writing the whole sector. This potentially decreases the endurance of the other variables in the sector that don't get changed often.
- Use external EEPROM using a SPI or I2C interface. Cypress just introduced a FRAM non-volatile with infinite endurance cycles. It can also come in very large sizes (4Mb = 500KB).