--- In lpc2000@yahoogroups.com, "conhalk" <conhalk@y...> wrote:
> I am using the lpc2138, and I have wrote a program which includes
> reading port0.16-24 pins at a 10 Mhz sampling rate:
[...]
> ON THE KEIL ARM SIMULATOR (60 MHZ) THE ROUTINE SAMPLES AT 10 Mhz.
>
> ON THE REAL CHIP (60 MHZ) THE ROUTINE SAMPLES AT 5,5 Mhz ! ( I
> specify the function to be copied to ram)
>
> Meanwhile, I use an output compare timer on a pin, and it works at
> 10 Mhz both on the simulator and the chip (checked on a scope)!
>
> The simulator shows the lDRB, STRB need 2,3 and the nop 1 cycle,
> hence rate = 60 / (3+2+1) = 10Mhz
>
> I guess LDRB, STRB actually take double time. If it is so, does
> anybody know why? Is there any way around this?
The Keil simulator doesn't know about the waitstates that the MAM and
AHB-to-VPB bridge add. The simulator is not useful for simulating
the timing of code involving jumps in flash and loads/stores to VPB
peripherals.
See also http://groups.yahoo.com/group/lpc2000/message/7808
> Unfortunately I must use the 2138, and it has no external bus. Is
> it possible to achieve 10 Mhz sampling with this chip?
I don't think so. It would with the new LPC214x or LPC210{1,2,3}.
Karl OlsenMessage
Re: Different execution speed between simulator and chip (LDRB, STRB instructions).
2005-09-26 by Karl Olsen
Attachments
- No local attachments were found for this message.