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.

[参考译文] MSPM0L1306:对具有 A'来自 RAM'变体的 flastCTL driverlib API 感到困惑

Guru**** 2442090 points
Other Parts Discussed in Thread: MSPM0L1306

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1326106/mspm0l1306-confused-about-flastctl-driverlib-api-that-have-a-from-ram-variant

器件型号:MSPM0L1306

您好!

我有两个关于 MSPM0130x 的 FlashCTL driverlib 的问题。 在这里、它们是:

  1. 我对 DL_FlashCTL_eraseMemory 与 DL_FlashCTL_eraseMemoryFromRAM 的用例感到困惑  。 后面是否认为指定地址处的内容/值是可执行代码段? 如果是、那么为什么即使它很明显、也没有在任何地方提及?
  2. CCS 中的多次写入示例选择硬编码地址、这不是一种好的做法。 将存储器段定义为链接器 cmd 文件的一部分更有意义。 如何在 C 代码中使用它? 您有一个足够简单的例子来实现 aka 创建一个单独的段、然后将其与 FlashCTL API 一起使用吗?

乐于倾听

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

    您好、AJ、

     DL_FlashCTL_eraseMemory 和 DL_FlashCTL_eraseMemoryFromRAM 的区别  为  DL_FlashCTL_executeCommandFromRAM

    DL_FlashCTL_executeCommandFromRAM  在 RAM 中运行 FlashCTL 命令、而不是从闪存读取代码。 它可以避免同时读取闪存和写入/擦除闪存。

    谢谢。

    于浩

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

    感谢您的回答。 我仍然需要一些澄清。 感谢您在线回答:

    1. "从 RAM 执行"是什么意思? 我想它的意思是"读-修改-写"序列、但希望您确认是否是这样。
    2. 其次、"读取-验证"和"空白-验证"在从 RAM 执行与在闪存执行之间有何不同?
    3. 最后、考虑到我们这里要讨论具有有限擦除周期的闪存、这些 API 的非 RAM 版本将会是什么用例?

    希望很快收到您的反馈

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

    您好、AJ、

    • DL_FlashCTL_executeCommandFromRAM 由 RAMFUNC 定义、这意味着它是在 RAM 中定义的。 代码将从 RAM 而不是闪存中运行。
    •  从 RAM 执行与从闪存执行没有区别。
    • 目前、建议仅使用具有 RAM 版本的 API。 未在 RAM 中运行可能会导致 CPU 卡滞。

    谢谢。

    于浩

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

    因此、根据 TI 的建议、从 RAM 执行是最好的选择。 规格。 谢谢!

    最后、TI 是否有一个简单的示例:在闪存中创建一个新的存储器段、然后在代码中的某个位置引用它?

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

    您好、AJ、

    不、我认为没有这样的例子。 但实际上.cmd 文件很容易修改。

    有一些修改.cmd 的示例、例如  secondary_BSL_UART_LP_MSPM0L1306_nortos_ticlang

    通过存储器分配、 您可以观察闪存段。  

    谢谢。

    于浩