我有以下问题:在 OTA 期间、负载直接存储在 sfs 上的文件中。 该文件是使用创建的
SL_FS_CREASE_SECURE | SL_FS_CREASE_STATICE_TOKEN | SL_FS_CREASE_VENDOORY_TOKEN 标志。 在有效载荷的最末尾有一个哈希和。 如果哈希不匹配、我需要以某种方式关闭文件。 我对全新回滚不感兴趣(这就是不使用 SL_FS_CREATE _FAILSAFE 的原因)、但我需要保留串行闪存上的空间。 观察到的行为:如果我尝试中止文件(调用签名='A'的 sl_FsClose)、则返回0。 然后、sl_FsGetInfo 看不到该文件(返回 SL_ERROR_FS_FILE_NOT_EXISTS)、但散射块仍会消耗、因此在多次尝试后、sl_FsOpen 返回了 SL_FS_ERR_NO_USE_BLOAD_BLOTS。
我的问题是、如果 OTA 下载可能会意外中断、并且通常我没有有效签名来正确关闭文件、如何避免出现空间泄漏。
P.S. 我使用最新的 Service Pack (4.11.0.0)