Edit online

初始化并使用 PSRAM

Read time: 1 minute(s)

对于合封 PSRAM 的芯片,如果需要使用 PSRAM,可以使用 PBP 程序对 PSRAM 进行初始化。

PBP 程序是 Boot ROM 运行的程序,设计为 Boot ROM 的扩展,用于做 DRAM/PSRAM 的初始化。 PBP 程序运行完之后,可以直接返回 Boot ROM 然后继续跳转执行用户的程序。

当前 PBP 程序可以完成以下功能:
  1. 配置下列参数,完成 PSRAM 的初始化。
    • 需要使用下列工具:
      • tools/scripts/mk_image.py

      • tools/scripts/mk_private_resource.py

    • 需要使用下列文件:
      • bsp/artinchip/sys/d13x/d13x.pbp

      • target/d13x/demo88-nor/pack/pbp_cfg.json

  2. 配置启动镜像
    下列启动镜像 image_cfg.json 文件的配置,可供参考:
    {
         "pre-process": { // Pre-proccess to generate image components from raw data
            "aicimage": { // Create aic boot image
                 "app.aic": {
                    "loader": {
                        "file": "app.bin",
                        "load address": "0x30044000",
                        "entry point":  "0x30044100", // 256 byte aic header
                    },
                    "resource": {
                        "pbp": "d13x.pbp",
                        "private": "pbp_cfg.bin",
                    },
                },
            },
        },
    }
    
  3. 生成镜像

    将上述文件放到一个目录:
    • app.bin

    • d13x.pbp

    • pbp_cfg.json

    • mk_image.py

    • mk_private_resource.py

    mk_private_resource.py -l pbp_cfg.json -o pbp_cfg.bin
    mk_image.py -p -c image_cfg.json -d .
    

    此时生成的 app.aic 即包含了 PSRAM 初始化代码,并且在 app.aic 运行之前已经执行。