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.

Concerto problem when running from Flash

Other Parts Discussed in Thread: CONTROLSUITE

Hi,

We are developing a program which needs to be run from Flash. The program is working propertly when running from RAM but M3 core halts when running from flash. After debugging the problem has been narrowed to the following:

- M3 correctly starts C28 core

- C28 core calls a IPCLite function in order to communicate to the M3:

IPCLiteCtoMFunctionCall(IPC_FLAG1, pulMsgRam[0], buff_pos, IPC_FLAG32);

-  C28 continues working ok

- M3 halts because trying to execute something at 0xfffffffe

In order to propertly run the code from Flash we have following all the recommend steps indicated in v130\F28M35x_examples_Dual\flash\m3\flash_m3.c. Additionally, the changes included in this thread: http://e2e.ti.com/support/microcontrollers/tms320c2000_32-bit_real-time_mcus/f/171/p/116460/488697.aspx has been followed, except for the change from the IntRegister to IntRAMRegister, being the reason that the second one macro is not found.

I am using V1.30 version for the ControlSuite. 

Attached are the .cmd and .map files for both cores.

******************************************************************************
                  TMS470 Linker PC v4.9.1                      
******************************************************************************
>> Linked Thu Aug 16 10:05:54 2012

OUTPUT FILE NAME:   <TarjetaAD_TCP_IP_m3.out>
ENTRY POINT SYMBOL: "_c_int00"  address: 0020b60d


MEMORY CONFIGURATION

         name            origin    length      used     unused   attr    fill
----------------------  --------  ---------  --------  --------  ----  --------
  CSM_ECSL_Z1           00200000   00000024  00000000  00000024  RWIX
  CSM_RSVD_Z1           00200024   0000000c  00000000  0000000c  RWIX
  RESETISR              00200030   00000008  00000006  00000002  R  X
  INTVECS               00201000   000001b0  000001b0  00000000  R  X
  FLASHLOAD             00201200   00002e00  000002a8  00002b58  R  X
  FLASH1                00204000   0001c000  00007c82  0001437e  R  X
  FLASH2                00260000   0001ff00  00000000  0001ff00  R  X
  CSM_RSVD_Z2           0027ff00   000000dc  00000000  000000dc  RWIX
  CSM_ECSL_Z2           0027ffdc   00000024  00000000  00000024  RWIX
  C0                    20000000   00002000  00000ae4  0000151c  RW X
  C1                    20002000   00002000  00000000  00002000  RW X
  BOOT_RSVD             20004000   00000900  00000000  00000900  R  X
  C2                    20004900   00001700  00000000  00001700  RW X
  C3                    20006000   00002000  00000c80  00001380  RW X
  S0                    20008000   00002000  00000000  00002000  RW X
  S1                    2000a000   00002000  00000000  00002000  RW X
  S2                    2000c000   00002000  00000000  00002000  RW X
  S3                    2000e000   00002000  00000000  00002000  RW X
  S4                    20010000   00002000  00000000  00002000  RW X
  S5                    20012000   00002000  00000000  00002000  RW X
  S6                    20014000   00002000  000016c4  0000093c  RW X
  S7                    20016000   00002000  00000000  00002000  RW X
  CTOMRAM               2007f000   00000800  00000000  00000800  R  X
  MTOCRAM               2007f800   00000800  00000000  00000800  RW X


SEGMENT ALLOCATION MAP

run origin  load origin   length   init length attrs members
----------  ----------- ---------- ----------- ----- -------
00200030    00200030    00000006   00000006    r-x
  00200030    00200030    00000006   00000006    r-x .resetisr
00201000    00201000    000001b0   000001b0    rw-
  00201000    00201000    000001b0   000001b0    rw- .intvecs
00204000    00204000    00007c88   00007c88    r-x
  00204000    00204000    000077b6   000077b6    r-x .text
  0020b7b8    0020b7b8    00000224   00000224    r-- .const
  0020b9e0    0020b9e0    000002a8   000002a8    r-- .cinit
20000000    20000000    00000400   00000000    rw-
  20000000    20000000    00000400   00000000    rw- .stack
20000400    20000400    00000284   00000284    rw-
  20000400    20000400    00000284   00000284    rw- .data
20000684    00201200    000002a8   000002a8    r-x
  20000684    00201200    000002a8   000002a8    r-x ramfuncs
20000930    20000930    00000008   00000000    rw-
  20000930    20000930    00000008   00000000    rw- .sysmem
20000c00    20000c00    000001b0   00000000    rw-
  20000c00    20000c00    000001b0   00000000    rw- .vtable
20006000    20006000    00000c80   00000000    rw-
  20006000    20006000    00000c80   00000000    rw- .bss
20014000    20014000    000016c4   00000000    rw-
  20014000    20014000    000016c4   00000000    rw- TARJETAAD


SECTION ALLOCATION MAP

 output                                  attributes/
section   page    origin      length       input sections
--------  ----  ----------  ----------   ----------------
.resetisr 
*          0    00200030    00000006     
                  00200030    00000006     startup_ccs.obj (.resetisr)

.intvecs   0    00201000    000001b0     
                  00201000    000001b0     startup_ccs.obj (.intvecs)

ramfuncs   0    00201200    000002a8     RUN ADDR = 20000684
                  00201200    0000015c     main_sockets_all_v_mix.obj (ramfuncs)
                  0020135c    0000000a     driverlib.lib : ipc_lite.obj (.tramp.IPCLiteCtoMFunctionCall.1)
                  00201366    00000002     --HOLE-- [fill = 0]
                  00201368    0000000a                   : ipc_lite.obj (.tramp.IPCLiteCtoMDataWrite_Protected.1)
                  00201372    00000002     --HOLE-- [fill = 0]
                  00201374    0000000a                   : ipc_lite.obj (.tramp.IPCLiteCtoMClearBits_Protected.1)
                  0020137e    00000002     --HOLE-- [fill = 0]
                  00201380    0000000a                   : ipc_lite.obj (.tramp.IPCLiteCtoMSetBits_Protected.1)
                  0020138a    00000002     --HOLE-- [fill = 0]
                  0020138c    0000000a                   : ipc_lite.obj (.tramp.IPCLiteCtoMDataRead.1)
                  00201396    00000002     --HOLE-- [fill = 0]
                  00201398    0000000a                   : ipc_lite.obj (.tramp.IPCLiteCtoMDataWrite.1)
                  002013a2    00000002     --HOLE-- [fill = 0]
                  002013a4    0000000a                   : ipc_lite.obj (.tramp.IPCLiteCtoMClearBits.1)
                  002013ae    00000002     --HOLE-- [fill = 0]
                  002013b0    0000000a                   : ipc_lite.obj (.tramp.IPCLiteCtoMSetBits.1)
                  002013ba    00000002     --HOLE-- [fill = 0]
                  002013bc    0000000a     main_sockets_all_v_mix.obj (.tramp.serializeSPIFrameSync.1)
                  002013c6    00000002     --HOLE-- [fill = 0]
                  002013c8    0000000a     uip.obj (.tramp.$.text:uip.obj$0x27a.1)
                  002013d2    00000002     --HOLE-- [fill = 0]
                  002013d4    0000000a     uip_arp.obj (.tramp.$.text:uip_arp.obj$0x54.1)
                  002013de    00000002     --HOLE-- [fill = 0]
                  002013e0    0000000a     main_sockets_all_v_mix.obj (.tramp.EthernetPacketPutDMA.1)
                  002013ea    00000002     --HOLE-- [fill = 0]
                  002013ec    000000bc     driverlib.lib : flash.obj (ramfuncs)

