内存配置
4 Dec 2024
Read time: 2 minute(s)
Luban-Lite SDK 支持多个芯片平台,而各个平台的内存种类和内存大小也不同,正确的进行内存配置会使系统运行更高效。
遵照以下流程,配置芯片平台的内存参数:
- 在 SDK 的根目录,运行 me 命令,启动 menuconfig 界面。
- 在 menuconfig 界面中,导航到 配置选项。
- 根据芯片平台型号、存储类型和内存规格,配置相应内存的参数,包括总大小、CMA 内存大小等。
-
DRAM
Board options > Mem Options > DRAM parameter (0x8000000) DRAM Total Size //DRAM 128M (0x2000000) CMA mem size //CMA 32M
-
SRAM
Board options > Mem Options > SRAM parameter (0x100000) SRAM Total Size //SRAM 1M [ ] Enable TCM (Tightly Coupled Memory) //不设置 SRAM_S1 Size (0K) //G73x UI 展示时设置 (0x0) Software size in SRAM_S1 //G73x UI 展示时设置 (0x40000) Bootloader reserve size //Bootloader 位置,不修改
-
PSRAM
(0x800000) PSRAM size //PSRAM 8M (0x0) Software size in PSRAM //Software 区域大小为 0,CMA 区域大小即为 8M - 0 = 8M
-
- 保存并退出 menuconfig 界面。
- 运行 me 命令以启动 menuconfig 界面,并在 menuconfig
界面中配置下列栈参数:
- 中断栈
Board options > Mem Options > Interrupt stack size
- 主线程栈
Rt-Thread options > RT-Thread Components > Set main thread stack size
- MSH
栈
Rt-Thread options > RT-Thread Components > MSH: command shell > The stack size for thread
- 中断栈
- 保存配置并退出 menuconfig 界面。
内存分类
内存可以按照以下两种方式进行分类:
- 按照存储类型划分:
- DRAM:动态 RAM,又称 DDR
典型代表平台:D21x
- SRAM:静态 RAM,又称高速缓存
典型代表平台:D13x
- PSRAM:伪静态 RAM
典型代表平台:D13x,D12x
- DRAM:动态 RAM,又称 DDR
- 按照应用场景划分
-
Software region:支持堆和栈的动态分配,由操作系统管理
-
CAM region:连续内存区域,预留给 framebuffer,视频,图片等解码使用
-
平台统计
平台型号 | DRAM | SRAM | PSRAM | CMA | 说明 |
---|---|---|---|---|---|
D21xxBx | 64M | X | X | 22M |
CMA 可供系统使用, 配合 mpp heap 一块调大 |
D21xxCx | 128M | X | X | 32M | |
D13xxAx | X | 512K | 4M | 4M | Software Region 可以共享 CMA |
D13xxBx | X | 1M | 8M | 8M | |
D13xxCx | X | 1M | 16M | 8M | |
D12xxAx | X | 1M | 4M | 2M | |
D12xxBx | X | X | 8M | 4M | |
D12xxCx | X | X | 16M | 8M | |
G73x | X | 1M | X | 756K |