我申请了两页FLASH,如果存满了FLaSH会怎么处理?
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.
您好,
已经查阅,因为OSAL SNV操作中本可以正常 写入的话,那这个函数本身使用就没有问题的。
那您问的是如果BLE stack申请了两页FLASH,OSAL_snv如何减少或者抹去Flash吗?
我想了解TI对Flash管理机制,我们的产品OSAL_snv用于存储密钥,如BLE_NVID_CUST_START这个index存入5字节密钥,当密钥失效时,BLE_NVID_CUST_START这个index存入5字节0x00,然后发现flash中数据是续写并没有擦除之前的数据(如图),因此我推测TI采用倒序读取数据,以同样索引的最后一个为准,这样可以避免Flash频繁擦写,所以我的疑虑是担心某一次密钥更新,刚好flash已经满了,然后TI的管理机制会让密钥失效。
注:我们是10把密钥。一把是主密钥写入后不会更新,其余9把可能一周更新一次

您好,请参阅此处提供的文档
另外,请记住,器件将最大限度地减少闪存页擦除周期,因为它会消耗功率并影响器件的使用寿命(闪存擦除周期实际上是有限的,并在该部件的数据表中提到)。 因此,TI 驱动程序使用闪存 ID 的策略。 当变量值更新时,Flash ID 指向的物理地址会发生变化(但旧值不会被覆盖)。
希望能对您有所帮助