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.

TMS320F28P659DK-Q1: USB buffer error

Part Number: TMS320F28P659DK-Q1

Tool/software:

I am trying to use the USB on the CPU2. I followed the example usb_ex1_dev_serial and when the example everything works fine. However, when I use it on the CPU2 on my project I always get the problem when doing // Initialize the transmit and receive buffers.USBBufferInit(&g_sTxBuffer); and USBBufferInit(&g_sRxBuffer);  where it tells me that  "We do not have enough contiguous space following the current write pointer to satisfy the request so do not provide a buffer." 

I added the configuration of my USB and  the value of both g_sTxBuffer and g_sRxBuffer for my project and the value of both when running the example.

    

  • Hi, 

    Can you share the map file for the project?  Would like to check where g_sTxBuffer and g_sRxBuffer are allocated in the memory map.

    Best Regards

    Siddharth

  • ******************************************************************************
                 TMS320C2000 Linker PC v22.6.1                     
    ******************************************************************************
    >> Linked Fri Nov 22 11:39:23 2024
    
    OUTPUT FILE NAME:   <pfc_devkit_cpu2.out>
    ENTRY POINT SYMBOL: "code_start"  address: 000e0000
    
    
    MEMORY CONFIGURATION
    
             name            origin    length      used     unused   attr    fill
    ----------------------  --------  ---------  --------  --------  ----  --------
      BOOT_RSVD             00000002   000001af  00000000  000001af  RWIX
      RAMM0                 000001b1   0000024f  00000000  0000024f  RWIX
      RAMM1                 00000400   00000400  000003f8  00000008  RWIX
      CLATOCPURAM           00001480   00000080  00000000  00000080  RWIX
      CPUTOCLARAM           00001500   00000080  00000000  00000080  RWIX
      CLATODMARAM           00001680   00000080  00000000  00000080  RWIX
      DMATOCLARAM           00001700   00000080  00000000  00000080  RWIX
      RAMGS0                00010000   00002000  00000000  00002000  RWIX
      RAMGS1                00012000   00002000  00000000  00002000  RWIX
      RAMGS2                00014000   00002000  00000000  00002000  RWIX
      RAMGS3                00016000   00002000  00000000  00002000  RWIX
      RAMGS4                00018000   00002000  00000df4  0000120c  RWIX
      CPU1TOCPU2RAM         0003a000   00000400  00000088  00000378  RWIX
      CPU2TOCPU1RAM         0003b000   00000400  00000088  00000378  RWIX
      CANA_MSG_RAM          00049000   00000800  00000000  00000800  RWIX
      CANB_MSG_RAM          0004b000   00000800  00000000  00000800  RWIX
      BEGIN                 000e0000   00000002  00000002  00000000  RWIX
      FLASH_BANK3           000e0002   0001fffe  000043ba  0001bc44  RWIX
      FLASH_BANK4           00100000   00020000  00000000  00020000  RWIX
      RESET                 003fffc0   00000002  00000000  00000002  RWIX
    
    
    SECTION ALLOCATION MAP
    
     output                                  attributes/
    section   page    origin      length       input sections
    --------  ----  ----------  ----------   ----------------
    codestart 
    *          0    000e0000    00000002     
                      000e0000    00000002     F28P65x_CodeStartBranch.obj (codestart)
    
    .switch    0    000e05c0    0000002a     
                      000e05c0    0000002a     usblib.lib : usbdcdc.obj (.switch:HandleRequests)
    
    .cinit     0    000e4360    00000074     
                      000e4360    00000062     (.cinit..data.load) [load image, compression = lzss]
                      000e43c2    00000006     (__TI_handler_table)
                      000e43c8    00000004     (.cinit..bss.load) [load image, compression = zero_init]
                      000e43cc    00000008     (__TI_cinit_table)
    
    .reset     0    003fffc0    00000000     DSECT
    
    .stack     0    00000400    000003f8     UNINITIALIZED
                      00000400    000003f8     --HOLE--
    
    .bss       0    00018000    00000938     UNINITIALIZED
                      00018000    00000200     usb.obj (.bss:RxBuffer)
                      00018200    00000200     usb_structs.obj (.bss:g_pi8USBRxBuffer)
                      00018400    00000200     usb_structs.obj (.bss:g_pi8USBTxBuffer)
                      00018600    00000200     usb.obj (.bss:lastData)
                      00018800    0000008c     usblib.lib : usbdma.obj (.bss:g_psUSBDMAInst)
                      0001888c    00000040                : usbdenum.obj (.bss:g_pui8DataBufferIn)
                      000188cc    00000032                : usbdenum.obj (.bss:g_psDCDInst)
                      000188fe    0000000c                : usbtick.obj (.bss:g_pfnTickHandlers)
                      0001890a    0000000c                : usbhostenum.obj (.bss:g_pi32USBHActiveDriver)
                      00018916    0000000c                : usbhostenum.obj (.bss:g_ppvDriverInstance)
                      00018922    0000000c                : usbtick.obj (.bss:g_pvTickInstance)
                      0001892e    00000006                : usbmode.obj (.bss)
                      00018934    00000002     usb.obj (.bss)
                      00018936    00000002     usblib.lib : usbdenum.obj (.bss:g_ppsDevInfo)
    
    .init_array 
    *          0    000e0008    00000000     UNINITIALIZED
    
    .data      0    00018940    0000042e     UNINITIALIZED
                      00018940    00000362     usblib.lib : usbhostenum.obj (.data)
                      00018ca2    00000012                : usbdcdc.obj (.data:g_pui8CDCSerDeviceDescriptor)
                      00018cb4    0000000a     usb.obj (.data)
                      00018cbe    00000002     rts2800_fpu64_eabi.lib : _lock.c.obj (.data:_lock)
                      00018cc0    0000007a     usb_structs.obj (.data)
                      00018d3a    00000009     usblib.lib : usbdcdc.obj (.data:g_pui8CDCSerDescriptor)
                      00018d43    00000001     main.obj (.data)
                      00018d44    00000008     usblib.lib : usbdcdc.obj (.data:g_psCDCCompSerSections)
                      00018d4c    00000008                : usbdcdc.obj (.data:g_pui8IADSerDescriptor)
                      00018d54    00000006                : usbdcdc.obj (.data:g_psCDCSerSections)
                      00018d5a    00000006     rts2800_fpu64_eabi.lib : exit.c.obj (.data)
                      00018d60    00000006     usblib.lib : usbtick.obj (.data)
                      00018d66    00000004                : usbmode.obj (.data)
                      00018d6a    00000002     rts2800_fpu64_eabi.lib : _lock.c.obj (.data:_unlock)
                      00018d6c    00000002     usblib.lib : usbdenum.obj (.data)
    
    .const     0    000e0008    00000522     
                      000e0008    00000082     usblib.lib : usbdconfig.obj (.const:.string)
                      000e008a    00000080                : usbdenum.obj (.const:.string)
                      000e010a    0000007f                : usbdcdc.obj (.const:.string)
                      000e0189    00000001     --HOLE-- [fill = 0]
                      000e018a    0000007b                : usbringbuf.obj (.const:.string)
                      000e0205    00000001     --HOLE-- [fill = 0]
                      000e0206    0000007a                : usbbuffer.obj (.const:.string)
                      000e0280    00000078                : usbmode.obj (.const:.string)
                      000e02f8    00000077                : usbdma.obj (.const:.string)
                      000e036f    00000001     --HOLE-- [fill = 0]
                      000e0370    00000044     ipc.obj (.const:IPC_Instance)
                      000e03b4    00000036     usb_structs.obj (.const:g_pui8ConfigString)
                      000e03ea    00000012     usb_structs.obj (.const:g_pui8SerialNumberString)
                      000e03fc    00000004     usb_structs.obj (.const:g_pui8LangDescriptor)
                      000e0400    00000030     usblib.lib : usbdcdc.obj (.const)
                      000e0430    0000002c     usb_structs.obj (.const:g_pui8ControlInterfaceString)
                      000e045c    00000024     usb_structs.obj (.const:g_pui8ManufacturerString)
                      000e0480    00000023     usblib.lib : usbdcdc.obj (.const:g_pui8CDCSerCommInterface)
                      000e04a3    00000022     usb_structs.obj (.const:g_pui8ProdectString)
                      000e04c5    00000001     --HOLE-- [fill = 0]
                      000e04c6    0000001a     usblib.lib : usbdenum.obj (.const:g_psUSBDStdRequests)
                      000e04e0    00000017     usb.obj (.const:.string)
                      000e04f7    00000017     usblib.lib : usbdcdc.obj (.const:g_pui8CDCSerDataInterface)
                      000e050e    0000000c     usb_structs.obj (.const:g_pui8StringDescriptors)
                      000e051a    0000000c     usb_hal.obj (.const)
                      000e0526    00000002     usblib.lib : usbdcdc.obj (.const:g_pCDCCompSerConfigDescriptors)
                      000e0528    00000002                : usbdcdc.obj (.const:g_ppCDCSerConfigDescriptors)
    
    MSGRAM_CPU1_TO_CPU2 
    *          0    0003a000    00000088     UNINITIALIZED
                      0003a000    00000088     ipc.obj (MSGRAM_CPU1_TO_CPU2)
    
    MSGRAM_CPU2_TO_CPU1 
    *          0    0003b000    00000088     UNINITIALIZED
                      0003b000    00000088     ipc.obj (MSGRAM_CPU2_TO_CPU1)
    
    .TI.ramfunc 
    *          0    000e0530    0000008e     RUN ADDR = 00018d70
                      000e0530    0000008a     flash.obj (.TI.ramfunc)
                      000e05ba    00000004     sysctl.obj (.TI.ramfunc)
    
    .text      0    000e05f0    00003d6c     
                      000e05f0    000007f9     usb.obj (.text)
                      000e0de9    000004e6     memcfg.obj (.text)
                      000e12cf    00000376     usblib.lib : usbhostenum.obj (.text:USBHostIntHandlerInternal)
                      000e1645    00000348     dcc.obj (.text)
                      000e198d    00000261     device.obj (.text)
                      000e1bee    00000224     gpio.obj (.text)
                      000e1e12    000001ec     ipc.obj (.text)
                      000e1ffe    000001ad     usblib.lib : usbdconfig.obj (.text:USBDeviceConfig)
                      000e21ab    00000173     interrupt.obj (.text)
                      000e231e    00000125     usblib.lib : usbdenum.obj (.text:USBDGetDescriptor)
                      000e2443    00000119     usb.obj (.text)
                      000e255c    00000113     usblib.lib : usbdcdc.obj (.text:HandleRequests)
                      000e266f    000000ff                : usbdenum.obj (.text:USBDEP0StateTxConfig)
                      000e276e    000000ce     usb_hal.obj (.text)
                      000e283c    000000cb     usblib.lib : usbdenum.obj (.text:USBDeviceEnumHandler)
                      000e2907    000000c7                : usbdcdc.obj (.text:USBDCDCCompositeInit)
                      000e29ce    000000c0     usb.obj (.text:retain)
                      000e2a8e    000000ae     usblib.lib : usbbuffer.obj (.text:HandleRxAvailable)
                      000e2b3c    000000ad                : usbdenum.obj (.text:USBDCDInit)
                      000e2be9    0000009c     rts2800_fpu64_eabi.lib : fd_add28.asm.obj (.text)
                      000e2c85    0000009a     usblib.lib : usbdenum.obj (.text:USBDeviceIntHandlerInternal)
                      000e2d1f    00000092                : usbdenum.obj (.text:USBDSetInterface)
                      000e2db1    0000008c     main.obj (.text)
                      000e2e3d    0000008a     usblib.lib : usbbuffer.obj (.text:ScheduleNextTransmission)
                      000e2ec7    00000086                : usbdenum.obj (.text:USBDClearFeature)
                      000e2f4d    00000083                : usbmode.obj (.text:USB0OTGModeIntHandler)
                      000e2fd0    00000081                : usbdma.obj (.text:USBLibDMAInit)
                      000e3051    00000081     board.obj (.text)
                      000e30d2    0000007b     usblib.lib : usbdenum.obj (.text:USBDStringIndexFromRequest)
                      000e314d    00000076                : usbdcdc.obj (.text:CDCTickHandler)
                      000e31c3    00000071                : usbdenum.obj (.text:USBDSetConfiguration)
                      000e3234    00000070                : usbdcdc.obj (.text:USBDCDCPacketRead)
                      000e32a4    0000006f                : usbdcdc.obj (.text:HandleDevice)
                      000e3313    0000006a                : usbdenum.obj (.text:USBDGetStatus)
                      000e337d    00000069                : usbdenum.obj (.text:USBDSetFeature)
                      000e33e6    00000069                : usbdconfig.obj (.text:USBDeviceConfigAlternate)
                      000e344f    00000067                : usbdenum.obj (.text:USBDEP0StateTx)
                      000e34b6    00000065                : usbdcdc.obj (.text:SendSerialState)
                      000e351b    00000064                : usbdcdc.obj (.text:ProcessDataToHost)
                      000e357f    00000062     usb_hal.obj (.text:retain)
                      000e35e1    00000061     usblib.lib : usbdcdc.obj (.text:USBDCDCInit)
                      000e3642    0000005f                : usbdcdc.obj (.text:ProcessDataFromHost)
                      000e36a1    00000050                : usbringbuf.obj (.text:USBRingBufWrite)
                      000e36f1    0000004d                : usbdcdc.obj (.text:USBDCDCPacketWrite)
                      000e373e    0000004c                : usbdenum.obj (.text:USBDGetInterface)
                      000e378a    0000004b                : usbdcdc.obj (.text:HandleEP0Data)
                      000e37d5    0000004a                : usbdenum.obj (.text:USBDReadAndDispatchRequest)
                      000e381f    00000044                : usbdcdc.obj (.text:HandleEndpoints)
                      000e3863    00000044                : usbdcdesc.obj (.text:USBDCDConfigDescGet)
                      000e38a7    00000042                : usbbuffer.obj (.text:USBBufferEventCallback)
                      000e38e9    00000040                : usbmode.obj (.text:USBOTGSetMode)
                      000e3929    00000040                : usbringbuf.obj (.text:USBRingBufAdvanceWrite)
                      000e3969    0000003a                : usbmode.obj (.text:USB0DualModeIntHandler)
                      000e39a3    00000039                : usbdconfig.obj (.text:GetEPDescriptorType)
                      000e39dc    00000039                : usbdenum.obj (.text:USBDGetConfiguration)
                      000e3a15    00000038                : usbdcdc.obj (.text:HandleConfigChange)
                      000e3a4d    00000033                : usbbuffer.obj (.text:USBBufferInit)
                      000e3a80    00000033                : usbdcdc.obj (.text:USBDCDCRxPacketAvailable)
                      000e3ab3    00000031                : usbdcdesc.obj (.text:NextConfigDescGet)
                      000e3ae4    00000031                : usbdcdesc.obj (.text:USBDCDConfigGetInterfaceEndpoint)
                      000e3b15    00000031                : usbdenum.obj (.text:USBDeviceEnumResetHandler)
                      000e3b46    00000030                : usbtick.obj (.text:InternalUSBRegisterTickHandler)
                      000e3b76    00000030                : usbbuffer.obj (.text:USBBufferWrite)
                      000e3ba6    00000030     rts2800_fpu64_eabi.lib : copy_decompress_lzss.c.obj (.text:decompress:lzss)
                      000e3bd6    0000002f     usblib.lib : usbdcdc.obj (.text:ProcessNotificationToHost)
                      000e3c05    0000002e                : usbdcdesc.obj (.text:ConfigAlternateInterfaceGet)
                      000e3c33    0000002c                : usbdenum.obj (.text:SysCtl_resetPeripheral)
                      000e3c5f    0000002c                : usbdenum.obj (.text:USBDCDDeviceInfoInit)
                      000e3c8b    0000002c                : usbdenum.obj (.text:USBDSetAddress)
                      000e3cb7    0000002c                : usbdenum.obj (.text:USBDeviceResumeTickHandler)
                      000e3ce3    0000002b                : usbdma.obj (.text:DMAUSBIntHandler)
                      000e3d0e    0000002b                : usbtick.obj (.text:InternalUSBStartOfFrameTick)
                      000e3d39    0000002b                : usbdesc.obj (.text:USBDescGet)
                      000e3d64    0000002b     rts2800_fpu64_eabi.lib : autoinit.c.obj (.text:__TI_auto_init_nobinit_nopinit)
                      000e3d8f    0000002a     interrupt.obj (.text:retain)
                      000e3db9    00000029     usblib.lib : usbringbuf.obj (.text:USBRingBufInit)
                      000e3de2    00000029     rts2800_fpu64_eabi.lib : exit.c.obj (.text)
                      000e3e0b    00000026     usblib.lib : usbdcdc.obj (.text:SendBreak)
                      000e3e31    00000026                : usbdesc.obj (.text:USBDescGetNum)
                      000e3e57    00000025                : usbtick.obj (.text:InternalUSBTickInit)
                      000e3e7c    00000025                : usbdcdesc.obj (.text:USBDCDConfigDescGetNum)
                      000e3ea1    00000023                : usbdcdc.obj (.text:HandleDisconnect)
                      000e3ec4    00000023                : usbringbuf.obj (.text:USBRingBufContigFree)
                      000e3ee7    0000001f                : usbbuffer.obj (.text:HandleRequestBuffer)
                      000e3f06    0000001f                : usbhostenum.obj (.text:InternalUSBHCDSendEvent)
                      000e3f25    0000001f                : usbmode.obj (.text:USBOTGRemovePower)
                      000e3f44    0000001f                : usbringbuf.obj (.text:USBRingBufAdvanceRead)
                      000e3f63    0000001f                : usbmode.obj (.text:USBStackModeSet)
                      000e3f82    0000001f     flash.obj (.text)
                      000e3fa1    0000001d     rts2800_fpu64_eabi.lib : memcpy.c.obj (.text)
                      000e3fbe    0000001c     usblib.lib : usbdcdc.obj (.text:DeviceConsumedAllData)
                      000e3fda    0000001c                : usbdconfig.obj (.text:GetEndpointFIFOSize)
                      000e3ff6    0000001c                : usbdcdc.obj (.text:SendLineStateChange)
                      000e4012    0000001c                : usbdenum.obj (.text:USBDCDRequestDataEP0)
                      000e402e    0000001b                : usbdcdc.obj (.text:SendLineCodingChange)
                      000e4049    0000001b                : usbdenum.obj (.text:USBDCDSendDataEP0)
                      000e4064    0000001b     rts2800_fpu64_eabi.lib : fd_toul28.asm.obj (.text)
                      000e407f    0000001a     usblib.lib : usbringbuf.obj (.text:UpdateIndexAtomic)
                      000e4099    00000019                : usbdcdesc.obj (.text:USBDCDConfigDescGetSize)
                      000e40b2    00000019                : usbdcdesc.obj (.text:USBDCDConfigGetInterface)
                      000e40cb    00000019                : usbdenum.obj (.text:USBDCDStallEP0)
                      000e40e4    00000019     rts2800_fpu64_eabi.lib : boot28.asm.obj (.text)
                      000e40fd    00000018     usblib.lib : usbdcdc.obj (.text:CheckAndSendBreak)
                      000e4115    00000018                : usbdcdc.obj (.text:USBDCDCTxPacketAvailable)
                      000e412d    00000018                : usbringbuf.obj (.text:USBRingBufContigUsed)
                      000e4145    00000018                : usbringbuf.obj (.text:USBRingBufUsed)
                      000e415d    00000017                : usbdcdc.obj (.text:HandleResume)
                      000e4174    00000017                : usbdcdc.obj (.text:HandleSuspend)
                      000e418b    00000017                : usbdenum.obj (.text:SysCtl_enablePeripheral)
                      000e41a2    00000016                : usbringbuf.obj (.text:USBRingBufFlush)
                      000e41b8    00000016     rts2800_fpu64_eabi.lib : fd_div28_fpu64.asm.obj (.text)
                      000e41ce    00000016                            : ul_tofd28.asm.obj (.text)
                      000e41e4    00000015     usblib.lib : usbbuffer.obj (.text:HandleDataRemaining)
                      000e41f9    00000014                : usbringbuf.obj (.text:USBRingBufFree)
                      000e420d    00000012                : usbdcdc.obj (.text:SetDeferredOpFlag)
                      000e421f    00000012                : usbdhandler.obj (.text:USB0DeviceIntHandler)
                      000e4231    00000012                : usbbuffer.obj (.text:USBBufferFlush)
                      000e4243    00000010                : usbdenum.obj (.text:USBDSetDescriptor)
                      000e4253    00000010                : usbdenum.obj (.text:USBDSyncFrame)
                      000e4263    0000000f                : usbbuffer.obj (.text:HandleTxComplete)
                      000e4272    0000000e     c2000ware_libraries.obj (.text)
                      000e4280    0000000e     rts2800_fpu64_eabi.lib : fd_sub28.asm.obj (.text)
                      000e428e    0000000d     usblib.lib : usbdcdc.obj (.text:CheckAndSendLineCodingChange)
                      000e429b    0000000d                : usbdcdc.obj (.text:CheckAndSendLineStateChange)
                      000e42a8    0000000d                : usbringbuf.obj (.text:Interrupt_disableGlobal)
                      000e42b5    0000000d                : usbringbuf.obj (.text:Interrupt_enableGlobal)
                      000e42c2    0000000c                : usbdma.obj (.text:DMAUSBIntStatusClear)
                      000e42ce    0000000c     rts2800_fpu64_eabi.lib : args_main.c.obj (.text)
                      000e42da    0000000b     usblib.lib : usbhostenum.obj (.text:USBHCDPowerAutomatic)
                      000e42e5    00000009     rts2800_fpu64_eabi.lib : _lock.c.obj (.text)
                      000e42ee    00000008     F28P65x_CodeStartBranch.obj (.text)
                      000e42f6    00000008     rts2800_fpu64_eabi.lib : copy_decompress_none.c.obj (.text:decompress:none)
                      000e42fe    00000008                            : strlen.c.obj (.text)
                      000e4306    00000007                            : memset.c.obj (.text)
                      000e430d    00000007     usblib.lib : usbdma.obj (.text:uDMAUSBChannelAllocate)
                      000e4314    00000007                : usbdma.obj (.text:uDMAUSBChannelStatus)
                      000e431b    00000007                : usbdma.obj (.text:uDMAUSBTransfer)
                      000e4322    00000006     rts2800_fpu64_eabi.lib : copy_zero_init.c.obj (.text:decompress:ZI)
                      000e4328    00000005     usblib.lib : usbdma.obj (.text:DMAUSBStatus)
                      000e432d    00000005                : usbdma.obj (.text:uDMAUSBArbSizeSet)
                      000e4332    00000005                : usbdma.obj (.text:uDMAUSBChannelDisable)
                      000e4337    00000005                : usbdma.obj (.text:uDMAUSBChannelEnable)
                      000e433c    00000005                : usbdma.obj (.text:uDMAUSBChannelIntDisable)
                      000e4341    00000005                : usbdma.obj (.text:uDMAUSBChannelIntEnable)
                      000e4346    00000005                : usbdma.obj (.text:uDMAUSBChannelRelease)
                      000e434b    00000005                : usbdma.obj (.text:uDMAUSBIntStatus)
                      000e4350    00000005                : usbdma.obj (.text:uDMAUSBUnitSizeSet)
                      000e4355    00000004                : usbdenum.obj (.text:SysCtl_deviceCal)
                      000e4359    00000002     rts2800_fpu64_eabi.lib : pre_init.c.obj (.text)
                      000e435b    00000001                            : startup.c.obj (.text)
    
    MODULE SUMMARY
    
           Module                        code    ro data   rw data
           ------                        ----    -------   -------
        .\
           usb.obj                       473     23        1036   
           usb_hal.obj                   304     12        0      
           main.obj                      140     0         1      
        +--+-----------------------------+-------+---------+---------+
           Total:                        917     35        1037   
                                                                  
        .\device\
           device.obj                    609     0         0      
           F28P65x_CodeStartBranch.obj   10      0         0      
        +--+-----------------------------+-------+---------+---------+
           Total:                        619     0         0      
                                                                  
        .\device\driverlib\
           usb.obj                       2041    0         0      
           memcfg.obj                    1254    0         0      
           dcc.obj                       840     0         0      
           ipc.obj                       492     68        272    
           gpio.obj                      548     0         0      
           interrupt.obj                 413     0         0      
           flash.obj                     307     0         0      
           sysctl.obj                    8       0         0      
        +--+-----------------------------+-------+---------+---------+
           Total:                        5903    68        272    
                                                                  
        .\syscfg\
           usb_structs.obj               0       202       1146   
           board.obj                     129     0         0      
           c2000ware_libraries.obj       14      0         0      
        +--+-----------------------------+-------+---------+---------+
           Total:                        143     202       1146   
                                                                  
        C:/ti/C2000Ware_5_03_00_00/libraries/communications/usb/f28p65x/lib/usblib.lib
           usbdenum.obj                  2479    154       118    
           usbdcdc.obj                   1876    279       49     
           usbhostenum.obj               928     0         890    
           usbdconfig.obj                619     130       0      
           usbbuffer.obj                 562     122       0      
           usbringbuf.obj                393     123       0      
           usbdma.obj                    250     119       140    
           usbmode.obj                   315     120       10     
           usbdcdesc.obj                 299     0         0      
           usbtick.obj                   128     0         30     
           usbdesc.obj                   81      0         0      
           usbdhandler.obj               18      0         0      
        +--+-----------------------------+-------+---------+---------+
           Total:                        7948    1047      1237   
                                                                  
        C:\ti\ccs1271\ccs\tools\compiler\ti-cgt-c2000_22.6.1.LTS\lib\rts2800_fpu64_eabi.lib
           fd_add28.asm.obj              156     0         0      
           copy_decompress_lzss.c.obj    48      0         0      
           exit.c.obj                    41      0         6      
           autoinit.c.obj                43      0         0      
           memcpy.c.obj                  29      0         0      
           fd_toul28.asm.obj             27      0         0      
           boot28.asm.obj                25      0         0      
           fd_div28_fpu64.asm.obj        22      0         0      
           ul_tofd28.asm.obj             22      0         0      
           fd_sub28.asm.obj              14      0         0      
           _lock.c.obj                   9       0         4      
           args_main.c.obj               12      0         0      
           copy_decompress_none.c.obj    8       0         0      
           strlen.c.obj                  8       0         0      
           memset.c.obj                  7       0         0      
           copy_zero_init.c.obj          6       0         0      
           pre_init.c.obj                2       0         0      
           startup.c.obj                 1       0         0      
        +--+-----------------------------+-------+---------+---------+
           Total:                        480     0         10     
                                                                  
           Stack:                        0       0         1016   
           Linker Generated:             0       116       0      
        +--+-----------------------------+-------+---------+---------+
           Grand Total:                  16010   1468      4718   
    
    
    LINKER GENERATED COPY TABLES
    
    __TI_cinit_table @ 000e43cc records: 2, size/record: 4, table size: 8
    	.data: load addr=000e4360, load size=00000062 bytes, run addr=00018940, run size=0000042e bytes, compression=lzss
    	.bss: load addr=000e43c8, load size=00000004 bytes, run addr=00018000, run size=00000938 bytes, compression=zero_init
    
    
    LINKER GENERATED HANDLER TABLE
    
    __TI_handler_table @ 000e43c2 records: 3, size/record: 2, table size: 6
    	index: 0, handler: __TI_zero_init
    	index: 1, handler: __TI_decompress_lzss
    	index: 2, handler: __TI_decompress_none
    
    
    GLOBAL DATA SYMBOLS: SORTED BY DATA PAGE
    
    address     data page           name
    --------    ----------------    ----
    00000400      10 (00000400)     __stack
    
    00018000     600 (00018000)     RxBuffer
    
    00018200     608 (00018200)     g_pi8USBRxBuffer
    
    00018400     610 (00018400)     g_pi8USBTxBuffer
    
    000188cc     623 (000188c0)     g_psDCDInst
    000188fe     623 (000188c0)     g_pfnTickHandlers
    
    00018922     624 (00018900)     g_pvTickInstance
    0001892e     624 (00018900)     g_eOTGModeState
    00018930     624 (00018900)     g_ui32PollRate
    00018934     624 (00018900)     g_pcStatus
    00018936     624 (00018900)     g_ppsDevInfo
    
    00018ca2     632 (00018c80)     g_pui8CDCSerDeviceDescriptor
    00018cb5     632 (00018c80)     lastDataEnd
    00018cb6     632 (00018c80)     g_ui32TxCount
    00018cb8     632 (00018c80)     g_ui32RxCount
    00018cba     632 (00018c80)     g_ui32Flags
    00018cbe     632 (00018c80)     _lock
    
    00018cc0     633 (00018cc0)     g_sRxBuffer
    00018cdc     633 (00018cc0)     g_sTxBuffer
    
    00018d00     634 (00018d00)     g_sCDCDevice
    00018d3a     634 (00018d00)     g_pui8CDCSerDescriptor
    
    00018d44     635 (00018d40)     g_psCDCCompSerSections
    00018d4c     635 (00018d40)     g_pui8IADSerDescriptor
    00018d54     635 (00018d40)     g_psCDCSerSections
    00018d5a     635 (00018d40)     __TI_enable_exit_profile_output
    00018d5c     635 (00018d40)     __TI_cleanup_ptr
    00018d5e     635 (00018d40)     __TI_dtors_ptr
    00018d60     635 (00018d40)     g_bUSBTimerInitialized
    00018d62     635 (00018d40)     g_ui32CurrentUSBTick
    00018d64     635 (00018d40)     g_ui32USBSOFCount
    00018d66     635 (00018d40)     g_iUSBMode
    00018d68     635 (00018d40)     g_ui32WaitTicks
    00018d6a     635 (00018d40)     _unlock
    
    0003a000     e80 (0003a000)     IPC_CPU1_To_CPU2_PutBuffer
    
    0003b000     ec0 (0003b000)     IPC_CPU1_To_CPU2_GetBuffer
    
    000e0370    380d (000e0340)     IPC_Instance
    
    000e03b4    380e (000e0380)     g_pui8ConfigString
    
    000e03ea    380f (000e03c0)     g_pui8SerialNumberString
    000e03fc    380f (000e03c0)     g_pui8LangDescriptor
    
    000e0400    3810 (000e0400)     g_sCDCSerConfigSection
    000e0404    3810 (000e0400)     g_sIADSerConfigSection
    000e0408    3810 (000e0400)     g_sCDCSerCommInterfaceSection
    000e040c    3810 (000e0400)     g_sCDCSerDataInterfaceSection
    000e0410    3810 (000e0400)     g_sCDCSerConfigHeader
    000e0414    3810 (000e0400)     g_sCDCCompSerConfigHeader
    000e0418    3810 (000e0400)     g_sCDCHandlers
    000e0430    3810 (000e0400)     g_pui8ControlInterfaceString
    
    000e045c    3811 (000e0440)     g_pui8ManufacturerString
    
    000e0480    3812 (000e0480)     g_pui8CDCSerCommInterface
    000e04a3    3812 (000e0480)     g_pui8ProdectString
    
    000e04f7    3813 (000e04c0)     g_pui8CDCSerDataInterface
    
    000e050e    3814 (000e0500)     g_pui8StringDescriptors
    000e0526    3814 (000e0500)     g_pCDCCompSerConfigDescriptors
    000e0528    3814 (000e0500)     g_ppCDCSerConfigDescriptors
    
    
    GLOBAL SYMBOLS: SORTED ALPHABETICALLY BY Name 
    
    page  address   name                             
    ----  -------   ----                             
    0     000e307d  Board_init                       
    0     000e3de2  C$$EXIT                          
    0     000e4272  C2000Ware_libraries_init         
    0     000e27f2  CPUTimerInit                     
    0     000e2472  ControlHandler                   
    0     000e18d1  DCC_continuousMonitor            
    0     000e181d  DCC_measureClockFrequency        
    0     000e1748  DCC_verifyClockFrequency         
    0     000e19fe  Device_enableAllPeripherals      
    0     000e19e4  Device_init                      
    0     000e1b90  Device_initGPIO                  
    0     000e1bb4  Device_verifyXTAL                
    0     00018dc5  Flash_initModule                 
    0     000e1c21  GPIO_getDirectionMode            
    0     000e1cad  GPIO_getPadConfig                
    0     000e1d0d  GPIO_getQualificationMode        
    0     000e1d7c  GPIO_setAnalogMode               
    0     000e1d50  GPIO_setControllerCore           
    0     000e1bfa  GPIO_setDirectionMode            
    0     000e1c37  GPIO_setInterruptPin             
    0     000e1c65  GPIO_setPadConfig                
    0     000e1ddb  GPIO_setPinConfig                
    0     000e1ce1  GPIO_setQualificationMode        
    0     000e1d2e  GPIO_setQualificationPeriod      
    0     000e3088  INTERRUPT_init                   
    0     000e29ce  INT_USB0_ISR                     
    0     0003b000  IPC_CPU1_To_CPU2_GetBuffer       
    0     0003a000  IPC_CPU1_To_CPU2_PutBuffer       
    0     000e0370  IPC_Instance                     
    0     000e2a49  IPC_SD_ISR                       
    0     000e30ad  IPC_SYSCFG_init                  
    0     000e29ff  IPC_USB_ISR                      
    0     000e1f16  IPC_initMessageQueue             
    0     000e1e9c  IPC_readCommand                  
    0     000e1fa9  IPC_readMessageFromQueue         
    0     000e1ee6  IPC_registerInterrupt            
    0     000e1e3f  IPC_sendCommand                  
    0     000e1f60  IPC_sendMessageToQueue           
    0     000e1eff  IPC_unregisterInterrupt          
    0     000e3f06  InternalUSBHCDSendEvent          
    0     000e3b46  InternalUSBRegisterTickHandler   
    0     000e3d0e  InternalUSBStartOfFrameTick      
    0     000e3e57  InternalUSBTickInit              
    0     000e3d8f  Interrupt_defaultHandler         
    0     000e22d0  Interrupt_disable                
    0     000e2299  Interrupt_enable                 
    0     000e3da5  Interrupt_illegalOperationHandler
    0     000e223e  Interrupt_initModule             
    0     000e227b  Interrupt_initVectorTable        
    0     000e3daf  Interrupt_nmiHandler             
    0     000e30ae  MEMCFG_init                      
    0     000e0e96  MemCfg_commitConfig              
    0     000e12ba  MemCfg_disablePeriMemTestMode    
    0     000e12a8  MemCfg_enablePeriMemTestMode     
    0     000e1276  MemCfg_forceMemError             
    0     000e1248  MemCfg_getCorrErrorAddress       
    0     000e11bd  MemCfg_getInitStatus             
    0     000e125f  MemCfg_getUncorrErrorAddress     
    0     000e1225  MemCfg_getViolationAddress       
    0     000e116a  MemCfg_initSections              
    0     000e0de9  MemCfg_lockConfig                
    0     000e0fb0  MemCfg_lockTestConfig            
    0     000e0f99  MemCfg_setGSRAMControllerSel     
    0     000e0f6e  MemCfg_setLSRAMControllerSel     
    0     000e0ee9  MemCfg_setProtection             
    0     000e10fd  MemCfg_setTestMode               
    0     000e0e3c  MemCfg_unlockConfig              
    0     000e104f  MemCfg_unlockTestConfig          
    0     000e3642  ProcessDataFromHost              
    0     000e351b  ProcessDataToHost                
    0     000e3bd6  ProcessNotificationToHost        
    0     000e05be  RamfuncsLoadEnd                  
    abs   0000008e  RamfuncsLoadSize                 
    0     000e0530  RamfuncsLoadStart                
    0     00018dfe  RamfuncsRunEnd                   
    abs   0000008e  RamfuncsRunSize                  
    0     00018d70  RamfuncsRunStart                 
    0     000e24e0  ReadDataFromHost                 
    0     00018000  RxBuffer                         
    0     000e24c4  RxHandler                        
    0     000e2545  SendUSBData                      
    0     00018dfa  SysCtl_delay                     
    0     000e24b5  TxHandler                        
    0     000e421f  USB0DeviceIntHandler             
    0     000e3969  USB0DualModeIntHandler           
    0     000e2f4d  USB0OTGModeIntHandler            
    0     000e38a7  USBBufferEventCallback           
    0     000e4231  USBBufferFlush                   
    0     000e3a4d  USBBufferInit                    
    0     000e3b76  USBBufferWrite                   
    0     000e0ddf  USBClearGlobalInterruptFlag      
    0     000e2907  USBDCDCCompositeInit             
    0     000e35e1  USBDCDCInit                      
    0     000e3234  USBDCDCPacketRead                
    0     000e36f1  USBDCDCPacketWrite               
    0     000e3a80  USBDCDCRxPacketAvailable         
    0     000e4115  USBDCDCTxPacketAvailable         
    0     000e3863  USBDCDConfigDescGet              
    0     000e3e7c  USBDCDConfigDescGetNum           
    0     000e4099  USBDCDConfigDescGetSize          
    0     000e40b2  USBDCDConfigGetInterface         
    0     000e3ae4  USBDCDConfigGetInterfaceEndpoint 
    0     000e3c5f  USBDCDDeviceInfoInit             
    0     000e2b3c  USBDCDInit                       
    0     000e4012  USBDCDRequestDataEP0             
    0     000e4049  USBDCDSendDataEP0                
    0     000e40cb  USBDCDStallEP0                   
    0     000e2809  USBDelay                         
    0     000e3d39  USBDescGet                       
    0     000e3e31  USBDescGetNum                    
    0     000e08b7  USBDevAddrGet                    
    0     000e08b0  USBDevAddrSet                    
    0     000e089b  USBDevConnect                    
    0     000e08a5  USBDevDisconnect                 
    0     000e09bc  USBDevEndpointConfigGet          
    0     000e095b  USBDevEndpointConfigSet          
    0     000e0b6f  USBDevEndpointDataAck            
    0     000e0842  USBDevEndpointStall              
    0     000e0865  USBDevEndpointStallClear         
    0     000e079e  USBDevEndpointStatusClear        
    0     000e0d84  USBDevMode                       
    0     000e1ffe  USBDeviceConfig                  
    0     000e33e6  USBDeviceConfigAlternate         
    0     000e283c  USBDeviceEnumHandler             
    0     000e3b15  USBDeviceEnumResetHandler        
    0     000e2c85  USBDeviceIntHandlerInternal      
    0     000e3cb7  USBDeviceResumeTickHandler       
    0     000e0dcb  USBDisableGlobalInterrupt        
    0     000e0dc1  USBEnableGlobalInterrupt         
    0     000e0d52  USBEndpointDMAChannel            
    0     000e0aa1  USBEndpointDMAConfigSet          
    0     000e0af9  USBEndpointDMADisable            
    0     000e0ae1  USBEndpointDMAEnable             
    0     000e0b13  USBEndpointDataAvail             
    0     000e0b2f  USBEndpointDataGet               
    0     000e0ba6  USBEndpointDataPut               
    0     000e0bd0  USBEndpointDataSend              
    0     000e082a  USBEndpointDataToggleClear       
    0     000e0dad  USBEndpointPacketCountSet        
    0     000e0765  USBEndpointStatus                
    0     000e0d3f  USBFIFOAddrGet                   
    0     000e0a61  USBFIFOConfigGet                 
    0     000e0a23  USBFIFOConfigSet                 
    0     000e0bfe  USBFIFOFlush                     
    0     000e0d22  USBFrameNumberGet                
    0     000e27ba  USBGPIOEnable                    
    0     000e0dd5  USBGlobalInterruptFlagStatus     
    0     000e42da  USBHCDPowerAutomatic             
    0     000e0c81  USBHostAddrGet                   
    0     000e0c69  USBHostAddrSet                   
    0     000e08bf  USBHostEndpointConfig            
    0     000e0b8e  USBHostEndpointDataAck           
    0     000e07db  USBHostEndpointDataToggle        
    0     000e077a  USBHostEndpointStatusClear       
    0     000e0cc7  USBHostHubAddrGet                
    0     000e0c9b  USBHostHubAddrSet                
    0     000e12cf  USBHostIntHandlerInternal        
    0     000e0d7a  USBHostMode                      
    0     000e0ce1  USBHostPwrConfig                 
    0     000e0d18  USBHostPwrDisable                
    0     000e0d0e  USBHostPwrEnable                 
    0     000e0d04  USBHostPwrFaultDisable           
    0     000e0cfa  USBHostPwrFaultEnable            
    0     000e0c36  USBHostRequestIN                 
    0     000e0c4a  USBHostRequestINClear            
    0     000e0c5f  USBHostRequestStatus             
    0     000e063f  USBHostReset                     
    0     000e0654  USBHostResume                    
    0     000e0669  USBHostSpeedGet                  
    0     000e0635  USBHostSuspend                   
    0     000e0680  USBIntDisableControl             
    0     000e0737  USBIntDisableEndpoint            
    0     000e06a4  USBIntEnableControl              
    0     000e0749  USBIntEnableEndpoint             
    0     000e06c5  USBIntStatus                     
    0     000e070d  USBIntStatusControl              
    0     000e0759  USBIntStatusEndpoint             
    0     000e2fd0  USBLibDMAInit                    
    0     000e4275  USBLib_init                      
    0     000e0d48  USBModeGet                       
    0     000e0dbc  USBNumEndpointsGet               
    0     000e0d8e  USBOTGMode                       
    0     000e0d2a  USBOTGSessionRequest             
    0     000e0d98  USBPHYPowerOff                   
    0     000e0da2  USBPHYPowerOn                    
    0     000e3f44  USBRingBufAdvanceRead            
    0     000e3929  USBRingBufAdvanceWrite           
    0     000e3ec4  USBRingBufContigFree             
    0     000e412d  USBRingBufContigUsed             
    0     000e41a2  USBRingBufFlush                  
    0     000e41f9  USBRingBufFree                   
    0     000e3db9  USBRingBufInit                   
    0     000e4145  USBRingBufUsed                   
    0     000e36a1  USBRingBufWrite                  
    0     000e3f63  USBStackModeSet                  
    0     000e30d1  USB_init                         
    0     000e43cc  __TI_CINIT_Base                  
    0     000e43d4  __TI_CINIT_Limit                 
    0     000e43d4  __TI_CINIT_Warm                  
    0     000e43c2  __TI_Handler_Table_Base          
    0     000e43c8  __TI_Handler_Table_Limit         
    0     000007f8  __TI_STACK_END                   
    abs   000003f8  __TI_STACK_SIZE                  
    0     000e3d64  __TI_auto_init_nobinit_nopinit   
    0     00018d5c  __TI_cleanup_ptr                 
    0     000e3ba6  __TI_decompress_lzss             
    0     000e42f6  __TI_decompress_none             
    0     00018d5e  __TI_dtors_ptr                   
    0     00018d5a  __TI_enable_exit_profile_output  
    abs   ffffffff  __TI_pprof_out_hndl              
    abs   ffffffff  __TI_prof_data_size              
    abs   ffffffff  __TI_prof_data_start             
    0     000e4322  __TI_zero_init                   
    0     000e2be9  __c28xabi_addd                   
    0     000e41b8  __c28xabi_divd                   
    0     000e4064  __c28xabi_dtoul                  
    0     000e4280  __c28xabi_subd                   
    0     000e41ce  __c28xabi_ultod                  
    n/a   UNDEFED   __c_args__                       
    0     000e1be7  __error__                        
    0     00000400  __stack                          
    0     000e42ce  _args_main                       
    0     000e40e4  _c_int00                         
    0     00018cbe  _lock                            
    0     000e42ed  _nop                             
    0     000e42e9  _register_lock                   
    0     000e42e5  _register_unlock                 
    0     000e435b  _system_post_cinit               
    0     000e4359  _system_pre_init                 
    0     00018d6a  _unlock                          
    0     000e3de2  abort                            
    0     000e0000  code_start                       
    0     000e3de4  exit                             
    0     000e357f  f28x_USB0DualModeIntHandler      
    0     000e35b0  f28x_USB0OTGModeIntHandler       
    0     00018d60  g_bUSBTimerInitialized           
    0     0001892e  g_eOTGModeState                  
    0     00018d66  g_iUSBMode                       
    0     000e0526  g_pCDCCompSerConfigDescriptors   
    0     00018934  g_pcStatus                       
    0     000188fe  g_pfnTickHandlers                
    0     00018200  g_pi8USBRxBuffer                 
    0     00018400  g_pi8USBTxBuffer                 
    0     000e0528  g_ppCDCSerConfigDescriptors      
    0     00018936  g_ppsDevInfo                     
    0     00018d44  g_psCDCCompSerSections           
    0     00018d54  g_psCDCSerSections               
    0     000188cc  g_psDCDInst                      
    0     000e0480  g_pui8CDCSerCommInterface        
    0     000e04f7  g_pui8CDCSerDataInterface        
    0     00018d3a  g_pui8CDCSerDescriptor           
    0     00018ca2  g_pui8CDCSerDeviceDescriptor     
    0     000e03b4  g_pui8ConfigString               
    0     000e0430  g_pui8ControlInterfaceString     
    0     00018d4c  g_pui8IADSerDescriptor           
    0     000e03fc  g_pui8LangDescriptor             
    0     000e045c  g_pui8ManufacturerString         
    0     000e04a3  g_pui8ProdectString              
    0     000e03ea  g_pui8SerialNumberString         
    0     000e050e  g_pui8StringDescriptors          
    0     00018922  g_pvTickInstance                 
    0     000e0414  g_sCDCCompSerConfigHeader        
    0     00018d00  g_sCDCDevice                     
    0     000e0418  g_sCDCHandlers                   
    0     000e0408  g_sCDCSerCommInterfaceSection    
    0     000e0410  g_sCDCSerConfigHeader            
    0     000e0400  g_sCDCSerConfigSection           
    0     000e040c  g_sCDCSerDataInterfaceSection    
    0     000e0404  g_sIADSerConfigSection           
    0     00018cc0  g_sRxBuffer                      
    0     00018cdc  g_sTxBuffer                      
    0     00018d62  g_ui32CurrentUSBTick             
    0     00018cba  g_ui32Flags                      
    0     00018930  g_ui32PollRate                   
    0     00018cb8  g_ui32RxCount                    
    0     00018cb6  g_ui32TxCount                    
    0     00018d64  g_ui32USBSOFCount                
    0     00018d68  g_ui32WaitTicks                  
    0     00018cb5  lastDataEnd                      
    0     000e2e17  main                             
    0     000e3fa1  memcpy                           
    0     000e4306  memset                           
    0     000e42fe  strlen                           
    
    
    GLOBAL SYMBOLS: SORTED BY Symbol Address 
    
    page  address   name                             
    ----  -------   ----                             
    0     00000400  __stack                          
    0     000007f8  __TI_STACK_END                   
    0     00018000  RxBuffer                         
    0     00018200  g_pi8USBRxBuffer                 
    0     00018400  g_pi8USBTxBuffer                 
    0     000188cc  g_psDCDInst                      
    0     000188fe  g_pfnTickHandlers                
    0     00018922  g_pvTickInstance                 
    0     0001892e  g_eOTGModeState                  
    0     00018930  g_ui32PollRate                   
    0     00018934  g_pcStatus                       
    0     00018936  g_ppsDevInfo                     
    0     00018ca2  g_pui8CDCSerDeviceDescriptor     
    0     00018cb5  lastDataEnd                      
    0     00018cb6  g_ui32TxCount                    
    0     00018cb8  g_ui32RxCount                    
    0     00018cba  g_ui32Flags                      
    0     00018cbe  _lock                            
    0     00018cc0  g_sRxBuffer                      
    0     00018cdc  g_sTxBuffer                      
    0     00018d00  g_sCDCDevice                     
    0     00018d3a  g_pui8CDCSerDescriptor           
    0     00018d44  g_psCDCCompSerSections           
    0     00018d4c  g_pui8IADSerDescriptor           
    0     00018d54  g_psCDCSerSections               
    0     00018d5a  __TI_enable_exit_profile_output  
    0     00018d5c  __TI_cleanup_ptr                 
    0     00018d5e  __TI_dtors_ptr                   
    0     00018d60  g_bUSBTimerInitialized           
    0     00018d62  g_ui32CurrentUSBTick             
    0     00018d64  g_ui32USBSOFCount                
    0     00018d66  g_iUSBMode                       
    0     00018d68  g_ui32WaitTicks                  
    0     00018d6a  _unlock                          
    0     00018d70  RamfuncsRunStart                 
    0     00018dc5  Flash_initModule                 
    0     00018dfa  SysCtl_delay                     
    0     00018dfe  RamfuncsRunEnd                   
    0     0003a000  IPC_CPU1_To_CPU2_PutBuffer       
    0     0003b000  IPC_CPU1_To_CPU2_GetBuffer       
    0     000e0000  code_start                       
    0     000e0370  IPC_Instance                     
    0     000e03b4  g_pui8ConfigString               
    0     000e03ea  g_pui8SerialNumberString         
    0     000e03fc  g_pui8LangDescriptor             
    0     000e0400  g_sCDCSerConfigSection           
    0     000e0404  g_sIADSerConfigSection           
    0     000e0408  g_sCDCSerCommInterfaceSection    
    0     000e040c  g_sCDCSerDataInterfaceSection    
    0     000e0410  g_sCDCSerConfigHeader            
    0     000e0414  g_sCDCCompSerConfigHeader        
    0     000e0418  g_sCDCHandlers                   
    0     000e0430  g_pui8ControlInterfaceString     
    0     000e045c  g_pui8ManufacturerString         
    0     000e0480  g_pui8CDCSerCommInterface        
    0     000e04a3  g_pui8ProdectString              
    0     000e04f7  g_pui8CDCSerDataInterface        
    0     000e050e  g_pui8StringDescriptors          
    0     000e0526  g_pCDCCompSerConfigDescriptors   
    0     000e0528  g_ppCDCSerConfigDescriptors      
    0     000e0530  RamfuncsLoadStart                
    0     000e05be  RamfuncsLoadEnd                  
    0     000e0635  USBHostSuspend                   
    0     000e063f  USBHostReset                     
    0     000e0654  USBHostResume                    
    0     000e0669  USBHostSpeedGet                  
    0     000e0680  USBIntDisableControl             
    0     000e06a4  USBIntEnableControl              
    0     000e06c5  USBIntStatus                     
    0     000e070d  USBIntStatusControl              
    0     000e0737  USBIntDisableEndpoint            
    0     000e0749  USBIntEnableEndpoint             
    0     000e0759  USBIntStatusEndpoint             
    0     000e0765  USBEndpointStatus                
    0     000e077a  USBHostEndpointStatusClear       
    0     000e079e  USBDevEndpointStatusClear        
    0     000e07db  USBHostEndpointDataToggle        
    0     000e082a  USBEndpointDataToggleClear       
    0     000e0842  USBDevEndpointStall              
    0     000e0865  USBDevEndpointStallClear         
    0     000e089b  USBDevConnect                    
    0     000e08a5  USBDevDisconnect                 
    0     000e08b0  USBDevAddrSet                    
    0     000e08b7  USBDevAddrGet                    
    0     000e08bf  USBHostEndpointConfig            
    0     000e095b  USBDevEndpointConfigSet          
    0     000e09bc  USBDevEndpointConfigGet          
    0     000e0a23  USBFIFOConfigSet                 
    0     000e0a61  USBFIFOConfigGet                 
    0     000e0aa1  USBEndpointDMAConfigSet          
    0     000e0ae1  USBEndpointDMAEnable             
    0     000e0af9  USBEndpointDMADisable            
    0     000e0b13  USBEndpointDataAvail             
    0     000e0b2f  USBEndpointDataGet               
    0     000e0b6f  USBDevEndpointDataAck            
    0     000e0b8e  USBHostEndpointDataAck           
    0     000e0ba6  USBEndpointDataPut               
    0     000e0bd0  USBEndpointDataSend              
    0     000e0bfe  USBFIFOFlush                     
    0     000e0c36  USBHostRequestIN                 
    0     000e0c4a  USBHostRequestINClear            
    0     000e0c5f  USBHostRequestStatus             
    0     000e0c69  USBHostAddrSet                   
    0     000e0c81  USBHostAddrGet                   
    0     000e0c9b  USBHostHubAddrSet                
    0     000e0cc7  USBHostHubAddrGet                
    0     000e0ce1  USBHostPwrConfig                 
    0     000e0cfa  USBHostPwrFaultEnable            
    0     000e0d04  USBHostPwrFaultDisable           
    0     000e0d0e  USBHostPwrEnable                 
    0     000e0d18  USBHostPwrDisable                
    0     000e0d22  USBFrameNumberGet                
    0     000e0d2a  USBOTGSessionRequest             
    0     000e0d3f  USBFIFOAddrGet                   
    0     000e0d48  USBModeGet                       
    0     000e0d52  USBEndpointDMAChannel            
    0     000e0d7a  USBHostMode                      
    0     000e0d84  USBDevMode                       
    0     000e0d8e  USBOTGMode                       
    0     000e0d98  USBPHYPowerOff                   
    0     000e0da2  USBPHYPowerOn                    
    0     000e0dad  USBEndpointPacketCountSet        
    0     000e0dbc  USBNumEndpointsGet               
    0     000e0dc1  USBEnableGlobalInterrupt         
    0     000e0dcb  USBDisableGlobalInterrupt        
    0     000e0dd5  USBGlobalInterruptFlagStatus     
    0     000e0ddf  USBClearGlobalInterruptFlag      
    0     000e0de9  MemCfg_lockConfig                
    0     000e0e3c  MemCfg_unlockConfig              
    0     000e0e96  MemCfg_commitConfig              
    0     000e0ee9  MemCfg_setProtection             
    0     000e0f6e  MemCfg_setLSRAMControllerSel     
    0     000e0f99  MemCfg_setGSRAMControllerSel     
    0     000e0fb0  MemCfg_lockTestConfig            
    0     000e104f  MemCfg_unlockTestConfig          
    0     000e10fd  MemCfg_setTestMode               
    0     000e116a  MemCfg_initSections              
    0     000e11bd  MemCfg_getInitStatus             
    0     000e1225  MemCfg_getViolationAddress       
    0     000e1248  MemCfg_getCorrErrorAddress       
    0     000e125f  MemCfg_getUncorrErrorAddress     
    0     000e1276  MemCfg_forceMemError             
    0     000e12a8  MemCfg_enablePeriMemTestMode     
    0     000e12ba  MemCfg_disablePeriMemTestMode    
    0     000e12cf  USBHostIntHandlerInternal        
    0     000e1748  DCC_verifyClockFrequency         
    0     000e181d  DCC_measureClockFrequency        
    0     000e18d1  DCC_continuousMonitor            
    0     000e19e4  Device_init                      
    0     000e19fe  Device_enableAllPeripherals      
    0     000e1b90  Device_initGPIO                  
    0     000e1bb4  Device_verifyXTAL                
    0     000e1be7  __error__                        
    0     000e1bfa  GPIO_setDirectionMode            
    0     000e1c21  GPIO_getDirectionMode            
    0     000e1c37  GPIO_setInterruptPin             
    0     000e1c65  GPIO_setPadConfig                
    0     000e1cad  GPIO_getPadConfig                
    0     000e1ce1  GPIO_setQualificationMode        
    0     000e1d0d  GPIO_getQualificationMode        
    0     000e1d2e  GPIO_setQualificationPeriod      
    0     000e1d50  GPIO_setControllerCore           
    0     000e1d7c  GPIO_setAnalogMode               
    0     000e1ddb  GPIO_setPinConfig                
    0     000e1e3f  IPC_sendCommand                  
    0     000e1e9c  IPC_readCommand                  
    0     000e1ee6  IPC_registerInterrupt            
    0     000e1eff  IPC_unregisterInterrupt          
    0     000e1f16  IPC_initMessageQueue             
    0     000e1f60  IPC_sendMessageToQueue           
    0     000e1fa9  IPC_readMessageFromQueue         
    0     000e1ffe  USBDeviceConfig                  
    0     000e223e  Interrupt_initModule             
    0     000e227b  Interrupt_initVectorTable        
    0     000e2299  Interrupt_enable                 
    0     000e22d0  Interrupt_disable                
    0     000e2472  ControlHandler                   
    0     000e24b5  TxHandler                        
    0     000e24c4  RxHandler                        
    0     000e24e0  ReadDataFromHost                 
    0     000e2545  SendUSBData                      
    0     000e27ba  USBGPIOEnable                    
    0     000e27f2  CPUTimerInit                     
    0     000e2809  USBDelay                         
    0     000e283c  USBDeviceEnumHandler             
    0     000e2907  USBDCDCCompositeInit             
    0     000e29ce  INT_USB0_ISR                     
    0     000e29ff  IPC_USB_ISR                      
    0     000e2a49  IPC_SD_ISR                       
    0     000e2b3c  USBDCDInit                       
    0     000e2be9  __c28xabi_addd                   
    0     000e2c85  USBDeviceIntHandlerInternal      
    0     000e2e17  main                             
    0     000e2f4d  USB0OTGModeIntHandler            
    0     000e2fd0  USBLibDMAInit                    
    0     000e307d  Board_init                       
    0     000e3088  INTERRUPT_init                   
    0     000e30ad  IPC_SYSCFG_init                  
    0     000e30ae  MEMCFG_init                      
    0     000e30d1  USB_init                         
    0     000e3234  USBDCDCPacketRead                
    0     000e33e6  USBDeviceConfigAlternate         
    0     000e351b  ProcessDataToHost                
    0     000e357f  f28x_USB0DualModeIntHandler      
    0     000e35b0  f28x_USB0OTGModeIntHandler       
    0     000e35e1  USBDCDCInit                      
    0     000e3642  ProcessDataFromHost              
    0     000e36a1  USBRingBufWrite                  
    0     000e36f1  USBDCDCPacketWrite               
    0     000e3863  USBDCDConfigDescGet              
    0     000e38a7  USBBufferEventCallback           
    0     000e3929  USBRingBufAdvanceWrite           
    0     000e3969  USB0DualModeIntHandler           
    0     000e3a4d  USBBufferInit                    
    0     000e3a80  USBDCDCRxPacketAvailable         
    0     000e3ae4  USBDCDConfigGetInterfaceEndpoint 
    0     000e3b15  USBDeviceEnumResetHandler        
    0     000e3b46  InternalUSBRegisterTickHandler   
    0     000e3b76  USBBufferWrite                   
    0     000e3ba6  __TI_decompress_lzss             
    0     000e3bd6  ProcessNotificationToHost        
    0     000e3c5f  USBDCDDeviceInfoInit             
    0     000e3cb7  USBDeviceResumeTickHandler       
    0     000e3d0e  InternalUSBStartOfFrameTick      
    0     000e3d39  USBDescGet                       
    0     000e3d64  __TI_auto_init_nobinit_nopinit   
    0     000e3d8f  Interrupt_defaultHandler         
    0     000e3da5  Interrupt_illegalOperationHandler
    0     000e3daf  Interrupt_nmiHandler             
    0     000e3db9  USBRingBufInit                   
    0     000e3de2  C$$EXIT                          
    0     000e3de2  abort                            
    0     000e3de4  exit                             
    0     000e3e31  USBDescGetNum                    
    0     000e3e57  InternalUSBTickInit              
    0     000e3e7c  USBDCDConfigDescGetNum           
    0     000e3ec4  USBRingBufContigFree             
    0     000e3f06  InternalUSBHCDSendEvent          
    0     000e3f44  USBRingBufAdvanceRead            
    0     000e3f63  USBStackModeSet                  
    0     000e3fa1  memcpy                           
    0     000e4012  USBDCDRequestDataEP0             
    0     000e4049  USBDCDSendDataEP0                
    0     000e4064  __c28xabi_dtoul                  
    0     000e4099  USBDCDConfigDescGetSize          
    0     000e40b2  USBDCDConfigGetInterface         
    0     000e40cb  USBDCDStallEP0                   
    0     000e40e4  _c_int00                         
    0     000e4115  USBDCDCTxPacketAvailable         
    0     000e412d  USBRingBufContigUsed             
    0     000e4145  USBRingBufUsed                   
    0     000e41a2  USBRingBufFlush                  
    0     000e41b8  __c28xabi_divd                   
    0     000e41ce  __c28xabi_ultod                  
    0     000e41f9  USBRingBufFree                   
    0     000e421f  USB0DeviceIntHandler             
    0     000e4231  USBBufferFlush                   
    0     000e4272  C2000Ware_libraries_init         
    0     000e4275  USBLib_init                      
    0     000e4280  __c28xabi_subd                   
    0     000e42ce  _args_main                       
    0     000e42da  USBHCDPowerAutomatic             
    0     000e42e5  _register_unlock                 
    0     000e42e9  _register_lock                   
    0     000e42ed  _nop                             
    0     000e42f6  __TI_decompress_none             
    0     000e42fe  strlen                           
    0     000e4306  memset                           
    0     000e4322  __TI_zero_init                   
    0     000e4359  _system_pre_init                 
    0     000e435b  _system_post_cinit               
    0     000e43c2  __TI_Handler_Table_Base          
    0     000e43c8  __TI_Handler_Table_Limit         
    0     000e43cc  __TI_CINIT_Base                  
    0     000e43d4  __TI_CINIT_Limit                 
    0     000e43d4  __TI_CINIT_Warm                  
    abs   0000008e  RamfuncsLoadSize                 
    abs   0000008e  RamfuncsRunSize                  
    abs   000003f8  __TI_STACK_SIZE                  
    abs   ffffffff  __TI_pprof_out_hndl              
    abs   ffffffff  __TI_prof_data_size              
    abs   ffffffff  __TI_prof_data_start             
    n/a   UNDEFED   __c_args__                       
    
    [283 symbols]
    

  • I added the map file for the project. Do you have any suggestions ?

  • Jad,

    Pls share the linker command file that you are using for CPU2.  Also, are you configuring the Dx RAMs where these buffers are allcocated to CPU2 in the code? 

     D2-D5 memory blocks are mappable to either of the CPUs. Mapping of D2-D5 memory blocks is accomplished through MCUCNF1 register. When mapped to CPU1, D2-D5 memories cannot be accessed by CPU2. Conversely, when D2-D5 memories are mapped to CPU2, CPU1 does not have access to these memory blocks.

    // RAMD2 : origin = 0x008000, length = 0x002000 // Can be mapped to either CPU1 or CPU2. When configured to CPU1, use the address 0x01A000. User should comment/uncomment based on core selection
    // RAMD3 : origin = 0x00A000, length = 0x002000 // Can be mapped to either CPU1 or CPU2. When configured to CPU1, use the address 0x01C000. User should comment/uncomment based on core selection
    // RAMD4 : origin = 0x00C000, length = 0x002000 // Can be mapped to either CPU1 or CPU2. When configured to CPU1, use the address 0x01E000. User should comment/uncomment based on core selection
    // RAMD5 : origin = 0x00E000, length = 0x002000 // Can be mapped to either CPU1 or CPU2. When configured to CPU1, use the address 0x020000. User should comment/uncomment based on core selection

    Best Regards

    Siddharth

  • Hi, this is the linker file for both CPU, 

    MEMORY
    {
       BEGIN            : origin = 0x0E0000, length = 0x000002  // Update the codestart location as needed
    
       BOOT_RSVD        : origin = 0x000002, length = 0x0001AF     /* Part of M0, BOOT rom will use this for stack */
       RAMM0            : origin = 0x0001B1, length = 0x00024F
       RAMM1            : origin = 0x000400, length = 0x000400
    
       // RAMD2            : origin = 0x008000, length = 0x002000  // Can be mapped to either CPU1 or CPU2. When configured to CPU1, use the address 0x01A000. User should comment/uncomment based on core selection
       // RAMD3            : origin = 0x00A000, length = 0x002000  // Can be mapped to either CPU1 or CPU2. When configured to CPU1, use the address 0x01C000. User should comment/uncomment based on core selection
       // RAMD4            : origin = 0x00C000, length = 0x002000  // Can be mapped to either CPU1 or CPU2. When configured to CPU1, use the address 0x01E000. User should comment/uncomment based on core selection
       RAMD5            : origin = 0x00E000, length = 0x002000  // Can be mapped to either CPU1 or CPU2. When configured to CPU1, use the address 0x020000. User should comment/uncomment based on core selection
    
       RAMGS0           : origin = 0x010000, length = 0x002000
       RAMGS1           : origin = 0x012000, length = 0x002000
       RAMGS2           : origin = 0x014000, length = 0x002000
       RAMGS3           : origin = 0x016000, length = 0x002000
       RAMGS4           : origin = 0x018000, length = 0x002000
    
       /* Flash Banks (128 sectors each) */
       // FLASH_BANK0     : origin = 0x080000, length = 0x20000  // Can be mapped to either CPU1 or CPU2. User should comment/uncomment based on core selection
       // FLASH_BANK1     : origin = 0x0A0000, length = 0x20000  // Can be mapped to either CPU1 or CPU2. User should comment/uncomment based on core selection
       // FLASH_BANK2     : origin = 0x0C0000, length = 0x20000  // Can be mapped to either CPU1 or CPU2. User should comment/uncomment based on core selection
       FLASH_BANK3     : origin = 0x0E0002, length = 0x1FFFE  // Can be mapped to either CPU1 or CPU2. User should comment/uncomment based on core selection
       FLASH_BANK4     : origin = 0x100000, length = 0x20000  // Can be mapped to either CPU1 or CPU2. User should comment/uncomment based on core selection
    
    
       CPU1TOCPU2RAM    : origin = 0x03A000, length = 0x000400
       CPU2TOCPU1RAM    : origin = 0x03B000, length = 0x000400
    
       CLATOCPURAM      : origin = 0x001480,   length = 0x000080
       CPUTOCLARAM      : origin = 0x001500,   length = 0x000080
       CLATODMARAM      : origin = 0x001680,   length = 0x000080
       DMATOCLARAM      : origin = 0x001700,   length = 0x000080
    
       CANA_MSG_RAM     : origin = 0x049000, length = 0x000800
       CANB_MSG_RAM     : origin = 0x04B000, length = 0x000800
       RESET            : origin = 0x3FFFC0, length = 0x000002
    }
    
    
    SECTIONS
    {
       codestart        : > BEGIN
       .text            : >> FLASH_BANK3 | FLASH_BANK4, ALIGN(8)
       .cinit           : > FLASH_BANK3, ALIGN(8)
       .switch          : > FLASH_BANK3, ALIGN(8)
       .reset           : > RESET, TYPE = DSECT /* not used, */
    
       .stack           : > RAMM1
    #if defined(__TI_EABI__)
       .bss             : >	RAMGS4
       .bss:output      : >	RAMGS4
       .init_array      : > FLASH_BANK3, ALIGN(8)
       .const           : > FLASH_BANK3, ALIGN(8)
       .data            : > RAMGS4
       .sysmem          : > RAMGS4
    #else
       .pinit           : > FLASH_BANK3, ALIGN(8)
       .ebss            : > RAMGS4
       .econst          : > FLASH_BANK3, ALIGN(8)
       .esysmem         : > RAMGS4
    #endif
    
       ramgs0 : > RAMGS0, type=NOINIT
       ramgs1 : > RAMGS1, type=NOINIT
       ramgs2 : > RAMGS2, type=NOINIT
    
       MSGRAM_CPU1_TO_CPU2 > CPU1TOCPU2RAM, type=NOINIT
       MSGRAM_CPU2_TO_CPU1 > CPU2TOCPU1RAM, type=NOINIT
    
      #if defined(__TI_EABI__)
           .TI.ramfunc : {} LOAD = FLASH_BANK3,  // Use flash that is mapped to CPU2
                            RUN = RAMGS4,
                            LOAD_START(RamfuncsLoadStart),
                            LOAD_SIZE(RamfuncsLoadSize),
                            LOAD_END(RamfuncsLoadEnd),
                            RUN_START(RamfuncsRunStart),
                            RUN_SIZE(RamfuncsRunSize),
                            RUN_END(RamfuncsRunEnd),
                            ALIGN(8)
       #else
           .TI.ramfunc : {} LOAD = FLASH_BANK3,  // Use flash that is mapped to CPU2
                            RUN = RAMGS4,
                            LOAD_START(_RamfuncsLoadStart),
                            LOAD_SIZE(_RamfuncsLoadSize),
                            LOAD_END(_RamfuncsLoadEnd),
                            RUN_START(_RamfuncsRunStart),
                            RUN_SIZE(_RamfuncsRunSize),
                            RUN_END(_RamfuncsRunEnd),
                            ALIGN(8)
       #endif
    
    	sd_file				: > RAMGS4
    
    }
    
    /*
    //===========================================================================
    // End of file.
    //===========================================================================
    */
    
    MEMORY
    {
       BEGIN            : origin = 0x080000, length = 0x000002  // Update the codestart location as needed
    
       BOOT_RSVD        : origin = 0x000002, length = 0x0001AF     /* Part of M0, BOOT rom will use this for stack */
       RAMM0            : origin = 0x0001B1, length = 0x00024F
       RAMM1            : origin = 0x000400, length = 0x000400
    
       RAMD0            : origin = 0x00C000, length = 0x002000
       RAMD1            : origin = 0x00E000, length = 0x002000
       RAMD2            : origin = 0x01A000, length = 0x002000  // Can be mapped to either CPU1 or CPU2. When configured to CPU2, use the address 0x8000. User should comment/uncomment based on core selection
       RAMD3            : origin = 0x01C000, length = 0x002000  // Can be mapped to either CPU1 or CPU2. When configured to CPU2, use the address 0xA000. User should comment/uncomment based on core selection
       RAMD4            : origin = 0x01E000, length = 0x002000  // Can be mapped to either CPU1 or CPU2. When configured to CPU2, use the address 0xC000. User should comment/uncomment based on core selection
       // RAMD5            : origin = 0x020000, length = 0x002000  // Can be mapped to either CPU1 or CPU2. When configured to CPU2, use the address 0xE000. User should comment/uncomment based on core selection
    
       RAMLS0           : origin = 0x008000, length = 0x000800
       RAMLS1           : origin = 0x008800, length = 0x000800
       RAMLS2           : origin = 0x009000, length = 0x000800
       RAMLS3           : origin = 0x009800, length = 0x000800
       RAMLS4           : origin = 0x00A000, length = 0x000800
       RAMLS5           : origin = 0x00A800, length = 0x000800
       RAMLS6           : origin = 0x00B000, length = 0x000800
       RAMLS7           : origin = 0x00B800, length = 0x000800
       RAMLS8           : origin = 0x022000, length = 0x002000  // When configured as CLA program use the address 0x4000
       RAMLS9           : origin = 0x024000, length = 0x002000  // When configured as CLA program use the address 0x6000
    
       // RAMLS8_CLA    : origin = 0x004000, length = 0x002000  // Use only if configured as CLA program memory
       // RAMLS9_CLA    : origin = 0x006000, length = 0x002000  // Use only if configured as CLA program memory
    
       RAMGS0           : origin = 0x010000, length = 0x002000
       RAMGS1           : origin = 0x012000, length = 0x002000
       RAMGS2           : origin = 0x014000, length = 0x002000
       RAMGS3           : origin = 0x016000, length = 0x002000
       RAMGS4           : origin = 0x018000, length = 0x002000
    
       /* Flash Banks (128 sectors each) */
       FLASH_BANK0     : origin = 0x080002, length = 0x1FFFE  // Can be mapped to either CPU1 or CPU2. User should comment/uncomment based on core selection
       FLASH_BANK1     : origin = 0x0A0000, length = 0x20000  // Can be mapped to either CPU1 or CPU2. User should comment/uncomment based on core selection
       FLASH_BANK2     : origin = 0x0C0000, length = 0x20000  // Can be mapped to either CPU1 or CPU2. User should comment/uncomment based on core selection
       // FLASH_BANK3     : origin = 0x0E0000, length = 0x20000  // Can be mapped to either CPU1 or CPU2. User should comment/uncomment based on core selection
       // FLASH_BANK4     : origin = 0x100000, length = 0x20000  // Can be mapped to either CPU1 or CPU2. User should comment/uncomment based on core selection
    
    
    
       CPU1TOCPU2RAM    : origin = 0x03A000, length = 0x000400
       CPU2TOCPU1RAM    : origin = 0x03B000, length = 0x000400
    
       CLATOCPURAM      : origin = 0x001480,   length = 0x000080
       CPUTOCLARAM      : origin = 0x001500,   length = 0x000080
       CLATODMARAM      : origin = 0x001680,   length = 0x000080
       DMATOCLARAM      : origin = 0x001700,   length = 0x000080
    
       CANA_MSG_RAM     : origin = 0x049000, length = 0x000800
       CANB_MSG_RAM     : origin = 0x04B000, length = 0x000800
       RESET            : origin = 0x3FFFC0, length = 0x000002
    }
    
    
    SECTIONS
    {
       codestart        : > BEGIN
       .text            : >> FLASH_BANK0 | FLASH_BANK1, ALIGN(8)
       .cinit           : > FLASH_BANK0, ALIGN(8)
       .switch          : > FLASH_BANK0, ALIGN(8)
       .reset           : > RESET, TYPE = DSECT /* not used, */
    
       .stack           : > RAMLS7
    #if defined(__TI_EABI__)
       .bss             : >> RAMLS3 | RAMLS5
       .bss:output      : > RAMLS3
       .init_array      : > FLASH_BANK0, ALIGN(8)
       .const           : > FLASH_BANK0, ALIGN(8)
       .data            : >> RAMLS1 | RAMLS2
       .sysmem          : > RAMLS4
    #else
       .pinit           : > FLASH_BANK0, ALIGN(8)
       .ebss            : >> RAMLS5 | RAMLS6
       .econst          : > FLASH_BANK0, ALIGN(8)
       .esysmem         : > RAMLS5
    #endif
    
       ramgs0 : > RAMGS0, type=NOINIT
       ramgs1 : > RAMGS1, type=NOINIT
       ramgs2 : > RAMGS2, type=NOINIT
    
       MSGRAM_CPU1_TO_CPU2 > CPU1TOCPU2RAM, type=NOINIT
       MSGRAM_CPU2_TO_CPU1 > CPU2TOCPU1RAM, type=NOINIT
    
    #if defined(__TI_EABI__)
       .TI.ramfunc : {} LOAD = FLASH_BANK0,
                        RUN = RAMLS4,
                        LOAD_START(RamfuncsLoadStart),
                        LOAD_SIZE(RamfuncsLoadSize),
                        LOAD_END(RamfuncsLoadEnd),
                        RUN_START(RamfuncsRunStart),
                        RUN_SIZE(RamfuncsRunSize),
                        RUN_END(RamfuncsRunEnd),
                        ALIGN(8)
    #else
       .TI.ramfunc : {} LOAD = FLASH_BANK0,
                        RUN = RAMLS4,
                        LOAD_START(_RamfuncsLoadStart),
                        LOAD_SIZE(_RamfuncsLoadSize),
                        LOAD_END(_RamfuncsLoadEnd),
                        RUN_START(_RamfuncsRunStart),
                        RUN_SIZE(_RamfuncsRunSize),
                        RUN_END(_RamfuncsRunEnd),
                        ALIGN(8)
    #endif
    
    
    #if defined(__TI_EABI__)
        /* CLA specific sections */
        Cla1Prog        : LOAD = FLASH_BANK0,
                          RUN = RAMLS0,
                          LOAD_START(Cla1ProgLoadStart),
                          RUN_START(Cla1ProgRunStart),
                          LOAD_SIZE(Cla1ProgLoadSize),
                          ALIGN(4)
    #else
        /* CLA specific sections */
        Cla1Prog        : LOAD = FLASH_BANK0,
                          RUN = RAMLS0,
                          LOAD_START(_Cla1ProgLoadStart),
                          RUN_START(_Cla1ProgRunStart),
                          LOAD_SIZE(_Cla1ProgLoadSize),
                          ALIGN(4)
    #endif
    
       Cla1ToCpuMsgRAM  : > CLATOCPURAM
       CpuToCla1MsgRAM  : > CPUTOCLARAM
    
       .scratchpad      : > RAMLS1
       .bss_cla         : > RAMLS1
    
       Cla1DataRam      : > RAMLS2
       cla_shared       : > RAMLS1
       CLADataLS1       : > RAMLS1
    
    #if defined(__TI_EABI__)
       .const_cla      : LOAD = FLASH_BANK0,
                          RUN = RAMLS1,
                          RUN_START(Cla1ConstRunStart),
                          LOAD_START(Cla1ConstLoadStart),
                          LOAD_SIZE(Cla1ConstLoadSize),
                          ALIGN(4)
    #else
       .const_cla      : LOAD = FLASH_BANK0,
                          RUN = RAMLS1,
                          RUN_START(_Cla1ConstRunStart),
                          LOAD_START(_Cla1ConstLoadStart),
                          LOAD_SIZE(_Cla1ConstLoadSize),
                          ALIGN(4)
    #endif
    
    	firfilt 	: > RAMLS1
    	firldb 		: > RAMLS1
    	revcoeff	: > RAMLS1
    	dclfuncs	: > RAMLS3, PAGE = 0
    
    }
    /*
    //===========================================================================
    // End of file.
    //===========================================================================
    */