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.

[参考译文] MSPM0L1117:有关闪存操作和执行策略的查询

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1634385/mspm0l1117-inquiry-regarding-flash-memory-operations-and-execution-strategies

器件型号: MSPM0L1117

您好团队:

在此我谨致函寻求有关闪存操作最佳实践的澄清。 目前、我们的系统配置有数据和代码驻留在同一闪存存储体中。

根据对 SDK 的审查、我们发现了两种主要的函数执行方法:从 RAM 执行和直接从闪存执行。 为确保实施的稳定性和性能、请在以下几点提供指导:

  • RAM 执行的必要性: 在我们当前的配置下、是否必须将闪存管理功能重定位到 RAM?

  • 闪存执行可行性: 在操作过程中、是否允许直接从闪存执行这些函数?

  • 副作用: 这些方法是否存在已知的风险或副作用(例如 CPU 停顿、读写时读取 (RWW) 违规或总线争用)?

  • 用例标准: 您能否定义哪些特定场景需要从 RAM 执行、而哪些场景需要从闪存执行足够?

  • 技术建议: 根据您对此 SDK 和硬件架构的体验、对于我们的特定设置、您建议使用哪种方法?

感谢您抽出宝贵的时间提供专业见解。

此致、

Kostadin

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

    尊敬的 Kostadin:

    让我就这些问题咨询我的团队。 同时、您的项目大小是多少、您的设置指的是您在设备内存中分配项目的方式吗?

    此致、

    Diego Abad

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

    您好、Diego、

    我们计划同时使用存储体来存储数据和代码。

    我们想知道、是否必须从 RAM 执行闪存擦除或闪存写入、或者它们可以直接从闪存执行。

    此致、

    Kostadin

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

    尊敬的 Kostadin:
    感谢您的耐心。  

    不强制将闪存管理功能重定位到 RAM、但建议这样做。 鉴于如果您尝试执行一段代码来在同一闪存存储体上执行闪存擦除/写入操作、您可能会最终擦除您自己的代码。 此外、当您尝试从同一闪存存储体进行擦除时、不能使用 FLS(闪存)中断功能。“ 2.“是的,可以从闪存中执行函数。

    也可以从闪存执行函数。

    当您尝试从同一闪存存储体进行擦除时、CPU 会停止运行、直到 FLS 操作完成。 因此、在这种情况下、FLS 中的中断功能没有帮助/起作用。 但是、如果您尝试从一个闪存存储体执行闪存操作以擦除/写入另一个闪存存储体、那么这不是问题。

    始终建议从 RAM 执行闪存擦除或闪存写入、以避免意外的执行流。

    此致、

    Diego Abad