Xilinx PowerPC run Program out of SDRAM

Hi everyone,

I have a Problem that's equal to that discussed in January this year (PPC Memory Management, 27. January 2006) in this group:

I also want to run my program out of the memory of the sdram of my Xilinx Virtex 2 Pro, unfortunately I get outputs from stdout/stdin only in the debug mode. But I can live with that, the more serious problem is, that the code seems not to work as it should, when running it from sdram.

I use the Ethernet-MAC on the Board together with LWIP and I get no packets send, when running the board in the normal way. When I switch into debug mode, I get the right behaviour and I receive packets send by the board.

I assume that this has something to do with the set up time of the PowerPC and the SDRAM. Does anybody know a solution to get the PowerPC oder SDRAM wait for initialization until the program is executed? I use the EDK 8.1i.

Regards, Peter

Reply to
peter.kampmann
Loading thread data ...

Is the code running at all or do you just see no packets so the ppc could be dead?

sdram cannot be loaded from the config prom. You have to write your own loader. How are you loading the sdram with code in non-debug mode?

By debug, do you mean XMD? XMD *does* load code into sdram.

Alan Nishioka

Reply to
Alan Nishioka

I just didn't knew that I have to use the bootloop load the program via xmd from memory. Thougt that would work via Download Bitstream ....

Thanks for your help.

Regards, Peter Kampmann

Alan Nishioka schrieb:

Reply to
peter.kampmann

snipped-for-privacy@googlemail.com schrieb:

"bootloops" are simple eternal loops that just loopforever - the are as default init programs in the case the actual program is loaded later.

in such casesd the bootloop.elf will be placed into BRAMS and is loaded with bitfile when you configure the FPGA. When FPGA is released the bootloop, just loops forever - the only for reason for this is to make sure the processor isnt running wild but is kept doing something useful. like looping forever.

when XMD is started it can then over the processor without letting the processor run loose. similarly if load the external memory via ACE file that uses the processor debug interface then the bootloop keeps the processor busy looping so it want disturb.

when the download is done, then processor PC is set to the start address and the actual program starts. if you are not using systemACE or XMD then the bootloop is no use and you need a real bootloader instead

Antti

Reply to
Antti

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.