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.

[参考译文] MSP430FR6047:将中断矢量重定向至 RAM

Guru**** 2547550 points


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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/847014/msp430fr6047-redirect-interrupt-vector-to-ram

器件型号:MSP430FR6047

您好!

我尝试将中断矢量(IV)重定向到 RAM、也可以将 FRAM 的其他部分重定向到 RAM。

要移到 RAM、我设置 SYSRIVECT = 1、并将链接器文件上的 IV 重定向到方向 0x1C00至 0x1C6F、其中包括复位、但它不起作用。

如果我尝试将 IV 移动到 FRAM 上的任何其他位置、它也不起作用。

我正在尝试对定制引导程序进行编程、如 SLAA721B 所示、它需要重定向应用程序 IV

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

    您好!

    我将与一位工程师联系、他可以为您的查询提供支持。 请让他们花几天时间来研究这一点并作出回应。

    此致、

    Matt

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

    您好!

    周三再回来。 似乎您遇到了一个有趣的问题...

    (将尝试对其进行编码)...

    祝你度过美好的一天

                Johann

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

    您好 Johann、

    一些更新:

    我将重定向的 IV 寻址更改为 0x2B90 - 0x2BFE、但无法正常工作。

    我还尝试使用 链接器文件原样设置 SYSRIVECT = 1、将 IV 设置为0xFF90到0xFFFE、复位矢量似乎可以工作、但其他中断不会。

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

    另一件事:

    我要尝试使用自定义引导加载程序、我认为最好的方法是将 IV 重定向到 FRAM、从 0xEF90重定向到 0xEFFF。

    因为我不能这样做、所以我尝试将 IV 重定向到 RAM、但也不起作用。

    那么、真正的问题是  

    如何将 IV 重定向到内存中的另一个空间?

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

    您好!

    您对此有什么新闻吗?

    谢谢。

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

    大家好、我想引导加载程序正是您想要构建的。 这就是使该问题变得有趣的原因。 我刚刚收到另一个 EVM、我将在该 EVM 上进行编码。 我所使用的其他 EVM 与其他项目相关联;因此、这种延迟... 将于今天晚些时候开始...

    感谢您的耐心等待

      Johann

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

    谢谢 Johann、我将等待您的回复。

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

    您好、再说一次、

    该主题似乎比一般的 E2E 项目更大、更耗时...

    因此、我更愿意以不同的方式来讨论这个主题...  

    "Fglaria"请通过 E2E 工具请求友谊、我将接受、我们可以继续...

    我现在要关闭这个线程。

    对于其他感兴趣的人:有关此主题的工作将继续...

    一旦我们获得了适合 E2E 格式的解决方案、我们将打开一个新的线程来显示该解决方案。

    敬请期待、感谢您的耐心等待。

      Johann

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

    您似乎在尝试执行无法执行的操作:让链接器将向量放置在其他位置。 复位时、矢量必须位于固定位置、或者至少复位矢量具有此功能。 在任何情况下、CPU 都不会查看该其他位置、直到您通过 SYSIVECT 启用它。 这就是我处理 RAM 矢量的方式:

    ; 将中断矢量复制到 RAM 顶部。 只有32个
    ; 矢量是复制的、因为它涵盖了 FR5969。
    MOV #32、R15
    MOV 0xffffff,R13
    MOV #(__stack-2)、r14
    vec_loop:
    MOV @r13、0 (r14)
    Decd R13.
    第14代
    十进制 R15.
    Jnz VEC_LOOP
    之二 #SYSRIVECT、&SYSCTL;启用 RAM 矢量
    

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

    您好 Johann、

    我已发送请求。