谢谢你的帮助,我是第一次用这个芯片,很多地方都无从着手<br /><br />我是这样设置的,先在MAIN.C中初始化了中断,再把中断服务程序放在XGATE.CXGATE文件中,并且把程序名放在了const XGATE_TableEntry XGATE_VectorTable[] 里面<br /><br />中断基本地址用的缺省植,您能不能帮我看看还需要在哪里添加什么东西<br />现在是用的XGATE中断,<br />错误提示是:目标 CPU12PIT3ISR 没有找到<br />也就是我的中断程序没找到<br /><br /><br /><br />文件:main.c中<br /><br />void SetupPIT(void) //初始化PIT<br />{<br /> PITCE = 0x0C; // Channel enable register<br /> PITMUX = 0x0C; // corresponding 16bit timer with 8bit microtimer<br /> PITMTLD1 = 0x18; // Micro timer load register 1 (1 us)<br /> PITLD2 = 0x4E20; // Load register 2 [micro timer 1 + trimer 2 = 20 ms (pri 24 MHz)]<br /> PITLD3 = 0x7530; // Load register 3 [micro timer 1 + trimer 3 = 30 ms (pri 24 MHz)]<br /> PITCNT2 = 0x0000; // Count register 0<br /> PITCNT3 = 0x0000; // Count register 0<br /> PITCFLMT = 0xE0; // enable timer<br />}<br /><br /><br />void SetupInterrupt(void) //初始化中断<br />{<br /> INT_CFADDR = 0x70;<br /> INT_CFDATA5 = 0x07;<br /> INT_XGPRIO = 0X07;<br /> <br />}<br /><br /><br />void main(void) {<br /><br /> SetupXGATE();<br /> SetupPIT();<br /> ....<br />}<br /><br /><br /><br />文件 xgate.cxgate 中<br /><br /><br /><br />interrupt void CPU12PIT3ISR( void )<br />{<br /> PITTF_PTF3 = 1;<br /><br />}<br /><br /><br />const XGATE_TableEntry XGATE_VectorTable[] = {<br /> // Channel # = Vector address / 2<br /> /* channel 0..8 are not used, first used must match macro XGATE_VECTOR_OFFSET in xgate.h */<br /> {ErrorHandler, 0x09}, // Channel 09 - Reserved<br /> {ErrorHandler, 0x0A}, // Channel 0A - Reserved<br /> {ErrorHandler, 0x0B}, // Channel 0B - Reserved<br /> ...............<br /> {(XGATE_Function)CPU12PIT3ISR, 0x3A}, // Channel 3A - Periodic Interrupt Timer <br />..............<br />}<br /><br /><br /><br /><br /><br /><br /><br /><br />
|