Edit online

内存配置

8 Nov 2024
Read time: 2 minute(s)

Luban-Lite SDK 支持多个芯片平台,而各个平台的内存种类和内存大小也不同,正确的进行内存配置会使系统运行更高效。

遵照以下流程,配置芯片平台的内存参数:
  1. 在 SDK 的根目录,运行 me 命令,启动 menuconfig 界面。
  2. 在 menuconfig 界面中,导航到 Boardoptions>MemOptions 配置选项。
  3. 根据芯片平台型号存储类型和内存规格,配置相应内存的参数,包括总大小、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
  4. 保存并退出 menuconfig 界面。
  5. 运行 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
  6. 保存配置并退出 menuconfig 界面。

内存分类

内存可以按照以下两种方式进行分类:
  • 按照存储类型划分:
    • DRAM:动态 RAM,又称 DDR

      典型代表平台:D21x

    • SRAM:静态 RAM,又称高速缓存

      典型代表平台:D13x

    • PSRAM:伪静态 RAM

      典型代表平台:D13x,D12x

  • 按照应用场景划分
    • 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