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.

[FAQ] [参考译文] [常见问题解答] TMS570LC4357:在 TMS570LC4357上执行内部 RAM 中的函数的分步过程

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1275740/faq-tms570lc4357-step-by-step-procedure-to-execute-a-function-in-internal-ram-on-tms570lc4357

器件型号:TMS570LC4357

在 TMS570LC4357上执行内部 RAM 中函数的分步过程

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

    您好!

    在本线程中、我将讨论在 RAM 中执行函数的分步过程、为此、我将使用一个闪烁的例程在 RAM 中运行。

    1.首先、我们必须声明一个名为"blinky_section"的段、并且应该提到这个段加载应该在 FLASH0或 FLASH1上、但函数运行应该在 RAM 中、如下所示。

    此外、我们还必须为 LOAD_START、 LOAD_END、 LOAD_SIZE、RUN_START 和 RUN_END 指定唯一的名称 。

    2.我们完成了一项操作,现在我们必须使用同一个部分,将我们要在 RAM 中运行的函数包含在内,如下所示。

    3.现在在初始化后在 main 函数中、我们应该在调用函数之前将 blinky_section 从闪存复制到 RAM。

    4.一旦我们将函数从闪存复制到 RAM、现在我们可以调用函数来从 RAM 中执行它。

    5.现在您可以测试您的程序、这里是将闪存函数复制到 RAM 后的输出

    6.现在调用 blinky 函数后,如果我们暂停程序,那么你可以看到反汇编代码是指向 RAM 中的数据:

    这意味着代码从 RAM 执行。

    以下是我经过测试的示例项目:

    e2e.ti.com/.../2500.LED_5F00_Blinky_5F00_Routine_5F00_Running_5F00_RAM_5F00_LC4357.zip

    我在 TMS570LC4357 Lauchpad 上测试了此代码。

    注:
    如果您获得任何预取进入中止、则请确保 RAM MPU 配置:

    --

    谢谢。此致、
    Jagadish。

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

    谢谢、我已经运行并验证我的 Launchpad LC43能够正常工作。

    做得很好。