1、接口概述
6627芯片Flash擦除接口支持三种擦除粒度,分别为4K、32K、64K,不同粒度的擦除效率、使用限制各不相同。其中粒度越大,擦除耗时越短,但地址对齐要求、使用约束更严格;小粒度擦除灵活性更高,适配场景更广。
核心硬性规则:使用任意粒度擦除时,擦除起始地址必须满足对应粒度的字节对齐要求,未对齐会导致擦除失败、Flash数据异常、程序运行出错等问题。
2、各粒度擦除核心规则
2.1 4K 擦除
2.2 32K 擦除
2.3 64K 擦除
3、地址对齐规则说明
地址对齐核心判定公式:擦除起始地址 % 擦除粒度字节数 = 0,满足该公式即为地址对齐合法,可正常执行擦除操作。
简单理解:起始地址必须是对应擦除粒度的整数倍。
4、实操举例说明
为方便直观理解,以常用十六进制Flash地址、十进制字节数双重举例,明确合法/非法地址场景。
4.1 4K擦除示例(4096字节,0x1000)
合法地址:0x00001000、0x00002000、0x00005000(均为0x1000的整数倍)
非法地址:0x00001200、0x00001800(无法被4096整除,地址未对齐)
场景说明:如需擦除极小范围的配置数据、日志数据,优先使用4K擦除,可精准定位擦除区域,不会冗余擦除其他数据。
4.2 32K擦除示例(32768字节,0x8000)
合法地址:0x00008000、0x00010000、0x00018000(均为0x8000的整数倍)
非法地址:0x00009000、0x00012000(无法被32768整除,地址未对齐)
错误案例:若起始地址设置为0x00009000,直接调用32K擦除接口,会触发Flash擦除异常,导致数据损坏、读写失败。
4.3 64K擦除示例(65536字节,0x10000)
合法地址:0x00010000、0x00020000、0x00030000(均为0x10000的整数倍)
非法地址:0x00011000、0x00028000(地址未64K对齐)
使用建议:64K擦除效率最优,适合固件升级、整块存储区清空等大批量擦除场景;严禁在零散、小范围擦除场景使用,极易因地址不对齐或擦除范围冗余破坏有效数据。
5、总结建议
小范围、精准擦除:优先选择 4K擦除,兼容性、稳定性最佳;
中等范围擦除:选择 32K擦除,兼顾效率与灵活性;
大批量整块擦除:选择 64K擦除,最大化节省擦除时间,使用前务必严格校验起始地址64K对齐;
所有擦除操作前,必须校验起始地址对齐性,规避硬件操作异常。