MSP430FR6047: IAP跳转APP以及升级问题

Part Number: MSP430FR6047
Other Parts Discussed in Thread: MSP430FR5969

我现在在实现MSP430FR6047的APP和IAP程序,由于硬件和与以前产品兼容的问题,我无法使用BSL的方式进行升级,故我需要将FRAM拆分成IAP和APP两部分进行实现。我将0X4000-0X7FFF作为IAP区间,IAP的xcl文件我将中断部分修改成了如下代码

-Z(CONST)JTAGSIGNATURE=FF80-FF83
-Z(CONST)BSLSIGNATURE=FF84-FF87
-Z(CONST)IPESIGNATURE=FF88-FF8F
-Z(CODE)INTVEC=FF90-FFFF
-Z(CODE)RESET=FFFE-FFFF
。而APP我将0x8000-0x43fff作为APP区域,其xcl的中断部分我修改为了如下代码
-Z(CONST)JTAGSIGNATURE=FE80-FE83
-Z(CONST)BSLSIGNATURE=FE84-FE87
-Z(CONST)IPESIGNATURE=FE88-FE8F
-Z(CODE)INTVEC=FE90-FEFF
-Z(CODE)RESET=FEFE-FEFF
。然后在IAP跳转至APP时做出如下处理
void jump_app(void)
{
    __disable_interrupt();
    WDTCTL = WDTPW | WDTHOLD;  // 关闭看门狗
    memcpy((uint8_t*)0xFF00, (uint8_t*)0xFF80, 0x80);  // 保存iap的中断向量
    memcpy((uint8_t*)0xFF80, (uint8_t*)0xFE80, 0x80);  // 拷贝app的中断向量
    PMM_trigBOR();  // 触发软复位
}
。APP跳转回IAP时做如下处理
__disable_interrupt();
WDTCTL = WDTPW | WDTHOLD;  // 关闭看门狗
memcpy((uint8_t*)0xFF80, (uint8_t*)0xFF00, 0x80);  // 还原IAP的中断向量
PMM_trigBOR();  // 软件复位
。通过这种方式我实现了预期的IAP到APP以及APP到IAP的跳转,并能够通过我的预期进行升级,但是我升级后我发现我的串口无法工作了