This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
I trying to learn how to configure the DDR2 module that we have attached to our custom board. I'm very new to CCSv5, SYS/BIOS and this DSP. I have a few questions regarding this setup. Should I use the CSL to init the DDR or is there another way? I should follow the "2.11.3 - DDR2 SDRAM Initialization After Register Configuration" in the DDR2 memory controller document, correct? Where would my code go in SYS/BIOS, before the BIOS_start() call or is there a function that BIOS calls? I'm planning on just adding my code into a example project and then building on that. Sorry if this is in the wrong forum. Thanks for the help!
Andrew,
In most cases, this is a system initialization question for your application and not an application-level question.
How do you intend to load your application onto your custom board?
If you are using JTAG and CCS, then there will be a GEL file that will configure the DDR for you. For your custom board, you will want to modify the GEL file that is supplied for the EVM. Do you have the EVM to test or validate things?
If you are using a specific boot mode, then that is an important part of this process and will sometimes have a means included for initializing the DDR2 memory and DDR2 EMIF peripheral.
Regards,
RandyP
Hi Randy,
Sorry for not responding. I must have missed your response and the project was put on hold.
I come from a background of 8bit micros so I'm confused where system init functions go and where sys bios starts. I'm used to doing system init as part of the preamble of my program.
Any way to answer your questions.
During the debug stage we plan to use CSSv5 and JTAG to load code. In the final application the boot mode is set to boot from EMIFA where we have flash chip. In that case we'll have to have a bootloader located at the beginning of flash which set up peripherals and then copies the app to RAM. Then our program would perform more init and then begin its function. Is that the correct process?
I'm fairly certain that I solved my DDR2 question by taking the code from the DSK6455 gel file, going through the DDR2 users guide and putting it in a function that gets called before BIOS_start(). I had another function write to the memory addresses in DDR2 and could see the memory change in the debugger.
Sorry for the late reply but thanks for your help!
Andrew
Andrew,
The C6000 training with SYS/BIOS is available on the TI Wiki Pages. That will be useful for you to go through on your own to learn about using SYS/BIOS and booting.
With the EMIFA boot mode, you will start running from the beginning of the Flash, which will usually contain a secondary bootloader. It is most common to do the system initialization there before loading DDR2 and before branching to the beginning of the code.
You can comment out the part of the GEL file that does initialization to check if your plan will work. You may need to do some bootloader development, and there may be examples that come with the C6455 support files. Hopefully the training material will be helpful for you.
Regards,
RandyP