Other Parts Discussed in Thread: MSP430F5529
器件型号: MSP430F5529
您好团队:
我们正在为 MSP430F5529 开发具有以下内存布局的固件升级架构:
*引导加载程序(闪存)
*应用程序(闪存)
*下载区域 (Flash)
*使用 SYSRIVECT 重定位到 RAM 的中断矢量
-**引导加载程序**位于`0xC000– 0xFFFF`—拥有真实的 CPU 矢量表`0xFF80–0xFFFF`。
-**应用程序**`0x4400–0xBEFF`—在引导加载程序跳转到它后运行、需要自己的 Timer0_A0(1ms 周期)和 USCI_A1 中断。
引导加载程序将应用程序入口指针存储在`0xBEFE`处。 每次复位时、都会进入引导加载程序 并跳转到存储在`0xBEFE`中的地址处的应用程序。
我们使用** SYSRIVECT**(SYSCTL 寄存器)
启用后、CPU 从**RAM (0x2400)**而非闪存获取中断矢量
###实现详细信息
1.引导加载程序和应用程序是作为**单独的项目**构建的
2.两种:
*配置计时器和 UART 外设。
*启用中断。
3、应用:
*对 ISR 使用`#pragma vector`
*放置在**应用程序闪存 (~0xBE80)**中的矢量表
禁用`__ enable_interrupt ()`确认应用程序运行但没有勾号;启用它会导致崩溃。
这表明一些中断在`0xEECE`处触发到引导加载程序的默认存根、从而执行并停止 CPU。
当引导加载程序保留实数矢量表` 0xFF80–0xFFFF `时、需要指导如何在应用程序中使用中断、或者应用程序拥有自己的中断的工作方法是什么?
如果您需要更多意见、敬请告知。