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.

[参考译文] MSP设备上的中断矢量表生成

Guru**** 2535750 points
Other Parts Discussed in Thread: MSP430G2744, MSP430F5528

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/576867/interrupt-vector-table-generation-on-msp-devices

主题中讨论的其他部件:MSP430G2744MSP430F5528

尊敬的TI团队:

´m,我正在为MSP430G2744 MCU编写自定义引导加载程序。 ´m完这些任务后,我将开始将引导加载程序移植到MSP430F5528 MCU。

我对这些设备上的链接过程有几个问题。 CCS版本是5.5 ,当前编译器版本是TI 4.2 v.1

首先,我需要在运行时复制Vector Table。 在使用SBW刷新设备时,是否可以使此步骤自动执行? 我希望链接程序在特定位置生成第二个表。  我的第一次尝试只是创建副本的第二个部分,并将该表写入两个位置。 但第二个位置不会被写入,并保持初始闪存值0xFF

链接器命令文件的一部分:

vect_table :{}> vector_table

vect_table :{}> vector_table_copy

我的第二个问题是关于F5xx器件和MSP430X架构中的矢量表。 指定代码的大内存模型时,中断处理程序链接在哪里? 例如,20位宽度指针

是否保证中断处理程序始终由于硬件限制而链接到较低65K区域? 如果不是,如果将某些处理程序放在较高内存中,而将其他处理程序放在较低区域中,硬件如何处理该问题?

在链接程序命令文件中将.text:_isr重定位到FLASH2似乎不会在链接过程中抛出任何错误,

但老实说,我没有使用此修改来运行程序:

text:_isr :{}> FLASH2.        /* ISR代码空间           */

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我使用加密功能定制了2xx UART BSL。 我使用AES制作了F55xx CDC BSL。 2xx和5xx是不同的动物,我没有找到任何理由从一个动物移植到另一个动物。 5xx/6xx BSL位于闪存中,无需通过向量表重定位使简单的事情变得更加复杂。