在线时间0 小时
UID2075430
注册时间2014-2-25
NXP金币0
该用户从未签到
新手上路

- 积分
- 37
- 最后登录
- 1970-1-1
|
Dear all,
问题点:
我现在在做基于MC9S08DZ60的CAN bootloader程序,因为bootloader占用的flash地址是从0xF400-0xFFFF,所以我想把用户中断向量从默认的0xFFC0-0xFFFF重定向到0xF3C0-0xF3FF。MC9S08DZ60 datasheet上面说只要给@0xFFBF第7位写0 and @0xFFBD设置0xF400-0xFFFF保护,中断向量就会重定向到0xF3C0-0xF3FF,我增加代码如下:
const unsigned char NVOPT_INIT @0xFFBF = 0x02; // vector redirect, flash unsecure
const unsigned char NVPROT_INIT @0x0000FFBD = 0xFA; // 0xFC00-0xFFFF are protected= 0x02; // vector redirect, flash unsecure
extern interrupt void Dummy_ISR();
extern interrupt void TPM2_10ms ();
// redirect vector 0xFFC0-0xFFFD to 0xFBC0-0xFBFD
void (* volatile const _Usr_Vector[])()@0xF3C0= {
TPM2_10ms, // Int.no.31 RTC (at F3C0) (at FFC4)
Dummy_ISR, // Int.no.30 RTC (at F3C2) (at FFC4)
Dummy_ISR, // Int.no.29 RTC (at F3C4) (at FFC4)
Dummy_ISR, // Int.no.28 IIC (at F3C6) (at FFC6)
Dummy_ISR, // Int.no.27 ACMP (at F3C8) (at FFC8)
Dummy_ISR, // Int.no.26 ADC (at F3CA) (at FFCA)
Dummy_ISR, // Int.no.25 KBI (at F3CC) (at FFCC)
Dummy_ISR, // Int.no.24 SCI2 Transmit (at F3CE) (at FFCE)
Dummy_ISR, // Int.no.23 SCI2 Receive (at F3D0) (at FFD0)
Dummy_ISR, // Int.no.22 SCI2 Error (at F3D2) (at FFD2)
Dummy_ISR, // Int.no.21 SCI1 Transmit (at F3D4) (at FFD4)
Dummy_ISR, // Int.no.20 SCI1 Receive (at F3D6) (at FFD6)
Dummy_ISR, // Int.no.19 SCI1 error (at F3D8) (at FFD8)
Dummy_ISR, // Int.no.18 TPM2 Overflow (at F3DA) (at FFDA)
Dummy_ISR, // Int.no.17 TPM2 CH1 (at F3DC) (at FFDC)
Dummy_ISR, // Int.no.16 TPM2 CH0 (at F3DE) (at FFDE)
Dummy_ISR, // Int.no.15 TPM1 Overflow (at F3E0) (at FFE0)
TPM2_10ms, // Int.no.14 TPM1 CH5 (at F3E2) (at FFE2)
Dummy_ISR, // Int.no.13 TPM1 CH4 (at F3E4) (at FFE4)
Dummy_ISR, // Int.no.12 TPM1 CH3 (at F3E6) (at FFE6)
Dummy_ISR, // Int.no.11 TPM1 CH2 (at F3E8) (at FFE8)
Dummy_ISR, // Int.no.10 TPM1 CH1 (at F3EA) (at FFEA)
Dummy_ISR, // Int.no.9 TPM1 CH0 (at F3EC) (at FFEC)
Dummy_ISR, // Int.no.8 Reserved (at F3EE) (at FFEE)
Dummy_ISR, // Int.no.7 USB Statue (at F3F0) (at FFF0)
Dummy_ISR, // Int.no.6 SPI2 (at F3F2) (at FFF2)
Dummy_ISR, // Int.no.5 SPI1 (at F3F4) (at FFF4)
Dummy_ISR, // Int.no.4 Loss of lock (at F3F6) (at FFF6)
Dummy_ISR, // Int.no.3 LVI (at F3F8) (at FFF8)
Dummy_ISR, // Int.no.2 IRQ (at F3FA) (at FFFA)
Dummy_ISR, // Int.no.1 SWI (at F3FC) (at FFFC)
};
interrupt void TPM2_10ms(){
PTDD_PTDD2=!PTDD_PTDD2;
TPM2SC_TOF=0;
// PTDD_PTDD0=!PTDD_PTDD0;
PTDD_PTDD3=!PTDD_PTDD3;
}
interrupt void Dummy_ISR(){
}
//#pragma CODE_SEG DEFAULT
生成的S19文件中,中断向量是被重定向到0xF3C0-0xF3FD了,但是程序进不了中断服务程序
请高手指点下我的问题出在哪?
thanks for your help。
|
|
|