SDRAM in EDK

Oct 26, 2005 4 Replies

Hello! I instantiated SDRAM memory in an EDK project, but I don't know what I have to do in order to boot from it. I want to store my instructions and data into it. Does anyone can help me?



Thank you! Melissa



"mvetromille" schrieb im Newsbeitrag news: snipped-for-privacy@localhost.talkaboutelectronicequipment.com...

what

SDRAM is VOLATILE memory so you can not boot from it as it does not contain any data.

you need some nonvolatile memory for booting, so you can copy this data to the SDRAM and then start execution from SDRAM

antti

Ok, but how do I do this? I don't know how to manipulate SDRAM. Can you help me?

Thank you! Melissa

You need to design (or instantiate some one else's) SDRAM controller. Working SDRAM is not trivial; it requires a state machine to sequence the controls, not only to access the data, but also to refresh the memory and even to properly initialize the memory before it can be accessed. You can start by reading the data sheet for the particular SDRAM that is on the board. There may be an SDRAM controller in the IP that came with the board, perhaps in one of the example designs.

--Ray Andraka, P.E. President, the Andraka Consulting Group, Inc. 401/884-7930 Fax 401/884-7950 email ray@andraka.com http://www.andraka.com "They that give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety." -Benjamin Franklin, 1759

I suppose you use PPC

  1. For real hardware - for booting you use the boot files from edk They are by default there. After that you can use PP compiler/debugger to compile and load the code in the memory an execute the program
  2. for simulation - as far as I remember - the C program i "translated" to VHDL code(binary 0 and 1) which is placed in th memory

This is the basic idea - i did this a long time ago and some of th

things may be not correct. Look for tutorials (that's what I did ;)

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required