工具/软件:

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


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.
工具/软件:

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


示例:
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