主题中讨论的其他器件:MSP430FR2476、
我们正在编写自己的引导加载程序、以确保我们能够控制器件。 我们正面临一个问题、想知道您是否可以查看以下内容;
加电后执行引导加载程序。
其中断向量从 FRAM (0xFF80–0xFFFF)复制到 RAM 顶部(0x2F80–0x2FFF)
堆栈指针将从0x2F7F 开始、因此它不会干扰 RAM int vect。
之后、我们通过设置将中断矢量重定位到 RAM:
/*使用 ram interupt 向量*/
SYSCTL |= SYSRIVECT;
现在、唯一已启用的中断是 UART 中断。
我们的问题是、一旦触发中断(我们接收到一个字节)、程序就会进入林中并由于看门狗而复位。
如果我们不重新定位到 RAM VECT、程序工作正常、但在加载应用程序并将其中断矢量更改为 RAM 顶部时、我们仍然遇到相同的问题。
下面是有趣的事情:
如果我们使用开发板(带有 MSP430FR2476芯片),并将中断矢量重新定位到 RAM 的顶部(0x3F80–0x3FFF),它就可以正常工作! 堆栈指针仍在0x2F7F 中工作。
对于此设计、引导加载程序工作完美、应用程序加载并正确执行。
MSP430FR2475中是否存在异常、或者 RAM 中断矢量是否位于另一个位置?