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.

[参考译文] MSP430FR2476:结合引导加载程序和应用程序、启用中断时应进行应用程序复位

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1282789/msp430fr2476-combine-bootloader-and-application-aplication-resets-when-enabling-interrupts

器件型号:MSP430FR2476

大家好!

我遇到了此帖子中所述的类似问题 https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/840308/msp430fr5994-combine-bootloader-and-application-interrupts-not-working

我使用 MSP430FRBoot_linkergen 为应用程序和引导加载程序生成了一个链接器文件、构建了应用程序、并组合了引导加载程序和应用程序 ti .txt 文件。 刷写此文件后、引导加载程序启动、当它只是一个 blink_led 应用程序时、似乎可以正常工作、但当我使用另一个更复杂的应用程序时、器件会冻结和复位

它看起来在应用程序中启用中断时器件会复位(__enable_interrupt ();)

为了确保这一点、我应该为引导应用程序上的每个中断矢量声明#pragma 吗?  我觉得 ISR 矢量并未位于存储器中的正确位置、但在检查.map 之后、它们也未位于正确位置

导致此问题的可能原因是什么以及如何解决?

提前感谢

此致

艾伯特

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

    请确保将应用中断表放在何处。 如果您直接复制、则应放在0xFFFE 之后。

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

    我的错误是未仔细检查 APP_RESET_VECTOR 的地址

    正如我提到过的@、INT_Vector_table 直接位于 μ s FFFE 的前面

    检查该函数以供将来参考

      

    非常感谢。

    艾伯特