分区类型介绍
在 Luban-Lite 系统中,分区的设置和管理是系统正常运行和日常维护的重要方面。本章节介绍 Luban-Lite 系统中分区的特点、规则和分区修改的方法。
启动分区
在 Luban-Lite 系统中,启动分区("spl" 分区)是存储介质上的第一个分区,用于存放 BootLoader,并且根据不同的存储介质类型和配置,其位置、大小和内容有所不同。
"spl" 分区为默认名称,用户可以根据需要自定义和修改启动分区名称。
启动分区 | 位置 | 尺寸 | 用途及说明 |
---|---|---|---|
SPI NOR | 0 ~ X 区间 | 256K | 存放 BootLoader BROM 加载的程序可以大于 256K,但 BROM 运行时的速度较慢,不建议加载过大的程序。 |
SPI NAND | 前四个物理块 |
SPI NAND 启动分区大小取决于块大小:
|
启动分区内使用四个启动块保存两份启动镜像。 |
eMMC | UDA 区域的 17K ~ X 区间 | 建议启动镜像小于 512K。 | BROM 从该区域读取程序。 |
数据分区
在 Luban-Lite 系统中,通过对 SPI NOR/ SPI NAND Flash 进行分区可以实现数据的存储和管理,为数据的读写提供了不同的功能和性能特点。
分区类型 | "rodata" | "data" |
---|---|---|
目的 | 保存 APP 应用需要使用的资源文件。 | 提供一个可读写的文件系统分区,用于保存设备在使用过程中生成的需要写入 Flash 的数据。 |
文件系统 | FAT 文件系统 |
|
读写支持 | 只读,不支持写入 | 可读写 |
适用场景和特点 |
通过直接访问 Flash 的方式读取数据,可以更好的管理并快速访问 APP 应用资源。 |
适合存储设备运行过程中产生的临时数据或需要修改的数据。适用于需要频繁读写的场景,如用户设置、日志记录等。 |
备注 |
使用 SPI NOR 时,可以通过配置的方式强制使能 "rodata" 可读写,但是需要注意其中的风险:
|
系统 A/B 分区
在 Luban-Lite 系统中,A/B 系统分区是实现 Over-the-Air (OTA) 软件更新机制的一个重要部分。这种分区方式需要在 Flash 上保存前后两个版本的系统程序,并将每个版本保存在指定的分区中。
A/B 系统的分区命名比较直接,便于轻松识别两套软件版本,详细命名规则如下所示:
-
A 系统分区:直接使用其所代表的分区的名称,例如存储只读数据的 "rodata" 分区,则 A 系统分区即命名为 "rodata"。
-
B 系统分区:在对应的 A 系统分区名后加上 _r 后缀,例如 rodata_r。
使用专门的 A/B 分区机制,可以最大化资源使用、实现备份,并且提前配置所需软件更新的存储空间,而不影响系统的运行性能。