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.

SysLink, essential fast functions and memory placement

Other Parts Discussed in Thread: OMAP-L138

In another post I asked about SysLink HWIs.

One other problem I have is trying to get SysLink working efficiently so that it does its thing and then gets out of the way.  I have a problem here, because I don't have enough IRAM (L2 RAM) for the entire program and data, so some of the program has to live in external DDR.  As far as my application is concerned, getting settings from the ARM to the DSP can be a slower process, so I have no problems with all that living in external DDR.

This is a problem for the SysLink HWIs (and perhaps SWIs if they create them too) though.  If a HWI takes a long time to run, it's going to get in the way of SWIs.  Also if the HWI is running from external DDR, it could be triggering cache invalidates which will cause all sorts of fun for the rest of the application.  And unfortunately there isn't enough space left to put the entire SysLink library in IRAM.

From the SysLink library, are there some functions which definitely should live closer to the DSP core for best performance?  And are there some functions which can definitely be left further away, because they don't matter so much?  Some advice on how best to place these library functions in the linker command file would be very helpful, please.

  • Hi Graham,

    Fundamentally this is an application-dependent question. Which device are you on? You would need to identify which SysLInk modules you are using, see which APIs are called most often and which ones are called during critical paths in your application.

    That said, HWI functions are good ones to have in fast memory. If you can share the .map file of your application, I can maybe help you identify which ones are used in HWIs.

    Best regards,

    Vincent

  • Thanks Vincent.  This is on the DSP core of an OMAP-L138.  From IPC I'm only actually using Notify events on a regular basis, which is how the ARM and DSP trigger each other to do stuff.  Data passing is handled by using SharedRegion to allocate some of the onboard (L3) dual-port memory at startup for a defined data structure (with cache invalidate calls to ensure the shared memory is up-to-date).  The two cores then write to the relevant places in this data structure, and Notify events trigger one side or the other to look for new values.  I don't use SharedRegion after startup though, so it's not important for that to run quickly.

    I don't actually care if Notify events are handled quickly.  All I care about are that all IPC HWIs and SWIs finish as quickly as possible and get out of the way of everyone else.  So every HWI or SWI, and every function that could be called from a HWI or SWI, I need to get those out of the slow external DDR.

    I've attached an excerpt from the MAP file listing all the functions which are currently in slow memory (DDR).  If you could help identify which functions are used by IPC HWIs and SWIs, that would be great, thanks.

    Graham.

    ******************************************************************************
                   TMS320C6x Linker Unix v7.4.4                   
    ******************************************************************************
    >> Linked Wed Oct 29 20:10:33 2014
    OUTPUT FILE NAME:   <npc5000_dsp.xe674>
    ENTRY POINT SYMBOL: "ti_sysbios_family_c64p_Hwi0"  address: 11815000

    MEMORY CONFIGURATION
             name            origin    length      used     unused   attr    fill
    ----------------------  --------  ---------  --------  --------  ----  --------
      IROM                  11700000   00100000  00000000  00100000  R  X
      IRAM                  11800000   00020000  0001506f  0000af91  RW X
      L1DSRAM               11f00000   00004000  00001000  00003000  RW 
      L3_CBA_RAM            80000000   00020000  00020000  00000000  RW X
      DDR_SYSLINK           c7000000   00800000  00800000  00000000  RW X
      DDR_IPC_SHARED        c7800000   00700000  00000000  00700000  RW X
      DDR_DSP               c7f00000   00100000  00056ed0  000a9130  RW X

    SEGMENT ALLOCATION MAP
    run origin  load origin   length   init length attrs members
    ----------  ----------- ---------- ----------- ----- -------
    11800000    11800000    00011d00   00011d00    r-x
      11800000    11800000    00005a00   00005a00    r-x critical_sysbios_library_code
      11805a00    11805a00    00006140   00006140    r-x critical_code
      1180bb40    1180bb40    00003120   00003120    r-x fast_code
      1180ec60    1180ec60    00001ca0   00001ca0    r-x critical_kernel_code
      11810900    11810900    000013e0   000013e0    r-x critical_sysbios_local_code
      11811ce0    11811ce0    00000020   00000020    r-- .const.1
    11811d00    11811d00    00000ea8   00000ea8    rw-
      11811d00    11811d00    00000ea8   00000ea8    rw- critical_data
    11812ba8    11812ba8    00000b0a   00000b0a    r--
      11812ba8    11812ba8    00000b0a   00000b0a    r-- .const.2
    118136b4    118136b4    00000004   00000004    rw-
      118136b4    118136b4    00000004   00000004    rw- shared_data
    118136b8    118136b8    00000d44   00000d44    rw-
      118136b8    118136b8    00000d44   00000d44    rw- .fardata
    11814400    11814400    0000058c   0000058c    rw-
      11814400    11814400    0000058c   0000058c    rw- critical_config_fardata
    1181498c    1181498c    0000027c   0000027c    r--
      1181498c    1181498c    0000027c   0000027c    r-- .switch
    11814c08    11814c08    0000017d   0000017d    rw-
      11814c08    11814c08    0000017d   0000017d    rw- fast_data
    11814d88    11814d88    000000a4   000000a4    rw-
      11814d88    11814d88    0000009c   0000009c    rw- critical_kernel_fardata
      11814e24    11814e24    00000008   00000008    rw- .neardata
    11814e2c    11814e2c    00000044   00000044    r--
      11814e2c    11814e2c    00000044   00000044    r-- .rodata
    11814e70    11814e70    00000008   00000000    rw-
      11814e70    11814e70    00000008   00000000    rw- critical_kernel_farcode
    11815000    11815000    00000200   00000200    r-x
      11815000    11815000    00000200   00000200    r-x .vecs
    11f00000    11f00000    00001000   00000000    rw-
      11f00000    11f00000    00001000   00000000    rw- .stack
    c7f00000    c7f00000    0003a9dc   0003a9dc    rw-
      c7f00000    c7f00000    0003a9dc   0003a9dc    rw- slow_data
    c7f3a9e0    c7f3a9e0    0001a14c   0001a14c    r-x
      c7f3a9e0    c7f3a9e0    00010d60   00010d60    r-x .text
      c7f4b740    c7f4b740    000068a0   000068a0    r-x slow_code
      c7f51fe0    c7f51fe0    00002b4c   00002b4c    r-- .const:xdc_runtime_Text_charTab__A
    c7f54b30    c7f54b30    00001a18   00000000    rw-
      c7f54b30    c7f54b30    00001a18   00000000    rw- .far
    c7f56548    c7f56548    000007e4   000007e4    r--
      c7f56548    c7f56548    00000678   00000678    r-- .const:.string
      c7f56bc0    c7f56bc0    0000016c   0000016c    r-- .const:xdc_runtime_Text_nodeTab__A
    c7f56d30    c7f56d30    00000120   00000000    rw-
      c7f56d30    c7f56d30    00000120   00000000    rw- .cio
    c7f57000    c7f57000    0000008c   0000008c    r--
      c7f57000    c7f57000    0000008c   0000008c    r-- ti_sdo_ipc_init
    <cut>
    .text      0    c7f3a9e0    00010d60     
                      c7f3a9e0    00000bc0     ipc.ae674 : Ipc.obj (.text:ti_sdo_ipc_GateMP_Instance_init__F)
                      c7f3b5a0    000008a0     ti.targets.rts6000.ae674 : System.oe674 (.text:xdc_runtime_System_doPrint__I)
                      c7f3be40    000007a0     ipc.ae674 : Ipc.obj (.text:Ipc_attach)
                      c7f3c5e0    00000720               : Ipc.obj (.text:ti_sdo_ipc_transports_TransportShm_Instance_init__F)
                      c7f3cd00    00000640               : Ipc.obj (.text:Ipc_detach)
                      c7f3d340    000004c0               : Ipc.obj (.text:ti_sdo_ipc_GateMP_setRegion0Reserved__F)
                      c7f3d800    00000480               : Ipc.obj (.text:ti_sdo_ipc_ListMP_Instance_init__F)
                      c7f3dc80    00000440               : Ipc.obj (.text:ti_sdo_ipc_heaps_HeapMemMP_Instance_init__F)
                      c7f3e0c0    00000440               : Ipc.obj (.text:ti_sdo_ipc_nsremote_NameServerRemoteNotify_get__F)
                      c7f3e500    00000420               : Ipc.obj (.text:ti_sdo_ipc_GateMP_Instance_finalize__F)
                      c7f3e920    00000400               : Ipc.obj (.text:NameServer_add)
                      c7f3ed20    000003e0               : Ipc.obj (.text:ti_sdo_ipc_heaps_HeapMemMP_alloc__E)
                      c7f3f100    00000360               : Ipc.obj (.text:ti_sdo_ipc_heaps_HeapMemMP_free__E)
                      c7f3f460    00000340               : Ipc.obj (.text:Ipc_writeConfig)
                      c7f3f7a0    00000300               : Ipc.obj (.text:ti_sdo_ipc_Ipc_procSyncStart__I)
                      c7f3faa0    000002e0               : Ipc.obj (.text:ti_sdo_ipc_gates_GatePeterson_Instance_init__F)
                      c7f3fd80    000002c0               : Ipc.obj (.text:ti_sdo_ipc_nsremote_NameServerRemoteNotify_Instance_init__F)
                      c7f40040    000002c0               : Ipc.obj (.text:ti_sdo_ipc_transports_TransportShm_Instance_finalize__F)
                      c7f40300    00000280               : Ipc.obj (.text:GateMP_openByAddr)
                      c7f40580    00000280               : Ipc.obj (.text:ti_sdo_ipc_family_da830_NotifySetup_attach__E)
                      c7f40800    00000280               : Ipc.obj (.text:ti_sdo_ipc_nsremote_NameServerRemoteNotify_swiFxn__I)
                      c7f40a80    00000280     ti.targets.rts6000.ae674 : Error.oe674 (.text:xdc_runtime_Error_raiseX__F)
                      c7f40d00    00000260     ipc.ae674 : Ipc.obj (.text:Ipc_start)
                      c7f40f60    00000260     ti.targets.rts6000.ae674 : Startup.oe674 (.text:xdc_runtime_Startup_startMods__I)
                      c7f411c0    00000240     npc5000_dsp_pe674.oe674 (.text:xdc_runtime_System_printfExtend__I)
                      c7f41400    00000220     ipc.ae674 : Ipc.obj (.text:ti_sdo_ipc_Ipc_procSyncFinish__I)
                      c7f41620    00000220               : Ipc.obj (.text:ti_sdo_ipc_heaps_HeapMemMP_getStats__E)
                      c7f41840    00000220     ti.targets.rts6000.ae674 : Core-mem.oe674 (.text:xdc_runtime_Core_createObject__I)
                      c7f41a60    00000200     ipc.ae674 : Ipc.obj (.text:ListMP_getHead)
                      c7f41c60    00000200               : Ipc.obj (.text:ListMP_openByAddr)
                      c7f41e60    00000200               : Ipc.obj (.text:ListMP_putTail)
                      c7f42060    00000200               : Ipc.obj (.text:ti_sdo_ipc_GateMP_getFreeResource__I)
                      c7f42260    00000200               : Ipc.obj (.text:ti_sdo_ipc_notifyDrivers_NotifyDriverShm_sendEvent__E)
                      c7f42460    000001e0               : Ipc.obj (.text:GateMP_sharedMemReq)
                      c7f42640    000001e0               : Ipc.obj (.text:ti_sdo_ipc_notifyDrivers_NotifyDriverShm_Instance_init__F)
                      c7f42820    000001c0               : Ipc.obj (.text:ListMP_remove)
                      c7f429e0    000001c0     ti.targets.rts6000.ae674 : Text.oe674 (.text:xdc_runtime_Text_putSite__F)
                      c7f42ba0    000001a0     ipc.ae674 : Ipc.obj (.text:NameServer_getHandle)
                      c7f42d40    000001a0               : Ipc.obj (.text:ti_sdo_ipc_GateMP_openRegion0Reserved__F)
                      c7f42ee0    000001a0               : Ipc.obj (.text:ti_sdo_ipc_heaps_HeapMemMP_postInit__I)
                      c7f43080    000001a0               : Ipc.obj (.text:ti_sdo_ipc_notifyDrivers_NotifyDriverShm_registerEvent__E)
                      c7f43220    00000180               : Ipc.obj (.text:ti_sdo_ipc_Notify_Instance_init__F)
                      c7f433a0    00000180               : Ipc.obj (.text:ti_sdo_ipc_gates_GatePeterson_enter__E)
                      c7f43520    00000180               : Ipc.obj (.text:ti_sdo_ipc_heaps_HeapMemMP_Instance_finalize__F)
                      c7f436a0    00000180               : Ipc.obj (.text:ti_sdo_ipc_notifyDrivers_NotifyDriverShm_isr__I)
                      c7f43820    00000180               : Ipc.obj (.text:ti_sdo_ipc_notifyDrivers_NotifyDriverShm_unregisterEvent__E)
                      c7f439a0    00000180               : Ipc.obj (.text:ti_sdo_ipc_transports_TransportShm_openByAddr__F)
                      c7f43b20    00000160               : Ipc.obj (.text:HeapMemMP_openByAddr)
                      c7f43c80    00000160               : Ipc.obj (.text:Notify_registerEvent)
                      c7f43de0    00000160               : Ipc.obj (.text:ti_sdo_ipc_ListMP_Instance_finalize__F)
                      c7f43f40    00000160               : Ipc.obj (.text:ti_sdo_utils_NameServer_removeLocal__I)
                      c7f440a0    00000140     boot.ae674 : autoinit.oe674 (.text:_auto_init_elf)
                      c7f441e0    00000140     ipc.ae674 : Ipc.obj (.text:ti_sdo_ipc_GateMP_start__F)
                      c7f44320    00000140               : Ipc.obj (.text:ti_sdo_ipc_SharedRegion_start__F)
                      c7f44460    00000140               : Ipc.obj (.text:ti_sdo_ipc_notifyDrivers_NotifyDriverShm_disableEvent__E)
                      c7f445a0    00000140               : Ipc.obj (.text:ti_sdo_ipc_transports_TransportShm_put__E)
                      c7f446e0    00000140     ti.targets.rts6000.ae674 : Text.oe674 (.text:xdc_runtime_Text_putLab__F)
                      c7f44820    00000120     ipc.ae674 : Ipc.obj (.text:HeapMemMP_sharedMemReq)
                      c7f44940    00000120               : Ipc.obj (.text:MessageQ_put)
                      c7f44a60    00000120               : Ipc.obj (.text:ti_sdo_ipc_MessageQ_Module_startup__F)
                      c7f44b80    00000120               : Ipc.obj (.text:ti_sdo_ipc_nsremote_NameServerRemoteNotify_Instance_finalize__F)
                      c7f44ca0    00000120               : Ipc.obj (.text:ti_sdo_ipc_transports_TransportShmSetup_attach__E)
                      c7f44dc0    00000120     ti.targets.rts6000.ae674 : Text.oe674 (.text:xdc_runtime_Text_putMod__F)
                      c7f44ee0    00000100     ipc.ae674 : Ipc.obj (.text:ListMP_sharedMemReq)
                      c7f44fe0    00000100               : Ipc.obj (.text:NameServer_getLocal)
                      c7f450e0    00000100               : Ipc.obj (.text:Notify_registerEventSingle)
                      c7f451e0    00000100               : Ipc.obj (.text:Notify_sendEvent)
                      c7f452e0    00000100               : Ipc.obj (.text:Notify_unregisterEventSingle)
                      c7f453e0    00000100               : Ipc.obj (.text:ti_sdo_ipc_Notify_Instance_finalize__F)
                      c7f454e0    00000100               : Ipc.obj (.text:ti_sdo_ipc_SharedRegion_attach__F)
                      c7f455e0    00000100               : Ipc.obj (.text:ti_sdo_ipc_SharedRegion_clearReservedMemory__F)
                      c7f456e0    00000100               : Ipc.obj (.text:ti_sdo_ipc_transports_TransportShm_sharedMemReq__F)
                      c7f457e0    00000100               : Ipc.obj (.text:ti_sdo_utils_NameServer_findLocal__I)
                      c7f458e0    00000100     ti.targets.rts6000.ae674 : Core-mem.oe674 (.text:xdc_runtime_Core_deleteObject__I)
                      c7f459e0    00000100                              : Startup.oe674 (.text:xdc_runtime_Startup_exec__F)
                      c7f45ae0    00000100                              : Text.oe674 (.text:xdc_runtime_Text_visitRope2__I)
                      c7f45be0    000000e0     ipc.ae674 : Ipc.obj (.text:ti_sdo_ipc_Ipc_getMasterAddr__I)
                      c7f45cc0    000000e0               : Ipc.obj (.text:ti_sdo_ipc_Ipc_getSlaveAddr__I)
                      c7f45da0    000000e0     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_Notify_Object__create__S)
                      c7f45e80    000000e0     ipc.ae674 : Ipc.obj (.text:ti_sdo_ipc_Notify_detach__F)
                      c7f45f60    000000e0               : Ipc.obj (.text:ti_sdo_ipc_SharedRegion_reserveMemory__F)
                      c7f46040    000000e0               : Ipc.obj (.text:ti_sdo_ipc_SharedRegion_stop__F)
                      c7f46120    000000e0     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_gates_GatePeterson_Object__create__S)
                      c7f46200    000000e0     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_nsremote_NameServerRemoteNotify_Object__create__S)
                      c7f462e0    000000e0     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_transports_TransportShm_Object__create__S)
                      c7f463c0    000000e0     ipc.ae674 : Ipc.obj (.text:ti_sdo_utils_NameServer_Module_startup__F)
                      c7f464a0    000000e0     ti.targets.rts6000.ae674 : Error.oe674 (.text:xdc_runtime_Error_print__F)
                      c7f46580    000000e0                              : Memory.oe674 (.text:xdc_runtime_Memory_alloc__F)
                      c7f46660    000000c0     ipc.ae674 : Ipc.obj (.text:Ipc_stop)
                      c7f46720    000000c0               : Ipc.obj (.text:ListMP_create)
                      c7f467e0    000000c0               : Ipc.obj (.text:MultiProc_getId)
                      c7f468a0    000000c0               : Ipc.obj (.text:SharedRegion_getId)
                      c7f46960    000000c0     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_GateMP_Object__create__S)
                      c7f46a20    000000c0     ipc.ae674 : Ipc.obj (.text:ti_sdo_ipc_GateMP_attach__F)
                      c7f46ae0    000000c0               : Ipc.obj (.text:ti_sdo_ipc_GateMP_detach__F)
                      c7f46ba0    000000c0     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_ListMP_Object__create__S)
                      c7f46c60    000000c0     ipc.ae674 : Ipc.obj (.text:ti_sdo_ipc_Notify_execMany__I)
                      c7f46d20    000000c0               : Ipc.obj (.text:ti_sdo_ipc_SharedRegion_detach__F)
                      c7f46de0    000000c0               : Ipc.obj (.text:ti_sdo_ipc_family_da830_InterruptDsp_intRegister__E)
                      c7f46ea0    000000c0               : Ipc.obj (.text:ti_sdo_ipc_gates_GatePeterson_postInit__I)
                      c7f46f60    000000c0     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_heaps_HeapMemMP_Object__create__S)
                      c7f47020    000000c0     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_notifyDrivers_NotifyDriverShm_Object__create__S)
                      c7f470e0    000000c0     ipc.ae674 : Ipc.obj (.text:ti_sdo_ipc_nsremote_NameServerRemoteNotify_attach__E)
                      c7f471a0    000000c0               : Ipc.obj (.text:ti_sdo_utils_NameServer_postInit__I)
                      c7f47260    000000c0     ti.targets.rts6000.ae674 : System.oe674 (.text:xdc_runtime_System_formatNum__I)
                      c7f47320    000000c0     npc5000_dsp_pe674.oe674 (.text:xdc_runtime_knl_GateThread_Object__create__S)
                      c7f473e0    000000a0     ipc.ae674 : Ipc.obj (.text:GateMP_close)
                      c7f47480    000000a0               : Ipc.obj (.text:HeapMemMP_create)
                      c7f47520    000000a0               : Ipc.obj (.text:HeapMemMP_restore)
                      c7f475c0    000000a0               : Ipc.obj (.text:SharedRegion_getPtr)
                      c7f47660    000000a0               : Ipc.obj (.text:SharedRegion_getSRPtr)
                      c7f47700    000000a0     boot.ae674 : boot.oe674 (.text:_c_int00)
                      c7f477a0    000000a0     ipc.ae674 : Ipc.obj (.text:ti_sdo_ipc_GateMP_getRegion0ReservedSize__F)
                      c7f47840    000000a0               : Ipc.obj (.text:ti_sdo_ipc_ListMP_elemClear__I)
                      c7f478e0    000000a0               : Ipc.obj (.text:ti_sdo_ipc_Notify_Module_startup__F)
                      c7f47980    000000a0               : Ipc.obj (.text:ti_sdo_ipc_gates_GatePeterson_leave__E)
                      c7f47a20    000000a0               : Ipc.obj (.text:ti_sdo_ipc_gates_GatePeterson_sharedMemReq__E)
                      c7f47ac0    000000a0               : Ipc.obj (.text:ti_sdo_ipc_notifyDrivers_NotifyDriverShm_Instance_finalize__F)
                      c7f47b60    000000a0               : Ipc.obj (.text:ti_sdo_ipc_notifyDrivers_NotifyDriverShm_sharedMemReq__F)
                      c7f47c00    000000a0               : Ipc.obj (.text:ti_sdo_ipc_nsremote_NameServerRemoteNotify_detach__E)
                      c7f47ca0    000000a0               : Ipc.obj (.text:ti_sdo_ipc_transports_TransportShmSetup_detach__E)
                      c7f47d40    000000a0     ti.targets.rts6000.ae674 : Assert.oe674 (.text:xdc_runtime_Assert_raise__I)
                      c7f47de0    000000a0                              : SysMin.oe674 (.text:xdc_runtime_SysMin_abort__F)
                      c7f47e80    000000a0                              : SysMin.oe674 (.text:xdc_runtime_SysMin_flush__F)
                      c7f47f20    000000a0                              : SysMin.oe674 (.text:xdc_runtime_SysMin_putch__F)
                      c7f47fc0    000000a0                              : Text.oe674 (.text:xdc_runtime_Text_xprintf__I)
                      c7f48060    00000080     ipc.ae674 : Ipc.obj (.text:HeapMemMP_getRTSCParams$12)
                      c7f480e0    00000080               : Ipc.obj (.text:SharedRegion_getHeap)
                      c7f48160    00000080     npc5000_dsp_pe674.oe674 (.text:malloc)
                      c7f481e0    00000080     ipc.ae674 : Ipc.obj (.text:ti_sdo_ipc_GateMP_createLocal__F)
                      c7f48260    00000080               : Ipc.obj (.text:ti_sdo_ipc_GateMP_stop__F)
                      c7f482e0    00000080               : Ipc.obj (.text:ti_sdo_ipc_family_da830_NotifySetup_sharedMemReq__E)
                      c7f48360    00000080     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_gates_GateMPSupportNull_Object__create__S)
                      c7f483e0    00000080     ipc.ae674 : Ipc.obj (.text:ti_sdo_ipc_transports_TransportShm_swiFxn__I)
                      c7f48460    00000080     ti.targets.rts6000.ae674 : Core-label.oe674 (.text:xdc_runtime_Core_assignLabel__I)
                      c7f484e0    00000080                              : Core-params.oe674 (.text:xdc_runtime_Core_assignParams__I)
                      c7f48560    00000080                              : System.oe674 (.text:xdc_runtime_System_atexit__F)
                      c7f485e0    00000080                              : System.oe674 (.text:xdc_runtime_System_putchar__I)
                      c7f48660    00000080                              : System.oe674 (.text:xdc_runtime_System_rtsExit__I)
                      c7f486e0    00000080                              : Text.oe674 (.text:xdc_runtime_Text_printVisFxn__I)
                      c7f48760    00000060     ipc.ae674 : Ipc.obj (.text:GateMP_Params_init)
                      c7f487c0    00000060               : Ipc.obj (.text:HeapMemMP_Params_init)
                      c7f48820    00000060               : Ipc.obj (.text:Notify_numIntLines)
                      c7f48880    00000060               : Ipc.obj (.text:Notify_sharedMemReq)
                      c7f488e0    00000060     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_GateMP_Object__delete__S)
                      c7f48940    00000060     ipc.ae674 : Ipc.obj (.text:ti_sdo_ipc_Ipc_getRegion0ReservedSize__I)
                      c7f489a0    00000060     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_ListMP_Object__delete__S)
                      c7f48a00    00000060     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_Notify_Object__delete__S)
                      c7f48a60    00000060     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_gates_GatePeterson_Object__delete__S)
                      c7f48ac0    00000060     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_heaps_HeapMemMP_Object__delete__S)
                      c7f48b20    00000060     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_notifyDrivers_NotifyDriverShm_Object__delete__S)
                      c7f48b80    00000060     ipc.ae674 : Ipc.obj (.text:ti_sdo_ipc_notifyDrivers_NotifyDriverShm_enableEvent__E)
                      c7f48be0    00000060     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_nsremote_NameServerRemoteNotify_Object__delete__S)
                      c7f48c40    00000060     ipc.ae674 : Ipc.obj (.text:ti_sdo_ipc_transports_TransportShmSetup_sharedMemReq__E)
                      c7f48ca0    00000060     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_transports_TransportShm_Object__delete__S)
                      c7f48d00    00000060     npc5000_dsp_pe674.oe674 (.text:ti_sdo_utils_List_Object__create__S)
                      c7f48d60    00000060     ti.syslink.ipc.rtos.ae674 : Syslink.oe674 (.text:ti_syslink_ipc_rtos_Syslink_attach)
                      c7f48dc0    00000060     npc5000_dsp_pe674.oe674 (.text:xdc_runtime_GateNull_Object__create__S)
                      c7f48e20    00000060     ti.targets.rts6000.ae674 : Memory.oe674 (.text:xdc_runtime_Memory_calloc__F)
                      c7f48e80    00000060                              : Memory.oe674 (.text:xdc_runtime_Memory_valloc__F)
                      c7f48ee0    00000060                              : SysMin.oe674 (.text:xdc_runtime_SysMin_Module_startup__F)
                      c7f48f40    00000060                              : SysMin.oe674 (.text:xdc_runtime_SysMin_exit__F)
                      c7f48fa0    00000060     npc5000_dsp_pe674.oe674 (.text:xdc_runtime_SysMin_output__I)
                      c7f49000    00000060     ti.targets.rts6000.ae674 : System.oe674 (.text:xdc_runtime_System_aprintf_va__F)
                      c7f49060    00000060                              : System.oe674 (.text:xdc_runtime_System_printf_va__F)
                      c7f490c0    00000060                              : Text.oe674 (.text:xdc_runtime_Text_cordText__F)
                      c7f49120    00000060     npc5000_dsp_pe674.oe674 (.text:xdc_runtime_knl_GateThread_Object__delete__S)
                      c7f49180    00000040     ipc.ae674 : Ipc.obj (.text:Notify_intLineRegistered)
                      c7f491c0    00000040     npc5000_dsp_pe674.oe674 (.text:free)
                      c7f49200    00000040     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_GateMP_Params__init__S)
                      c7f49240    00000040     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_ListMP_Params__init__S)
                      c7f49280    00000040     ipc.ae674 : Ipc.obj (.text:ti_sdo_ipc_MessageQ_registerTransport__F)
                      c7f492c0    00000040               : Ipc.obj (.text:ti_sdo_ipc_MessageQ_unregisterTransport__F)
                      c7f49300    00000040               : Ipc.obj (.text:ti_sdo_ipc_SharedRegion_resetInternalFields__F)
                      c7f49340    00000040               : Ipc.obj (.text:ti_sdo_ipc_family_da830_InterruptDsp_intClear__E)
                      c7f49380    00000040               : Ipc.obj (.text:ti_sdo_ipc_family_da830_InterruptDsp_intSend__E)
                      c7f493c0    00000040     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_gates_GateMPSupportNull_Handle__label__S)
                      c7f49400    00000040     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_gates_GateMPSupportNull_Object__delete__S)
                      c7f49440    00000040     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_gates_GateMPSupportNull_Params__init__S)
                      c7f49480    00000040     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_gates_GatePeterson_Handle__label__S)
                      c7f494c0    00000040     ipc.ae674 : Ipc.obj (.text:ti_sdo_ipc_gates_GatePeterson_Instance_finalize__F)
                      c7f49500    00000040     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_gates_GatePeterson_Params__init__S)
                      c7f49540    00000040     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_heaps_HeapMemMP_Handle__label__S)
                      c7f49580    00000040     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_heaps_HeapMemMP_Params__init__S)
                      c7f495c0    00000040     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_notifyDrivers_NotifyDriverShm_Handle__label__S)
                      c7f49600    00000040     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_notifyDrivers_NotifyDriverShm_Params__init__S)
                      c7f49640    00000040     ipc.ae674 : Ipc.obj (.text:ti_sdo_ipc_notifyDrivers_NotifyDriverShm_setNotifyHandle__E)
                      c7f49680    00000040     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_nsremote_NameServerRemoteNotify_Handle__label__S)
                      c7f496c0    00000040     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_nsremote_NameServerRemoteNotify_Params__init__S)
                      c7f49700    00000040     ipc.ae674 : Ipc.obj (.text:ti_sdo_ipc_nsremote_NameServerRemoteNotify_sharedMemReq__E)
                      c7f49740    00000040     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_transports_TransportShm_Handle__label__S)
                      c7f49780    00000040     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_transports_TransportShm_Params__init__S)
                      c7f497c0    00000040     npc5000_dsp_pe674.oe674 (.text:ti_sdo_utils_List_Object__destruct__S)
                      c7f49800    00000040     ipc.ae674 : Ipc.obj (.text:ti_sdo_utils_List_get__E)
                      c7f49840    00000040               : Ipc.obj (.text:ti_sdo_utils_List_putHead__E)
                      c7f49880    00000040               : Ipc.obj (.text:ti_sdo_utils_List_put__E)
                      c7f498c0    00000040     npc5000_dsp_pe674.oe674 (.text:ti_sdo_utils_NameServer_Module__startupDone__F)
                      c7f49900    00000040     npc5000_dsp_pe674.oe674 (.text:ti_sdo_utils_NameServer_Object__get__S)
                      c7f49940    00000040     ipc.ae674 : Ipc.obj (.text:ti_sdo_utils_NameServer_registerRemoteDriver__E)
                      c7f49980    00000040               : Ipc.obj (.text:ti_sdo_utils_NameServer_unregisterRemoteDriver__E)
                      c7f499c0    00000040     ti.syslink.ipc.rtos.ae674 : Syslink.oe674 (.text:ti_syslink_ipc_rtos_Syslink_detach)
                      c7f49a00    00000040     ti.targets.rts6000.ae674 : Error.oe674 (.text:xdc_runtime_Error_check__F)
                      c7f49a40    00000040                              : Error.oe674 (.text:xdc_runtime_Error_init__F)
                      c7f49a80    00000040     npc5000_dsp_pe674.oe674 (.text:xdc_runtime_GateNull_Handle__label__S)
                      c7f49ac0    00000040     npc5000_dsp_pe674.oe674 (.text:xdc_runtime_GateNull_Object__delete__S)
                      c7f49b00    00000040     ti.targets.rts6000.ae674 : Memory.oe674 (.text:xdc_runtime_Memory_free__F)
                      c7f49b40    00000040                              : Registry.oe674 (.text:xdc_runtime_Registry_findById__F)
                      c7f49b80    00000040                              : System.oe674 (.text:xdc_runtime_System_abort__F)
                      c7f49bc0    00000040     npc5000_dsp_pe674.oe674 (.text:xdc_runtime_System_aprintf__E)
                      c7f49c00    00000040     npc5000_dsp_pe674.oe674 (.text:xdc_runtime_System_printf__E)
                      c7f49c40    00000040     ti.targets.rts6000.ae674 : Text.oe674 (.text:xdc_runtime_Text_ropeText__F)
                      c7f49c80    00000040     npc5000_dsp_pe674.oe674 (.text:xdc_runtime_knl_GateThread_Handle__label__S)
                      c7f49cc0    00000040     ti.targets.rts6000.ae674 : GateThread.oe674 (.text:xdc_runtime_knl_GateThread_Instance_finalize__F)
                      c7f49d00    00000040                              : GateThread.oe674 (.text:xdc_runtime_knl_GateThread_Instance_init__F)
                      c7f49d40    00000020     ipc.ae674 : Ipc.obj (.text:GateMP_delete)
                      c7f49d60    00000020               : Ipc.obj (.text:GateMP_enter)
                      c7f49d80    00000020               : Ipc.obj (.text:GateMP_leave)
                      c7f49da0    00000020               : Ipc.obj (.text:HeapMemMP_close)
                      c7f49dc0    00000020               : Ipc.obj (.text:HeapMemMP_delete)
                      c7f49de0    00000020               : Ipc.obj (.text:ListMP_close)
                      c7f49e00    00000020               : Ipc.obj (.text:ListMP_delete)
                      c7f49e20    00000020               : Ipc.obj (.text:MultiProc_self)
                      c7f49e40    00000020               : Ipc.obj (.text:NameServer_addUInt32)
                      c7f49e60    00000020               : Ipc.obj (.text:NameServer_getLocalUInt32)
                      c7f49e80    00000020               : Ipc.obj (.text:NameServer_removeEntry)
                      c7f49ea0    00000020               : Ipc.obj (.text:Notify_attach)
                      c7f49ec0    00000020     ti.targets.rts6000.ae674 : xdc_noinit.oe674 (.text:__xdc__init)
                      c7f49ee0    00000020     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_GateMP_RemoteCustom1Proxy_Object__create__S)
                      c7f49f00    00000020     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_GateMP_RemoteCustom1Proxy_Object__delete__S)
                      c7f49f20    00000020     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_GateMP_RemoteCustom1Proxy_Params__init__S)
                      c7f49f40    00000020     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_GateMP_RemoteCustom1Proxy_Proxy__abstract__S)
                      c7f49f60    00000020     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_GateMP_RemoteCustom1Proxy_Proxy__delegate__S)
                      c7f49f80    00000020     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_GateMP_RemoteCustom1Proxy_getReservedMask__E)
                      c7f49fa0    00000020     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_GateMP_RemoteCustom1Proxy_sharedMemReq__E)
                      c7f49fc0    00000020     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_GateMP_RemoteCustom2Proxy_Object__create__S)
                      c7f49fe0    00000020     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_GateMP_RemoteCustom2Proxy_Object__delete__S)
                      c7f4a000    00000020     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_GateMP_RemoteCustom2Proxy_Params__init__S)
                      c7f4a020    00000020     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_GateMP_RemoteCustom2Proxy_Proxy__abstract__S)
                      c7f4a040    00000020     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_GateMP_RemoteCustom2Proxy_Proxy__delegate__S)
                      c7f4a060    00000020     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_GateMP_RemoteCustom2Proxy_getReservedMask__E)
                      c7f4a080    00000020     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_GateMP_RemoteCustom2Proxy_sharedMemReq__E)
                      c7f4a0a0    00000020     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_GateMP_RemoteSystemProxy_Object__create__S)
                      c7f4a0c0    00000020     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_GateMP_RemoteSystemProxy_Object__delete__S)
                      c7f4a0e0    00000020     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_GateMP_RemoteSystemProxy_Params__init__S)
                      c7f4a100    00000020     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_GateMP_RemoteSystemProxy_Proxy__abstract__S)
                      c7f4a120    00000020     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_GateMP_RemoteSystemProxy_Proxy__delegate__S)
                      c7f4a140    00000020     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_GateMP_RemoteSystemProxy_getReservedMask__E)
                      c7f4a160    00000020     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_GateMP_RemoteSystemProxy_sharedMemReq__E)
                      c7f4a180    00000020     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_GateMP_attach__E)
                      c7f4a1a0    00000020     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_GateMP_detach__E)
                      c7f4a1c0    00000020     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_GateMP_getRegion0ReservedSize__E)
                      c7f4a1e0    00000020     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_GateMP_getSharedAddr__E)
                      c7f4a200    00000020     ipc.ae674 : Ipc.obj (.text:ti_sdo_ipc_GateMP_getSharedAddr__F)
                      c7f4a220    00000020     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_GateMP_start__E)
                      c7f4a240    00000020     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_GateMP_stop__E)
                      c7f4a260    00000020     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_MessageQ_Module_startup__E)
                      c7f4a280    00000020     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_MessageQ_Object__get__S)
                      c7f4a2a0    00000020     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_MessageQ_SetupTransportProxy_attach__E)
                      c7f4a2c0    00000020     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_MessageQ_SetupTransportProxy_detach__E)
                      c7f4a2e0    00000020     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_MessageQ_SetupTransportProxy_isRegistered__E)
                      c7f4a300    00000020     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_MessageQ_SetupTransportProxy_sharedMemReq__E)
                      c7f4a320    00000020     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_MessageQ_registerTransport__E)
                      c7f4a340    00000020     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_MessageQ_unregisterTransport__E)
                      c7f4a360    00000020     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_Notify_Module_GateProxy_enter__E)
                      c7f4a380    00000020     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_Notify_Module_GateProxy_leave__E)
                      c7f4a3a0    00000020     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_Notify_Module_startup__E)
                      c7f4a3c0    00000020     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_Notify_SetupProxy_attach__E)
                      c7f4a3e0    00000020     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_Notify_SetupProxy_numIntLines__E)
                      c7f4a400    00000020     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_Notify_SetupProxy_sharedMemReq__E)
                      c7f4a420    00000020     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_Notify_detach__E)
                      c7f4a440    00000020     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_Notify_exec__E)
                      c7f4a460    00000020     ipc.ae674 : Ipc.obj (.text:ti_sdo_ipc_Notify_exec__F)
                      c7f4a480    00000020     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_SharedRegion_attach__E)
                      c7f4a4a0    00000020     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_SharedRegion_clearReservedMemory__E)
                      c7f4a4c0    00000020     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_SharedRegion_detach__E)
                      c7f4a4e0    00000020     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_SharedRegion_reserveMemory__E)
                      c7f4a500    00000020     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_SharedRegion_resetInternalFields__E)
                      c7f4a520    00000020     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_SharedRegion_start__E)
                      c7f4a540    00000020     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_SharedRegion_stop__E)
                      c7f4a560    00000020     ipc.ae674 : Ipc.obj (.text:ti_sdo_ipc_family_da830_InterruptDsp_intDisable__E)
                      c7f4a580    00000020               : Ipc.obj (.text:ti_sdo_ipc_family_da830_InterruptDsp_intEnable__E)
                      c7f4a5a0    00000020               : Ipc.obj (.text:ti_sdo_ipc_family_da830_InterruptDsp_intUnregister__E)
                      c7f4a5c0    00000020               : Ipc.obj (.text:ti_sdo_ipc_family_da830_NotifySetup_numIntLines__E)
                      c7f4a5e0    00000020               : Ipc.obj (.text:ti_sdo_ipc_gates_GateMPSupportNull_Instance_init__F)
                      c7f4a600    00000020               : Ipc.obj (.text:ti_sdo_ipc_gates_GateMPSupportNull_enter__E)
                      c7f4a620    00000020               : Ipc.obj (.text:ti_sdo_ipc_gates_GateMPSupportNull_getReservedMask__E)
                      c7f4a640    00000020               : Ipc.obj (.text:ti_sdo_ipc_gates_GateMPSupportNull_leave__E)
                      c7f4a660    00000020     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_gates_GateMPSupportNull_query__E)
                      c7f4a680    00000020     ipc.ae674 : Ipc.obj (.text:ti_sdo_ipc_gates_GateMPSupportNull_query__F)
                      c7f4a6a0    00000020               : Ipc.obj (.text:ti_sdo_ipc_gates_GateMPSupportNull_sharedMemReq__E)
                      c7f4a6c0    00000020               : Ipc.obj (.text:ti_sdo_ipc_gates_GatePeterson_getReservedMask__E)
                      c7f4a6e0    00000020     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_gates_GatePeterson_query__E)
                      c7f4a700    00000020     ipc.ae674 : Ipc.obj (.text:ti_sdo_ipc_gates_GatePeterson_query__F)
                      c7f4a720    00000020     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_heaps_HeapMemMP_isBlocking__E)
                      c7f4a740    00000020     ipc.ae674 : Ipc.obj (.text:ti_sdo_ipc_heaps_HeapMemMP_isBlocking__F)
                      c7f4a760    00000020     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_notifyDrivers_NotifyDriverShm_InterruptProxy_intClear__E)
                      c7f4a780    00000020     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_notifyDrivers_NotifyDriverShm_InterruptProxy_intDisable__E)
                      c7f4a7a0    00000020     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_notifyDrivers_NotifyDriverShm_InterruptProxy_intEnable__E)
                      c7f4a7c0    00000020     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_notifyDrivers_NotifyDriverShm_InterruptProxy_intRegister__E)
                      c7f4a7e0    00000020     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_notifyDrivers_NotifyDriverShm_InterruptProxy_intSend__E)
                      c7f4a800    00000020     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_notifyDrivers_NotifyDriverShm_InterruptProxy_intUnregister__E)
                      c7f4a820    00000020     ipc.ae674 : Ipc.obj (.text:ti_sdo_ipc_notifyDrivers_NotifyDriverShm_disable__E)
                      c7f4a840    00000020               : Ipc.obj (.text:ti_sdo_ipc_notifyDrivers_NotifyDriverShm_enable__E)
                      c7f4a860    00000020     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_notifyDrivers_NotifyDriverShm_sharedMemReq__E)
                      c7f4a880    00000020     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_nsremote_NameServerRemoteNotify_Object__first__S)
                      c7f4a8a0    00000020     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_nsremote_NameServerRemoteNotify_Object__next__S)
                      c7f4a8c0    00000020     ipc.ae674 : Ipc.obj (.text:ti_sdo_ipc_nsremote_NameServerRemoteNotify_cbFxn__I)
                      c7f4a8e0    00000020     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_nsremote_NameServerRemoteNotify_get__E)
                      c7f4a900    00000020     ipc.ae674 : Ipc.obj (.text:ti_sdo_ipc_transports_TransportShmSetup_isRegistered__E)
                      c7f4a920    00000020     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_transports_TransportShm_close__E)
                      c7f4a940    00000020     ipc.ae674 : Ipc.obj (.text:ti_sdo_ipc_transports_TransportShm_close__F)
                      c7f4a960    00000020               : Ipc.obj (.text:ti_sdo_ipc_transports_TransportShm_control__E)
                      c7f4a980    00000020               : Ipc.obj (.text:ti_sdo_ipc_transports_TransportShm_delete$16)
                      c7f4a9a0    00000020               : Ipc.obj (.text:ti_sdo_ipc_transports_TransportShm_getStatus__E)
                      c7f4a9c0    00000020               : Ipc.obj (.text:ti_sdo_ipc_transports_TransportShm_notifyFxn__I)
                      c7f4a9e0    00000020     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_transports_TransportShm_openByAddr__E)
                      c7f4aa00    00000020     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_transports_TransportShm_setErrFxn__E)
                      c7f4aa20    00000020     ipc.ae674 : Ipc.obj (.text:ti_sdo_ipc_transports_TransportShm_setErrFxn__F)
                      c7f4aa40    00000020     npc5000_dsp_pe674.oe674 (.text:ti_sdo_ipc_transports_TransportShm_sharedMemReq__E)
                      c7f4aa60    00000020     ipc.ae674 : Ipc.obj (.text:ti_sdo_utils_List_Instance_init__F)
                      c7f4aa80    00000020     npc5000_dsp_pe674.oe674 (.text:ti_sdo_utils_List_Object__get__S)
                      c7f4aaa0    00000020     npc5000_dsp_pe674.oe674 (.text:ti_sdo_utils_MultiProc_getClusterId__E)
                      c7f4aac0    00000020     ipc.ae674 : Ipc.obj (.text:ti_sdo_utils_MultiProc_getClusterId__F)
                      c7f4aae0    00000020     npc5000_dsp_pe674.oe674 (.text:ti_sdo_utils_NameServer_Module__startupDone__S)
                      c7f4ab00    00000020     npc5000_dsp_pe674.oe674 (.text:ti_sdo_utils_NameServer_Module_startup__E)
                      c7f4ab20    00000020     npc5000_dsp_pe674.oe674 (.text:ti_sdo_utils_NameServer_Object__first__S)
                      c7f4ab40    00000020     npc5000_dsp_pe674.oe674 (.text:ti_sdo_utils_NameServer_Object__next__S)
                      c7f4ab60    00000020     npc5000_dsp_pe674.oe674 (.text:ti_sdo_utils_NameServer_SetupProxy_attach__E)
                      c7f4ab80    00000020     npc5000_dsp_pe674.oe674 (.text:ti_sdo_utils_NameServer_SetupProxy_detach__E)
                      c7f4aba0    00000020     npc5000_dsp_pe674.oe674 (.text:ti_sdo_utils_NameServer_SetupProxy_sharedMemReq__E)
                      c7f4abc0    00000020     npc5000_dsp_pe674.oe674 (.text:xdc_runtime_Error_check__E)
                      c7f4abe0    00000020     npc5000_dsp_pe674.oe674 (.text:xdc_runtime_Error_init__E)
                      c7f4ac00    00000020     npc5000_dsp_pe674.oe674 (.text:xdc_runtime_Error_print__E)
                      c7f4ac20    00000020     npc5000_dsp_pe674.oe674 (.text:xdc_runtime_Error_raiseX__E)
                      c7f4ac40    00000020     npc5000_dsp_pe674.oe674 (.text:xdc_runtime_GateNull_enter__E)
                      c7f4ac60    00000020     ti.targets.rts6000.ae674 : GateNull.oe674 (.text:xdc_runtime_GateNull_enter__F)
                      c7f4ac80    00000020     npc5000_dsp_pe674.oe674 (.text:xdc_runtime_GateNull_leave__E)
                      c7f4aca0    00000020     ti.targets.rts6000.ae674 : GateNull.oe674 (.text:xdc_runtime_GateNull_leave__F)
                      c7f4acc0    00000020     npc5000_dsp_pe674.oe674 (.text:xdc_runtime_GateNull_query__E)
                      c7f4ace0    00000020     ti.targets.rts6000.ae674 : GateNull.oe674 (.text:xdc_runtime_GateNull_query__F)
                      c7f4ad00    00000020     npc5000_dsp_pe674.oe674 (.text:xdc_runtime_Gate_enterSystem__E)
                      c7f4ad20    00000020     ti.targets.rts6000.ae674 : Gate.oe674 (.text:xdc_runtime_Gate_enterSystem__F)
                      c7f4ad40    00000020     npc5000_dsp_pe674.oe674 (.text:xdc_runtime_Gate_leaveSystem__E)
                      c7f4ad60    00000020     ti.targets.rts6000.ae674 : Gate.oe674 (.text:xdc_runtime_Gate_leaveSystem__F)
                      c7f4ad80    00000020     npc5000_dsp_pe674.oe674 (.text:xdc_runtime_IHeap_alloc)
                      c7f4ada0    00000020     npc5000_dsp_pe674.oe674 (.text:xdc_runtime_IHeap_free)
                      c7f4adc0    00000020     npc5000_dsp_pe674.oe674 (.text:xdc_runtime_Memory_HeapProxy_alloc__E)
                      c7f4ade0    00000020     npc5000_dsp_pe674.oe674 (.text:xdc_runtime_Memory_HeapProxy_free__E)
                      c7f4ae00    00000020     npc5000_dsp_pe674.oe674 (.text:xdc_runtime_Memory_alloc__E)
                      c7f4ae20    00000020     npc5000_dsp_pe674.oe674 (.text:xdc_runtime_Memory_calloc__E)
                      c7f4ae40    00000020     npc5000_dsp_pe674.oe674 (.text:xdc_runtime_Memory_free__E)
                      c7f4ae60    00000020     npc5000_dsp_pe674.oe674 (.text:xdc_runtime_Memory_getMaxDefaultTypeAlign__E)
                      c7f4ae80    00000020     ti.targets.rts6000.ae674 : Memory.oe674 (.text:xdc_runtime_Memory_getMaxDefaultTypeAlign__F)
                      c7f4aea0    00000020     npc5000_dsp_pe674.oe674 (.text:xdc_runtime_Memory_valloc__E)
                      c7f4aec0    00000020     npc5000_dsp_pe674.oe674 (.text:xdc_runtime_Registry_findById__E)
                      c7f4aee0    00000020     npc5000_dsp_pe674.oe674 (.text:xdc_runtime_Startup_Module__startupDone__S)
                      c7f4af00    00000020     npc5000_dsp_pe674.oe674 (.text:xdc_runtime_Startup_exec__E)
                      c7f4af20    00000020     npc5000_dsp_pe674.oe674 (.text:xdc_runtime_Startup_exec__I)
                      c7f4af40    00000020     npc5000_dsp_pe674.oe674 (.text:xdc_runtime_Startup_reset__I)
                      c7f4af60    00000020     npc5000_dsp_pe674.oe674 (.text:xdc_runtime_SysMin_Module_startup__E)
                      c7f4af80    00000020     npc5000_dsp_pe674.oe674 (.text:xdc_runtime_SysMin_abort__E)
                      c7f4afa0    00000020     npc5000_dsp_pe674.oe674 (.text:xdc_runtime_SysMin_exit__E)
                      c7f4afc0    00000020     npc5000_dsp_pe674.oe674 (.text:xdc_runtime_SysMin_putch__E)
                      c7f4afe0    00000020     npc5000_dsp_pe674.oe674 (.text:xdc_runtime_SysMin_ready__E)
                      c7f4b000    00000020     ti.targets.rts6000.ae674 : SysMin.oe674 (.text:xdc_runtime_SysMin_ready__F)
                      c7f4b020    00000020     npc5000_dsp_pe674.oe674 (.text:xdc_runtime_System_Module_GateProxy_enter__E)
                      c7f4b040    00000020     npc5000_dsp_pe674.oe674 (.text:xdc_runtime_System_Module_GateProxy_leave__E)
                      c7f4b060    00000020     npc5000_dsp_pe674.oe674 (.text:xdc_runtime_System_Module_startup__E)
                      c7f4b080    00000020     ti.targets.rts6000.ae674 : System.oe674 (.text:xdc_runtime_System_Module_startup__F)
                      c7f4b0a0    00000020     npc5000_dsp_pe674.oe674 (.text:xdc_runtime_System_SupportProxy_abort__E)
                      c7f4b0c0    00000020     npc5000_dsp_pe674.oe674 (.text:xdc_runtime_System_SupportProxy_exit__E)
                      c7f4b0e0    00000020     npc5000_dsp_pe674.oe674 (.text:xdc_runtime_System_SupportProxy_putch__E)
                      c7f4b100    00000020     npc5000_dsp_pe674.oe674 (.text:xdc_runtime_System_SupportProxy_ready__E)
                      c7f4b120    00000020     npc5000_dsp_pe674.oe674 (.text:xdc_runtime_System_abort__E)
                      c7f4b140    00000020     npc5000_dsp_pe674.oe674 (.text:xdc_runtime_System_atexit__E)
                      c7f4b160    00000020     npc5000_dsp_pe674.oe674 (.text:xdc_runtime_System_exit__E)
                      c7f4b180    00000020     ti.targets.rts6000.ae674 : System.oe674 (.text:xdc_runtime_System_exit__F)
                      c7f4b1a0    00000020                              : System.oe674 (.text:xdc_runtime_System_lastFxn__I)
                      c7f4b1c0    00000020     npc5000_dsp_pe674.oe674 (.text:xdc_runtime_System_vsnprintf__E)
                      c7f4b1e0    00000020     ti.targets.rts6000.ae674 : System.oe674 (.text:xdc_runtime_System_vsnprintf__F)
                      c7f4b200    00000020     npc5000_dsp_pe674.oe674 (.text:xdc_runtime_Text_cordText__E)
                      c7f4b220    00000020     npc5000_dsp_pe674.oe674 (.text:xdc_runtime_Text_putLab__E)
                      c7f4b240    00000020     npc5000_dsp_pe674.oe674 (.text:xdc_runtime_Text_putSite__E)
                      c7f4b260    00000020     npc5000_dsp_pe674.oe674 (.text:xdc_runtime_Text_ropeText__E)
                      c7f4b280    00000020     npc5000_dsp_pe674.oe674 (.text:xdc_runtime_Text_visitRope__I)
                      c7f4b2a0    00000020     npc5000_dsp_pe674.oe674 (.text:xdc_runtime_knl_GateThread_Module__startupDone__S)
                      c7f4b2c0    00000020     npc5000_dsp_pe674.oe674 (.text:xdc_runtime_knl_GateThread_Proxy_Object__create__S)
                      c7f4b2e0    00000020     npc5000_dsp_pe674.oe674 (.text:xdc_runtime_knl_GateThread_Proxy_Object__delete__S)
                      c7f4b300    00000020     npc5000_dsp_pe674.oe674 (.text:xdc_runtime_knl_GateThread_Proxy_enter__E)
                      c7f4b320    00000020     npc5000_dsp_pe674.oe674 (.text:xdc_runtime_knl_GateThread_Proxy_leave__E)
                      c7f4b340    00000020     npc5000_dsp_pe674.oe674 (.text:xdc_runtime_knl_GateThread_Proxy_query__E)
                      c7f4b360    00000020     npc5000_dsp_pe674.oe674 (.text:xdc_runtime_knl_GateThread_enter__E)
                      c7f4b380    00000020     ti.targets.rts6000.ae674 : GateThread.oe674 (.text:xdc_runtime_knl_GateThread_enter__F)
                      c7f4b3a0    00000020     npc5000_dsp_pe674.oe674 (.text:xdc_runtime_knl_GateThread_leave__E)
                      c7f4b3c0    00000020     ti.targets.rts6000.ae674 : GateThread.oe674 (.text:xdc_runtime_knl_GateThread_leave__F)
                      c7f4b3e0    00000020     npc5000_dsp_pe674.oe674 (.text:xdc_runtime_knl_GateThread_query__E)
                      c7f4b400    00000020     ti.targets.rts6000.ae674 : GateThread.oe674 (.text:xdc_runtime_knl_GateThread_query__F)
                      c7f4b420    00000010     npc5000_dsp_pe674.oe674 ($Tramp$S$$ti_sysbios_xdcruntime_GateThreadSupport_query__E)
                      c7f4b430    00000010     npc5000_dsp_pe674.oe674 ($Tramp$S$$ti_sysbios_xdcruntime_GateThreadSupport_leave__E)
                      c7f4b440    00000010     npc5000_dsp_pe674.oe674 ($Tramp$S$$ti_sysbios_xdcruntime_GateThreadSupport_enter__E)
                      c7f4b450    00000010     npc5000_dsp_pe674.oe674 ($Tramp$S$$ti_sysbios_xdcruntime_GateThreadSupport_Object__delete__S)
                      c7f4b460    00000020     rts6740_elf.lib : dtor_list.obj ($Tramp$S$$atexit)
                      c7f4b480    00000020                     : exit.obj ($Tramp$S$$exit)
                      c7f4b4a0    00000010     npc5000_dsp_pe674.oe674 ($Tramp$S$$ti_sysbios_xdcruntime_GateThreadSupport_Object__create__S)
                      c7f4b4b0    00000010     sysbios.ae674 : BIOS.obj ($Tramp$S$$ti_sysbios_gates_GateHwi_leave__E)
                      c7f4b4c0    00000010                   : BIOS.obj ($Tramp$S$$ti_sysbios_gates_GateHwi_enter__E)
                      c7f4b4d0    00000010                   : BIOS.obj ($Tramp$S$$ti_sysbios_knl_Swi_post__E)
                      c7f4b4e0    00000010     npc5000_dsp_pe674.oe674 ($Tramp$S$$ti_sysbios_family_c64p_Hwi_Object__delete__S)
                      c7f4b4f0    00000010     sysbios.ae674 : BIOS.obj ($Tramp$S$$ti_sysbios_family_c64p_Hwi_getHandle__E)
                      c7f4b500    00000020     rts6740_elf.lib : exit.obj ($Tramp$S$$abort)
                      c7f4b520    00000010     sysbios.ae674 : BIOS.obj ($Tramp$S$$ti_sysbios_family_c64p_Hwi_disableInterrupt__E)
                      c7f4b530    00000010     rts6740_elf.lib : trgdrv.obj ($Tramp$S$$HOSTwrite)
                      c7f4b540    00000020                     : divu.obj ($Tramp$S$$__c6xabi_divu)
                      c7f4b560    00000020                     : remu.obj ($Tramp$S$$__c6xabi_remu)
                      c7f4b580    00000010     sysbios.ae674 : BIOS.obj ($Tramp$S$$ti_sysbios_family_c64p_Hwi_enableInterrupt__E)
                      c7f4b590    00000010     npc5000_dsp_pe674.oe674 ($Tramp$S$$ti_sysbios_family_c64p_Hwi_Object__create__S)
                      c7f4b5a0    00000010     npc5000_dsp_pe674.oe674 ($Tramp$S$$ti_sysbios_family_c64p_Hwi_Params__init__S)
                      c7f4b5b0    00000010     npc5000_dsp_pe674.oe674 ($Tramp$S$$ti_sysbios_knl_Semaphore_Object__destruct__S)
                      c7f4b5c0    00000020     rts6740_elf.lib : memcpy64.obj ($Tramp$S$$memcpy)
                      c7f4b5e0    00000010                     : divu.obj ($Tramp$S$$__c6xabi_divu)
                      c7f4b5f0    00000010     sysbios.ae674 : BIOS.obj ($Tramp$S$$ti_sysbios_knl_Task_yield__E)
                      c7f4b600    00000010                   : BIOS.obj ($Tramp$S$$ti_sysbios_knl_Task_setPri__E)
                      c7f4b610    00000010                   : BIOS.obj ($Tramp$S$$ti_sysbios_knl_Task_getPri__E)
                      c7f4b620    00000010                   : BIOS.obj ($Tramp$S$$ti_sysbios_knl_Task_self__E)
                      c7f4b630    00000010                   : BIOS.obj ($Tramp$S$$ti_sysbios_BIOS_getThreadType__E)
                      c7f4b640    00000020     rts6740_elf.lib : memset.obj ($Tramp$S$$memset)
                      c7f4b660    00000010     npc5000_dsp_pe674.oe674 ($Tramp$S$$ti_sysbios_knl_Swi_Object__destruct__S)
                      c7f4b670    00000010     npc5000_dsp_pe674.oe674 ($Tramp$S$$ti_sysbios_knl_Semaphore_Object__create__S)
                      c7f4b680    00000010     npc5000_dsp_pe674.oe674 ($Tramp$S$$ti_sysbios_knl_Semaphore_Params__init__S)
                      c7f4b690    00000010     sysbios.ae674 : BIOS.obj ($Tramp$S$$ti_sysbios_hal_Cache_wb__E)
                      c7f4b6a0    00000010                   : BIOS.obj ($Tramp$S$$ti_sysbios_gates_GateSwi_leave__E)
                      c7f4b6b0    00000010                   : BIOS.obj ($Tramp$S$$ti_sysbios_gates_GateSwi_enter__E)
                      c7f4b6c0    00000010     rts6740_elf.lib : memcpy64.obj ($Tramp$S$$memcpy)
                      c7f4b6d0    00000010     sysbios.ae674 : BIOS.obj ($Tramp$S$$ti_sysbios_knl_Semaphore_post__E)
                      c7f4b6e0    00000010                   : BIOS.obj ($Tramp$S$$ti_sysbios_knl_Semaphore_pend__E)
                      c7f4b6f0    00000010     rts6740_elf.lib : memset.obj ($Tramp$S$$memset)
                      c7f4b700    00000010     npc5000_dsp_pe674.oe674 ($Tramp$S$$ti_sysbios_knl_Swi_Object__create__S)
                      c7f4b710    00000010     npc5000_dsp_pe674.oe674 ($Tramp$S$$ti_sysbios_knl_Swi_Params__init__S)
                      c7f4b720    00000010     sysbios.ae674 : BIOS.obj ($Tramp$S$$ti_sysbios_hal_Cache_inv__E)
                      c7f4b730    00000010                   : BIOS.obj ($Tramp$S$$ti_sysbios_hal_Cache_wbInv__E)

  • Hi Graham,

    Given you said you are using Notify only on a regular basis, then the key IPC function is NotifyDriverShm_isr() in packages/ti/sdo/ipc/notifyDrivers/NotifyDriverShm.c which is run in Hwi context on incoming Notify interrupts. That function internally calls the user-registered Notify callback function in your application, so you want to put that one in fast memory as well if you haven't already done so. It also calls some Cache* functions if you have cacheEnabled property set for SharedRegion 0 - so hopefully you have left it uncached to avoid the overhead. We generally recommend leaving SR0 uncached since it contains many small control data structures from IPC which do not benefit from caching. Finally NotifyDriverShm_isr() has calls to InterruptDsp_intClear() in packages/ti/sdo/ipc/family/da830/InterruptDsp.c and to ti_sdo_ipc_Notify_exec() in packages/ti/sdo/ipc/Notify.c, so those are other ones to put into fast memory.

    I am assuming you are turning off assertions in your production system, so I wouldn't worry about the Assert* calls.

    Note that due to the use of XDCTOOLS, the function names are mangled and their symbols appear with the full package path names in the map file. Nevertheless, if you search for the function names through the map file you should be able to identify the full section names for each function.

    Best regards,

    Vincent

  • That's great - thanks Vincent.  I wasn't aware that callbacks were run directly from the ISR, so that's definitely worth knowing.