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.

[参考译文] AM2634:带有外部闪存的 AM2634 M4 内核 (HSM)

Guru**** 2440410 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1545757/am2634-am2634-m4-core-hsm-with-external-flash

器件型号:AM2634


工具/软件:

如果 R5F 内核和 M4 内核都需要访问外部闪存来读取数据、如何 确保一次仅由一个内核访问外部闪存?  我目前有一个问题。 R5F 应用程序将访问和写入外部闪存、M4 内核也需要从闪存中读取。 有时、M4 内核读取的数据不正确。 未知这是否是由两个内核同时访问引起的。 M4 内核通过 memcpy 函数读取外部闪存数据。


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

    您好、

    我是否可以知道哪个内核负责闪存配置?  

    来自闪存的 memcpy 需要在 DAC 模式下配置闪存、而对闪存的写入应在 INDAC 模式下完成。  
    那么、我是否知道上述情况是否考虑了这一点?

    谢谢。此致、

    Nikhil Dasan

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

    外部闪存驱动程序 (QSPI) INIT 位于 R5F0 内核中。 我只需要读取 M4 内核中的外部闪存数据、而不需要写入。

    我不知道 IDAC 模式、能否提供更多信息?

    如果我不考虑、R5F0 和 M4 都读取外部闪存数据、 是否 生成读取错误闪存数据? 因为我没有认为 R5F0 和 M4 同时从外部闪存读取数据。

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

    您好、

    很抱歉这里的混淆。  

    您能帮我了解如何在 HSM 内核中执行 memcpy 吗? 即什么是 src 地址?什么是目标地址?

    此外、在此过程中、您是否也在 R5F 端使用了闪存写入 API?

    谢谢。此致、

    Nikhil Dasan

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

    此外、要执行存储器映射读取、请参阅 路径 C:\ti\mcu_plus_sdk_am263x_10_02_00_13\source\board\flash\qspi\flash_nor_qspi.c 中 API Flash_norQspiRead () 中所述的步骤

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

    示例:

    uint8 temp[16];

    memcpy (temp、0x60050000、16);

    将 16 个字节从外部闪存 (src 地址:0x60050000) 复制到 temp(DES 地址)。

    此外、在此过程中、您是否也在 R5F 端使用了闪存写入 API?

    答案: 可能是因为 R5F 具有 autosar CP (OS)、因此当 M4 内核处理 R5F 请求时、R5F 可以同时执行其他任务(读取/写入闪存)。理论上、这是可行的。 目前、memcpy 可能偶尔会在 M4 内核中读取错误闪存数据。

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

    您好、

    如方框图中所示、QSPI 可以位于 memmap 端口或 CONFIG 端口中、但不能同时位于两者中。  

    因此、当您将 QSPI 设置为 M4 中的 memmap 端口以从地址中读取时、R5 侧发送的 R5 写入或命令会将 QSPI 设置为 CONFIG 端口、因此此时使用 memmap 进行读取时、会导致不可用或出现错误数据。

    因此、在这种情况下、应注意在从 HSM 内核读取数据时、R5 上没有写入或命令操作。

    否则、一个更好的方法是只为 QSPI 保留一个主器件、由其进行读取和写入(即 R5)并使用 IPC 或任何其他方法将数据发送到 HSM。

    谢谢。此致、

    Nikhil Dasan