sdk:17.1
example: ble_app_uart+ secure_bootloader.// <h> CRC - CRC functionality
//==========================================================
// <e> FDS_CRC_CHECK_ON_READ - Enable CRC checks.
// <i> Save a record's CRC when it is written to flash and check it when the record is opened.
// <i> Records with an incorrect CRC can still be 'seen' by the user using FDS functions, but they cannot be opened.
// <i> Additionally, they will not be garbage collected until they are deleted.
//==========================================================
#ifndef FDS_CRC_CHECK_ON_READ
#define FDS_CRC_CHECK_ON_READ 1
#endif
// <o> FDS_CRC_CHECK_ON_WRITE - Perform a CRC check on newly written records.
// <i> Perform a CRC check on newly written records.
// <i> This setting can be used to make sure that the record data was not altered while being written to flash.
// <1=> Enabled
// <0=> Disabled
#ifndef FDS_CRC_CHECK_ON_WRITE
#define FDS_CRC_CHECK_ON_WRITE 0
#endif
Recently my device sometimes returns FDS_ERR_CRC_CHECK_FAILED in this code 'err_code = fds_record_open(&desc, &config);APP_ERROR_CHECK(err_code);'
when it switches on and off.Eventually it died in the bootloader and couldn't get out.
This is not an inevitable situation, but it does happen. He can't fix it by DFU another firmware, unless it's a DFU upgrade package that FDS_CRC_CHECK_ON_READ set 0.
So I want to know, if I set FDS_CRC_CHECK_ON_READ to 0, will it have any bad effect on my data storage? Or is there any other way to solve the read crc error?