.text      0    00204000    000077b6     
                  00204000    000013e8     uip.obj (.text)
                  002053e8    00000e98     rtsv7M3_T_le_eabi.lib : _printfi.obj (.text)
                  00206280    00000b98     main_sockets_all_v_mix.obj (.text)
                  00206e18    00000970     driverlib.lib : sysctl.obj (.text)
                  00207788    0000057c                   : ipc_lite.obj (.text)
                  00207d04    0000050c     dhcpc.obj (.text)
                  00208210    00000450     driverlib.lib : gpio.obj (.text)
                  00208660    0000040c     uip_arp.obj (.text)
                  00208a6c    000003e0     rtsv7M3_T_le_eabi.lib : memory.obj (.text)
                  00208e4c    000003c4     psock.obj (.text)
                  00209210    0000036c     rtsv7M3_T_le_eabi.lib : lowlev.obj (.text)
                  0020957c    00000322     driverlib.lib : ethernet.obj (.text)
                  0020989e    00000002     --HOLE-- [fill = 0]
                  002098a0    000002ec     rtsv7M3_T_le_eabi.lib : trgdrv.obj (.text)
                  00209b8c    000002e8     driverlib.lib : udma.obj (.text)
                  00209e74    000002b4                   : interrupt.obj (.text)
                  0020a128    000001f4     rtsv7M3_T_le_eabi.lib : ull_div_t2.obj (.text)
                  0020a31c    000001d4                           : fopen.obj (.text)
                  0020a4f0    000001b6                           : fd_add_t2.obj (.text)
                  0020a6a6    00000002     --HOLE-- [fill = 0]
                  0020a6a8    0000018c     driverlib.lib : ipc_util.obj (.text)
                  0020a834    00000136     rtsv7M3_T_le_eabi.lib : fd_div_t2.obj (.text)
                  0020a96a    00000002     --HOLE-- [fill = 0]
                  0020a96c    00000100     driverlib.lib : ram.obj (.text)
                  0020aa6c    000000fc     rtsv7M3_T_le_eabi.lib : fd_mul_t2.obj (.text)
                  0020ab68    000000f8                           : fputs.obj (.text)
                  0020ac60    000000ac     driverlib.lib : watchdog.obj (.text)
                  0020ad0c    000000ac     rtsv7M3_T_le_eabi.lib : _io_perm.obj (.text)
                  0020adb8    000000a4                           : setvbuf.obj (.text)
                  0020ae5c    000000a0                           : fflush.obj (.text)
                  0020aefc    0000009c                           : memcpy_t2.obj (.text)
                  0020af98    00000094                           : auto_init.obj (.text)
                  0020b02c    0000007e                           : fd_cmp_t2.obj (.text)
                  0020b0aa    00000002     --HOLE-- [fill = 0]
                  0020b0ac    0000007c                           : fputc.obj (.text)
                  0020b128    00000078     driverlib.lib : systick.obj (.text)
                  0020b1a0    00000078     rtsv7M3_T_le_eabi.lib : memset_t2.obj (.text)
                  0020b218    00000060                           : fclose.obj (.text)
                  0020b278    00000060                           : trgmsg.obj (.text)
                  0020b2d8    0000005e                           : copy_decompress_rle.obj (.text)
                  0020b336    00000058                           : ltoa.obj (.text)
                  0020b38e    00000002     --HOLE-- [fill = 0]
                  0020b390    00000054                           : printf.obj (.text)
                  0020b3e4    0000004c                           : atoi.obj (.text)
                  0020b430    0000004c                           : fseek.obj (.text)
                  0020b47c    00000048                           : cpy_tbl.obj (.text)
                  0020b4c4    00000048                           : fd_toi_t2.obj (.text)
                  0020b50c    00000046                           : xdtest.obj (.text)
                  0020b552    00000002     --HOLE-- [fill = 0]
                  0020b554    00000044                           : exit.obj (.text)
                  0020b598    0000003e     uip_timer.obj (.text)
                  0020b5d6    00000036     driverlib.lib : cpu.obj (.text)
                  0020b60c    00000034     rtsv7M3_T_le_eabi.lib : boot.obj (.text)
                  0020b640    00000030                           : strncpy.obj (.text)
                  0020b670    0000002e                           : i_tofd_t2.obj (.text)
                  0020b69e    0000001a                           : memccpy.obj (.text)
                  0020b6b8    00000018                           : _lock.obj (.text)
                  0020b6d0    00000018                           : args_main.obj (.text)
                  0020b6e8    00000018                           : ll_mul_t2.obj (.text)
                  0020b700    00000018                           : strcmp.obj (.text)
                  0020b718    00000016                           : memchr.obj (.text)
                  0020b72e    00000016                           : strchr.obj (.text)
                  0020b744    00000014                           : strlen.obj (.text)
                  0020b758    00000012                           : copy_zero_init.obj (.text:decompress:ZI)
                  0020b76a    00000012                           : strcpy.obj (.text)
                  0020b77c    0000000e                           : copy_decompress_none.obj (.text:decompress:none)
                  0020b78a    0000000e                           : xdclass.obj (.text)
                  0020b798    00000006     driverlib.lib : sysctl.obj (.text:SysCtlDelay)
                  0020b79e    00000006     rtsv7M3_T_le_eabi.lib : copy_decompress_rle.obj (.text:decompress:rle24)
                  0020b7a4    00000006     startup_ccs.obj (.text)
                  0020b7aa    00000002     --HOLE-- [fill = 0]
                  0020b7ac    0000000a     driverlib.lib : flash.obj (.tramp.FlashInit.1)

.const     0    0020b7b8    00000224     
                  0020b7b8    00000101     rtsv7M3_T_le_eabi.lib : ctype.obj (.const:_ctypes_)
                  0020b8b9    00000003     --HOLE-- [fill = 0]
                  0020b8bc    00000054     driverlib.lib : sysctl.obj (.const)
                  0020b910    00000048                   : gpio.obj (.const:g_pulGPIOBaseAddrs)
                  0020b958    00000048                   : interrupt.obj (.const:g_pulRegs)
                  0020b9a0    00000020                   : interrupt.obj (.const)
                  0020b9c0    0000000a     uip_arp.obj (.const)
                  0020b9ca    00000002     --HOLE-- [fill = 0]
                  0020b9cc    00000008     dhcpc.obj (.const)
                  0020b9d4    00000008     uip.obj (.const)

.cinit     0    0020b9e0    000002a8     
                  0020b9e0    000001a6     (.cinit..intvecs.load) [load image, compression = rle]
                  0020bb86    00000002     --HOLE-- [fill = 0]
                  0020bb88    000000b1     (.cinit..data.load) [load image, compression = rle]
                  0020bc39    00000003     --HOLE-- [fill = 0]
                  0020bc3c    0000000c     (__TI_handler_table)
                  0020bc48    00000008     (.cinit..bss.load) [load image, compression = zero_init]
                  0020bc50    00000008     (.cinit..vtable.load) [load image, compression = zero_init]
                  0020bc58    00000008     (.cinit.TARJETAAD.load) [load image, compression = zero_init]
                  0020bc60    00000028     (__TI_cinit_table)

.stack     0    20000000    00000400     UNINITIALIZED
                  20000000    00000400     --HOLE--

.data      0    20000400    00000284     
                  20000400    000000f0     rtsv7M3_T_le_eabi.lib : defs.obj (.data:_ftable)
                  200004f0    00000078                           : lowlev.obj (.data:_device)
                  20000568    00000070                           : xlvalues.obj (.data)
                  200005d8    00000050                           : lowlev.obj (.data:_stream)
                  20000628    0000001c     main_sockets_all_v_mix.obj (.data)
                  20000644    00000010     rtsv7M3_T_le_eabi.lib : defs.obj (.data)
                  20000654    0000000c                           : memory.obj (.data)
                  20000660    00000008                           : _lock.obj (.data)
                  20000668    00000008                           : exit.obj (.data)
                  20000670    00000006     uip.obj (.data)
                  20000676    00000002     --HOLE--
                  20000678    00000004     rtsv7M3_T_le_eabi.lib : fopen.obj (.data)
                  2000067c    00000004                           : lowlev.obj (.data)
                  20000680    00000004                           : stkdepth_vars.obj (.data)

.sysmem    0    20000930    00000008     UNINITIALIZED
                  20000930    00000008     rtsv7M3_T_le_eabi.lib : memory.obj (.sysmem)

.vtable    0    20000c00    000001b0     UNINITIALIZED
                  20000c00    000001b0     driverlib.lib : interrupt.obj (.vtable)

.bss       0    20006000    00000c80     UNINITIALIZED
                  20006000    000005e0     main_sockets_all_v_mix.obj (.bss:ucUIPBuffer)
                  200065e0    00000120     rtsv7M3_T_le_eabi.lib : trgmsg.obj (.bss:__CIOBUF_)
                  20006700    00000100     uip.obj (.bss:uip_udp_conns)
                  20006800    000000c8     rtsv7M3_T_le_eabi.lib : trgdrv.obj (.bss:result$1)
                  200068c8    000000a0                           : defs.obj (.bss:_tmpnams)
                  20006968    00000060     uip_arp.obj (.bss:arp_table)
                  200069c8    0000003c     uip.obj (.bss)
                  20006a04    00000034     dhcpc.obj (.bss:s)
                  20006a38    00000034     uip.obj (.bss:uip_stat)
                  20006a6c    00000016     main_sockets_all_v_mix.obj (.bss)
                  20006a82    00000008     rtsv7M3_T_le_eabi.lib : trgdrv.obj (.bss)
                  20006a8a    00000008     uip_arp.obj (.bss)
                  20006a92    0000016e     --HOLE--
                  20006c00    00000080     main_sockets_all_v_mix.obj (.bss:g_sDMAControlTable)

