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.

MCU-PLUS-SDK-AM243X: Total resource consumed 35% for a small IPC application of 20K Code

Part Number: MCU-PLUS-SDK-AM243X
Other Parts Discussed in Thread: SYSCONFIG

Hello everyone,

I am developing a safety product (61508 SIL3) which uses a R5F core for black channel and M4F core for safety channel. 

I have some questions related to M4F.

1/ As the communication between R5F and M4F use your IPC library, i would like to know if the IPC library is certified?

2/ As M4F core is used as safety channel (safe) in no-rtos, i would like to know if the SDK is certified (our application uses I2C drivers, IPC library, UART and GPIO) ? 

3/ i would like to get your feedback about the memory use, for example about a simple demo IPC code, we saw the total resource consumed is 35% for a small application of 20K Code.

From the map file, this is my understanding:

 I can see in the map file that the IPC library is around 13Kb.

Thanks

  • This is the map file that i used to create the table 

    ******************************************************************************
                TI ARM Clang Linker PC v2.1.2                      
    ******************************************************************************
    >> Linked Tue Feb  7 12:19:04 2023
    
    OUTPUT FILE NAME:   <ipc_rpmsg_echo_am243x-evm_m4fss0-0_nortos_ti-arm-clang.out>
    ENTRY POINT SYMBOL: "_c_int00"  address: 0000c505
    
    
    MEMORY CONFIGURATION
    
             name            origin    length      used     unused   attr    fill
    ----------------------  --------  ---------  --------  --------  ----  --------
      M4F_VECS              00000000   00000200  00000140  000000c0  RWIX
      M4F_IRAM              00000200   0002fe00  00010f10  0001eef0  RWIX
      M4F_DRAM              00030000   00010000  00001d68  0000e298  RWIX
      USER_SHM_MEM          701d0000   00000180  00000000  00000180  RWIX
      LOG_SHM_MEM           701d0180   00003e80  00000000  00003e80  RWIX
      IPC_VRING_MEM         701d4000   0000c000  000010c0  0000af40  RWIX
    
    
    SEGMENT ALLOCATION MAP
    
    run origin  load origin   length   init length attrs members
    ----------  ----------- ---------- ----------- ----- -------
    00000000    00000000    00000140   00000140    rw-
      00000000    00000000    00000140   00000140    rw- .vectors
    00000200    00000200    00008000   00000000    rw-
      00000200    00000200    00008000   00000000    rw- .sysmem
    00008200    00008200    00004f10   00004f10    r-x
      00008200    00008200    00004f10   00004f10    r-x .text
    0000d110    0000d110    00004000   00000000    rw-
      0000d110    0000d110    00004000   00000000    rw- .stack
    00030000    00030000    00001010   00000000    rw-
      00030000    00030000    00001010   00000000    rw- .bss
    00031010    00031010    00000b90   00000b90    r--
      00031010    00031010    00000b90   00000b90    r-- .rodata
    00031ba0    00031ba0    000001c8   000001c8    rw-
      00031ba0    00031ba0    000001c8   000001c8    rw- .data
    
    
    SECTION ALLOCATION MAP
    
     output                                  attributes/
    section   page    origin      length       input sections
    --------  ----  ----------  ----------   ----------------
    .vectors   0    00000000    00000140     
                      00000000    00000140     nortos.am243x.m4f.ti-arm-clang.release.lib : HwiP_armv7m_handlers_nortos.obj (.vectors)
    
    .sysmem    0    00000200    00008000     UNINITIALIZED
                      00000200    00000010     libc.a : memory.c.obj (.sysmem)
                      00000210    00007ff0     --HOLE--
    
    .text      0    00008200    00004f10     
                      00008200    00000570     nortos.am243x.m4f.ti-arm-clang.release.lib : printf.obj (.text._vsnprintf)
                      00008770    000004a8                                                : printf.obj (.text._etoa)
                      00008c18    00000438                                                : printf.obj (.text._ftoa)
                      00009050    000003a4                                                : HwiP_armv7m.obj (.text.hwi)
                      000093f4    00000384     drivers.am243x.m4f.ti-arm-clang.release.lib : ipc_notify_v0.obj (.text.IpcNotify_init)
                      00009778    0000035a                                                 : sciclient.obj (.text.Sciclient_service)
                      00009ad2    00000002     ti_board_config.o (.text.Board_deinit)
                      00009ad4    0000029e     ipc_rpmsg_echo.o (.text.ipc_rpmsg_echo_main_core_start)
                      00009d72    00000002     ti_board_open_close.o (.text.Board_driversClose)
                      00009d74    00000268     libc.a : _printfi.c.obj (.text:__TI_printfi_minimal)
                      00009fdc    000001be     nortos.am243x.m4f.ti-arm-clang.release.lib : MpuP_armv7m.obj (.text.mpu)
                      0000a19a    00000002     ti_board_config.o (.text.Board_init)
                      0000a19c    000001b6     libclang_rt.builtins.a : adddf3.S.obj (.text)
                      0000a352    00000136     drivers.am243x.m4f.ti-arm-clang.release.lib : ipc_rpmsg.obj (.text.RPMessage_recv)
                      0000a488    00000136     libclang_rt.builtins.a : divdf3.S.obj (.text)
                      0000a5be    00000002     nortos.am243x.m4f.ti-arm-clang.release.lib : ClockP_nortos_m4.obj (.text.ClockP_timerClearOverflowInt)
                      0000a5c0    00000134     drivers.am243x.m4f.ti-arm-clang.release.lib : soc.obj (.text.SOC_moduleSetClockFrequency)
                      0000a6f4    0000011c     nortos.am243x.m4f.ti-arm-clang.release.lib : printf.obj (.text._ntoa_format)
                      0000a810    0000010c     drivers.am243x.m4f.ti-arm-clang.release.lib : ipc_rpmsg.obj (.text.RPMessage_recvHandler)
                      0000a91c    00000108     nortos.am243x.m4f.ti-arm-clang.release.lib : SysTickTimerP.obj (.text.SysTickTimerP_setup)
                      0000aa24    000000fc     drivers.am243x.m4f.ti-arm-clang.release.lib : ipc_rpmsg.obj (.text.RPMessage_send)
                      0000ab20    000000fc     libclang_rt.builtins.a : muldf3.S.obj (.text)
                      0000ac1c    000000f6     nortos.am243x.m4f.ti-arm-clang.release.lib : ClockP_nortos_m4.obj (.text.ClockP_init)
                      0000ad12    00000002     ti_dpl_config.o (.text.Dpl_deinit)
                      0000ad14    000000ee     drivers.am243x.m4f.ti-arm-clang.release.lib : ipc_rpmsg.obj (.text.RPMessage_init)
                      0000ae02    00000002     ti_drivers_open_close.o (.text.Drivers_open)
                      0000ae04    000000e6     drivers.am243x.m4f.ti-arm-clang.release.lib : ipc_notify_v0.obj (.text.IpcNotify_deInit)
                      0000aeea    00000002     nortos.am243x.m4f.ti-arm-clang.release.lib : SemaphoreP_nortos.obj (.text.SemaphoreP_destruct)
                      0000aeec    000000cc     drivers.am243x.m4f.ti-arm-clang.release.lib : ipc_notify_v0.obj (.text.IpcNotify_isr)
                      0000afb8    000000ca                                                 : ipc_notify_v0.obj (.text.IpcNotify_sendMsg)
                      0000b082    00000002     libclang_rt.builtins.a : aeabi_div0.c.obj (.text.__aeabi_ldiv0)
                      0000b084    000000c6     nortos.am243x.m4f.ti-arm-clang.release.lib : HwiP_armv7m_handlers_nortos.obj (.text.hwi)
                      0000b14a    00000002                                                : printf.obj (.text._out_null)
                      0000b14c    000000be     drivers.am243x.m4f.ti-arm-clang.release.lib : pinmux.obj (.text.Pinmux_config)
                      0000b20a    000000b8                                                 : ipc_rpmsg_vring.obj (.text.RPMessage_vringReset)
                      0000b2c2    00000002     ti_dpl_config.o (.text.putchar_)
                      0000b2c4    000000b0     nortos.am243x.m4f.ti-arm-clang.release.lib : AddrTranslateP.obj (.text.AddrTranslateP_init)
                      0000b374    000000b0     libclang_rt.builtins.a : udivmoddi4.S.obj (.text)
                      0000b424    000000ae     ipc_rpmsg_echo.o (.text.ipc_rpmsg_echo_remote_core_start)
                      0000b4d2    000000a4     drivers.am243x.m4f.ti-arm-clang.release.lib : ipc_rpmsg_vring.obj (.text.RPMessage_vringGetFullRxBuf)
                      0000b576    000000a4     ti_drivers_config.o (.text.System_init)
                      0000b61a    00000002     --HOLE-- [fill = 0]
                      0000b61c    000000a4     nortos.am243x.m4f.ti-arm-clang.release.lib : printf.obj (.text._ntoa_long_long)
                      0000b6c0    000000a4                                                : printf.obj (.text._out_rev)
                      0000b764    0000009e     drivers.am243x.m4f.ti-arm-clang.release.lib : ipc_rpmsg_vring.obj (.text.RPMessage_vringPutEmptyRxBuf)
                      0000b802    0000009e                                                 : sciclient_pm.obj (.text.Sciclient_pmQueryModuleClkFreq)
                      0000b8a0    0000009a                                                 : sciclient.obj (.text.Sciclient_init)
                      0000b93a    00000002     --HOLE-- [fill = 0]
                      0000b93c    0000009a                                                 : sciclient.obj (.text.Sciclient_sendMessage)
                      0000b9d6    00000002     --HOLE-- [fill = 0]
                      0000b9d8    00000098                                                 : ipc_rpmsg.obj (.text.RPMessage_coreInit)
                      0000ba70    00000098     nortos.am243x.m4f.ti-arm-clang.release.lib : SemaphoreP_nortos.obj (.text.SemaphoreP_pend)
                      0000bb08    00000094                                                : printf.obj (.text._ntoa_long)
                      0000bb9c    00000092     drivers.am243x.m4f.ti-arm-clang.release.lib : ipc_rpmsg_vring.obj (.text.RPMessage_vringGetEmptyTxBuf)
                      0000bc2e    00000002     --HOLE-- [fill = 0]
                      0000bc30    00000090                                                 : ipc_rpmsg_vring.obj (.text.RPMessage_vringResetInternal)
                      0000bcc0    0000008c                                                 : sciclient_pm.obj (.text.Sciclient_pmSetModuleClkFreq)
                      0000bd4c    0000007a                                                 : sciclient_pm.obj (.text.Sciclient_pmGetModuleClkNumParent)
                      0000bdc6    00000078                                                 : ipc_rpmsg.obj (.text.RPMessage_construct)
                      0000be3e    00000072                                                 : soc.obj (.text.SOC_moduleClockEnable)
                      0000beb0    0000006e                                                 : ipc_rpmsg.obj (.text.RPMessage_getEndPtMsg)
                      0000bf1e    0000006e                                                 : sciclient_pm.obj (.text.Sciclient_pmGetModuleState)
                      0000bf8c    0000006e     libclang_rt.builtins.a : comparedf2.c.obj (.text.__gedf2)
                      0000bffa    00000002     --HOLE-- [fill = 0]
                      0000bffc    0000006e                            : comparedf2.c.obj (.text.__ledf2)
                      0000c06a    00000002     --HOLE-- [fill = 0]
                      0000c06c    0000006c     nortos.am243x.m4f.ti-arm-clang.release.lib : ClockP_nortos.obj (.text.ClockP_timerTickIsr)
                      0000c0d8    0000006a                                                : AddrTranslateP.obj (.text.AddrTranslateP_getLocalAddr)
                      0000c142    00000066     drivers.am243x.m4f.ti-arm-clang.release.lib : sciclient_pm.obj (.text.Sciclient_pmGetModuleClkParent)
                      0000c1a8    00000064                                                 : ipc_notify_v0.obj (.text.IpcNotify_waitSync)
                      0000c20c    00000064                                                 : sciclient_pm.obj (.text.Sciclient_pmModuleGetClkStatus)
                      0000c270    00000062     libclang_rt.builtins.a : aeabi_dcmp.S.obj (.text)
                      0000c2d2    00000002     --HOLE-- [fill = 0]
                      0000c2d4    00000060     drivers.am243x.m4f.ti-arm-clang.release.lib : ipc_notify_v0.obj (.text.IpcNotify_syncAll)
                      0000c334    0000005e                                                 : ipc_rpmsg_vring.obj (.text.RPMessage_vringPutFullTxBuf)
                      0000c392    0000005e                                                 : sciclient_pm.obj (.text.Sciclient_pmSetModuleClkParent)
                      0000c3f0    0000005e     nortos.am243x.m4f.ti-arm-clang.release.lib : DebugP_log.obj (.text._DebugP_assert)
                      0000c44e    0000005c     drivers.am243x.m4f.ti-arm-clang.release.lib : sciclient_pm.obj (.text.Sciclient_pmModuleClkRequest)
                      0000c4aa    0000005a                                                 : ipc_rpmsg_vring.obj (.text.RPMessage_vringIsFullRxBuf)
                      0000c504    00000058     nortos.am243x.m4f.ti-arm-clang.release.lib : boot_armv7m.obj (.text:_c_int00)
                      0000c55c    00000052     drivers.am243x.m4f.ti-arm-clang.release.lib : sciclient_pm.obj (.text.Sciclient_pmSetModuleState)
                      0000c5ae    00000002     --HOLE-- [fill = 0]
                      0000c5b0    00000050                                                 : ipc_rpmsg.obj (.text.RPMessage_notifyCallback)
                      0000c600    00000050                                                 : sciclient_soc_priv.obj (.text.Sciclient_getContext)
                      0000c650    0000004e     nortos.am243x.m4f.ti-arm-clang.release.lib : ClockP_nortos.obj (.text.ClockP_addToList)
                      0000c69e    00000002     --HOLE-- [fill = 0]
                      0000c6a0    0000004c                                                : ClockP_nortos.obj (.text.ClockP_getTimeUsec)
                      0000c6ec    0000004c     drivers.am243x.m4f.ti-arm-clang.release.lib : ipc_rpmsg.obj (.text.RPMessage_allocEndPtMsg)
                      0000c738    0000004a     nortos.am243x.m4f.ti-arm-clang.release.lib : ClockP_nortos.obj (.text.ClockP_construct)
                      0000c782    00000002     --HOLE-- [fill = 0]
                      0000c784    00000048     libclang_rt.builtins.a : fixdfsi.S.obj (.text)
                      0000c7cc    00000044     ti_dpl_config.o (.text.Dpl_init)
                      0000c810    00000044     drivers.am243x.m4f.ti-arm-clang.release.lib : sciclient_pm.obj (.text.Sciclient_pmSetModuleRst)
                      0000c854    00000044     libc.a : snprintf.c.obj (.text.snprintf)
                      0000c898    00000044     libclang_rt.builtins.a : fixunsdfsi.S.obj (.text)
                      0000c8dc    00000040     nortos.am243x.m4f.ti-arm-clang.release.lib : ClockP_nortos.obj (.text.ClockP_stop)
                      0000c91c    00000040     drivers.am243x.m4f.ti-arm-clang.release.lib : ipc_rpmsg.obj (.text.RPMessage_destruct)
                      0000c95c    0000003e                                                 : ipc_notify_v0.obj (.text.IpcNotify_registerClient)
                      0000c99a    0000003e     nortos.am243x.m4f.ti-arm-clang.release.lib : SemaphoreP_nortos.obj (.text.SemaphoreP_constructBinary)
                      0000c9d8    0000003a                                                : ClockP_nortos.obj (.text.ClockP_destruct)
                      0000ca12    00000002     --HOLE-- [fill = 0]
                      0000ca14    00000038     ti_power_clock_config.o (.text.Module_clockSetFrequency)
                      0000ca4c    00000038     drivers.am243x.m4f.ti-arm-clang.release.lib : ipc_rpmsg.obj (.text.RPMessage_deInit)
                      0000ca84    00000038                                                 : ipc_rpmsg_vring.obj (.text.RPMessage_vringCheckEmptyTxBuf)
                      0000cabc    00000038                                                 : sciclient.obj (.text.Sciclient_getCurrentContext)
                      0000caf4    00000038     nortos.am243x.m4f.ti-arm-clang.release.lib : DebugP_nortos.obj (.text._DebugP_logZone)
                      0000cb2c    00000038     libc.a : autoinit.c.obj (.text:__TI_auto_init_nobinit_nopinit)
                      0000cb64    00000034     nortos.am243x.m4f.ti-arm-clang.release.lib : ClockP_nortos.obj (.text.ClockP_start)
                      0000cb98    00000032                                                : ClockP_nortos.obj (.text.ClockP_usleep)
                      0000cbca    00000032                                                : SemaphoreP_nortos.obj (.text.SemaphoreP_post)
                      0000cbfc    00000030     libclang_rt.builtins.a : comparedf2.c.obj (.text.__unorddf2)
                      0000cc2c    00000030     libc.a : snprintf.c.obj (.text._outs)
                      0000cc5c    0000002e     ti_power_clock_config.o (.text.Module_clockDisable)
                      0000cc8a    00000002     --HOLE-- [fill = 0]
                      0000cc8c    0000002e     ti_power_clock_config.o (.text.Module_clockEnable)
                      0000ccba    00000002     --HOLE-- [fill = 0]
                      0000ccbc    0000002e     libclang_rt.builtins.a : floatsidf.S.obj (.text)
                      0000ccea    0000002c     ipc_rpmsg_echo.o (.text.ipc_rpmsg_echo_main)
                      0000cd16    00000028     nortos.am243x.m4f.ti-arm-clang.release.lib : ClockP_nortos.obj (.text.ClockP_sleepTicks)
                      0000cd3e    00000028     drivers.am243x.m4f.ti-arm-clang.release.lib : ipc_rpmsg.obj (.text.RPMessage_Params_init)
                      0000cd66    00000026                                                 : ipc_notify_v0.obj (.text.IpcNotify_unregisterClient)
                      0000cd8c    00000026                                                 : ipc_rpmsg.obj (.text.RPMessage_controlEndPtHandler)
                      0000cdb2    00000024     ti_drivers_config.o (.text.System_deinit)
                      0000cdd6    00000024     nortos.am243x.m4f.ti-arm-clang.release.lib : printf.obj (.text.vprintf_)
                      0000cdfa    00000022     ti_pinmux_config.o (.text.Pinmux_init)
                      0000ce1c    00000022     drivers.am243x.m4f.ti-arm-clang.release.lib : ipc_rpmsg.obj (.text.RPMessage_isLinuxCore)
                      0000ce3e    00000020     nortos.am243x.m4f.ti-arm-clang.release.lib : DebugP_log.obj (.text.DebugP_logZoneEnable)
                      0000ce5e    00000002     --HOLE-- [fill = 0]
                      0000ce60    00000020     libclang_rt.builtins.a : floatunsidf.S.obj (.text)
                      0000ce80    0000001e     drivers.am243x.m4f.ti-arm-clang.release.lib : ipc_notify_v0.obj (.text.IpcNotify_syncCallback)
                      0000ce9e    0000001e     nortos.am243x.m4f.ti-arm-clang.release.lib : SysTickTimerP.obj (.text.SysTickTimerP_Params_init)
                      0000cebc    0000001e                                                : DebugP_log.obj (.text._DebugP_assertNoLog)
                      0000ceda    0000001e     libc.a : memccpy.c.obj (.text.memccpy)
                      0000cef8    0000001c     drivers.am243x.m4f.ti-arm-clang.release.lib : ipc_rpmsg_vring.obj (.text.RPMessage_vringGetTxBufLen)
                      0000cf14    0000001c     main.o (.text.main)
                      0000cf30    0000001a     drivers.am243x.m4f.ti-arm-clang.release.lib : ipc_notify_v0.obj (.text.IpcNotify_Params_init)
                      0000cf4a    0000001a                                                 : ipc_rpmsg_vring.obj (.text.RPMessage_vringGetRxBufAddr)
                      0000cf64    0000001a                                                 : ipc_rpmsg_vring.obj (.text.RPMessage_vringGetTxBufAddr)
                      0000cf7e    00000018     ti_drivers_config.o (.text.IpcNotify_getConfig)
                      0000cf96    00000018     drivers.am243x.m4f.ti-arm-clang.release.lib : ipc_notify_v0.obj (.text.IpcNotify_isCoreEnabled)
                      0000cfae    00000018     libc.a : snprintf.c.obj (.text._outc)
                      0000cfc6    00000016     nortos.am243x.m4f.ti-arm-clang.release.lib : HwiP_armv7m.obj (.text.HwiP_inISR)
                      0000cfdc    00000016     drivers.am243x.m4f.ti-arm-clang.release.lib : sciclient_soc_priv.obj (.text.Sciclient_getDevId)
                      0000cff2    00000002     --HOLE-- [fill = 0]
                      0000cff4    00000014     libclang_rt.builtins.a : aeabi_memset.S.obj (.text)
                      0000d008    00000014                            : aeabi_uldivmod.S.obj (.text)
                      0000d01c    00000012     nortos.am243x.m4f.ti-arm-clang.release.lib : SysTickTimerP.obj (.text.SysTickTimerP_start)
                      0000d02e    00000012     libc.a : memcpy_t2.S.obj (.text:TI_memcpy_small)
                      0000d040    00000010     nortos.am243x.m4f.ti-arm-clang.release.lib : ClockP_nortos.obj (.text.ClockP_ticksToUsec)
                      0000d050    00000010     drivers.am243x.m4f.ti-arm-clang.release.lib : ipc_rpmsg.obj (.text.RPMessage_CreateParams_init)
                      0000d060    0000000e     ti_power_clock_config.o (.text.PowerClock_init)
                      0000d06e    0000000e     nortos.am243x.m4f.ti-arm-clang.release.lib : SysTickTimerP.obj (.text.SysTickTimerP_getCount)
                      0000d07c    0000000e                                                : SysTickTimerP.obj (.text.SysTickTimerP_getReloadCount)
                      0000d08a    0000000e     libc.a : _printfi.c.obj (.text.strlen)
                      0000d098    0000000e            : memset_t2.S.obj (.text:TI_memset_small)
                      0000d0a6    0000000c     nortos.am243x.m4f.ti-arm-clang.release.lib : ClockP_nortos.obj (.text.ClockP_getTicks)
                      0000d0b2    0000000c     drivers.am243x.m4f.ti-arm-clang.release.lib : ipc_notify_v0.obj (.text.IpcNotify_getSelfCoreId)
                      0000d0be    0000000a     nortos.am243x.m4f.ti-arm-clang.release.lib : AddrTranslateP.obj (.text.AddrTranslateP_Params_init)
                      0000d0c8    0000000a     drivers.am243x.m4f.ti-arm-clang.release.lib : csl_sec_proxy.obj (.text.CSL_secProxyGetDataAddr)
                      0000d0d2    0000000a     nortos.am243x.m4f.ti-arm-clang.release.lib : ClockP_nortos.obj (.text.ClockP_Params_init)
                      0000d0dc    0000000a                                                : ClockP_nortos.obj (.text.ClockP_isActive)
                      0000d0e6    0000000a                                                : printf.obj (.text._out_char)
                      0000d0f0    00000004     ti_board_open_close.o (.text.Board_driversOpen)
                      0000d0f4    00000004     nortos.am243x.m4f.ti-arm-clang.release.lib : ClockP_nortos_m4.obj (.text.ClockP_getTimerCount)
                      0000d0f8    00000004     ti_power_clock_config.o (.text.PowerClock_deinit)
                      0000d0fc    00000004     drivers.am243x.m4f.ti-arm-clang.release.lib : ipc_rpmsg.obj (.text.RPMessage_getLocalEndPt)
                      0000d100    00000004                                                 : sciclient.obj (.text.Sciclient_deinit)
                      0000d104    00000004     ti_dpl_config.o (.text.boot)
                      0000d108    00000004     libc.a : exit.c.obj (.text:abort)
                      0000d10c    00000004     libclang_rt.builtins.a : aeabi_memcpy.S.obj (.text)
    
    .stack     0    0000d110    00004000     UNINITIALIZED
                      0000d110    00000004     nortos.am243x.m4f.ti-arm-clang.release.lib : boot_armv7m.obj (.stack)
                      0000d114    00003ffc     --HOLE--
    
    .bss       0    00030000    00001010     UNINITIALIZED
                      00030000    00000b2c     (.common:gIpcRpmsgCtrl)
                      00030b2c    00000280     (.common:gHwiCtrl)
                      00030dac    000000c0     ipc_rpmsg_echo.o (.bss.gRecvMsgObject)
                      00030e6c    000000c0     (.common:gAckReplyMsgObject)
                      00030f2c    000000a8     (.common:gIpcNotifyCtrl)
                      00030fd4    00000004     --HOLE--
                      00030fd8    00000038     (.common:gClockCtrl)
    
    .rodata    0    00031010    00000b90     
                      00031010    0000031a     drivers.am243x.m4f.ti-arm-clang.release.lib : ipc_rpmsg.obj (.rodata.str1.1)
                      0003132a    00000235     ipc_rpmsg_echo.o (.rodata.str1.1)
                      0003155f    0000017d     drivers.am243x.m4f.ti-arm-clang.release.lib : ipc_notify_v0.obj (.rodata.str1.1)
                      000316dc    0000012c                                                 : sciclient_fmwSecureProxyMap.obj (.rodata.gSciclientMap)
                      00031808    000000ac     nortos.am243x.m4f.ti-arm-clang.release.lib : ClockP_nortos_m4.obj (.rodata.str1.1)
                      000318b4    0000009f                                                : SysTickTimerP.obj (.rodata.str1.1)
                      00031953    0000006b                                                : SemaphoreP_nortos.obj (.rodata.str1.1)
                      000319be    0000005a                                                : ClockP_nortos.obj (.rodata.str1.1)
                      00031a18    00000050                                                : printf.obj (.rodata._ftoa.pow10)
                      00031a68    00000050     drivers.am243x.m4f.ti-arm-clang.release.lib : ipc_rpmsg_vring.obj (.rodata.str1.1)
                      00031ab8    0000003f     ti_drivers_config.o (.rodata.str1.1)
                      00031af7    0000002d     nortos.am243x.m4f.ti-arm-clang.release.lib : DebugP_log.obj (.rodata.str1.1)
                      00031b24    00000022     libc.a : _printfi.c.obj (.rodata.str1.1)
                      00031b46    00000002     --HOLE-- [fill = 0]
                      00031b48    00000020     ti_dpl_config.o (.rodata.gMpuRegionConfig)
                      00031b68    00000018     drivers.am243x.m4f.ti-arm-clang.release.lib : sciclient_soc_priv.obj (.rodata..Lswitch.table.Sciclient_getDevId)
                      00031b80    00000012     nortos.am243x.m4f.ti-arm-clang.release.lib : printf.obj (.rodata.str1.1)
                      00031b92    00000002     --HOLE-- [fill = 0]
                      00031b94    0000000c     ti_dpl_config.o (.rodata.gMpuConfig)
    
    .data      0    00031ba0    000001c8     
                      00031ba0    00000093     drivers.am243x.m4f.ti-arm-clang.release.lib : ipc_notify_v0_cfg.obj (.data.gIpcNotifyMailboxConfig)
                      00031c33    00000001                                                 : sciclient.obj (.data.gSecHeaderSizeWords)
                      00031c34    00000004     nortos.am243x.m4f.ti-arm-clang.release.lib : DebugP_log.obj (.data.gDebugLogZone)
                      00031c38    00000040     ti_dpl_config.o (.data.gAddrTranslateRegionConfig)
                      00031c78    00000030     drivers.am243x.m4f.ti-arm-clang.release.lib : ipc_notify_v0_cfg.obj (.data.gIpcNotifyInterruptConfig_m4fss0_0)
                      00031ca8    00000024                                                 : ipc_notify_v0_cfg.obj (.data.gIpcNotifyMailboxBaseAddr)
                      00031ccc    00000004                                                 : ipc_notify_v0_cfg.obj (.data.gIpcNotifyInterruptConfigNum_m4fss0_0)
                      00031cd0    00000020                                                 : sciclient_soc_priv.obj (.data.gSciclientSecProxyCfg)
                      00031cf0    00000014     ti_dpl_config.o (.data.gClockConfig)
                      00031d04    00000014     ipc_rpmsg_echo.o (.data.gRemoteCoreId)
                      00031d18    0000000c     nortos.am243x.m4f.ti-arm-clang.release.lib : AddrTranslateP.obj (.data.gAddrTranslateConfig)
                      00031d24    0000000c     ti_power_clock_config.o (.data.gSocModulesClockFrequency)
                      00031d30    00000008     ti_pinmux_config.o (.data.gPinMuxMainDomainCfg)
                      00031d38    00000008     ti_pinmux_config.o (.data.gPinMuxMcuDomainCfg)
                      00031d40    00000004     ipc_rpmsg_echo.o (.data.gMainCoreId)
                      00031d44    00000004     ipc_rpmsg_echo.o (.data.gMsgEchoCount)
                      00031d48    00000004     drivers.am243x.m4f.ti-arm-clang.release.lib : sciclient.obj (.data.gSciclientHandle.0)
                      00031d4c    00000004                                                 : sciclient.obj (.data.gSciclientHandle.2)
                      00031d50    00000004                                                 : sciclient.obj (.data.gSciclientHandle.3)
                      00031d54    00000004                                                 : sciclient.obj (.data.gSciclientHandle.4)
                      00031d58    00000004                                                 : sciclient.obj (.data.gSciclientHandle.5)
                      00031d5c    00000004     ti_power_clock_config.o (.data.gSocModules)
                      00031d60    00000002     ipc_rpmsg_echo.o (.data.gRemoteServiceEndPt)
                      00031d62    00000006     --HOLE-- [fill = 0]
    
    .init_array 
    *          0    00000200    00000000     UNINITIALIZED
    
    .bss.ipc_vring_mem 
    *          0    701d4000    000010c0     NOLOAD SECTION
                      701d4000    000010c0     ti_drivers_config.o (.bss.ipc_vring_mem)
    
    __llvm_prf_cnts 
    *          0    00030000    00000000     UNINITIALIZED
    
    __llvm_prf_bits 
    *          0    00030000    00000000     UNINITIALIZED
    
    MODULE SUMMARY
    
           Module                            code    ro data   rw data
           ------                            ----    -------   -------
        .\
           ipc_rpmsg_echo.o                  888     565       414    
           main.o                            28      0         0      
        +--+---------------------------------+-------+---------+---------+
           Total:                            916     565       414    
                                                                      
        .\syscfg\
           ti_drivers_config.o               224     63        4288   
           ti_dpl_config.o                   76      44        84     
           ti_power_clock_config.o           166     0         16     
           ti_pinmux_config.o                34      0         16     
           ti_board_open_close.o             6       0         0      
           ti_board_config.o                 4       0         0      
           ti_drivers_open_close.o           2       0         0      
        +--+---------------------------------+-------+---------+---------+
           Total:                            512     107       4404   
                                                                      
        C:/ti/mcu_plus_sdk_am243x_08_05_00_24/source/drivers/lib/drivers.am243x.m4f.ti-arm-clang.release.lib
           ipc_rpmsg.obj                     1858    794       2860   
           ipc_notify_v0.obj                 1924    381       168    
           sciclient.obj                     1226    0         21     
           ipc_rpmsg_vring.obj               1116    80        0      
           sciclient_pm.obj                  1068    0         0      
           soc.obj                           422     0         0      
           sciclient_fmwSecureProxyMap.obj   0       300       0      
           ipc_notify_v0_cfg.obj             0       0         235    
           pinmux.obj                        190     0         0      
           sciclient_soc_priv.obj            102     24        32     
           csl_sec_proxy.obj                 10      0         0      
        +--+---------------------------------+-------+---------+---------+
           Total:                            7916    1579      3316   
                                                                      
        C:/ti/mcu_plus_sdk_am243x_08_05_00_24/source/kernel/nortos/lib/nortos.am243x.m4f.ti-arm-clang.release.lib
           printf.obj                        4472    98        0      
           HwiP_armv7m.obj                   954     0         640    
           ClockP_nortos.obj                 648     90        56     
           HwiP_armv7m_handlers_nortos.obj   198     0         320    
           SysTickTimerP.obj                 340     159       0      
           MpuP_armv7m.obj                   446     0         0      
           ClockP_nortos_m4.obj              252     172       0      
           SemaphoreP_nortos.obj             266     107       0      
           AddrTranslateP.obj                292     0         12     
           DebugP_log.obj                    156     45        4      
           boot_armv7m.obj                   88      0         0      
           DebugP_nortos.obj                 56      0         0      
        +--+---------------------------------+-------+---------+---------+
           Total:                            8168    671       1032   
                                                                      
        C:\ti\ccs1220\ccs\tools\compiler\ti-cgt-armllvm_2.1.2.LTS\lib\armv7em-ti-none-eabihf/c/libc.a
           _printfi.c.obj                    630     34        0      
           snprintf.c.obj                    140     0         0      
           autoinit.c.obj                    56      0         0      
           memccpy.c.obj                     30      0         0      
           memcpy_t2.S.obj                   18      0         0      
           memset_t2.S.obj                   14      0         0      
           exit.c.obj                        4       0         0      
        +--+---------------------------------+-------+---------+---------+
           Total:                            892     34        0      
                                                                      
        C:\ti\ccs1220\ccs\tools\compiler\ti-cgt-armllvm_2.1.2.LTS\lib\clang/14.0.6/lib/armv7em-ti-none-eabihf/libclang_rt.builtins.a
           adddf3.S.obj                      438     0         0      
           divdf3.S.obj                      310     0         0      
           comparedf2.c.obj                  268     0         0      
           muldf3.S.obj                      252     0         0      
           udivmoddi4.S.obj                  176     0         0      
           aeabi_dcmp.S.obj                  98      0         0      
           fixdfsi.S.obj                     72      0         0      
           fixunsdfsi.S.obj                  68      0         0      
           floatsidf.S.obj                   46      0         0      
           floatunsidf.S.obj                 32      0         0      
           aeabi_memset.S.obj                20      0         0      
           aeabi_uldivmod.S.obj              20      0         0      
           aeabi_memcpy.S.obj                4       0         0      
           aeabi_div0.c.obj                  2       0         0      
        +--+---------------------------------+-------+---------+---------+
           Total:                            1806    0         0      
                                                                      
           Heap:                             0       0         32768  
           Stack:                            0       0         16384  
        +--+---------------------------------+-------+---------+---------+
           Grand Total:                      20210   2956      58318  
    
    
    GLOBAL SYMBOLS: SORTED ALPHABETICALLY BY Name 
    
    address   name                                 
    -------   ----                                 
    0000d0bf  AddrTranslateP_Params_init           
    0000c0d9  AddrTranslateP_getLocalAddr          
    0000b2c5  AddrTranslateP_init                  
    00009ad3  Board_deinit                         
    00009d73  Board_driversClose                   
    0000d0f1  Board_driversOpen                    
    0000a19b  Board_init                           
    0000d108  C$$EXIT                              
    0000d0c9  CSL_secProxyGetDataAddr              
    0000d0d3  ClockP_Params_init                   
    0000c739  ClockP_construct                     
    0000c9d9  ClockP_destruct                      
    0000d0a7  ClockP_getTicks                      
    0000c6a1  ClockP_getTimeUsec                   
    0000d0f5  ClockP_getTimerCount                 
    0000ac1d  ClockP_init                          
    0000d0dd  ClockP_isActive                      
    0000cb65  ClockP_start                         
    0000c8dd  ClockP_stop                          
    0000d041  ClockP_ticksToUsec                   
    0000a5bf  ClockP_timerClearOverflowInt         
    0000c06d  ClockP_timerTickIsr                  
    0000cb99  ClockP_usleep                        
    0000ce3f  DebugP_logZoneEnable                 
    0000ad13  Dpl_deinit                           
    0000c7cd  Dpl_init                             
    0000ae03  Drivers_open                         
    000091d1  HwiP_Params_init                     
    0000b0eb  HwiP_busFault_handler                
    00009161  HwiP_clearInt                        
    000091e3  HwiP_construct                       
    0000b12b  HwiP_debugMon_handler                
    00009281  HwiP_destruct                        
    0000930f  HwiP_disable                         
    000090a9  HwiP_disableInt                      
    0000931b  HwiP_enable                          
    00009051  HwiP_enableInt                       
    0000b0cb  HwiP_hardFault_handler               
    0000cfc7  HwiP_inISR                           
    00009327  HwiP_init                            
    0000b085  HwiP_interrupt_handler               
    0000b0db  HwiP_memFault_handler                
    0000b0b9  HwiP_nmi_handler                     
    0000b13b  HwiP_pendSV_handler                  
    000092fb  HwiP_post                            
    0000b10b  HwiP_reserved_handler                
    0000909f  HwiP_restore                         
    00009105  HwiP_restoreInt                      
    00009183  HwiP_setPri                          
    0000b11b  HwiP_svc_handler                     
    0000b0fb  HwiP_usageFault_handler              
    0000cf31  IpcNotify_Params_init                
    0000ae05  IpcNotify_deInit                     
    0000cf7f  IpcNotify_getConfig                  
    0000d0b3  IpcNotify_getSelfCoreId              
    000093f5  IpcNotify_init                       
    0000cf97  IpcNotify_isCoreEnabled              
    0000aeed  IpcNotify_isr                        
    0000c95d  IpcNotify_registerClient             
    0000afb9  IpcNotify_sendMsg                    
    0000c2d5  IpcNotify_syncAll                    
    0000ce81  IpcNotify_syncCallback               
    0000cd67  IpcNotify_unregisterClient           
    0000c1a9  IpcNotify_waitSync                   
    0000cc5d  Module_clockDisable                  
    0000cc8d  Module_clockEnable                   
    0000ca15  Module_clockSetFrequency             
    00009fdd  MpuP_RegionAttrs_init                
    0000a0ed  MpuP_disable                         
    0000a0b3  MpuP_enable                          
    0000a123  MpuP_init                            
    0000a113  MpuP_isEnable                        
    00009feb  MpuP_setRegion                       
    0000b14d  Pinmux_config                        
    0000cdfb  Pinmux_init                          
    0000d0f9  PowerClock_deinit                    
    0000d061  PowerClock_init                      
    0000d051  RPMessage_CreateParams_init          
    0000cd3f  RPMessage_Params_init                
    0000c6ed  RPMessage_allocEndPtMsg              
    0000bdc7  RPMessage_construct                  
    0000cd8d  RPMessage_controlEndPtHandler        
    0000b9d9  RPMessage_coreInit                   
    0000ca4d  RPMessage_deInit                     
    0000c91d  RPMessage_destruct                   
    0000beb1  RPMessage_getEndPtMsg                
    0000d0fd  RPMessage_getLocalEndPt              
    0000ad15  RPMessage_init                       
    0000ce1d  RPMessage_isLinuxCore                
    0000c5b1  RPMessage_notifyCallback             
    0000a353  RPMessage_recv                       
    0000a811  RPMessage_recvHandler                
    0000aa25  RPMessage_send                       
    0000ca85  RPMessage_vringCheckEmptyTxBuf       
    0000bb9d  RPMessage_vringGetEmptyTxBuf         
    0000b4d3  RPMessage_vringGetFullRxBuf          
    0000cf4b  RPMessage_vringGetRxBufAddr          
    0000cf65  RPMessage_vringGetTxBufAddr          
    0000cef9  RPMessage_vringGetTxBufLen           
    0000c4ab  RPMessage_vringIsFullRxBuf           
    0000b765  RPMessage_vringPutEmptyRxBuf         
    0000c335  RPMessage_vringPutFullTxBuf          
    0000b20b  RPMessage_vringReset                 
    0000bc31  RPMessage_vringResetInternal         
    0000be3f  SOC_moduleClockEnable                
    0000a5c1  SOC_moduleSetClockFrequency          
    0000d101  Sciclient_deinit                     
    0000c601  Sciclient_getContext                 
    0000cabd  Sciclient_getCurrentContext          
    0000cfdd  Sciclient_getDevId                   
    0000b8a1  Sciclient_init                       
    0000bd4d  Sciclient_pmGetModuleClkNumParent    
    0000c143  Sciclient_pmGetModuleClkParent       
    0000bf1f  Sciclient_pmGetModuleState           
    0000c44f  Sciclient_pmModuleClkRequest         
    0000c20d  Sciclient_pmModuleGetClkStatus       
    0000b803  Sciclient_pmQueryModuleClkFreq       
    0000bcc1  Sciclient_pmSetModuleClkFreq         
    0000c393  Sciclient_pmSetModuleClkParent       
    0000c811  Sciclient_pmSetModuleRst             
    0000c55d  Sciclient_pmSetModuleState           
    00009779  Sciclient_service                    
    0000c99b  SemaphoreP_constructBinary           
    0000aeeb  SemaphoreP_destruct                  
    0000ba71  SemaphoreP_pend                      
    0000cbcb  SemaphoreP_post                      
    0000ce9f  SysTickTimerP_Params_init            
    0000d06f  SysTickTimerP_getCount               
    0000d07d  SysTickTimerP_getReloadCount         
    0000a91d  SysTickTimerP_setup                  
    0000d01d  SysTickTimerP_start                  
    0000cdb3  System_deinit                        
    0000b577  System_init                          
    0000d02f  TI_memcpy_small                      
    0000d099  TI_memset_small                      
    0000c3f1  _DebugP_assert                       
    0000cebd  _DebugP_assertNoLog                  
    0000caf5  _DebugP_logZone                      
    00031010  __BSS_END                            
    00030000  __BSS_START                          
    00011110  __STACK_END                          
    00004000  __STACK_SIZE                         
    00008000  __SYSMEM_SIZE                        
    UNDEFED   __TI_CINIT_Base                      
    UNDEFED   __TI_CINIT_Limit                     
    UNDEFED   __TI_Handler_Table_Base              
    UNDEFED   __TI_Handler_Table_Limit             
    0000cb2d  __TI_auto_init_nobinit_nopinit       
    ffffffff  __TI_pprof_out_hndl                  
    00009d75  __TI_printfi_minimal                 
    ffffffff  __TI_prof_data_size                  
    ffffffff  __TI_prof_data_start                 
    00000000  __TI_static_base__                   
    0000a1a7  __adddf3                             
    0000c785  __aeabi_d2iz                         
    0000c899  __aeabi_d2uiz                        
    0000a1a7  __aeabi_dadd                         
    0000c271  __aeabi_dcmpeq                       
    0000c2ad  __aeabi_dcmpge                       
    0000c2c1  __aeabi_dcmpgt                       
    0000c299  __aeabi_dcmple                       
    0000c285  __aeabi_dcmplt                       
    0000cbfd  __aeabi_dcmpun                       
    0000a489  __aeabi_ddiv                         
    0000ab21  __aeabi_dmul                         
    0000a19d  __aeabi_dsub                         
    0000ccbd  __aeabi_i2d                          
    0000b083  __aeabi_ldiv0                        
    0000d001  __aeabi_memclr                       
    0000d001  __aeabi_memclr4                      
    0000d001  __aeabi_memclr8                      
    0000d10d  __aeabi_memcpy                       
    0000d10d  __aeabi_memcpy4                      
    0000d10d  __aeabi_memcpy8                      
    0000cff5  __aeabi_memset                       
    0000cff5  __aeabi_memset4                      
    0000cff5  __aeabi_memset8                      
    0000ce61  __aeabi_ui2d                         
    0000d009  __aeabi_uldivmod                     
    ffffffff  __binit__                            
    0000bffd  __cmpdf2                             
    0000a489  __divdf3                             
    0000bffd  __eqdf2                              
    0000c785  __fixdfsi                            
    0000c899  __fixunsdfsi                         
    0000ccbd  __floatsidf                          
    0000ce61  __floatunsidf                        
    0000bf8d  __gedf2                              
    0000bf8d  __gtdf2                              
    0000bffd  __ledf2                              
    0000bffd  __ltdf2                              
    0000d105  __mpu_init                           
    0000ab21  __muldf3                             
    0000bffd  __nedf2                              
    0000d110  __stack                              
    00030000  __start___llvm_prf_bits              
    00030000  __start___llvm_prf_cnts              
    00030000  __stop___llvm_prf_bits               
    00030000  __stop___llvm_prf_cnts               
    0000a19d  __subdf3                             
    0000b375  __udivmoddi4                         
    0000cbfd  __unorddf2                           
    0000c505  _c_int00                             
    00000200  _sys_memory                          
    UNDEFED   _system_post_cinit                   
    0000d109  abort                                
    ffffffff  binit                                
    00030e6c  gAckReplyMsgObject                   
    00031d18  gAddrTranslateConfig                 
    00031c38  gAddrTranslateRegionConfig           
    00031cf0  gClockConfig                         
    00030fd8  gClockCtrl                           
    00031c34  gDebugLogZone                        
    00030b2c  gHwiCtrl                             
    00000000  gHwiP_vectorTable                    
    00030f2c  gIpcNotifyCtrl                       
    00031ccc  gIpcNotifyInterruptConfigNum_m4fss0_0
    00031c78  gIpcNotifyInterruptConfig_m4fss0_0   
    00031ca8  gIpcNotifyMailboxBaseAddr            
    00031ba0  gIpcNotifyMailboxConfig              
    00030000  gIpcRpmsgCtrl                        
    00031d40  gMainCoreId                          
    00031b94  gMpuConfig                           
    00031b48  gMpuRegionConfig                     
    00031d44  gMsgEchoCount                        
    701d4000  gRPMessageVringMem                   
    00031d04  gRemoteCoreId                        
    00031d60  gRemoteServiceEndPt                  
    000316dc  gSciclientMap                        
    00031cd0  gSciclientSecProxyCfg                
    00031d5c  gSocModules                          
    00031d24  gSocModulesClockFrequency            
    0000cceb  ipc_rpmsg_echo_main                  
    00009ad5  ipc_rpmsg_echo_main_core_start       
    0000b425  ipc_rpmsg_echo_remote_core_start     
    0000cf15  main                                 
    0000cedb  memccpy                              
    0000b2c3  putchar_                             
    0000c855  snprintf                             
    0000cdd7  vprintf_                             
    
    
    GLOBAL SYMBOLS: SORTED BY Symbol Address 
    
    address   name                                 
    -------   ----                                 
    00000000  __TI_static_base__                   
    00000000  gHwiP_vectorTable                    
    00000200  _sys_memory                          
    00004000  __STACK_SIZE                         
    00008000  __SYSMEM_SIZE                        
    00009051  HwiP_enableInt                       
    0000909f  HwiP_restore                         
    000090a9  HwiP_disableInt                      
    00009105  HwiP_restoreInt                      
    00009161  HwiP_clearInt                        
    00009183  HwiP_setPri                          
    000091d1  HwiP_Params_init                     
    000091e3  HwiP_construct                       
    00009281  HwiP_destruct                        
    000092fb  HwiP_post                            
    0000930f  HwiP_disable                         
    0000931b  HwiP_enable                          
    00009327  HwiP_init                            
    000093f5  IpcNotify_init                       
    00009779  Sciclient_service                    
    00009ad3  Board_deinit                         
    00009ad5  ipc_rpmsg_echo_main_core_start       
    00009d73  Board_driversClose                   
    00009d75  __TI_printfi_minimal                 
    00009fdd  MpuP_RegionAttrs_init                
    00009feb  MpuP_setRegion                       
    0000a0b3  MpuP_enable                          
    0000a0ed  MpuP_disable                         
    0000a113  MpuP_isEnable                        
    0000a123  MpuP_init                            
    0000a19b  Board_init                           
    0000a19d  __aeabi_dsub                         
    0000a19d  __subdf3                             
    0000a1a7  __adddf3                             
    0000a1a7  __aeabi_dadd                         
    0000a353  RPMessage_recv                       
    0000a489  __aeabi_ddiv                         
    0000a489  __divdf3                             
    0000a5bf  ClockP_timerClearOverflowInt         
    0000a5c1  SOC_moduleSetClockFrequency          
    0000a811  RPMessage_recvHandler                
    0000a91d  SysTickTimerP_setup                  
    0000aa25  RPMessage_send                       
    0000ab21  __aeabi_dmul                         
    0000ab21  __muldf3                             
    0000ac1d  ClockP_init                          
    0000ad13  Dpl_deinit                           
    0000ad15  RPMessage_init                       
    0000ae03  Drivers_open                         
    0000ae05  IpcNotify_deInit                     
    0000aeeb  SemaphoreP_destruct                  
    0000aeed  IpcNotify_isr                        
    0000afb9  IpcNotify_sendMsg                    
    0000b083  __aeabi_ldiv0                        
    0000b085  HwiP_interrupt_handler               
    0000b0b9  HwiP_nmi_handler                     
    0000b0cb  HwiP_hardFault_handler               
    0000b0db  HwiP_memFault_handler                
    0000b0eb  HwiP_busFault_handler                
    0000b0fb  HwiP_usageFault_handler              
    0000b10b  HwiP_reserved_handler                
    0000b11b  HwiP_svc_handler                     
    0000b12b  HwiP_debugMon_handler                
    0000b13b  HwiP_pendSV_handler                  
    0000b14d  Pinmux_config                        
    0000b20b  RPMessage_vringReset                 
    0000b2c3  putchar_                             
    0000b2c5  AddrTranslateP_init                  
    0000b375  __udivmoddi4                         
    0000b425  ipc_rpmsg_echo_remote_core_start     
    0000b4d3  RPMessage_vringGetFullRxBuf          
    0000b577  System_init                          
    0000b765  RPMessage_vringPutEmptyRxBuf         
    0000b803  Sciclient_pmQueryModuleClkFreq       
    0000b8a1  Sciclient_init                       
    0000b9d9  RPMessage_coreInit                   
    0000ba71  SemaphoreP_pend                      
    0000bb9d  RPMessage_vringGetEmptyTxBuf         
    0000bc31  RPMessage_vringResetInternal         
    0000bcc1  Sciclient_pmSetModuleClkFreq         
    0000bd4d  Sciclient_pmGetModuleClkNumParent    
    0000bdc7  RPMessage_construct                  
    0000be3f  SOC_moduleClockEnable                
    0000beb1  RPMessage_getEndPtMsg                
    0000bf1f  Sciclient_pmGetModuleState           
    0000bf8d  __gedf2                              
    0000bf8d  __gtdf2                              
    0000bffd  __cmpdf2                             
    0000bffd  __eqdf2                              
    0000bffd  __ledf2                              
    0000bffd  __ltdf2                              
    0000bffd  __nedf2                              
    0000c06d  ClockP_timerTickIsr                  
    0000c0d9  AddrTranslateP_getLocalAddr          
    0000c143  Sciclient_pmGetModuleClkParent       
    0000c1a9  IpcNotify_waitSync                   
    0000c20d  Sciclient_pmModuleGetClkStatus       
    0000c271  __aeabi_dcmpeq                       
    0000c285  __aeabi_dcmplt                       
    0000c299  __aeabi_dcmple                       
    0000c2ad  __aeabi_dcmpge                       
    0000c2c1  __aeabi_dcmpgt                       
    0000c2d5  IpcNotify_syncAll                    
    0000c335  RPMessage_vringPutFullTxBuf          
    0000c393  Sciclient_pmSetModuleClkParent       
    0000c3f1  _DebugP_assert                       
    0000c44f  Sciclient_pmModuleClkRequest         
    0000c4ab  RPMessage_vringIsFullRxBuf           
    0000c505  _c_int00                             
    0000c55d  Sciclient_pmSetModuleState           
    0000c5b1  RPMessage_notifyCallback             
    0000c601  Sciclient_getContext                 
    0000c6a1  ClockP_getTimeUsec                   
    0000c6ed  RPMessage_allocEndPtMsg              
    0000c739  ClockP_construct                     
    0000c785  __aeabi_d2iz                         
    0000c785  __fixdfsi                            
    0000c7cd  Dpl_init                             
    0000c811  Sciclient_pmSetModuleRst             
    0000c855  snprintf                             
    0000c899  __aeabi_d2uiz                        
    0000c899  __fixunsdfsi                         
    0000c8dd  ClockP_stop                          
    0000c91d  RPMessage_destruct                   
    0000c95d  IpcNotify_registerClient             
    0000c99b  SemaphoreP_constructBinary           
    0000c9d9  ClockP_destruct                      
    0000ca15  Module_clockSetFrequency             
    0000ca4d  RPMessage_deInit                     
    0000ca85  RPMessage_vringCheckEmptyTxBuf       
    0000cabd  Sciclient_getCurrentContext          
    0000caf5  _DebugP_logZone                      
    0000cb2d  __TI_auto_init_nobinit_nopinit       
    0000cb65  ClockP_start                         
    0000cb99  ClockP_usleep                        
    0000cbcb  SemaphoreP_post                      
    0000cbfd  __aeabi_dcmpun                       
    0000cbfd  __unorddf2                           
    0000cc5d  Module_clockDisable                  
    0000cc8d  Module_clockEnable                   
    0000ccbd  __aeabi_i2d                          
    0000ccbd  __floatsidf                          
    0000cceb  ipc_rpmsg_echo_main                  
    0000cd3f  RPMessage_Params_init                
    0000cd67  IpcNotify_unregisterClient           
    0000cd8d  RPMessage_controlEndPtHandler        
    0000cdb3  System_deinit                        
    0000cdd7  vprintf_                             
    0000cdfb  Pinmux_init                          
    0000ce1d  RPMessage_isLinuxCore                
    0000ce3f  DebugP_logZoneEnable                 
    0000ce61  __aeabi_ui2d                         
    0000ce61  __floatunsidf                        
    0000ce81  IpcNotify_syncCallback               
    0000ce9f  SysTickTimerP_Params_init            
    0000cebd  _DebugP_assertNoLog                  
    0000cedb  memccpy                              
    0000cef9  RPMessage_vringGetTxBufLen           
    0000cf15  main                                 
    0000cf31  IpcNotify_Params_init                
    0000cf4b  RPMessage_vringGetRxBufAddr          
    0000cf65  RPMessage_vringGetTxBufAddr          
    0000cf7f  IpcNotify_getConfig                  
    0000cf97  IpcNotify_isCoreEnabled              
    0000cfc7  HwiP_inISR                           
    0000cfdd  Sciclient_getDevId                   
    0000cff5  __aeabi_memset                       
    0000cff5  __aeabi_memset4                      
    0000cff5  __aeabi_memset8                      
    0000d001  __aeabi_memclr                       
    0000d001  __aeabi_memclr4                      
    0000d001  __aeabi_memclr8                      
    0000d009  __aeabi_uldivmod                     
    0000d01d  SysTickTimerP_start                  
    0000d02f  TI_memcpy_small                      
    0000d041  ClockP_ticksToUsec                   
    0000d051  RPMessage_CreateParams_init          
    0000d061  PowerClock_init                      
    0000d06f  SysTickTimerP_getCount               
    0000d07d  SysTickTimerP_getReloadCount         
    0000d099  TI_memset_small                      
    0000d0a7  ClockP_getTicks                      
    0000d0b3  IpcNotify_getSelfCoreId              
    0000d0bf  AddrTranslateP_Params_init           
    0000d0c9  CSL_secProxyGetDataAddr              
    0000d0d3  ClockP_Params_init                   
    0000d0dd  ClockP_isActive                      
    0000d0f1  Board_driversOpen                    
    0000d0f5  ClockP_getTimerCount                 
    0000d0f9  PowerClock_deinit                    
    0000d0fd  RPMessage_getLocalEndPt              
    0000d101  Sciclient_deinit                     
    0000d105  __mpu_init                           
    0000d108  C$$EXIT                              
    0000d109  abort                                
    0000d10d  __aeabi_memcpy                       
    0000d10d  __aeabi_memcpy4                      
    0000d10d  __aeabi_memcpy8                      
    0000d110  __stack                              
    00011110  __STACK_END                          
    00030000  __BSS_START                          
    00030000  __start___llvm_prf_bits              
    00030000  __start___llvm_prf_cnts              
    00030000  __stop___llvm_prf_bits               
    00030000  __stop___llvm_prf_cnts               
    00030000  gIpcRpmsgCtrl                        
    00030b2c  gHwiCtrl                             
    00030e6c  gAckReplyMsgObject                   
    00030f2c  gIpcNotifyCtrl                       
    00030fd8  gClockCtrl                           
    00031010  __BSS_END                            
    000316dc  gSciclientMap                        
    00031b48  gMpuRegionConfig                     
    00031b94  gMpuConfig                           
    00031ba0  gIpcNotifyMailboxConfig              
    00031c34  gDebugLogZone                        
    00031c38  gAddrTranslateRegionConfig           
    00031c78  gIpcNotifyInterruptConfig_m4fss0_0   
    00031ca8  gIpcNotifyMailboxBaseAddr            
    00031ccc  gIpcNotifyInterruptConfigNum_m4fss0_0
    00031cd0  gSciclientSecProxyCfg                
    00031cf0  gClockConfig                         
    00031d04  gRemoteCoreId                        
    00031d18  gAddrTranslateConfig                 
    00031d24  gSocModulesClockFrequency            
    00031d40  gMainCoreId                          
    00031d44  gMsgEchoCount                        
    00031d5c  gSocModules                          
    00031d60  gRemoteServiceEndPt                  
    701d4000  gRPMessageVringMem                   
    ffffffff  __TI_pprof_out_hndl                  
    ffffffff  __TI_prof_data_size                  
    ffffffff  __TI_prof_data_start                 
    ffffffff  __binit__                            
    ffffffff  binit                                
    UNDEFED   __TI_CINIT_Base                      
    UNDEFED   __TI_CINIT_Limit                     
    UNDEFED   __TI_Handler_Table_Base              
    UNDEFED   __TI_Handler_Table_Limit             
    UNDEFED   _system_post_cinit                   
    
    [240 symbols]
    

  • Hi ,

    Our expert is OOO and will be back on 16th Feb. Please expect some delay in response.

    Best Regards,
    Aakash

  • 1/ As the communication between R5F and M4F use your IPC library, i would like to know if the IPC library is certified?

    Regarding the safety certification, I am yet to consult with the SDK team if they are already certified or the certification is in pipeline. 

    3/ i would like to get your feedback about the memory use, for example about a simple demo IPC code, we saw the total resource consumed is 35% for a small application of 20K Code.

    Seems like, you're taking a memory footprint for the M4 core and yes you'll be seeing this higher usage because the memory available for M4 core is very low, hence the M4 core should only be used to handle things like authentication, crypto etc., and not handle any extra real time things. 

    Thanks

  • Seems like, you're taking a memory footprint for the M4 core and yes you'll be seeing this higher usage because the memory available for M4 core is very low, hence the M4 core should only be used to handle things like authentication, crypto etc., and not handle any extra real time things. 

    Yes, it is for the M4, but i am little bit afraid about your answer, we are using as safety isolated core, For a safety application. which will manage safe protocol and safety I/O, not simple task ask you said.

    From my point of view you are referring to the M3 and not the M4. I expected more an answer which allow me to reduce the size of the footprint (reducing the stack or the heap for example).

  • Hi Christophe,

    simple demo IPC code

    What is this demo IPC code please? Is it Notify example or RpMsg? The reason is, the RpMsg has extra code to handle the VRING memory etc., You cannot simply improve the memory footprint by changing the heap or stack size. The code size has to reduce.

  • Hi Kowshik,

    Yes it the demo code ipc_rpmsg_echo, you can see that in the table.I may have wrong, but from my point of view (you can look in the table), the 35% are: 

    • 69392 bytes, which is 20210 bytes of code + the 32768 bytes for the heap + 16384 bytes for the stack.
    • About the 20210, there is 916 byte of user application, and all others are for sysconfig (512), Dirver lib (7916), nortos (8168), libc (892), clang (1806). 
    • The ring is out of side of this, it is in VRING. 

    I am pretty sure that we can reduce the heap and the stack, and may be, you could see what takes the biggest size in the driver and nortos to help to understand how it can be reduced.

    Also, the question about the size is linked with the question about the sdk certification, because i guess that it will be a different lib, and it is interesting for us to understand the impact on this size.  

    Seems like, you're taking a memory footprint for the M4 core and yes you'll be seeing this higher usage because the memory available for M4 core is very low, hence the M4 core should only be used to handle things like authentication, crypto etc., and not handle any extra real time things. 

    Yes, it is for the M4, but i am little bit afraid about your answer, we are using as safety isolated core, For a safety application. which will manage safe protocol and safety I/O, not simple task ask you said.

    From my point of view you are referring to the M3 and not the M4. I expected more an answer which allow me to reduce the size of the footprint (reducing the stack or the heap for example).

    I would like to get clarification from you, as well, about the M4 that need to be used only for simple application (authentication, crypto, ..), please can you clarify? 

  • I am pretty sure that we can reduce the heap and the stack, and may be, you could see what takes the biggest size in the driver and nortos to help to understand how it can be reduced.

    Hi Christophe,

    Regarding the memory footprints, as a part of safety certification to our drivers we have developed a different interface of our drivers named as "LLD (Low-Level Drivers") which is expected to have much smaller footprint however the timelines for these drivers to release are not yet freezed. 

    I would like to get clarification from you, as well, about the M4 that need to be used only for simple application (authentication, crypto, ..), please can you clarify? 

    The M4 cores inside our MCU's are generally considered as the security islands, which means they are isolated from the general purpose peripherals and this cores are highly used to perform secure communications / Boots/ enabling crypto access to the Real-time R5 cores etc., However, we do have drivers for M4 core as well for some modules as IPC (this is needed for creating a secure communication between R5 and M4 cores during secure boot applications etc.,) I hope this answers your query on HSM core usage however you can make this core use as general purpose core as well. Please have a look at the page 29 of our TRM that explains the use-case. AM64x /AM243x Processors Silicon Revision 2.0 Texas Instruments Families of Products (ti.com)

    Hope this answers your query.