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.

[参考译文] TMS320F2.8035万:PIE中断函数名称是否需要更改?

Guru**** 2589245 points
Other Parts Discussed in Thread: CONTROLSUITE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/659269/tms320f28035-pie-interrupt-funtion-name-need-change

部件号:TMS320F2.8035万
主题:controlSUITE中讨论的其他部件

我将3.3 与DSP/BIOS 5.41 .2.14 一起使用,并且在我的项目中使用了一些PIE中断,问题使我困惑的是我不能使用默认PIE中断函数名称,  

我需要更改名称,否则系统在开机时会崩溃。 以 ADCINT1_ISR()为例。

在.tcf PIE_INT1_1配置中,函数是 _ADCINT1_ISR,并且在 DSP2803x_DefaultIsr.c中选择了“使用调度器”,函数如下所示:

作废ADCINT1_ISR(void)

}

然后构建项目并对闪存进行编程,打开电源后,系统完全异常运行。

但是,如果我更改.tcf和 DSP2803x_DefaultIsr.c中的功能名称,例如,更改为 ADCINT1_ISR0,则系统运行平稳。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您不需要为HWI功能使用下划线'_'。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    但如果我在HWI函数中取消前缀'_',则会产生错误。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    抱歉,我有点困惑。 您是否可以列出.tcf和源代码,以便工作和不工作? 您的最后一个帖子似乎与第一个帖子相矛盾。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    请参阅随附的文件,谢谢you.e2e.ti.com/.../working.7ze2e.ti.com/.../NOT-working.7z

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    在非工作情况下,您可以查看映射文件吗? 它是否从controlSUITE引入ADCINT2_ISR?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    是的,可以看到映射文件,项目构建过程没有问题。“它是否从 controlSUITE中提取ADCINT2_ISR?”的含义是什么?

    谢谢你。

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

    我已将ADCINT2_ISR0放置在tsk.c.中 当我在地图文件中查看时,我会看到这一点

    文本00000962c 0万d0
    0.0962万c 0.0028万 tsk.obj (.text)

    ...
    00000962c _ADCINT2_ISR0

    所以我知道我提供的是功能。

    您是否也在使用controlSUITE? 它具有ADCINT2_ISR函数(不执行任何操作)。 当您构建时,您是否正在使用该功能? 您可以在mapfile中查看函数来自哪个源文件。

    托德

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

    在我的项目ADCINT2_ISR中,映射文件位于DSP2803x_DefaultIsr.c中:

    文本     0003   003e85b300003555        
                     003e85b300000   a26........   对象(.text)
                     003e8fd900000793   ..........   对象(.text)
                     003e976c   0.0005万a8  .......... 对象(.text)
                     003e9d140000052   c  .......... 对象(.text)
                     003ea2.4亿   d9  .......... 对象(.text)
                     003ea7.19亿   dd  .......... 对象(.text)
                     003eaaf600.0003万   ae    DSP2803x_DefaultIsr.obj (.text)
                     003ea400000317     .......... 对象(.text)

    003eab5a  _ADCINT2_ISR

    在地图文件中似乎未发现故障。

    DSP2803x_DefaultIsr.c来自controlSUITE,我只做了一些修改,

    对于 ADCINT2_ISR,只需删除中断关键字,然后插入我的代码:

    作废ADCINT2_ISR(void)

     PieCtrlRegs.PIEACG.ALL = PIEACK_GROUP1;  

     AdcRegs.ADCINTFLGCLL.bit.ADCINT2 = 1;

     ADC_CALC();  

    }

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您在哪里更改了ADCINT2_ISR代码? 在controlSUITE中或是否将其保存在不同的文件中。 是否可以在ADCINT2_ISR函数中设置断点? 但不要打开任何文件。 相反,在CCS中打开反汇编窗口,并在其中输入ADCINT2_ISR。 然后在第一个ASM指令上设置断点。 运行。 遇到断点时打开的文件。 装配体是否与C文件匹配?

    托德