> Silver wrote:
> the test program frequently halt during the reading operation.
When you say "Halt", what do you mean" Is the CPU is a real "halt state" or does your program stop printing on a serial port or something?
> sometimes increase the VCC to 3.3V also make the test program continue running.
Is that a "real continues" or does it restart? I assume you mean it really continues, like it has been solidly stalled.
If you have a watchdog (as stated), then have you disabled it for this test? Otherwise, if it isn't resetting the CPU then something is keeping the watchdog from biting.
> Does the waveform in above figure violate the timing specification
> of MCF5482 SDRAM controller timing specification?
Ditch the analyser and use a good oscilloscope. That may show you signal problems the analyser is hiding. Especially if changing the drive strength changes the result.
I've just had horrible signal problems with SDRAM on the MCF5329.
Are ALL your signals (all control and data and address lines) terminated? If not you may be getting bad overshoots and undershoots. Are you running on a development board or your own one?
> What cause my test program halts during reading operation of SDRAM?
Any number of things. Running code in FLASH as you are doing is a good idea. Running the program in the 32k of internal
SRAM is a better idea. It can't get corrupted if something goes wrong on the external data bus/
Are you running under a debugger? If so, put breakpoints everywhere, on every interrupt. If not,
add interrupt routines for all possible interrupts and have it print out where it is if they trigger.
> What status of MCF5482 is when it halts the test program
> and does not response to GPT timer interrupt?
A real halt. Any interrupt that raises the IPL above your test program. All error interrupts set the IPL to 7. Access to an address that doesn't have anything there to respond. Does that cpu have a "Bus Monitor Timer"? This used to be common in the 68000 days, but these newer parts (53xx) omit this very useful feature.
If the SDRAM controller isn't responding (true lockup) then there's probably no timer to get you out of this. There's none on the MCF5329 that I'm using. It is possible that the controller locks up if it doesn't get DQS returned from the SDRAM. Check that signal (check both or all 4 of them).