几周以来、我们注意到单个较新的 DSP 出现了非常奇怪的错误行为。 虽然我们没有对软件 或硬件进行任何更改、但这些错误仅在最近几周发生。
到目前为止,我们注意到的是,当 进入缺省 ISR 时,据称的坏 DSP 显示不同的 intVect 和 thisVect 值(请见示例代码)。 我们认为 DSP 跳转到错误的 ISR。 这 种奇怪的行为可能会导致什么?e2e.ti.com/.../DEFAULT_5F00_ISR.c
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.
几周以来、我们注意到单个较新的 DSP 出现了非常奇怪的错误行为。 虽然我们没有对软件 或硬件进行任何更改、但这些错误仅在最近几周发生。
到目前为止,我们注意到的是,当 进入缺省 ISR 时,据称的坏 DSP 显示不同的 intVect 和 thisVect 值(请见示例代码)。 我们认为 DSP 跳转到错误的 ISR。 这 种奇怪的行为可能会导致什么?e2e.ti.com/.../DEFAULT_5F00_ISR.c
尊敬的 Christian:
感谢您的提问。 代码中是否碰巧有任何中断嵌套(看起来它可能来自第7行上的 PIECTRL 读取)? 如 器件勘误表中所述、在嵌套时必须小心以避免寄生中断:

还有以下注意事项:

对于这个、基本上必须仔细考虑执行 PIEACK 或 PIEIER 设置/清除时的操作顺序。
有关嵌套预防措施的详细信息也在本指南中:
https://software-dl.ti.com/C2000/docs/c28x_interrupt_nesting/html/index.html
根据您的描述、假设嵌套在实际代码中被启用(这里没有 EINT、所以我不确定它是否启用)、那么有可能在第8行和第10行之间触发另一个中断(在两次读取之间)、并且这可能是您正在读取的另一个 ISR。
这可能是一个间歇性问题、因此您只能在一台设备上偶尔看到它。 但是、如果在该器件上频繁发生、则可能不是嵌套问题。
此致、
Vince