Repetitive Interrupt Timer RIT

16 Jul 2010

Why is it when trying to access any of the RIT registers the Mbed crashes?

Here's a test:-

#include "mbed.h"

DigitalOut myled(LED1);
Serial pc(USBTX, USBRX);

int main() {

    printf("Before\r\n");

    printf("  RICOMPVAL = %x\r\n", LPC_RIT->RICOMPVAL);
    
    // Never gets here, Mbed "crashes".    
    printf("After\r\n");
    
    while(1) {
        myled = 1;
        wait(0.2);
        myled = 0;
        wait(0.2);
    }
}

Tried looking at the user manual but can't find any "system restrictions" on accessing teh APB1 bus for that defined memory region. Am I missing something?

And why is there no mention of the System Tick Timer SST in LPC17xx.h ? Is that timer also a problem/out of bounds?

17 Jul 2010

Ah....

#define OR_PCONP_RIT_ON 0x00010000

LPC_SC->PCONP |= OR_PCONP_RIT_ON; // Switch it on.