I suspect that if you add a NOP after the LDMIA
instruction so that the LDMIA is in the decode stage
before you kick off the restart then you will get the
expected results.
It appears that the core isn't going back up to full
speed and when you think you are reading out the value
of the registers with a STM instruction, you are
actually getting your NOPs (the 0xE1A00000 values in
R1-R8 are the MOV R0,R0 instruction) thrown back at
you. You probably aren't clocking out the registers
from the STM instruction but instead you are clocking
in the data for the LDMIA so the NOPs are staying on
the data bus when you come back around to read them
since the core thinks it is reading from the data bus
and not writing to it.
Shouldn't you be expecting 0xa0000020 back in R0 and
not 0x40000020?
--- krisgorn <kryniok@...> wrote:
> When I run code:
>
> Put in R0 Addr = 0xA0000000 (R0 writing OK)
>
> NOP bit33=0
> NOP bit33=1
> LDMIA R0!, {R1-R8} bit33=0
> RESTART
> INTEST
> NOP bit33=0
>
> I've get:
>
> R0: 0x40000060
> R1-R8: 0XE1A00000
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.comMessage
Re: [lpc2000] Re: Debug JTAG - SCAN_N
2006-04-06 by Stanley Frederickson
Attachments
- No local attachments were found for this message.