
Hi list,
sorry for the noise!
The problem turned out to be a simple SDRAM setup problem. I had set "burst read to read/precharge delay" and "burst write to read/write/precharge delay" by 1 too low.
Don't know how I messed these values up, but these lead to all memory accesses in single-step mode and via BDM to work correctly but gave erroneous results in real program execution.
[note to self: in case of strange errors, always check memory interface. If triple-checked: check again...]
Sorry again, Wolfgang
PS: just in case anybody is interested, I am using two pieces of MT47H32M16HR-3IT on an MCF54455 with this setup:
; SDRAM init ; SDCS0: mem write 0xFC0B8110 0x40000019 ; SDCS1: mem write 0xFC0B8114 0x44000019 ; SDCFG1: mem write 0xFC0B8008 0x66311720 ; SDCFG2: mem write 0xFC0B800C 0x6A670000 ; SDCR (PALL): mem write 0xFC0B8004 0xE9062002 ; SDMR (EMode2): mem write 0xFC0B8000 0x80010000 ; SDMR (EMode3): mem write 0xFC0B8000 0xC0010000 ; SDMR (EMode) mem write 0xFC0B8000 0x40010412 ; SDMR (Mode) mem write 0xFC0B8000 0x00010333 wait 10 ; SDCR: mem write 0xFC0B8004 0xE9062C02 mem write 0xFC0B8004 0xE9062C04 mem write 0xFC0B8004 0xE9062C04 ; SDMR (MODE) mem write 0xFC0B8000 0x00010233 ; SDMR (EMODE, OCD default) mem write 0xFC0B8000 0x40010792 ; SDMR (EMODE, OCD exit) mem write 0xFC0B8000 0x40010412 ; SDCR: mem write 0xFC0B8004 0x79062C00