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.

重定义中断向量表,中断不响应的问题。求解答~谢谢~~

各位TI的大神好,我用的是5438A。

1. 我在 5C00 - FFFF 的flash 空间内存在 两段程序(修改了.xcl 文件)。

2. 其中 程序一(应用程序) 占有 5C00 - DF7F ,占有虚拟中断为 DF80 - DFFF(重定义中断向量表)

3. 再次 程序二(引导程序) 占有 E000 - FF7F , 占有真实中断 FF80  - FFFF,在程序二中虚拟中断向量表(DF80 - DFFF)表给程序一。

4. 两端程序 均使用了 串口中断。程序执行顺序是 : 上电先执行程序二,一段时间后跳入程序一。

5. 程序二中 重定义的中断向量(下面为串口中断)

#pragma vector=114

__interrupt void intec_57(void) // USCI_A0_ISR

{   if(满足跳转条件){ asm ("br &0xDFF2;"); }

.......

.......// 程序二串口中断程序 

}

6 程序一 串口中断

#pragma vector=USCI_A0_VECTOR

__interrupt void USCI_A0_ISR(void)

{ .......

.........// 程序一串口中断程序

 }

 

现在只知道程序二的串口中断没有问题,但是在进入程序一后,发现串口中断未响应。

1 为什么进入到程序一后,中断没有实现跳转,想知道到底 是哪里的  逻辑 出了问题。 

2. 对于串口升级  重定义 向量表 这一块儿  网上说的都很模糊,一笔带过,问题是应用程序根本没进去中断!