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.

Problem in running typical SYS/BIOS project

Other Parts Discussed in Thread: SYSBIOS, TMS320C6670

Hi,

We are using MCSDK _2_00_06_18,

                     SYS/BIOS_6_33_02_31

                      Xdc tools_3_23_01_43.

                     CCS5.5.

The EVM kit we are using is TMDSEVM6670L.

System configuration:Windows XP .

When i create a typical SYS/BIOS project,when i compile and run the code...i am not able to get anything in the console.

My .c file is

/*
 *  ======== main.c ========
 */

#include <xdc/std.h>

#include <xdc/runtime/Error.h>
#include <xdc/runtime/System.h>

#include <ti/sysbios/BIOS.h>

#include <ti/sysbios/knl/Task.h>



/*
 *  ======== taskFxn ========
 */
Void taskFxn(UArg a0, UArg a1)
{
    System_printf("enter taskFxn()\n");

    Task_sleep(10);

    System_printf("exit taskFxn()\n");
   
}

/*
 *  ======== main ========
 */
Int main()
{
    Task_Handle task;
    Error_Block eb;

    System_printf("enter CORE 1 main()\n");

    Error_init(&eb);
    task = Task_create(taskFxn, NULL, &eb);
    if (task == NULL) {
        System_printf("Task_create() failed!\n");
        BIOS_exit(0);
    }

    BIOS_start();    /* does not return */
    return(0);
}

My .cfg file is

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 Csl = xdc.useModule('ti.csl.Settings');
//var MultiProc  = xdc.useModule('ti.sdo.utils.MultiProc');
//MultiProc.setConfig(null, ["CORE0", "CORE1", "CORE2", "CORE3"]);

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.hal.Hwi');

/*
 * Program.argSize sets the size of the .args section.
 * The examples don't use command line args so argSize is set to 0.
 */
Program.argSize = 0x0;

/*
 * 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 = 0x1000;

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

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

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

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

System.SupportProxy = SysMin;
 
plz help me,
SAITECH

  • Hi,

    Have you successfully build the project?

    Have you refer any MCSDK example project?

    Have you using EVM for your testing? Are you using gel file for initalizing the EVM.

    Thanks,
  • hi,

    yes , successfully build the project

    didn't refer any MCSDK example project..

    yes i am using TMS320c6670 and using gel file for initializing the EVM

  • I think problem on your project properties. Please share your project .zip file, I will try to reproduce your issue and resolve it.
  • TEST_SYS_BIOS_CODE.zipi hereby attached my project as zip folder pls fine the attachment

  • hi
    i am in urgency pls reply
  • It is working, after modified your .cfg file. If you have any question regarding SYSBIOS means you need to post your thread in TI-RTOS forum.
     

    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.hal.Hwi');
     
    
    /* Load and use the System Package */
     var System = xdc.useModule('xdc.runtime.System');
     SysStd = xdc.useModule('xdc.runtime.SysStd');
     System.SupportProxy = SysStd;
     
    
    /* 
    * Program.argSize sets the size of the .args section. 
    * The examples don't use command line args so argSize is set to 0.
     */
     Program.argSize = 0x0;
     
    /*
     * 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 = 0x1000;
     
    /*
     * Build a custom SYS/BIOS library from sources.
     */
     BIOS.libType = BIOS.LibType_Custom;
     
    /* System stack size (used by ISRs and Swis) */
     Program.stack = 0x2000;
     
    /* Circular buffer size for System_printf() */
     //SysMin.bufSize = 0x200;
     
    /* 
    * Create and install logger for the whole system
     */
     var loggerBufParams = new LoggerBuf.Params();
     loggerBufParams.numEntries = 16;
     var logger0 = LoggerBuf.create(loggerBufParams);
     Defaults.common$.logger = logger0;
     Main.common$.diags_INFO = Diags.ALWAYS_ON;
     
    //System.SupportProxy = SysMin;
     

    Thanks,

  • Hi,

    Thanks...Its working fine now...
  • Thanks for your update.