主题中讨论的其他器件:MSP430F5247、
工具/软件:Code Composer Studio
您好!
在 TI 提供的 MSP430FRBoot_1_00_00_00的帮助下、我正在主存储器上创建自定义引导加载程序。
但我找不到文件 TI_MSPBoot_VecRed_FR5xx.c
之前、我已经为 MSP430F5247处理了主存储器引导加载程序、当时 MSP_Boot 本身的源代码中提供了矢量重定向表。
我尝试修改可用于其他 MCU 的文件、但由于 MSP430FR5994中有37个中断、映射占用了太大的空间。 因为 MSP430FR5994中断矢量的可用大小为0x6E。
下面我共享了我已修改的文件。 但从主应用程序和引导加载程序的切换并未发生。
/*
*\file TI_MSPBoot_VecRed_FR5969.c
*
*\brief FR5969的矢量重定向表
#include "msp430.h"
#include "TI_MSPBoot_Common.h"
#include "TI_MSPBoot_AppMgr.h"
//
//链接器文件中的外部变量
//
extern uint16_t _appl_Proxy_Vector_Start[];/*应用代理表地址*/
//
//宏和定义
//
/*写入未使用向量的值*/
#define 被保留(0x3FFF)
/*! 用于计算应用程序代理表中向量地址的宏*/
#define APP_PROVACT_VECTOR (x)((uint16_t)&_appl_Prox_Vector_Start[x*2])
//
//常量表
//
/*! MSPBoot 矢量表:它是固定的、因为它不能被擦除和修改。
*指向应用程序区域中的代理矢量表*/
# ifdef __IAR_systems_ICC__
# pragma location"引导矢量表"
__root const uint16_t Vector_Table[]=
# Elif defined (_TI_Compiler_version__)
# pragma DATA_SECTION (Vector_Table、".boot_vector_table")
# pragma RETAIN (Vector_Table)
const uint16_t Vector_Table[]=
# endif
{
保留、
保留、
保留、
保留、
保留、
保留、
保留、
保留、
保留、
保留、
保留、
保留、
保留、
保留、
保留、
保留、
保留、
保留、
APP_PROXY 矢量(0)、// FFB4 = LEA_Vector
app_proxy_vector (1)、// FFB6 = port8_vector
app_proxy_vector (2)、// FFB8 = PORT7_vector
APP_PROXY 矢量(3)、// FFBA = EUSCI_B3_Vector
APP_PROXY 矢量(4)、// FFBC = EUSCI_B2_Vector
APP_PROXY 矢量(5)、// FFBE = EUSCI_B1_Vector
APP_PROXY 矢量(6)、// FFC0 = EUSCI_A3_Vector
APP_PROXY 矢量(7)、// FFC2 = EUSCI_A2_Vector
APP_PROXY 矢量(8)、// FFC4 = PORT6_vector
APP_PROXY 矢量(9)、// FFC6 = PORT5_vector
APP_PROXY 矢量(10)、// FFC8 = TIMER4_A1_Vector
app_proxy_vector (11)、// FFCA = TIMER4_A0_vector
APP_PROXY 矢量(12)、// FFCC = AES256_Vector
APP_PROXY 矢量(13)、// FFCE = RTC_C_Vector
app_proxy_vector (14)、// FFD0 = Port4_vector
app_proxy_vector (15)、// FFD2 = PORT3_vector
APP_PROXY 矢量(16)、// FFD4 = Timer3_A2 CC1、TA
APP_PROXY 矢量(17)、// FFD6 = Timer3_A2 cC0
APP_PROXY 矢量(18)、// FFD8 = P2
APP_PROXY 矢量(19)、// FFDA = TIMER2_A1_Vector
APP_PROXY 矢量(20)、// FFDC = TIMER2_A0_Vector
app_proxy_vector (21)、// FFDE = Port1_vector
APP_PROXY 矢量(22)、// FFE0 = Timer1_A1_vector
app_proxy_vector (23)、// FFE2 = Timer1_A0_vector
app_proxy_vector (24)、// FFE4 = dma_vector
APP_PROXY 矢量(25)、// FFE6 = EUSCI_A1_Vector
APP_PROXY 矢量(26)、// FFE8 = TIMER0_A1_Vector
app_proxy_vector (27)、// FFEA = TIMER0_A0_vector
APP_PROXY 矢量(28)、// FFEC = ADC12_B_Vector
APP_PROXY 矢量(29)、// FFEE = EUSCI_B0_Vector
APP_PROXY 矢量(30)、// FFF0 = EUSCI_A0_Vector
APP_PROXY 矢量(31)、// FFF2 = WDT_Vector
APP_PROXY 矢量(32)、// FFF4 = TIMER0_B1_Vector
app_proxy_vector (33)、// FFF6 = TIMER0_B0_vector
APP_PROXY 矢量(34)、// FFF8 = COMP_E_Vector
app_proxy_vector (35)、// FFFA = UNMI_vector
APP_PROXY 矢量(36)// FFFC = SYSNMI_Vector
};