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.

XGCONF PLL configuration seems broken for F2812

Other Parts Discussed in Thread: SYSBIOS, TMS320F2812

I'm porting an F2812 DSP BIOS project to SYS BIOS:

Unfortunately setting up the PLL doesn't seem to work:

No matter what settings I choose in the GUI, Frequency is always 0, and I get a compile error.  Any ideas what I'm doing wrong?

  • Looks like my screen captures didn't show up - let me try again:

  • Hi casey,

    I have moved your post to the TI-RTOS forum.  They'll be more able to help resolve your issue.


    Thank you,
    Brett

  • Hi,

    Can you please attach your configuration file? (app.cfg in screen shot you posted).

    Steve
  • var Defaults = xdc.useModule('xdc.runtime.Defaults');
    var Diags = xdc.useModule('xdc.runtime.Diags');
    var Error = xdc.useModule('xdc.runtime.Error');
    var Log = xdc.useModule('xdc.runtime.Log');
    var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
    var Main = xdc.useModule('xdc.runtime.Main');
    var Memory = xdc.useModule('xdc.runtime.Memory')
    var SysMin = xdc.useModule('xdc.runtime.SysMin');
    var System = xdc.useModule('xdc.runtime.System');
    var Text = xdc.useModule('xdc.runtime.Text');

    var BIOS = xdc.useModule('ti.sysbios.BIOS');
    var Clock = xdc.useModule('ti.sysbios.knl.Clock');
    var Swi = xdc.useModule('ti.sysbios.knl.Swi');
    var Task = xdc.useModule('ti.sysbios.knl.Task');
    var Semaphore = xdc.useModule('ti.sysbios.knl.Semaphore');

    var Hwi = xdc.useModule('ti.sysbios.family.c28.Hwi');

    /*
     * Uncomment this line to globally disable Asserts.
     * All modules inherit the default from the 'Defaults' module.  You
     * can override these defaults on a per-module basis using Module.common$.
     * Disabling Asserts will save code space and improve runtime performance.
    Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF;
     */

    /*
     * Uncomment this line to keep module names from being loaded on the target.
     * The module name strings are placed in the .const section. Setting this
     * parameter to false will save space in the .const section.  Error and
     * Assert messages will contain an "unknown module" prefix instead
     * of the actual module name.
    Defaults.common$.namedModule = false;
     */

    /*
     * Minimize exit handler array in System.  The System module includes
     * an array of functions that are registered with System_atexit() to be
     * called by System_exit().
     */
    System.maxAtexitHandlers = 4;      

    /*
     * Uncomment this line to disable the Error print function. 
     * We lose error information when this is disabled since the errors are
     * not printed.  Disabling the raiseHook will save some code space if
     * your app is not using System_printf() since the Error_print() function
     * calls System_printf().
    Error.raiseHook = null;
     */

    /*
     * Uncomment this line to keep Error, Assert, and Log strings from being
     * loaded on the target.  These strings are placed in the .const section.
     * Setting this parameter to false will save space in the .const section.
     * Error, Assert and Log message will print raw ids and args instead of
     * a formatted message.
    Text.isLoaded = false;
     */

    /*
     * Uncomment this line to disable the output of characters by SysMin
     * when the program exits.  SysMin writes characters to a circular buffer.
     * This buffer can be viewed using the SysMin Output view in ROV.
    SysMin.flushAtExit = false;
     */

    /*
     * The BIOS module will create the default heap for the system.
     * Specify the size of this default heap.
     */
    BIOS.heapSize = 0x800;

    /*
     * Build a custom SYS/BIOS library from sources.
     */
    BIOS.libType = BIOS.LibType_Custom;

    /* System stack size (used by ISRs and Swis) */
    Program.stack = 0x100;

    /* Circular buffer size for System_printf() */
    SysMin.bufSize = 0x200;

    /*
     * Create and install logger for the whole system
     */
    var loggerBufParams = new LoggerBuf.Params();
    loggerBufParams.numEntries = 32;
    var logger0 = LoggerBuf.create(loggerBufParams);
    Defaults.common$.logger = logger0;
    Main.common$.diags_INFO = Diags.ALWAYS_ON;

    System.SupportProxy = SysMin;

    BIOS.cpuFreq.lo = 150000000;
    BIOS.assertsEnabled = false;
    BIOS.logsEnabled = false;

  • Which platform are you using?

    You can check this in your project's build settings, under the RTSC tab.

    Here's a screen shot of mine.  Can you please take a similar screen shot on your side and post it here?

    Steve

  • ti.platforms.tms320x28:TMS320F2812 (See my screen capture above near the top of this page).
  • Casey,

    I wasn't able to reproduce this issue. Were you able to get past it? If not, one idea is to try creating a new project in a new work space and see if the problem still occurs.

    Steve
  • Unfortunately I was not able to get past this. Migrating to SYS BIOS has been far too painful, so I've decided to stick with DSP BIOS.
  • Which steps were you taking to migrate?  Were you trying to migrate an existing application?  In case you come back to it, you might have more success starting with a new SYS/BIOS application and porting your configuration settings over by hand (as opposed to using the conversion tool, etc.).

    Steve