Trying to get the Rabbit 6000 to run using the timerB step registers on the dev board for the RCM6700.
Example code
nodebug root interrupt void timerb_isr()
{
RdPortI(TBCSR); // clear interrupt by reading
// toggle bit PD0, flashes on dev board
WrPortI(PDDR,&PDDRShadow,PDDRShadow ^ 0x01);
ipres();
}
main(void){
// set up the PD0 on teh development board as output
BitWrPortI(PDDDR, &PDDDRShadow, 1, 0);
BitWrPortI(PDDCR, &PDDCRShadow, 0, 0);
BitWrPortI(PDFR, &PDFRShadow, 0, 0);
// install ISR routine
SetVectIntern ( 0x0B, timerb_isr ); // set ISR
// initialize Timer B and B1 step+match registers
WrPortI(TBCSR, NULL, 0x00);
WrPortI(TBSL1R, NULL, 0xFF);
WrPortI(TBSM1R, NULL, 0x00);
WrPortI(TBL1R, NULL, 0xFF);
WrPortI(TBM1R, NULL, 0x00);
WrPortI(TBCR , NULL, 0x11);
WrPortI(TBCSR, NULL, 0x03);
while(1);
}
The above causes the debugger times out.