TARJETAAD 
*          0    20014000    000016c4     UNINITIALIZED
                  20014000    000016c4     uip.obj (TARJETAAD)

GETBUFFER 
*          0    2007f000    00000000     DSECT

GETWRITEIDX 
*          0    2007f000    00000000     DSECT

PUTREADIDX 
*          0    2007f000    00000000     DSECT


LINKER GENERATED COPY TABLES

__TI_cinit_table @ 0020bc60 records: 5, size/record: 8, table size: 40
	.intvecs: load addr=0020b9e0, load size=000001a6 bytes, run addr=00201000, run size=000001b0 bytes, compression=rle
	.data: load addr=0020bb88, load size=000000b1 bytes, run addr=20000400, run size=00000284 bytes, compression=rle
	.bss: load addr=0020bc48, load size=00000008 bytes, run addr=20006000, run size=00000c80 bytes, compression=zero_init
	.vtable: load addr=0020bc50, load size=00000008 bytes, run addr=20000c00, run size=000001b0 bytes, compression=zero_init
	TARJETAAD: load addr=0020bc58, load size=00000008 bytes, run addr=20014000, run size=000016c4 bytes, compression=zero_init


LINKER GENERATED HANDLER TABLE

__TI_handler_table @ 0020bc3c records: 3, size/record: 4, table size: 12
	index: 0, handler: __TI_decompress_rle24
	index: 1, handler: __TI_decompress_none
	index: 2, handler: __TI_zero_init


FAR CALL TRAMPOLINES

callee name               trampoline name
   callee addr  tramp addr   call addr  call info
--------------  -----------  ---------  ----------------
FlashInit                 $Tramp$TT$L$PI$$FlashInit
   20000871     0020b7ac     002066f2   main_sockets_all_v_mix.obj (.text)
IPCLiteCtoMFunctionCall   $Tramp$TT$L$PI$$IPCLiteCtoMFunctionCall
   00207cad     200007e0     20000710   main_sockets_all_v_mix.obj (ramfuncs)
IPCLiteCtoMDataWrite_Protected  $Tramp$TT$L$PI$$IPCLiteCtoMDataWrite_Protected
   00207c39     200007ec     2000071a   main_sockets_all_v_mix.obj (ramfuncs)
IPCLiteCtoMClearBits_Protected  $Tramp$TT$L$PI$$IPCLiteCtoMClearBits_Protected
   00207b63     200007f8     20000724   main_sockets_all_v_mix.obj (ramfuncs)
IPCLiteCtoMSetBits_Protected  $Tramp$TT$L$PI$$IPCLiteCtoMSetBits_Protected
   00207a8f     20000804     2000072e   main_sockets_all_v_mix.obj (ramfuncs)
IPCLiteCtoMDataRead       $Tramp$TT$L$PI$$IPCLiteCtoMDataRead
   002079ed     20000810     20000738   main_sockets_all_v_mix.obj (ramfuncs)
IPCLiteCtoMDataWrite      $Tramp$TT$L$PI$$IPCLiteCtoMDataWrite
   00207bd9     2000081c     20000742   main_sockets_all_v_mix.obj (ramfuncs)
IPCLiteCtoMClearBits      $Tramp$TT$L$PI$$IPCLiteCtoMClearBits
   00207b09     20000828     2000074c   main_sockets_all_v_mix.obj (ramfuncs)
IPCLiteCtoMSetBits        $Tramp$TT$L$PI$$IPCLiteCtoMSetBits
   00207a35     20000834     20000756   main_sockets_all_v_mix.obj (ramfuncs)
serializeSPIFrameSync     $Tramp$TT$L$PI$$serializeSPIFrameSync
   00206ca5     20000840     20000798   main_sockets_all_v_mix.obj (ramfuncs)
$.text:uip.obj$0x27a      $Tramp$TT$L$PI$$$.text:uip.obj$0x27a
   0020427b     2000084c     200007ae   main_sockets_all_v_mix.obj (ramfuncs)
$.text:uip_arp.obj$0x54   $Tramp$TT$L$PI$$$.text:uip_arp.obj$0x54
   002086b5     20000858     200007be   main_sockets_all_v_mix.obj (ramfuncs)
EthernetPacketPutDMA      $Tramp$TT$L$PI$$EthernetPacketPutDMA
   0020660d     20000864     200007d6   main_sockets_all_v_mix.obj (ramfuncs)

[13 trampolines]
[13 trampoline calls]


GLOBAL SYMBOLS: SORTED ALPHABETICALLY BY Name 

