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.

[C674X_0] ti.sysbios debug

Other Parts Discussed in Thread: SYSBIOS

Hi Ti!

Debugging c674x ,consol:

[C674X_0] ti.sysbios.heaps.HeapMem: line 296: out of memory: handle=0xc03457d8, size=10000
Task_create() failed for Color Conversion!

This is what causes bug?

  • This is a SYS/BIOS question, so it needs to be handled in the TI-RTOS Forum. TI-RTOS is the new collective name for SYS/BIOS. A Moderator will move this thread this time, for your convenience.

    If you need more information than what little I can offer here, you will want to add to this thread to tell the TI-RTOS team which version of CCS and which version of SYS/BIOS you are using. Also, please include the device you are using and some information on the board, such as a TI EVM or your own board.

    In the properties that are defined for the HeapMem object in your SYS/BIOS GUI or configuration file, you have set a size for the HeapMem space. That space is inadequate for your use of the HeapMem feature. You will need to increase the size of the HeapMem object. Please search this forum and the TI-RTOS forum for HeapMem and other keywords to find how others have defined or changed the size of their HeapMem object.

    Regards,
    RandyP

  • I have added   to increase the size of the HeapMem object.,but does not solve the problem, you may screenshots and copy the attached out

  • 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 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 HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
    var ti_sysbios_family_c64p_Hwi = xdc.useModule('ti.sysbios.family.c64p.Hwi');
    var BIOS = xdc.useModule('ti.sysbios.BIOS');

    /*
     * 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;      

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

    /* 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;

  • Where did you increase the size of the HeapMem buffer? Without a comment in the file or highlighting to show what changed, I cannot know what has increased?

    In your error message, there is a mention of the size 10000. This should help you locate where in the code it is failing so you can see what size you may need to use.

    Try to GUI for setting the HeapMem buffer size. You do not appear to be setting it in the file content you shared here.

    Regards,
    RandyP

  • Is not buider Project for error message,debug load Facedete_lcd.out file of the project 

     console below:

    SYSBIOS_C6748:CIO

    [674x_0]ti.sysbios.heaps.HeapMem:line 307:handle=0xc0345000,size=10000

    Task_create()  failed for Facedete_lcd conversion!

    cfg Script below:

    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 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 HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
    var ti_sysbios_family_c64p_Hwi = xdc.useModule('ti.sysbios.family.c64p.Hwi');
    var BIOS = xdc.useModule('ti.sysbios.BIOS');

    /*
     * 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;      

    /* System stack size (used by ISRs and Swis) */

    Program.stack = 10000


    //Program.stack = 0x131072; //  setting the HeapMem buffer

    /* 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;

    thank you for yuor answer