在实际应用中,有可能出现Flash正在操作的时候,突然碰到掉电等意外情况,导致Flash的指令可能执行异常,进而出现意外擦除,改写等情况,为了降低此类问题的发生,最好在不写Flash之时,给Flash加上写保护。 (参考同行很多厂商都有采用此策略) 内容摘要 1.1 启用 Flash 写保护的目的: (1)防止意外掉电导致 MBR 或者用户 App 代码被擦除或者修改,导致死机等情况发生。 (2)防止代码跑飞或者软件逻辑错误导致 Flash 代码写的时候,会误擦写到其它相关区域。 1.2 按图 1 划分区域保护说明: -MBR 区域和 APP 区域: 原则上除了做 OTA 时,需要把此段区域空间解除保护,其它任何时 间,均需要让此部分代码处于保护之中, 根据 APP 长度,确定需要保护区域占比,如低 1/4 或 2/4。 -CFG/NVDS 区域: 建议不做保护,因为 SDK 库中也会操作 NVDS/CFG 区域,如蓝牙配对绑定, 如果需要保护,在配对,或者解除配对之前,必须解除保护。 -USER 区域: 根据划分为 OTA 的备份区域或者用户数据存储区。该区域为用户完全可控/可 预测的操作区域,是否划入保护区域,由程序需要决定。 -其它区域,所有代码需要,谨慎妥善设置保护区域,并且在需要使用时,解除写保护。 附件说明 1 压缩包里面包含FALSH写保护参考代码drv_6626_flash_protect.c和drv_6626_flash_protect.h文件 2 压缩包里面包含FLASH写保护说明文档 "6626写保护功能.pdf" |