Timer interrupt functions (sa1100.c)
void TimerSetup( unsigned timerSel, unsigned cnt ) {
struct os_timer_regs *OSTimerRegs = (struct os_timer_regs*)OSMR_0;
DisableTimerIRQ( IRQ_OSTIMER0+timerSel );
OSTimerRegs->oscr = 0; // initialize timer counter register
OSTimerRegs->osmr[timerSel] = cnt; // set timer max count
OSTimerRegs->oier |= 1 << timerSel; // unmask timer irq
OSTimerRegs->ossr = 1 << timerSel; // reset interrupt source
EnableTimerIRQ( IRQ_OSTIMER0+timerSel );
void initTimer( unsigned timerSel, unsigned us ) {
TimerSetup( timerSel, 0x24*us );
void EnableTimerIRQ( unsigned timerSel ) {
SetIrqLevel( timerSel, FALSE );
void DisableTimerIRQ( unsigned timerSel ) {