address    name
--------   ----
0020b555   C$$EXIT
0020b2a3   C$$IO$$
2000075d   C28ADNewBuffer
0020b603   CPUbasepriGet
0020b5fd   CPUbasepriSet
0020b5d7   CPUcpsid
0020b5ed   CPUcpsie
0020b5e3   CPUprimask
0020b5f9   CPUwfi
200006c5   CtoMIPC1IntHandler
20006a74   ErrorFlag
002095b5   EthernetConfigGet
0020958b   EthernetConfigSet
0020964b   EthernetDisable
00209629   EthernetEnable
0020957d   EthernetInitExpClk
00209827   EthernetIntClear
00209811   EthernetIntDisable
00209809   EthernetIntEnable
00206c03   EthernetIntHandler
002097e9   EthernetIntRegister
0020981b   EthernetIntStatus
002097f9   EthernetIntUnregister
002095ff   EthernetMACAddrGet
002095d1   EthernetMACAddrSet
00209867   EthernetPHYPowerOff
00209883   EthernetPHYPowerOn
00209849   EthernetPHYRead
0020982b   EthernetPHYWrite
0020966d   EthernetPacketAvail
00209731   EthernetPacketGet
002064eb   EthernetPacketGetDMA
00209721   EthernetPacketGetNonBlocking
002097db   EthernetPacketPut
002097cb   EthernetPacketPutNonBlocking
00206345   EthernetPinsSetup
0020967d   EthernetSpaceAvail
20000871   FlashInit
200008c7   FlashSetup
20006a78   FnCallStatus
002082e3   GPIODirModeGet
002082b3   GPIODirModeSet
00208353   GPIOIntTypeGet
0020830d   GPIOIntTypeSet
002083e7   GPIOPadConfigGet
0020838d   GPIOPadConfigSet
00208575   GPIOPinConfigure
002085df   GPIOPinConfigureCoreSelect
0020844b   GPIOPinIntClear
0020842f   GPIOPinIntDisable
00208423   GPIOPinIntEnable
0020843d   GPIOPinIntStatus
00208609   GPIOPinLock
002085ff   GPIOPinLockStatus
0020847d   GPIOPinRead
00208489   GPIOPinTypeCAN
00208561   GPIOPinTypeEPI
0020849d   GPIOPinTypeGPIOInput
002084b1   GPIOPinTypeGPIOOutput
002084cd   GPIOPinTypeGPIOOutputOD
002084e1   GPIOPinTypeI2C
002084f9   GPIOPinTypeSSI
00208511   GPIOPinTypeTimer
00208525   GPIOPinTypeUART
0020854d   GPIOPinTypeUSBAnalog
00208539   GPIOPinTypeUSBDigital
0020862f   GPIOPinUnlock
00208483   GPIOPinWrite
00208451   GPIOPortIntRegister
00208469   GPIOPortIntUnregister
00209b41   HOSTclock
00209afd   HOSTclose
00209aa1   HOSTlseek
00209a51   HOSTopen
00209a03   HOSTread
002099a3   HOSTrename
00209967   HOSTtime
0020992d   HOSTunlink
002098df   HOSTwrite
0020a6a9   IPCCtoMFlagAcknowledge
0020a6b3   IPCCtoMFlagBusy
00207b09   IPCLiteCtoMClearBits
00207b63   IPCLiteCtoMClearBits_Protected
002079ed   IPCLiteCtoMDataRead
00207bd9   IPCLiteCtoMDataWrite
00207c39   IPCLiteCtoMDataWrite_Protected
00207cad   IPCLiteCtoMFunctionCall
00207a35   IPCLiteCtoMSetBits
00207a8f   IPCLiteCtoMSetBits_Protected
002079bb   IPCLiteMtoCBootBranch
00207887   IPCLiteMtoCClearBits
002078cd   IPCLiteMtoCClearBits_Protected
002077b1   IPCLiteMtoCDataRead
00207913   IPCLiteMtoCDataWrite
0020794d   IPCLiteMtoCDataWrite_Protected
0020798d   IPCLiteMtoCFunctionCall
00207789   IPCLiteMtoCGetResult
002077ef   IPCLiteMtoCSetBits
0020783b   IPCLiteMtoCSetBits_Protected
0020a705   IPCMtoCBootControlSystem
0020a6c5   IPCMtoCFlagBusy
0020a6e3   IPCMtoCFlagClear
0020a6d7   IPCMtoCFlagSet
0020a6ef   IPCMtoCSharedRamConvert
00209fc7   IntDisableMWare
00209f53   IntEnableMWare
00209e8b   IntFlashVTableMWare
00209e81   IntMasterDisableMWare
00209e77   IntMasterEnableMWare
0020a0b1   IntPendClearMWare
0020a03d   IntPendSetMWare
00209f3b   IntPriorityGetMWare
00209eed   IntPriorityGroupingGetMWare
00209edb   IntPriorityGroupingSetMWare
0020b603   IntPriorityMaskGetMWare
0020b5fd   IntPriorityMaskSetMWare
00209f0f   IntPrioritySetMWare
00209e99   IntRAMVTableMWare
00209ea7   IntRegisterMWare
00209ed1   IntUnregisterMWare
0020a9f9   RAMControlInitL0L3Ram
0020a993   RAMControlInitM1MsgRam
0020a96d   RAMMReqSharedMemAccess
000002a8   RamfuncsLoadSize
00201200   RamfuncsLoadStart
20000684   RamfuncsRunStart
00200031   ResetISR
002074ef   SysCtlC28Disable
002074d7   SysCtlC28Enable
0020740d   SysCtlClockConfigGet
002073d9   SysCtlClockConfigSet
00207175   SysCtlClockDividersSet
0020745d   SysCtlClockGet
002072ad   SysCtlClockPllConfig
002070b5   SysCtlDeepSleep
0020b799   SysCtlDelay
00207647   SysCtlEnableAERRNMI
00207661   SysCtlEnableVREGWarnNMI
00206e37   SysCtlFlashSizeGet
00207523   SysCtlGPIOAHBDisable
00207507   SysCtlGPIOAHBEnable
00207679   SysCtlGetNmiConfig
0020768d   SysCtlGetNmiFlagStatus
0020767f   SysCtlGetNmiInterruptStatus
002076e3   SysCtlHoldSubSystemInReset
002076ad   SysCtlNmiFlgClr
002076c5   SysCtlNmiFlgClrAll
00207695   SysCtlNmiIsSet
00207079   SysCtlPeripheralClockGating
0020704d   SysCtlPeripheralDeepSleepDisable
00207023   SysCtlPeripheralDeepSleepEnable
00206f93   SysCtlPeripheralDisable
00206f6d   SysCtlPeripheralEnable
00206fb9   SysCtlPeripheralIsEnabled
00206e43   SysCtlPeripheralPresent
00206ea5   SysCtlPeripheralReset
00206ffd   SysCtlPeripheralSleepDisable
00206fd7   SysCtlPeripheralSleepEnable
0020727b   SysCtlPowerOffPLL
00207709   SysCtlReleaseSubSystemFromReset
002070a1   SysCtlReset
002070e1   SysCtlResetCauseClear
002070d5   SysCtlResetCauseGet
00206e19   SysCtlSRAMSizeGet
0020b5f9   SysCtlSleep
00207731   SysCtlSubSystemReset
00207629   SysCtlUSBPLLConfigGet
00207591   SysCtlUSBPLLConfigSet
00207575   SysCtlUSBPLLDisable
00207541   SysCtlUSBPLLEnable
002070fd   SysCtlXPllClockDividerSet
0020b135   SysTickDisable
0020b129   SysTickEnable
0020b173   SysTickIntDisable
0020b167   SysTickIntEnable
20000685   SysTickIntHandler
0020b141   SysTickIntRegister
0020b157   SysTickIntUnregister
0020b189   SysTickPeriodGet
0020b17f   SysTickPeriodSet
0020b193   SysTickValueGet
0020ac69   WatchdogEnable
0020ace7   WatchdogIntClear
0020acd3   WatchdogIntEnable
0020acb3   WatchdogIntRegister
0020acdd   WatchdogIntStatus
0020acc3   WatchdogIntUnregister
0020ac87   WatchdogLock
0020ac97   WatchdogLockState
0020acab   WatchdogReloadGet
0020aca7   WatchdogReloadSet
0020ac7d   WatchdogResetDisable
0020ac73   WatchdogResetEnable
0020ac61   WatchdogRunning
0020acfb   WatchdogStallDisable
0020aced   WatchdogStallEnable
0020ac8f   WatchdogUnlock
0020acaf   WatchdogValueGet
0020b78b   _Dclass
0020b50d   _Dtest
20000568   _LDenorm
20000578   _LEps
20000588   _LInf
20000598   _LNan
200005b8   _LRteps
200005a8   _LSnan
200005c8   _LXbig
200005d0   _LZero
200065e0   __CIOBUF_
20000400   __STACK_END
00000400   __STACK_SIZE
00000008   __SYSMEM_SIZE
0020bc60   __TI_CINIT_Base
0020bc88   __TI_CINIT_Limit
0020bc3c   __TI_Handler_Table_Base
0020bc48   __TI_Handler_Table_Limit
00000001   __TI_args_main
0020af99   __TI_auto_init
0020b77d   __TI_decompress_none
0020b79f   __TI_decompress_rle24
0020b9e0   __TI_static_base__
0020b759   __TI_zero_init
0020b02d   __aeabi_cdcmpeq
0020b02d   __aeabi_cdcmple
0020b4c5   __aeabi_d2iz
0020a4fb   __aeabi_dadd
0020a835   __aeabi_ddiv
0020aa6d   __aeabi_dmul
0020a4f1   __aeabi_dsub
0020b671   __aeabi_i2d
0020b6e9   __aeabi_lmul
0020b1a1   __aeabi_memclr
0020b1a1   __aeabi_memclr4
0020b1a1   __aeabi_memclr8
0020aefd   __aeabi_memcpy
0020aefd   __aeabi_memcpy4
0020aefd   __aeabi_memcpy8
0020b1a3   __aeabi_memset
0020b1a3   __aeabi_memset4
0020b1a3   __aeabi_memset8
20000650   __aeabi_stderr
20000648   __aeabi_stdin
2000064c   __aeabi_stdout
0020a129   __aeabi_uldivmod
ffffffff   __binit__
ffffffff   __c_args__
20000000   __stack
0020b6d1   _args_main
0020b60d   _c_int00
0020a3e5   _cleanup
20000668   _cleanup_ptr
0020b7b8   _ctypes_
0020ae5d   _doflush
2000066c   _dtors_ptr
20000644   _ft_end
20000400   _ftable
20000660   _lock
0020b6c5   _nop
002060f3   _printfi
0020ad6f   _rd_ok
0020b6bf   _register_lock
0020b6b9   _register_unlock
20000930   _sys_memory
200068c8   _tmpnams
20000664   _unlock
0020ad0d   _wrt_ok
0020b559   abort
20000642   actBuffer
002094ef   add_device
0020b3e5   atoi
ffffffff   binit
00208e0f   calloc
00206bf7   clock_time
002094a1   close
0020b47d   copy_in
0020820d   dhcpc_appcall
00206bc5   dhcpc_configured
00207d2f   dhcpc_init
00207d05   dhcpc_request
0020b561   exit
0020b219   fclose
0020aea9   fflush
0020948b   find_registered_device
0020a4af   fopen
0020b0ad   fputc
0020ab69   fputs
00208b5b   free
0020a41d   freopen
0020b431   fseek
20000c00   g_pfnRAMVectors
00201000   g_pfnVectors
20006c00   g_sDMAControlTable
20000628   g_ulTickCounter
002098a1   getenv
00204039   htons
0020944b   lseek
0020b337   ltoa
00206683   main
20000680   main_func_sp
00208af9   malloc
00208d39   memalign
0020b69f   memccpy
0020b719   memchr
0020aefd   memcpy
0020b1a9   memset
00208a6d   minit
2000063c   myAdcRptr
2000062c   my_adc_ptr
2000063e   newFrame
002093c3   open
0020b391   printf
20000640   psockInit
00208fc5   psock_datalen
00209185   psock_generator_send
0020916f   psock_init
00208f41   psock_newdata
002090dd   psock_readbuf
00208fcf   psock_readto
00208ee7   psock_send
0020b0ad   putc
0020b11f   putchar
0020ac3f   puts
00209347   read
0020b2a7   readmsg
00208c25   realloc
002092bf   remove
0020931f   remove_device
002092e3   rename
002062ed   sendFrame
0020adb9   setvbuf
0020b72f   strchr
0020b701   strcmp
0020b76b   strcpy
0020b745   strlen
0020b641   strncpy
002062af   tarjetaAD_appcall
0020b5bd   timer_expired
0020b5b3   timer_reset
0020b5a7   timer_restart
0020b599   timer_set
00209de3   uDMAChannel0_7SelectAltMapping
00209dd7   uDMAChannel0_7SelectDefault
00209e19   uDMAChannel16_23SelectAltMapping
00209e0b   uDMAChannel16_23SelectDefault
00209e33   uDMAChannel24_31SelectAltMapping
00209e25   uDMAChannel24_31SelectDefault
00209dff   uDMAChannel8_15SelectAltMapping
00209df1   uDMAChannel8_15SelectDefault
00209c3d   uDMAChannelAttributeDisable
00209c01   uDMAChannelAttributeEnable
00209c79   uDMAChannelAttributeGet
00209cc9   uDMAChannelControlSet
00209bbd   uDMAChannelDisable
00209baf   uDMAChannelEnable
00209bcb   uDMAChannelIsEnabled
00209db3   uDMAChannelModeGet
00209bf3   uDMAChannelRequest
00209d5b   uDMAChannelScatterGatherSet
00209d97   uDMAChannelSizeGet
00209ce3   uDMAChannelTransferSet
00209beb   uDMAControlAlternateBaseGet
00209be3   uDMAControlBaseGet
00209bdb   uDMAControlBaseSet
00209b95   uDMADisable
00209b8d   uDMAEnable
00209ba5   uDMAErrorStatusClear
00209b9d   uDMAErrorStatusGet
00209e3f   uDMAIntRegister
00209e4f   uDMAIntUnregister
20006000   ucUIPBuffer
200069fc   uip_acc32
002041f1   uip_add32
200069d4   uip_appdata
00208983   uip_arp_arpin
00208855   uip_arp_init
002086b5   uip_arp_out
00208661   uip_arp_timer
20006a6c   uip_buf
002053d1   uip_chksum
200069e4   uip_conn
002052eb   uip_connect
20014000   uip_conns
200069cc   uip_draddr
20000670   uip_ethaddr
200069e0   uip_flags
200069c8   uip_hostaddr
00205281   uip_init
002041c9   uip_ipchksum
200069dc   uip_len
0020524d   uip_listen
200069e8   uip_listenports
200069d0   uip_netmask
0020427b   uip_process
200069d8   uip_sappdata
002041a1   uip_send
00204195   uip_setipid
200069de   uip_slen
20006a38   uip_stat
0020418f   uip_tcpchksum
200069f0   uip_udp_conn
20006700   uip_udp_conns
00204043   uip_udp_new
00204001   uip_unlisten
002092bf   unlink
00209211   write
0020b279   writemsg


