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.

[参考译文] TMS320F28384S:从 RAM 运行 MCAN ISR

Guru**** 2393275 points
Other Parts Discussed in Thread: C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1109691/tms320f28384s-running-mcan-isr-from-ram

器件型号:TMS320F28384S
主题中讨论的其他器件:C2000WARE

大家好、

我有一个 CM 代码、该代码使用 MCAN 与 CAN 主设备通信。

它工作正常。

我想修改代码、让 MCANIntra1ISR 从 RAM 运行、而不是从闪存运行。

我尝试设置 #pragma CODE_SECTION (MCANIntra1ISR、".TI.ramfunc")。

 虽然我可以在映射文件中看到函数已移动,但从未发生中断

我还需要做什么吗?

我需要检查什么?

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

    Inno、  

    我们将对其进行研究、并将很快返回给您。

    谢谢。

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

    Inno、  

    您可以检查几个方面。

    首先、您需要检查代码是否具有 memcpy 命令(包含在所有 C2000ware 示例中的 device_init 函数中)。 为了 实现闪存构建配置、所有函数被加载到闪存中、这个命令将 ramfuncs 复制到 RAM 中、然后从 RAM 中执行。  

    第二、检查 MAP 文件中 MCANIntra1ISR 函数的运行 ADDR。 接下来、在 CCS 中处于调试模式时、检查反汇编视图、并在顶部的搜索栏中搜索函数名称、以确保运行地址包含中断 ISR 代码。

    如果您在访问上述检查时遇到任何问题、请告知我们。

    谢谢。

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

    感谢您的支持

    我的代码中的第一行是对  CM_init()的调用; 它驻留代码  

    我验证了我是否正在从闪存运行、因为这个项目现在已经运行了很长时间。

    我查看了映射文件和 CAM、看到 MCANInt1ISR 位于 myst 驻留在 RAM 中的闪存初始化旁边。

    更进一步,我找到了以下代码行:

    CM_INIT 中

    它们是否与手头的问题有关?

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

    Inno、  

    我尝试对现有示例进行此更改、它工作正常。

    #pragma CODE_SECTION(MCANIntr1ISR, ".TI.ramfunc");
    //
    // This is Interrupt Service Routine for MCAN interrupt 1.
    //
    static void MCANIntr1ISR(void)
    {
        uint32_t intrStatus;

    您能否如上所述编辑"mCAN_ex1_loopback"示例并告知我们它是否正常工作?

    然后我们可以从那里获取它。

    谢谢。

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

    您正在从闪存或 RAM 运行示例?

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

    我正在闪存中运行示例。