主题中讨论的其他器件:UNIFLASH、 CC3220MOD
您好!
当我们启动 cc3220器件时、如果我们执行一些文件系统操作来将 Jons 数据等文件写入闪存、一旦发生电源故障或在写入文件期间执行电源复位、闪存分区将消失、需要使用 uniflash 来恢复它。
这是我的闪存存储器分区布局、并使用自定义的4MB 闪存。
所以我只是想知道有什么方法可以确保文件访问在文件访问期间断电时保持安全(至少不要中断分区...)? 它将如何导致设备需要重新刷新...
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.
您好!
当我们启动 cc3220器件时、如果我们执行一些文件系统操作来将 Jons 数据等文件写入闪存、一旦发生电源故障或在写入文件期间执行电源复位、闪存分区将消失、需要使用 uniflash 来恢复它。
这是我的闪存存储器分区布局、并使用自定义的4MB 闪存。
所以我只是想知道有什么方法可以确保文件访问在文件访问期间断电时保持安全(至少不要中断分区...)? 它将如何导致设备需要重新刷新...
您好!
"闪存分区将消失"是什么意思? 您是说已写入文件的内容已损坏、还是文件系统中的所有文件均已损坏、包括文件\sys\mcuimg.bin、设备将不再启动?
如果要在写入失败期间将文件内容恢复到最后正确状态、则可以对用户文件使用失效防护选项。
您使用什么 SKD 和 ServicePack? 请确保将最新的 SDK 和最新的 ServicePack 上载到 sFlash 中。
您通过代码写入 sFlash 的频率如何?
1月
您好、Jan、
"您是指已写入文件的内容已损坏或文件系统中的所有文件均已损坏、包括文件\sys\mcuimg.bin、设备将不再启动?" 是的、因此我必须使用 uniflash 来恢复它。
"代码写入 sFlash 的频率如何?" 每次启动器件时、写入一次。 此问题只是在电源故障时发生。
这是我一侧的当前 SDK 版本:
Simplelink_cc32xx_sdk_2_10_00_04
Simplelink_cc2640r2_sdk_4_30_00_08
Simplelink_sdk_ble_plugin_3_20_00_24
您能否向我展示有关失效防护的文档/演示代码? 不过、它可能只是用于 OTA、还是可用于任何类型的文件操作?
您好!
很抱歉我不明白。 您的意思是"是"。 是否已损坏已写入文件或文件系统中的所有文件已损坏?
SDK 版本2.10已经很旧了。 将近三岁。 您能否尝试使用最新的 SDK 版本。 不要忘记也更新 CC3220MOD 内的 ServicePack。
失效防护选项您可以使用任何用户文件。 需要使用失效防护标志创建文件(使用 Uniflash 或使用带有标志 SL_FS_CREASE_FAILSAFE 的 API sl_FsOpen())。
在启动代码后重新写入 sFlash 可能不是最佳方法。 如果您的代码发生错误、将导致意外的器件重启、这可能会很快导致 sFlash 的物理损坏。 请注意、每个扇区的 sFlash 写入周期数量有限(每个扇区为100k/写入周期)。
1月