在线时间8 小时
UID2006940
注册时间2013-5-3
NXP金币0
该用户从未签到
中级会员
 
- 积分
- 472
- 最后登录
- 1970-1-1
|
发表于 2014-9-25 14:16:21
|
显示全部楼层
bootloader程序里的中断向量仍然是从地址 0x00000000开始的,请看bootloader工程(AN4759SW.zip)里面的link command 文件。 bootloader结束时,直接跳转到用户程序的入口地址, 入口地址存放在program falsh 的地址0x1F3FD–0x1F3FE中。
bootloader中的快速中断是在函数_EntryPoint()中设置的,见下面的代码。中断函数的入口地址在寄存其中设置,不从中断矢量表进入。
/* Fast interrupt 0 setting */
setReg(INTC_FIM0, 0x33); /* Vector number for fast interrupt 0 */
setReg(INTC_FIVAL0, (volatile dword)fisr_sci_rx_full); /* Low address of interrupt routine */
setReg(INTC_FIVAH0, ((volatile dword)fisr_sci_rx_full >> 16U) & 0xFFFFU); /* High address of interrupt routine */
/* Fast interrupt 1 setting */
setReg(INTC_FIM1, 0x34); /* Vector number for fast interrupt 1 */
setReg(INTC_FIVAL1, (volatile dword)fisr_sci_rx_full); /* Low address of interrupt routine */
setReg(INTC_FIVAH1, ((volatile dword)fisr_sci_rx_full >> 16U) & 0xFFFFU); /* High address of interrupt routine */ |
|