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.

memory usage in sysbios

Other Parts Discussed in Thread: TM4C1231H6PGE, SYSBIOS

Hallo,

I use Sysbios 6.41.00.26 and Tiva tm4c1231h6pge.

When I compile a project I find some entry in map file .bss section:

.bss       0    20000400    000054f7     UNINITIALIZED
                  20004400    00000400     tivaCtrlCore_pem4f.oem4f (.bss:xdc_runtime_LoggerBuf_Instance_State_0_entryArr__A)
                  20004800    00000400     tivaCtrlCore_pem4f.oem4f (.bss:xdc_runtime_SysMin_Module_State_0_outbuf__A)
                  20004c00    00000360     tivaCtrlCore_pem4f.oem4f (.bss:ti_sysbios_family_arm_m3_Hwi_dispatchTable)
                  20004f60    00000200     tivaCtrlCore_pem4f.oem4f (.bss:taskStackSection)

I wonder what are these entry and if I can reduce (and how) the allocation of every one.

best regards

  • mastupristi said:
    xdc_runtime_LoggerBuf_Instance_State

    This is for instrumentation to store logs. If you remove this from your .cfg:

    var LoggingSetup = xdc.useModule('ti.uia.sysbios.LoggingSetup');

    mastupristi said:
    xdc_runtime_SysMin_Module_State_

    This a circular buffer used to store your System_printf() statements. This is a more real time friendly approach to making printf statements because they are quicker than writing it out through the debugger (via SysStd). Here you can either reduce the buffer size "SysMin.bufSize = <x bytes> in your .cfg, or use SysCallback as your System provider for System_printf() calls. SysCallback allows you to plug in your own custom "putch" type of functions.

    mastupristi said:
    ti_sysbios_family_arm_m3_Hwi_dispatchTable

    The kernel maintains a interrupt vector table in RAM. This allows for dynamic Hwi_creates() in your application and the use of zero-latency interrupts. I'd have to check how to get rid of this one. If it is possible to remove this one, you must create all your interrupts statically via the .cfg file.

    If you want to reduce the size of the table, you can use the M3-specific Hwi module in your .cfg and reduce the dispatch table size.

    var HwiM3 = xdc.useModule('ti.sysbios.family.arm.m3.Hwi');
    HwiM3.dispatchTableSize = <number of Hwis>;

    See this link.