Hi,
I'm having issues with the DTIMER interrupt not occurring as frequently as it should. The DMTIMER examples look like the ISR should be occuring approx every .7 seconds but it is more like 2-3 seconds. I wrote a piece of assembly to read the CNTFRQ register as documented on page 1532 of the ARM® Architecture Reference Manual:
To access CNTFRQ, software reads or writes the CP15 registers with <opc1> set to 0, <CRn> set to c14, <CRm> set to
c0, and <opc2> set to 0. For example:
MRC p15, 0, <Rt>, c14, c0, 0 ; Read CNTFRQ into Rt
So when I try to execute the instruction below I end up at an abort vector even though the ARM is executing in Supervisor mode:
MRC P15, #0, R0, C14, C0, #0
Error:
00000000 ANDEQ R0, R0, R0
4030fc00: E59FF018 LDR PC, 0x4030FC20
4030fc04: E59FF018 LDR PC, 0x4030FC24 <-----------------End up here
4030fc08: E59FF018 LDR PC, 0x4030FC28
4030fc0c: E59FF018 LDR PC, 0x4030FC2C
4030fc10: E59FF014 LDR PC, 0x4030FC2C
4030fc14: E24FF008 SUB PC, PC, #8
4030fc18: E59FF010 LDR PC, 0x4030FC30
4030fc1c: E59FF010 LDR PC, 0x4030FC34
Does StarterWare have any examples of trying to read the CNTFRQ register so I can verify the system clock frequency?
Thanks....