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.

[参考译文] AM2432:应用的 MSRAM 存储器映射

Guru**** 2524460 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1563984/am2432-msram-memory-map-for-application

器件型号:AM2432


工具/软件:

您好、

我们收到客户对 AM243x 上 MSRAM 存储器映射的查询。

MCU+ SDK 文档描述如下 文件:///C:/ti/ind_comms_sdk_am243x_11_00_00_08/mcu_plus_sdk/docs/api_guide_am243x/MEMORY_MAP.html

----------------------------  

可以看出、初始的 512KB MSRAM 保留供 SBL 使用。  

保留此存储器时、如果应用映像有一个空载段、则仍可以将其放入保留的存储器中。 但应注意应用运行的内核。 如果应用程序在 SBL 所运行的内核(通常是 R5F0-0 内核)中运行、则应用程序可能会在 SBL 停止之前启动、并导致存储器访问出现竞态条件、并可能导致 SBL 崩溃。 这在多核图像场景中可能会出现问题。  

------------------------

当应用程序仅在与内核 SBL 运行的同一内核 (R5F0-0) 上运行时、是否可以为应用程序分配存储器 0x70000000–0x7007FFFF?

  

谢谢。此致、

英明

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

    Hello Hideaki、

    是的、SBL 代码应该在 R5F0_0 内核上执行的最后一项操作是初始化 R5F0_0 内核的运行时代码。 此时、SBL 不再使用 SRAM 区域、这些区域可由运行时代码使用。

    如您链接的文档中所述、其他内核也可以使用该 SRAM 区域。 但是、您需要确保不存在竞态条件、它们可能会覆盖 SBL 代码的数据。 例如、您不希望在这里放置来自 R5F0_1 的预初始化代码、因为 SBL 在初始化内核 R5F0_1 时会覆盖自己的数据。 该代码还需要进行一些检查、以确保 SBL 在开始写入 SRAM 区域之前已完成。

    此致、

    Nick