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.

[参考译文] TMS320F28377S:与到存储器的中断矢量表映射相关的问题、例如器件支持 f2837xS 文件夹中的 EPWM_UP_AQ

Guru**** 2563760 points
Other Parts Discussed in Thread: C2000WARE, CONTROLSUITE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/639852/tms320f28377s-issue-related-to-interrupt-vector-table-mapping-to-the-memory-in-example-epwm_up_aq-in-device-support-f2837xs-folder

器件型号:TMS320F28377S
Thread 中讨论的其他器件:C2000WAREcontrolSUITE

大家好

我叫 Thilesh de Silva fom Sri Lanka。 我正在开发一个在 LAUNCHXL-F28377S 中运行的代码。 目前、我正在研究 C2000Ware 中提供的示例代码之一。 它是 f2837xS 文件夹中的 ePWM_UP_AQ。 我不理解该代码中的几个方面、请帮我

1. F2837xS_pievect.h 中的关键字 PINT 是什么意思,PIE_VECT_TABLE 结构的用途是什么?

如何将中断服务例程链接到中断矢量表?

3.我在项目文件中找不到 memcopy 函数,所以将此矢量表复制到内存时会用到什么?

非常感谢

Rgds、

Thilesh  

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

    [引述]

    1. F2837xS_pievect.h 中的关键字 PINT 是什么意思,PIE_VECT_TABLE 结构的用途是什么?[/ quot]

    您好 Thilesh、

    PINT 是 函数指针的 typedef、声明为 PIE_VECT_table 结构的成员变量。 这意味着 PIE_vect_table 结构成员变量是 ISR 的指针。

    在 F2837xS_GlobalVariableDefs.c 中定义了此结构的一个实例、该实例是在数据存储器中分配的中断矢量表

    谢谢

    Vasudha

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

    [引述]

    如何将中断服务例程链接到中断矢量表?

    3.我在项目文件中找不到 memcopy 函数,所以将此矢量表复制到内存时会用到什么?

    [/报价]

    在示例中,InitPieVectTable()通过 将中断矢量表指向默认 ISR,将其初始化为已知状态。 然后可以将中断矢量表重新映射到用户定义的 ISR。 例如 、PieVectTable.EPWM1_INT =&epwm1_ISR;

    谢谢
    Vasudha



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

    你好 Vasudha

    感谢您的回复。 我在另一个项目"C:\ti\controlSUITE\development_kits\HVMotorCtrl+PfcKit_v2.0\HVACI_Scalar"中发现、在 GlobalVariableDefs.c 中会出现相同类型的结构、但 HVACI_Scalar.c 仍包含一个 memcopy 函数。 那么、如果矢量表由 GlobalVariableDefs.c 中的结构实例分配、那么该函数的用途是什么、并且根据我的理解、我可以在默认 ISR 函数内写入 ISR 主体、并从主函数外部调用它。 是这样吗? 谢谢你

    Rgds、
    Thilesh

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

    [引用 user="Thilesh de Silva"] HVACI_Scalar.c 仍包含 memcopy 函数

    您好 Thilesh、

    示例中的 memcopy 函数用于在闪存中加载代码的闪存项目。 由于 ISR 代码(例如 MainISR、OffsetISR)是时间关键型代码、因此它使用 memcopy 复制到 RAM。 稍后、这些 ISR 将映射到矢量表。例如 PieVectTable.EPWM1_INT = MainISR;

    谢谢
    Vasudha

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

    你好 Vasudha

    感谢您的解释。 我理解 memcopy 函数的要点、即他使用默认 ISF、而不是定义我自己的 ISF

    Rgds、
    Thilesh

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的、我认为您可以编辑并使用默认 ISR。

    谢谢
    Vasudha