FLASH分配

1. 不同芯片PSRAM + Flash的典型配置

型号

SIP 配置

外置存储

SF32LB551
SF32LB555

4MB PSRAM + 4MB NOR Flash

16MB 或 32MB NOR Flash

SF32LB561

4MB PSRAM + 512KB NOR Flash(用于 LCPU)

16MB 或 16MB + 16MB 或 32MB NOR Flash

SF32LB563

8MB PSRAM + 512KB NOR Flash(用于 LCPU)

Nand Flash

SF32LB567

16MB PSRAM + 512KB 或 1MB NOR Flash(用于 LCPU)

Nand / eMMC Flash

SF32LB523

4MB PSRAM

16MB 或 16MB + 16MB 或 32MB NOR Flash

SF32LB525

8MB PSRAM

Nand Flash

SF32LB527

16MB PSRAM

Nand Flash

SF32LB52J

16MB PSRAM

Nand / eMMC Flash

SF32LB58x

参照相应介绍

参照相应介绍

SiFli芯片相关介绍和配置参数,请参见思澈开源文档

2. Flash分配方式

  1. 提供excel表的可视化分配方式(可选的flash配置位于solution\framework\__template__\config\hcpu\flash_map)

  2. 编辑exel表,实现增删分区、修改分区size,表格具有自动计算、自动对齐的功能

  3. 编译时,Butterfli 会解析该 Excel 表并生成 flash_map.h 文件,参与 HCPU 的编译

具体可参见:

3. Excel 表的编辑说明

  1. Solution 提供各种产品形态的 Excel 表格模板,用户可以直接使用或者基于此模板进行修改

  2. 第一个页签FLASH_Config,用于配置选用芯片内置和外置 Flash 的起始地址、空间大小以及分区对齐 Image Size。注意,这里分区对齐用于擦写块的大小

  3. 第二个页签FLASH_Map,用于配置每个 Flash 的分区(分区名、偏移地址、Size、类型)。
    对于 NAND 方案,如果使用 KVDB,由于 KVDB 是放在文件系统中,因此,需要在下面的表格定义 KVDB(Size、所属分区)。

  4. 第三个页签FS_RES_PATH,用于定义文件系统目录对应的宏。其中 RES_NAME 不可修改,Butterfli 会使用这些名字去对应相应的资源,然后放在指定的分区和路径下

4. Flash选型

Solution 支持 NOR、NAND、eMMC,具体可参见方案选型 -> 选型原则

5. 双NOR-Flash方案

Solution 支持双 NOR Flash 方案,如1. 不同芯片PSRAM + Flash的典型配置中的SF32LB523。采用双 NOR Flash,需要注意:

  1. 硬件设计上,如果是52x参照SF32LB52-DevKit-LCD开发板使用指南

  2. 软件部分,A区可XIP、直接访问,B区必须通过驱动才能访问,需要遵循以下原则:

    • 主代码(code)、内置的图片必须放在A区

    • 字体、NVM、铃声、打点信息、debug信息、OTA缓存以及死机dump可以放在B区。