在 TMS570LC4357上执行内部 RAM 中函数的分步过程
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.
在 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。