cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Visitor
Visitor
4,296 Views
Registered: ‎04-28-2012

Software application can not work in ddr2

hi everyone

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.

thank u

 

sheldon

 

0 Kudos
3 Replies
Highlighted
Professor
Professor
4,286 Views
Registered: ‎08-14-2007

Re: Software application can not work in ddr2

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

have problems.

 

-- Gabor

-- Gabor
0 Kudos
Highlighted
Visitor
Visitor
4,265 Views
Registered: ‎04-28-2012

Re: Software application can not work in ddr2

hi Gabor



I've done the memory test application successfully. So I think it should be a software issue.



About what you said "If your bootloader doesn't clear cache before jumping into the external memory, you can have problems." I do not understand that well. The bootloader that I use is the default one(ppc440_0_bootloop). Is there a problem about this or something else?



And what's more, XMD print "Processor failed to stop" when I type "stop" to stop the processor.



By the way, the system I built was derived from xapp1121.



regards!



sheldon
0 Kudos
Highlighted
Professor
Professor
4,251 Views
Registered: ‎08-14-2007

Re: Software application can not work in ddr2

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.

 

-- Gabor

-- Gabor
0 Kudos