04-28-2012 12:39 AM
i'm doing a Xps Central DMA test in EDK. The system I bulid includes PPC440,DDR2,Xps Central DMA,BRAM,Uart and so on.
It works quit well when I set the software application start address to be 0XFFFF0000,which is the BASE Address of the BRAM.However, the hyperterminal shows nothing when I start the application from DDR2 instead of BRAM .I already changed the sections and stack by using Generate Linker Script.
It would be very helpful if you guys give me a hint.
04-28-2012 11:16 AM
You might have better luck debugging the problem if you first run an extended test
of the DDR2 memory using a program running in BRAM. This helps to determine whether
this is a memory hardware problem or a software issue.
One common problem when using external memory for software is caching. If your
bootloader doesn't clear cache before jumping into the external memory, you can
04-30-2012 11:45 PM
05-01-2012 01:15 PM
You didn't mention the "failed to stop" problem. That may be a reset issue. Just to be clear,
when you have a working system (in BRAM), can you use the debugger to download and
run code in the DDR2 memory? This is different from the bootloader, which would load the
code from your attached flash memory instead of using JTAG to download it. If that works,
but running from flash using the bootloader doesn't, then I would suspect the bootloader.
Otherwise you may still have an issue with DDR2 memory. Running code from an external
memory can place a lot more stress on it than a typical memory test. Also note that some
smaller memory tests (like ones you might get by default when you build the system in XPS)
could fit into cache and not really test the memory operation at all.