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 } /* */
Any help will be appreciated.
Regards,
Pablo