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区。