GLOBAL SYMBOLS: SORTED BY Symbol Address 

address    name
--------   ----
00000001   __TI_args_main
00000008   __SYSMEM_SIZE
000002a8   RamfuncsLoadSize
00000400   __STACK_SIZE
00200031   ResetISR
00201000   g_pfnVectors
00201200   RamfuncsLoadStart
00204001   uip_unlisten
00204039   htons
00204043   uip_udp_new
0020418f   uip_tcpchksum
00204195   uip_setipid
002041a1   uip_send
002041c9   uip_ipchksum
002041f1   uip_add32
0020427b   uip_process
0020524d   uip_listen
00205281   uip_init
002052eb   uip_connect
002053d1   uip_chksum
002060f3   _printfi
002062af   tarjetaAD_appcall
002062ed   sendFrame
00206345   EthernetPinsSetup
002064eb   EthernetPacketGetDMA
00206683   main
00206bc5   dhcpc_configured
00206bf7   clock_time
00206c03   EthernetIntHandler
00206e19   SysCtlSRAMSizeGet
00206e37   SysCtlFlashSizeGet
00206e43   SysCtlPeripheralPresent
00206ea5   SysCtlPeripheralReset
00206f6d   SysCtlPeripheralEnable
00206f93   SysCtlPeripheralDisable
00206fb9   SysCtlPeripheralIsEnabled
00206fd7   SysCtlPeripheralSleepEnable
00206ffd   SysCtlPeripheralSleepDisable
00207023   SysCtlPeripheralDeepSleepEnable
0020704d   SysCtlPeripheralDeepSleepDisable
00207079   SysCtlPeripheralClockGating
002070a1   SysCtlReset
002070b5   SysCtlDeepSleep
002070d5   SysCtlResetCauseGet
002070e1   SysCtlResetCauseClear
002070fd   SysCtlXPllClockDividerSet
00207175   SysCtlClockDividersSet
0020727b   SysCtlPowerOffPLL
002072ad   SysCtlClockPllConfig
002073d9   SysCtlClockConfigSet
0020740d   SysCtlClockConfigGet
0020745d   SysCtlClockGet
002074d7   SysCtlC28Enable
002074ef   SysCtlC28Disable
00207507   SysCtlGPIOAHBEnable
00207523   SysCtlGPIOAHBDisable
00207541   SysCtlUSBPLLEnable
00207575   SysCtlUSBPLLDisable
00207591   SysCtlUSBPLLConfigSet
00207629   SysCtlUSBPLLConfigGet
00207647   SysCtlEnableAERRNMI
00207661   SysCtlEnableVREGWarnNMI
00207679   SysCtlGetNmiConfig
0020767f   SysCtlGetNmiInterruptStatus
0020768d   SysCtlGetNmiFlagStatus
00207695   SysCtlNmiIsSet
002076ad   SysCtlNmiFlgClr
002076c5   SysCtlNmiFlgClrAll
002076e3   SysCtlHoldSubSystemInReset
00207709   SysCtlReleaseSubSystemFromReset
00207731   SysCtlSubSystemReset
00207789   IPCLiteMtoCGetResult
002077b1   IPCLiteMtoCDataRead
002077ef   IPCLiteMtoCSetBits
0020783b   IPCLiteMtoCSetBits_Protected
00207887   IPCLiteMtoCClearBits
002078cd   IPCLiteMtoCClearBits_Protected
00207913   IPCLiteMtoCDataWrite
0020794d   IPCLiteMtoCDataWrite_Protected
0020798d   IPCLiteMtoCFunctionCall
002079bb   IPCLiteMtoCBootBranch
002079ed   IPCLiteCtoMDataRead
00207a35   IPCLiteCtoMSetBits
00207a8f   IPCLiteCtoMSetBits_Protected
00207b09   IPCLiteCtoMClearBits
00207b63   IPCLiteCtoMClearBits_Protected
00207bd9   IPCLiteCtoMDataWrite
00207c39   IPCLiteCtoMDataWrite_Protected
00207cad   IPCLiteCtoMFunctionCall
00207d05   dhcpc_request
00207d2f   dhcpc_init
0020820d   dhcpc_appcall
002082b3   GPIODirModeSet
002082e3   GPIODirModeGet
0020830d   GPIOIntTypeSet
00208353   GPIOIntTypeGet
0020838d   GPIOPadConfigSet
002083e7   GPIOPadConfigGet
00208423   GPIOPinIntEnable
0020842f   GPIOPinIntDisable
0020843d   GPIOPinIntStatus
0020844b   GPIOPinIntClear
00208451   GPIOPortIntRegister
00208469   GPIOPortIntUnregister
0020847d   GPIOPinRead
00208483   GPIOPinWrite
00208489   GPIOPinTypeCAN
0020849d   GPIOPinTypeGPIOInput
002084b1   GPIOPinTypeGPIOOutput
002084cd   GPIOPinTypeGPIOOutputOD
002084e1   GPIOPinTypeI2C
002084f9   GPIOPinTypeSSI
00208511   GPIOPinTypeTimer
00208525   GPIOPinTypeUART
00208539   GPIOPinTypeUSBDigital
0020854d   GPIOPinTypeUSBAnalog
00208561   GPIOPinTypeEPI
00208575   GPIOPinConfigure
002085df   GPIOPinConfigureCoreSelect
002085ff   GPIOPinLockStatus
00208609   GPIOPinLock
0020862f   GPIOPinUnlock
00208661   uip_arp_timer
002086b5   uip_arp_out
00208855   uip_arp_init
00208983   uip_arp_arpin
00208a6d   minit
00208af9   malloc
00208b5b   free
00208c25   realloc
00208d39   memalign
00208e0f   calloc
00208ee7   psock_send
00208f41   psock_newdata
00208fc5   psock_datalen
00208fcf   psock_readto
002090dd   psock_readbuf
0020916f   psock_init
00209185   psock_generator_send
00209211   write
002092bf   remove
002092bf   unlink
002092e3   rename
0020931f   remove_device
00209347   read
002093c3   open
0020944b   lseek
0020948b   find_registered_device
002094a1   close
002094ef   add_device
0020957d   EthernetInitExpClk
0020958b   EthernetConfigSet
002095b5   EthernetConfigGet
002095d1   EthernetMACAddrSet
002095ff   EthernetMACAddrGet
00209629   EthernetEnable
0020964b   EthernetDisable
0020966d   EthernetPacketAvail
0020967d   EthernetSpaceAvail
00209721   EthernetPacketGetNonBlocking
00209731   EthernetPacketGet
002097cb   EthernetPacketPutNonBlocking
002097db   EthernetPacketPut
002097e9   EthernetIntRegister
002097f9   EthernetIntUnregister
00209809   EthernetIntEnable
00209811   EthernetIntDisable
0020981b   EthernetIntStatus
00209827   EthernetIntClear
0020982b   EthernetPHYWrite
00209849   EthernetPHYRead
00209867   EthernetPHYPowerOff
00209883   EthernetPHYPowerOn
002098a1   getenv
002098df   HOSTwrite
0020992d   HOSTunlink
00209967   HOSTtime
002099a3   HOSTrename
00209a03   HOSTread
00209a51   HOSTopen
00209aa1   HOSTlseek
00209afd   HOSTclose
00209b41   HOSTclock
00209b8d   uDMAEnable
00209b95   uDMADisable
00209b9d   uDMAErrorStatusGet
00209ba5   uDMAErrorStatusClear
00209baf   uDMAChannelEnable
00209bbd   uDMAChannelDisable
00209bcb   uDMAChannelIsEnabled
00209bdb   uDMAControlBaseSet
00209be3   uDMAControlBaseGet
00209beb   uDMAControlAlternateBaseGet
00209bf3   uDMAChannelRequest
00209c01   uDMAChannelAttributeEnable
00209c3d   uDMAChannelAttributeDisable
00209c79   uDMAChannelAttributeGet
00209cc9   uDMAChannelControlSet
00209ce3   uDMAChannelTransferSet
00209d5b   uDMAChannelScatterGatherSet
00209d97   uDMAChannelSizeGet
00209db3   uDMAChannelModeGet
00209dd7   uDMAChannel0_7SelectDefault
00209de3   uDMAChannel0_7SelectAltMapping
00209df1   uDMAChannel8_15SelectDefault
00209dff   uDMAChannel8_15SelectAltMapping
00209e0b   uDMAChannel16_23SelectDefault
00209e19   uDMAChannel16_23SelectAltMapping
00209e25   uDMAChannel24_31SelectDefault
00209e33   uDMAChannel24_31SelectAltMapping
00209e3f   uDMAIntRegister
00209e4f   uDMAIntUnregister
00209e77   IntMasterEnableMWare
00209e81   IntMasterDisableMWare
00209e8b   IntFlashVTableMWare
00209e99   IntRAMVTableMWare
00209ea7   IntRegisterMWare
00209ed1   IntUnregisterMWare
00209edb   IntPriorityGroupingSetMWare
00209eed   IntPriorityGroupingGetMWare
00209f0f   IntPrioritySetMWare
00209f3b   IntPriorityGetMWare
00209f53   IntEnableMWare
00209fc7   IntDisableMWare
0020a03d   IntPendSetMWare
0020a0b1   IntPendClearMWare
0020a129   __aeabi_uldivmod
0020a3e5   _cleanup
0020a41d   freopen
0020a4af   fopen
0020a4f1   __aeabi_dsub
0020a4fb   __aeabi_dadd
0020a6a9   IPCCtoMFlagAcknowledge
0020a6b3   IPCCtoMFlagBusy
0020a6c5   IPCMtoCFlagBusy
0020a6d7   IPCMtoCFlagSet
0020a6e3   IPCMtoCFlagClear
0020a6ef   IPCMtoCSharedRamConvert
0020a705   IPCMtoCBootControlSystem
0020a835   __aeabi_ddiv
0020a96d   RAMMReqSharedMemAccess
0020a993   RAMControlInitM1MsgRam
0020a9f9   RAMControlInitL0L3Ram
0020aa6d   __aeabi_dmul
0020ab69   fputs
0020ac3f   puts
0020ac61   WatchdogRunning
0020ac69   WatchdogEnable
0020ac73   WatchdogResetEnable
0020ac7d   WatchdogResetDisable
0020ac87   WatchdogLock
0020ac8f   WatchdogUnlock
0020ac97   WatchdogLockState
0020aca7   WatchdogReloadSet
0020acab   WatchdogReloadGet
0020acaf   WatchdogValueGet
0020acb3   WatchdogIntRegister
0020acc3   WatchdogIntUnregister
0020acd3   WatchdogIntEnable
0020acdd   WatchdogIntStatus
0020ace7   WatchdogIntClear
0020aced   WatchdogStallEnable
0020acfb   WatchdogStallDisable
0020ad0d   _wrt_ok
0020ad6f   _rd_ok
0020adb9   setvbuf
0020ae5d   _doflush
0020aea9   fflush
0020aefd   __aeabi_memcpy
0020aefd   __aeabi_memcpy4
0020aefd   __aeabi_memcpy8
0020aefd   memcpy
0020af99   __TI_auto_init
0020b02d   __aeabi_cdcmpeq
0020b02d   __aeabi_cdcmple
0020b0ad   fputc
0020b0ad   putc
0020b11f   putchar
0020b129   SysTickEnable
0020b135   SysTickDisable
0020b141   SysTickIntRegister
0020b157   SysTickIntUnregister
0020b167   SysTickIntEnable
0020b173   SysTickIntDisable
0020b17f   SysTickPeriodSet
0020b189   SysTickPeriodGet
0020b193   SysTickValueGet
0020b1a1   __aeabi_memclr
0020b1a1   __aeabi_memclr4
0020b1a1   __aeabi_memclr8
0020b1a3   __aeabi_memset
0020b1a3   __aeabi_memset4
0020b1a3   __aeabi_memset8
0020b1a9   memset
0020b219   fclose
0020b279   writemsg
0020b2a3   C$$IO$$
0020b2a7   readmsg
0020b337   ltoa
0020b391   printf
0020b3e5   atoi
0020b431   fseek
0020b47d   copy_in
0020b4c5   __aeabi_d2iz
0020b50d   _Dtest
0020b555   C$$EXIT
0020b559   abort
0020b561   exit
0020b599   timer_set
0020b5a7   timer_restart
0020b5b3   timer_reset
0020b5bd   timer_expired
0020b5d7   CPUcpsid
0020b5e3   CPUprimask
0020b5ed   CPUcpsie
0020b5f9   CPUwfi
0020b5f9   SysCtlSleep
0020b5fd   CPUbasepriSet
0020b5fd   IntPriorityMaskSetMWare
0020b603   CPUbasepriGet
0020b603   IntPriorityMaskGetMWare
0020b60d   _c_int00
0020b641   strncpy
0020b671   __aeabi_i2d
0020b69f   memccpy
0020b6b9   _register_unlock
0020b6bf   _register_lock
0020b6c5   _nop
0020b6d1   _args_main
0020b6e9   __aeabi_lmul
0020b701   strcmp
0020b719   memchr
0020b72f   strchr
0020b745   strlen
0020b759   __TI_zero_init
0020b76b   strcpy
0020b77d   __TI_decompress_none
0020b78b   _Dclass
0020b799   SysCtlDelay
0020b79f   __TI_decompress_rle24
0020b7b8   _ctypes_
0020b9e0   __TI_static_base__
0020bc3c   __TI_Handler_Table_Base
0020bc48   __TI_Handler_Table_Limit
0020bc60   __TI_CINIT_Base
0020bc88   __TI_CINIT_Limit
20000000   __stack
20000400   __STACK_END
20000400   _ftable
20000568   _LDenorm
20000578   _LEps
20000588   _LInf
20000598   _LNan
200005a8   _LSnan
200005b8   _LRteps
200005c8   _LXbig
200005d0   _LZero
20000628   g_ulTickCounter
2000062c   my_adc_ptr
2000063c   myAdcRptr
2000063e   newFrame
20000640   psockInit
20000642   actBuffer
20000644   _ft_end
20000648   __aeabi_stdin
2000064c   __aeabi_stdout
20000650   __aeabi_stderr
20000660   _lock
20000664   _unlock
20000668   _cleanup_ptr
2000066c   _dtors_ptr
20000670   uip_ethaddr
20000680   main_func_sp
20000684   RamfuncsRunStart
20000685   SysTickIntHandler
200006c5   CtoMIPC1IntHandler
2000075d   C28ADNewBuffer
20000871   FlashInit
200008c7   FlashSetup
20000930   _sys_memory
20000c00   g_pfnRAMVectors
20006000   ucUIPBuffer
200065e0   __CIOBUF_
20006700   uip_udp_conns
200068c8   _tmpnams
200069c8   uip_hostaddr
200069cc   uip_draddr
200069d0   uip_netmask
200069d4   uip_appdata
200069d8   uip_sappdata
200069dc   uip_len
200069de   uip_slen
200069e0   uip_flags
200069e4   uip_conn
200069e8   uip_listenports
200069f0   uip_udp_conn
200069fc   uip_acc32
20006a38   uip_stat
20006a6c   uip_buf
20006a74   ErrorFlag
20006a78   FnCallStatus
20006c00   g_sDMAControlTable
20014000   uip_conns
ffffffff   __binit__
ffffffff   __c_args__
ffffffff   binit

