This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] AM263P4-Q1:有关 AM263Px SBL (OSPI) linker.cmd 中 MSRAM 分配的问题

Guru**** 2964790 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1656398/am263p4-q1-questions-about-msram-allocation-in-am263px-sbl-ospi-linker-cmd

器件型号: AM263P4-Q1

AM263Px MCU+SDK (mcu_plus_sdk_am263px_10_01_00_31) SBL (OSPI):有关 linker.cmd 存储器映射意图的问题

我想在 AM263Px MCU+SDK SBL (OSPI) 的链接器脚本中确认存储器映射的意图。 我引用的是以下文件:
……\examples\drivers\boot\sbl_ospi\am263px-lp\r5fss0-0_nortos\ti-arm-clang\generated\linker.cmd

Q1:MSRAM_VECS 起始地址 0x70002000
在链接器脚本中、MSRAM_VECS 从 0x70002000 开始。
SBL 是否可以使用地址范围 0x70000000–0x70001FFF(前 8KB)?
如果该区域被保留、它的用途是什么?

Q2:减小 MSRAM_HSMRT 大小
在我这边、MSRAM_HSMRT 的实际使用量似乎仅为~26KB。
减小分配的 MSRAM_HSMRT 大小是否安全? 如果有最低要求尺寸或任何 限制、请告知您吗?

请求的响应日期: 2026年6月19日

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Imaoka-San:

    Q1: MSRAM_VECS 起始地址 0x70002000
    在链接器脚本中、MSRAM_VECS 从 0x70002000 开始。
    SBL 是否可以使用地址范围 0x70000000–0x70001FFF(前 8KB)?
    如果此区域被保留、它的用途是什么?

    区域 MSRAM_VECS 包含 SBL 的向量。 这是 ROM 正确加载 SBL 所必需的。

    启动时、ROM 会唤醒并将 SBL 的.vectors 部分加载到 RAM 中的 0x7000_2000 地址。该地址在链接器脚本中称为加载地址。

    请注意、对于.vectors 段、运行地址保留为 0x0。

    这是因为当发生黄昏时、向量会移动到 0x0 地址、然后执行就会从那里发生。

    因此、该地址不应更改、而应完好无损。

    SBL 是否可以使用地址范围 0x70000000–0x70001FFF(第一个 8KB)?
    如果此区域被保留、它的用途是什么?

    这是 ROM 用于执行的区域。 如果 SBL 使用此区域、则当 ROM 加载 SBL 时、它将自行覆盖。

    但需要注意的一点是、您可以配置 SBL 的.bss 段以使用此区域。 这是因为.bss 未初始化、因此没有覆盖风险、因此未加载。

    Q2:减小 MSRAM_HSMRT 大小
    在我这边、MSRAM_HSMRT 的实际使用量似乎仅为~26KB。
    减小分配的 MSRAM_HSMRT 大小是否安全? 如果有最低要求大小或任何 限制、请告知吗?

    您可以根据您的应用减小 MSRAM_HSMRT 的大小。

    此致、

    Aswin