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.

Question about DDR3 initialize

Other Parts Discussed in Thread: TMS320C6678, SYSBIOS

Hi All,

I have problem with DDR3 initialization. I am going to create application to TMS320C6678. As I understand I should to initialize DDR3 in my project. I should also use to my application Multicore Navigator and other modules. If I use Gel file to initialize - I receive error initialize

it last run string - next

If I don't use Gel file - I can not download the program using the emulator.

If I disconnect this cfg file - I can not use QMSS and CPPI modules, but initialize DDR3 and PLL working.
Where is my error?

Best regards,

      Oleg

  • Hi Oleg,

    Have you given the gel file path correctly Initialization script in (Target Configuration file) .ccxml-> Advanced -> C66xx_0?

    Thank you.

  • Hi Rajasekaran,

    If I don't use initialize of DDR3 memory in my C code and use gel file and .cfg file - my application working successfully.

    It is my .cfg file

    var Memory = xdc.useModule('xdc.runtime.Memory');

    var BIOS = xdc.useModule('ti.sysbios.BIOS');
    var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
    var HeapBuf = xdc.useModule('ti.sysbios.heaps.HeapBuf');
    var Log = xdc.useModule('xdc.runtime.Log');
    var Task = xdc.useModule('ti.sysbios.knl.Task');
    var Cache = xdc.useModule('ti.sysbios.family.c66.Cache');

    var Csl = xdc.loadPackage('ti.csl');
    var Cppi = xdc.loadPackage('ti.drv.cppi');
    var Qmss = xdc.loadPackage('ti.drv.qmss');
    var Pa = xdc.loadPackage('ti.drv.pa');

    var heapMemParams1 = new HeapMem.Params();
    heapMemParams1.size = 8192 * 30;
    heapMemParams1.sectionName = "systemHeap";
    Program.global.heap0 = HeapMem.create(heapMemParams1);

    /* Memory map */
    Memory.defaultHeapInstance = Program.global.heap0;
    Program.sectMap["systemHeap"] = "DDR3";

    Program.sectMap[".text"] = "DDR3";
    Program.sectMap[".const"] = "DDR3";
    Program.sectMap[".qmss"] = "DDR3";
    Program.sectMap[".cppi"] = "DDR3";

    Program.sectMap[".sharedDDR"] = "DDR3";
    Program.sectMap[".cppiMemTX"] = "DDR3";
    Program.sectMap[".cppiMemRX"] = "DDR3";

    But I should create application run to customer board without emulator. I should initialize PLL, DDR3 without gel file in C code. Or am I wrong?

    Best regards,

        Oleg

  • Hi Oleg,

    yes if you don't use the GEL file your code needs to initialize the DDR3 interface, etc ...

    Kind regards,
    one and zero
  • Hi one and zero,

    This means that I can not use XDC? And I cannot use CSL modules? It very pity...How can write code to work system without emulator? Or are there sacral methods?
    Oleg

  • Hi Oleg,

    it's up to you what SW you want to use.

    This example might help you:

    Kind regards,

    one and zero

  • Hi one and zero,
    Thanks for your advice.
    Oleg