Skip to main content
SPINOR 闪存是一种高速、非易失性存储器,广泛应用于嵌入式系统。在 Qualcomm 平台上,该存储器被划分为在 nor_partition_frtos.xml 中定义的多个逻辑分区,每个分区由唯一的 GUID 标识。 下表列出了 nor_partition_frtos.xml 中 RTSS SPINOR 分区的详细信息:

前提条件

在开始之前,为每个分区创建唯一的 GUID。运行以下命令:
运行该命令后,会生成一个 GUID。 示例: $ python3 -c "import uuid; print(uuid.uuid4())" 55b3aa18-3a33-4d3d-bcb5-c3cf9770cbd1 将此 GUID 添加到 nor_partition_frtos.xml 文件中。

将带有 GUID 的分区添加到 nor_partition_frtos.xml

  1. 从以下文件夹获取最新的 nor_partition_frtos.xml 文件:
    • 对于 IQ-9075: <FIRMWARE_ROOT>/qualcomm-linux-spf-2-0_ap_standard_oem_sail/QCS9100.LE.2.0/common/config/sail_nor_lemans/nor_partition_frtos.xml
    • 对于 IQ-8275: <FIRMWARE_ROOT>/qualcomm-linux-spf-2-0_ap_standard_oem_sail/QCS8300.LE.2.0/common/config/sail_nor_monaco/nor_partition_monaco.xml
  2. 修改该文件以添加新的分区条目:
    示例:
    注意
    • 分区大小应按 4 KB 对齐。最小大小为 4 KB。
    • 请将高亮显示的字段替换为新分区的详细信息。
  3. 要将二进制文件刷写到该分区中,请在 filename 字段中指定该二进制文件: 示例:
    注意
    • 将新分区放置在 SAIL_SEC_ELF_BKUP 之后、SAIL_DLP_BKUP 之前的任意位置。
    • SAIL_DLP_BKUP 应始终是最后一个分区。确保最后一个分区有对应的二进制文件。

生成用于刷写新条目的 GPT 分区表二进制文件

  1. 创建一个新目录并进入该目录:
  2. 运行分区工具:
    • 对于 IQ-9075:
    • 对于 IQ-8275:
    这些命令会根据 XML 布局生成输出文件。
  3. 将生成的文件复制到以下目录,以对 NOR 闪存进行编程:
    <workspace_path>/build-<DISTRO>/tmp-glibc/deploy/images/<MACHINE>/<IMAGE>/sail_nor 示例: <workspace_path>/build-qcom-wayland/tmp-glibc/deploy/images/qcs9075-iq-9075-evk/qcom-multimedia-image/sail_nor 参数:
    • <DISTRO>: qcom-wayland
    • <MACHINE>: qcs9075-iq-9075-evk
    • <IMAGE>: qcom-multimedia-image
    注意
    • 如果有预编译的二进制镜像可用,请将生成的文件复制到 SDK 目录中,如以下示例所示:
  4. 有关刷写 RTSS 的更多信息,请参阅 Flash SAIL。