[406 symbols]

/*
//###########################################################################
// FILE:    F28M35x_generic_wshared_C28_FLASH.cmd
// TITLE:    Linker Command File For all F28M35x device w/Shared RAM
//###########################################################################
// $TI Release: F28M35x Support Library v130 $
// $Release Date: Mon Apr 30 15:31:28 CDT 2012 $
//###########################################################################
*/

/* ======================================================
// For Code Composer Studio V2.2 and later
// ---------------------------------------
// In addition to this memory linker command file,
// add the header linker command file directly to the project.
// The header linker command file is required to link the
// peripheral structures to the proper locations within
// the memory map.
// The header linker files are found in <base>\F28M35x_headers\cmd
// For BIOS applications add:      F28M35x_Headers_BIOS.cmd
// For nonBIOS applications add:   F28M35x_Headers_nonBIOS.cmd
========================================================= */

/* Define the memory block start/length for the F28M35x
   PAGE 0 will be used to organize program sections
   PAGE 1 will be used to organize data sections

   Notes:
         Memory blocks on F28M35x are uniform (ie same
         physical memory) in both PAGE 0 and PAGE 1.
         That is the same memory region should not be
         defined for both PAGE 0 and PAGE 1.
         Doing so will result in corruption of program
         and/or data.

         Contiguous SARAM memory blocks or flash sectors can be
         be combined if required to create a larger memory block.
*/

