This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC2640R2F SNV写数据到第二个4K区域

Other Parts Discussed in Thread: CC2640R2F

请教TI工程师一个问题:

CC2640R2F,协议栈可以配置成为SNV预留最多两个4kBFlash page,为防止写SVN时异常,我们设计使用两个page存储相同的一组数据,查看bcomdef.h文件,有如下定义:

// Bonding NV Items -   Range  0x20 - 0x5F    - This allows for 10 bondings
#define BLE_NVID_GAP_BOND_START         0x20  //!< Start of the GAP Bond Manager's NV IDs
#define BLE_NVID_GAP_BOND_END           0x5f  //!< End of the GAP Bond Manager's NV IDs Range

// GATT Configuration NV Items - Range  0x70 - 0x79 - This must match the number of Bonding entries
#define BLE_NVID_GATT_CFG_START         0x70  //!< Start of the GATT Configuration NV IDs
#define BLE_NVID_GATT_CFG_END           0x79  //!< End of the GATT Configuration NV IDs

// Customer NV Items - Range  0x80 - 0x8F - This must match the number of Bonding entries
#define BLE_NVID_CUST_START             0x80  //!< Start of the Customer's NV IDs
#define BLE_NVID_CUST_END               0x8F  //!< End of the Customer's NV IDs  

其中0x80~0x8F提供了可写SVN编号,一共16个,每个SVN可写252有效字节,16*252才一个page大小,我们现在需要将这组参数写到第二page中,请问如何操作?

曾尝试将0x8F改为0x9F,通过osal_snv_write函数将编号为0x91的SVN区,读取flash时,发现第二个扇区全FF,证明未写进去。下面截取CC2640R2F存储架构中的,是否可理解为有效数据不足80%时,协议栈自动将有效数据压缩到一个区中?