MEMORY
{
PAGE 0:    /* Program Memory */
           /* Memory (RAM/FLASH/OTP) blocks can be moved to PAGE1 for data allocation */
   RAML0       : origin = 0x008000, length = 0x001000     /* on-chip RAM block L0 */
   RAML1       : origin = 0x009000, length = 0x001000     /* on-chip RAM block L1 */
   
   FLASHG      : origin = 0x120000, length = 0x008000     /* on-chip FLASH */
   FLASHF      : origin = 0x128000, length = 0x008000     /* on-chip FLASH */
   FLASHE       : origin = 0x130000, length = 0x008000      /* on-chip FLASH */
   FLASHD      : origin = 0x138000, length = 0x002000      /* on-chip FLASH */
   FLASHC      : origin = 0x13A000, length = 0x002000      /* on-chip FLASH */
   FLASHA      : origin = 0x13E000, length = 0x001F80      /* on-chip FLASH */
   
   CSM_RSVD    : origin = 0x13FF80, length = 0x000070     /* Part of FLASHA.  Program with all 0x0000 when CSM is in use. */
   BEGIN       : origin = 0x13FFF0, length = 0x000002     /* Part of FLASHA.  Used for "boot to Flash" bootloader mode. */
   FLASH_EXE_ONLY_P0  : origin = 0x13FFF2, length = 0x000002  /* Part of FLASHA.  Flash execute only locations in FLASHA */ 
   ECSL_PWL_P0 : origin = 0x13FFF4, length = 0x000004     /* Part of FLASHA.  ECSL password locations in FLASHA */
   CSM_PWL_P0  : origin = 0x13FFF8, length = 0x000008     /* Part of FLASHA.  CSM password locations in FLASHA */

   FPUTABLES   : origin = 0x3FD258, length = 0x0006A0      /* FPU Tables in Boot ROM */
   IQTABLES    : origin = 0x3FD8F8, length = 0x000B50     /* IQ Math Tables in Boot ROM */
   IQTABLES2   : origin = 0x3FE448, length = 0x00008C     /* IQ Math Tables in Boot ROM */
   IQTABLES3   : origin = 0x3FE4D4, length = 0x0000AA      /* IQ Math Tables in Boot ROM */

   BOOTROM     : origin = 0x3FEDA8, length = 0x001200     /* Boot ROM */
   PIEMISHNDLR : origin = 0x3FFFBE, length = 0x000002      /* part of boot ROM  */
   RESET       : origin = 0x3FFFC0, length = 0x000002     /* part of boot ROM  */
   VECTORS     : origin = 0x3FFFC2, length = 0x00003E     /* part of boot ROM  */

PAGE 1 :   /* Data Memory */
           /* Memory (RAM/FLASH/OTP) blocks can be moved to PAGE0 for program allocation */
           /* Registers remain on PAGE1                                                  */
   BOOT_RSVD   : origin = 0x000000, length = 0x000050     /* Part of M0, BOOT rom will use this for stack */
   RAMM0       : origin = 0x000050, length = 0x0003B0     /* on-chip RAM block M0 */
   RAMM1       : origin = 0x000400, length = 0x000400     /* on-chip RAM block M1 */
   RAML2       : origin = 0x00A000, length = 0x001000     /* on-chip RAM block L2 */
   RAML3       : origin = 0x00B000, length = 0x001000     /* on-chip RAM block L3 */
   RAMS0       : origin = 0x00C000, length = 0x001000     /* on-chip Shared RAM block S0 */
   RAMS1       : origin = 0x00D000, length = 0x001000     /* on-chip Shared RAM block S1 */
   RAMS2       : origin = 0x00E000, length = 0x001000     /* on-chip Shared RAM block S2 */
   RAMS3       : origin = 0x00F000, length = 0x001000     /* on-chip Shared RAM block S3 */
   RAMS4       : origin = 0x010000, length = 0x001000     /* on-chip Shared RAM block S4 */
   RAMS5       : origin = 0x011000, length = 0x001000     /* on-chip Shared RAM block S5 */
   RAMS6       : origin = 0x012000, length = 0x001000     /* on-chip Shared RAM block S6 */
   RAMS7       : origin = 0x013000, length = 0x001000     /* on-chip Shared RAM block S7 */

   CTOMRAM     : origin = 0x03F800, length = 0x000380     /* C28 to M3 Message RAM */
   MTOCRAM     : origin = 0x03FC00, length = 0x000380     /* M3 to C28 Message RAM */
   
   FLASHB      : origin = 0x13C000, length = 0x002000     /* on-chip FLASH */
}

/* Allocate sections to memory blocks.
   Note:
         codestart user defined section in DSP28_CodeStartBranch.asm used to redirect code
                   execution when booting to flash
         ramfuncs  user defined section to store functions that will be copied from Flash into RAM
*/

SECTIONS
{

   /* Allocate program areas: */
   .cinit              : > FLASHA      PAGE = 0
   .pinit              : > FLASHA,     PAGE = 0
   .text               : > FLASHA      PAGE = 0
   codestart           : > BEGIN       PAGE = 0
   ramfuncs            : LOAD = FLASHD,
                         RUN = RAML0,
                         LOAD_START(_RamfuncsLoadStart),
                         LOAD_SIZE(_RamfuncsLoadSize),
                         RUN_START(_RamfuncsRunStart),
                         PAGE = 0

   flashexeonly        : > FLASH_EXE_ONLY_P0 PAGE = 0
   ecslpasswds         : > ECSL_PWL_P0 PAGE = 0
   csmpasswds          : > CSM_PWL_P0  PAGE = 0
   csm_rsvd            : > CSM_RSVD    PAGE = 0
   
   /* The following section definitions are required when using the IPC API Drivers */ 
   GROUP : > CTOMRAM, PAGE = 1 
   {
       PUTBUFFER 
       PUTWRITEIDX 
       GETREADIDX 
   }

   GROUP : > MTOCRAM, PAGE = 1
   {
       GETBUFFER   :  TYPE = DSECT
       GETWRITEIDX :  TYPE = DSECT
       PUTREADIDX  :  TYPE = DSECT
   }

   SHARERAMS0          : > RAMS0,        PAGE = 1
   SHARERAMS1          : > RAMS1,        PAGE = 1
   SHARERAMS2          : > RAMS2,        PAGE = 1
   SHARERAMS3          : > RAMS3,        PAGE = 1
   SHARERAMS4          : > RAMS4,        PAGE = 1
   SHARERAMS5          : > RAMS5,        PAGE = 1
   SHARERAMS6          : > RAMS6,        PAGE = 1
   SHARERAMS7          : > RAMS7,        PAGE = 1   

   
   /* Allocate uninitalized data sections: */
   .stack              : > RAMM0       PAGE = 1
   .ebss               : > RAML2       PAGE = 1
   .esysmem            : > RAML2       PAGE = 1

   /* Initalized sections go in Flash */
   /* For SDFlash to program these, they must be allocated to page 0 */
   .econst             : > FLASHA      PAGE = 0
   .switch             : > FLASHA      PAGE = 0

   /* Allocate IQ math areas: */
   IQmath              : > FLASHA      PAGE = 0            /* Math Code */
   IQmathTables        : > IQTABLES,   PAGE = 0, TYPE = NOLOAD

   /* Allocate FPU math areas: */
   FPUmathTables       : > FPUTABLES,  PAGE = 0, TYPE = NOLOAD
   
   DMARAML2           : > RAML2,       PAGE = 1
   DMARAML3           : > RAML3,       PAGE = 1

  /* Uncomment the section below if calling the IQNexp() or IQexp()
      functions from the IQMath.lib library in order to utilize the
      relevant IQ Math table in Boot ROM (This saves space and Boot ROM
      is 1 wait-state). If this section is not uncommented, IQmathTables2
      will be loaded into other memory (SARAM, Flash, etc.) and will take
      up space, but 0 wait-state is possible.
   */
   /*
   IQmathTables2    : > IQTABLES2, PAGE = 0, TYPE = NOLOAD
   {

              IQmath.lib<IQNexpTable.obj> (IQmathTablesRam)

   }
   */
    /* Uncomment the section below if calling the IQNasin() or IQasin()
       functions from the IQMath.lib library in order to utilize the
       relevant IQ Math table in Boot ROM (This saves space and Boot ROM
       is 1 wait-state). If this section is not uncommented, IQmathTables2
       will be loaded into other memory (SARAM, Flash, etc.) and will take
       up space, but 0 wait-state is possible.
    */
    /*
    IQmathTables3    : > IQTABLES3, PAGE = 0, TYPE = NOLOAD
    {

               IQmath.lib<IQNasinTable.obj> (IQmathTablesRam)

    }
    */

   /* .reset is a standard section used by the compiler.  It contains the */
   /* the address of the start of _c_int00 for C Code.   /*
   /* When using the boot ROM this section and the CPU vector */
   /* table is not needed.  Thus the default type is set here to  */
   /* DSECT  */
   .reset              : > RESET,      PAGE = 0, TYPE = DSECT
   vectors             : > VECTORS     PAGE = 0, TYPE = DSECT

}

/*
*/



files/171/7610.F28M35x_5F00_generic_5F00_wshared_5F00_M3_5F00_FLASH_5F00_cmd.txt]

Any help will be appreciated.

Regards,

Pablo

  • Pablo

    Pablo Garcia said:

    IPCLiteCtoMFunctionCall(IPC_FLAG1, pulMsgRam[0], buff_pos, IPC_FLAG32);

    its possibly the above line of code. what is the address of the function that you are asking Master to call? This function sends an IPC message to master application, with the function address as parameter. Make sure that is what you want and also make sure that there is a valid function loaded on M3 before you send this message to it. You could repleace this function with a simple READ/WRITE IPCLite call and see if the application is good, then add on to it.

    Please let us know if you have any more questions.

    Best Regards

    santosh

  • Dear Santosh,

    yes, I've also checked that the address was ok. The function is located at the same address stored in the pointer (C28ADNewData). When I hit this problem it was my first idea, but no luck.

    I will also try to test if a read IPC command works, but for our application we really need to call a function in order to make some actions.

    Have you looked at the .map/.cmd files?

    Regards,

    Pablo

  • Pablo,

    it could be that the function is not returning properly or corrupting the stack?

    you can also put a break point in the function and step through and see? also try calling that function first from your M3 appication code and see if it returns properly.

    Best Regards

    santosh

  • Santosh,

    the function never is called when using IPC, instead the code jumps directly to the address I posted in my first message. I also tried to call it directly from M3 and in that case it is executed ok, so it does not seem a corruption in the stack (at least not before the IPC call).

    Regards,

    Pablo

  • Pablo,

    that means M3 is not able to get the address properly, can you give me the values of the below, that will help figure out what is going wrong here.

    On C28x, before calling IPCLiteCtoMFunctionCall()

    > what is the value of pulMsgRam[0] -> is it a 32 bit value?

    > what is the value of buff_pos

    On C28x, after calling IpcLiteCtoMFunctionCall()

    what is the value of the below registers?

        CtoMIpcRegs.CTOMIPCCOM = ?;
        CtoMIpcRegs.CTOMIPCADDR = ?;
        CtoMIpcRegs.CTOMIPCDATAW = ?;

     

    Does M3 see IPC interrupt at all? if yes, can you put a break point in the interrupt service routine and give the values that M3 sees in its memory map for the above registers?

    Does the application work fine if you don't call the IPCLiteCtoMFunctionCall, but instead call some any other simple read/write IPCLiteCtoM* call?

     

    Best Regards

    Santosh

  • Dear Santosh,

    - on C28x, before calling IPCLiteCtoMFunctionCall()

    - value for pulMsgRam[0] is 0x2000075D, this is the address for the C28ADNewBuffer function in the M3 and it is a 23 bit value

    - buff_pos is an index accessing a vector, its value in the first call is 0 as it should be

    - these are the values for the registers in the C28x after calling IPCLiteCtoMFunctionCall()

    CtoMIpcRegs.CTOMIPCCOM = 0x12;
    CtoMIpcRegs.CTOMIPCADDR = 0x2000075D;
    CtoMIpcRegs.CTOMIPCDATAW = 0;

    As you can see, everything is right here. I also had made this debug before posting at the forum,

    Even more, the M3 core is ok until the C28x forces IPC event:

    CtoMIpcRegs.CTOMIPCSET.all |= (ulFlag | ulStatusFlag);

    inside the IPCLiteCtoMFunctionCall() 

    - The M3 does not reach the interrupt handler, which is CtoMIPC1IntHandler. The address of the interrupt handler is 0x200006C4 

    - using other IPC call:

    IPCLiteCtoMDataRead(IPC_FLAG1, pulMsgRam[0], IPC_LENGTH_32_BITS,IPC_FLAG32);

    causes the same error and after executing

     CtoMIpcRegs.CTOMIPCSET.all |= (ulFlag | ulStatusFlag);

    M3 core is again at 0xfffffffe

    Regards,

    Pablo

  • Santosh,

    I have solved the problem. The CtoMIPC1IntHandler was not registered:

    IntRegister(INT_CTOMPIC1, CtoMIPC1IntHandler);

    I missed this one because it is also missed in your examples: F28M35x_examples_Dual\ctom_ipcdrivers_lite\m3\ctom_ipcdrivers_lite_m3.c 

    and because it works when executed from RAM. Where is the interrupt vector address assigned in that case?

    Regards,

    Pablo

  • Pablo,

    I guess I know the issue, the examples have to be updated for running from flash yet. I should have asked whether you are running from flash or RAM earlier.

    When the code is executed from RAM, NVIC TABLE is pointed to RAM locations in your main properly and that RAM location is initialized by the table during CCS load. When the code is linked to run from flash, no one is initializing the NVIC table in RAM but main is still pointing it to the location.

    The IntRegister function call, checks for that error and auto corrects the scenario by copying the table from flash to RAM. If the main() doesn't call IntRegister, then the handler is not registers and the program goes to weeds. That is what is happening.

    we are fixing the issue in next release of controlSuite.

    Best Regards

    Santosh

  • Santosh,

    Sorry for resurrecting this thread, but do you have an example of code that calls IntRegister?

    Right now, all I am trying to do is get a simple program to run without the use of an emulator on a controlCard.

  • Will,

    did you check the driverlib the interrupt.c file it should have functions that access the NVIC interrupt registers, if that is what you are asking?

    which device you are trying on, F28M35x or F28M36x?

     

    Best Regards

    santosh

  • The 35x.

    My problem is that I can not get any program running unless I run it from the emulator.  I have tried using the blinky project, setting the M3 side to Flash or Flash Stand-alone and it will not run after a power cycle.

  • are the boot mode pins set to boot to flash? with emulator connected, after loading the application in flash, set a breakpoint at main() and do a debug reset and RUN. Device should run through the bootROM and enter main(), if that is working then I don't see a reason why it won't work in stand-alone.

     

    Best Regards

    santosh

  • Embarrassing!  The jumper pins are set to ON by default on these controlCards which sets the Boot pins to all 0000...

    I thought they were all off.  SIGH!

    It works now.