Refs #363. Updated GCC Makefile support in the LM3S demo programs.

git-svn-id: https://svn.code.sf.net/p/openblt/code/trunk@336 5dc33758-31d5-4daf-9ae8-b24bf3d40d73
This commit is contained in:
Frank Voorburg 2017-08-16 11:20:34 +00:00
parent 8da125391b
commit e7a6dfe39d
20 changed files with 2756 additions and 2765 deletions

View File

@ -1,355 +1,442 @@
bin/openblt_ek_lm3s6965.elf: file format elf32-littlearm
bin/openblt_ek_lm3s6965.elf
architecture: arm, flags 0x00000112:
EXEC_P, HAS_SYMS, D_PAGED
start address 0x00000000
Program Header:
LOAD off 0x00008000 vaddr 0x00000000 paddr 0x00000000 align 2**15
filesz 0x000060b0 memsz 0x000060b0 flags r-x
LOAD off 0x00010000 vaddr 0x20000000 paddr 0x000060b0 align 2**15
filesz 0x00000008 memsz 0x00001ea8 flags rw-
private flags = 5000200: [Version5 EABI] [soft-float ABI]
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 000060b0 00000000 00000000 00008000 2**2
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .data 00000008 20000000 000060b0 00010000 2**2
CONTENTS, ALLOC, LOAD, DATA
2 .bss 00001ea0 20000008 000060b8 00010008 2**2
ALLOC
3 .debug_info 00010b82 00000000 00000000 00010008 2**0
CONTENTS, READONLY, DEBUGGING
4 .debug_abbrev 00002ffd 00000000 00000000 00020b8a 2**0
CONTENTS, READONLY, DEBUGGING
5 .debug_loc 0000c9a1 00000000 00000000 00023b87 2**0
CONTENTS, READONLY, DEBUGGING
6 .debug_aranges 00000e28 00000000 00000000 00030528 2**0
CONTENTS, READONLY, DEBUGGING
7 .debug_ranges 00000f80 00000000 00000000 00031350 2**0
CONTENTS, READONLY, DEBUGGING
8 .debug_line 00005052 00000000 00000000 000322d0 2**0
CONTENTS, READONLY, DEBUGGING
9 .debug_str 00002e03 00000000 00000000 00037322 2**0
CONTENTS, READONLY, DEBUGGING
10 .comment 00000030 00000000 00000000 0003a125 2**0
CONTENTS, READONLY
11 .ARM.attributes 00000033 00000000 00000000 0003a155 2**0
CONTENTS, READONLY
12 .debug_frame 00002b80 00000000 00000000 0003a188 2**2
CONTENTS, READONLY, DEBUGGING
SYMBOL TABLE:
00000000 l d .text 00000000 .text
20000000 l d .data 00000000 .data
20000008 l d .bss 00000000 .bss
00000000 l d .debug_info 00000000 .debug_info
00000000 l d .debug_abbrev 00000000 .debug_abbrev
00000000 l d .debug_loc 00000000 .debug_loc
00000000 l d .debug_aranges 00000000 .debug_aranges
00000000 l d .debug_ranges 00000000 .debug_ranges
00000000 l d .debug_line 00000000 .debug_line
00000000 l d .debug_str 00000000 .debug_str
00000000 l d .comment 00000000 .comment
00000000 l d .ARM.attributes 00000000 .ARM.attributes
00000000 l d .debug_frame 00000000 .debug_frame
00000000 l df *ABS* 00000000 vectors.c
00000000 l df *ABS* 00000000 hooks.c
00005780 l O .text 0000001b firmwareFilename
20000008 l O .bss 0000022c logfile
00000000 l df *ABS* 00000000 main.c
00000000 l df *ABS* 00000000 cstart.c
00000250 l F .text 00000000 zero_loop
00000000 l df *ABS* 00000000 ethernet.c
0000027c l F .text 00000084 EthernetPacketGetInternal
00000300 l F .text 00000066 EthernetPacketPutInternal.part.0
00000000 l df *ABS* 00000000 flashlib.c
00000000 l df *ABS* 00000000 sysctl.c
000007a4 l F .text 00000154 SysCtlPeripheralValid
000057e8 l O .text 0000006c g_pulXtals
00005870 l O .text 0000000c g_pulRCGCRegs
0000587c l O .text 0000000c g_pulSRCRRegs
00000000 l df *ABS* 00000000 gpio.c
00000cf0 l F .text 00000054 GPIOBaseValid
00000000 l df *ABS* 00000000 uartlib.c
00000f94 l F .text 00000020 UARTBaseValid
00000000 l df *ABS* 00000000 ssi.c
00001180 l F .text 00000014 SSIBaseValid
00000000 l df *ABS* 00000000 mmc.c
0000130c l F .text 00000020 xchg_spi
0000132c l F .text 00000028 wait_ready
00001354 l F .text 0000001c deselect
00001370 l F .text 0000002c select
0000139c l F .text 0000007e send_cmd
0000141a l F .text 0000003a xmit_datablock.part.1
00001454 l F .text 00000058 rcvr_datablock
20000234 l O .bss 00000004 CardType
20000000 l O .data 00000001 Stat
00000000 l df *ABS* 00000000 netdev.c
00000000 l df *ABS* 00000000 boot.c
00000000 l df *ABS* 00000000 com.c
20000001 l O .data 00000001 comActiveInterface
20000238 l O .bss 00000040 xcpCtoReqPacket.4405
00000000 l df *ABS* 00000000 xcp.c
00001c6c l F .text 00000014 XcpSetCtoError
000058cf l O .text 00000008 xcpStationId
20000278 l O .bss 0000004c xcpInfo
00000000 l df *ABS* 00000000 backdoor.c
200002c4 l O .bss 00000001 backdoorOpen
200002c8 l O .bss 00000004 backdoorOpenTime
00000000 l df *ABS* 00000000 cop.c
00000000 l df *ABS* 00000000 file.c
00001f48 l F .text 0000002c FileLibByteNibbleToChar
00001f74 l F .text 0000001e FileLibByteToHexString
00001f94 l F .text 00000058 FileLibHexStringToByte
00001fec l F .text 00000038 FileLibLongToIntString.constprop.0
200002cc l O .bss 00000040 loggingStr
2000030c l O .bss 00000001 firmwareUpdateState
20000310 l O .bss 00000008 eraseInfo
20000318 l O .bss 00000458 fatFsObjects
20000770 l O .bss 00000184 lineParseObject
00000000 l df *ABS* 00000000 net.c
200008f4 l O .bss 00000004 ARPTimerTimeOut
200008f8 l O .bss 00000004 periodicTimerTimeOut
00000000 l df *ABS* 00000000 assert.c
00000000 l df *ABS* 00000000 ff.c
00002804 l F .text 00000016 ld_dword
0000281a l F .text 00000018 clust2sect
00002832 l F .text 0000001e sum_sfn
00002850 l F .text 00000032 get_ldnumber
00002882 l F .text 00000036 validate
000028b8 l F .text 00000010 mem_cpy.part.0
000028c8 l F .text 0000001c ld_clust.isra.1
000028e4 l F .text 00000018 st_clust.isra.2
000028fc l F .text 00000046 sync_window.part.3
00002942 l F .text 0000000c sync_window
0000294e l F .text 00000036 move_window
00002984 l F .text 00000068 check_fs
000029ec l F .text 00000284 find_volume
00002c70 l F .text 000000b6 get_fat.isra.6
00002d26 l F .text 00000092 dir_sdi
00002db8 l F .text 000000d6 get_fileinfo.part.8
00002e8e l F .text 00000104 put_fat
00002f92 l F .text 000000b6 create_chain
00003048 l F .text 0000006a remove_chain
000030b2 l F .text 00000102 dir_next
000031b4 l F .text 00000054 dir_remove
00003208 l F .text 00000160 dir_find
00003368 l F .text 00000260 follow_path
000035c8 l F .text 00000114 dir_read.constprop.9
000036dc l F .text 00000234 dir_register
00003910 l F .text 000000b0 sync_fs
00003e2c l F .text 00000044 putc_bfd
200008fc l O .bss 00000200 LfnBuf
20000afc l O .bss 00000002 Fsid
00005a87 l O .text 00000080 ExCvt
00005b07 l O .text 0000000d LfnOfs
20000b00 l O .bss 00000004 FatFs
00000000 l df *ABS* 00000000 unicode.c
00005b14 l O .text 000000bc cvt2.4272
00005bd0 l O .text 00000100 Tbl
00005cd0 l O .text 000001f2 cvt1.4271
00000000 l df *ABS* 00000000 uip.c
000042ac l F .text 00000038 chksum
000042e4 l F .text 0000003c upper_layer_chksum
00004374 l F .text 0000002c uip_add_rcv_nxt
20000b04 l O .bss 00000002 tmp16
20000b06 l O .bss 00000002 ipid
20000b08 l O .bss 00000004 iss
20000b0c l O .bss 00000002 lastport
20000b14 l O .bss 00000001 c
20000b15 l O .bss 00000001 opt
00000000 l df *ABS* 00000000 uip_arp.c
00004dbc l F .text 000000e4 uip_arp_update.constprop.0
20000b16 l O .bss 00000001 i
20000b17 l O .bss 00000001 tmpage
20000b18 l O .bss 00000060 arp_table
00005ec2 l O .text 00000006 broadcast_ethaddr
20000b78 l O .bss 00000001 c
20000b79 l O .bss 00000001 arptime
20000b7a l O .bss 00000004 ipaddr
00000000 l df *ABS* 00000000 cpu.c
00000000 l df *ABS* 00000000 uart.c
20000b80 l O .bss 00000004 xcpCtoRxStartTime.4626
20000b84 l O .bss 00000041 xcpCtoReqPacket.4623
20000bc5 l O .bss 00000001 xcpCtoRxLength.4624
20000bc6 l O .bss 00000001 xcpCtoRxInProgress.4625
00000000 l df *ABS* 00000000 nvm.c
00000000 l df *ABS* 00000000 timer.c
20000bc8 l O .bss 00000004 millisecond_counter
00000000 l df *ABS* 00000000 flash.c
000052e8 l F .text 00000034 FlashGetSector
0000531c l F .text 0000004c FlashWriteBlock
00005368 l F .text 00000050 FlashSwitchBlock
000053b8 l F .text 00000080 FlashAddToBlock
00005eec l O .text 000000c0 flashLayout
20000bcc l O .bss 00000204 bootBlockInfo
20000dd0 l O .bss 00000204 blockInfo
00000000 l df *ABS* 00000000 cpu_comp.c
00000000 l df *ABS* 00000000 memcpy-stub.c
00000000 l df *ABS* 00000000 memset.c
00000000 l df *ABS* 00000000 ctype_.c
00000000 l df *ABS* 00000000
00000800 l *ABS* 00000000 __STACKSIZE__
00001bb0 g F .text 00000020 ComInit
00005450 g F .text 00000048 FlashWrite
00004158 g F .text 0000004e f_gets
000027fc g F .text 00000008 AssertFailure
00000f2c g F .text 00000034 GPIOPinTypeSSI
0000022c g F .text 00000044 reset_handler
000012e4 g F .text 00000028 SSIDataGet
000052bc g F .text 0000001c TimerUpdate
00001cac g F .text 00000010 XcpPacketTransmitted
00001bd0 g F .text 0000003c ComTask
0000125c g F .text 00000024 SSIEnable
000009ec g F .text 00000008 SysCtlDelay
20000fd4 g O .bss 00000002 uip_len
20000b0e g O .bss 00000006 uip_ethaddr
00004320 g F .text 00000054 uip_add32
00001b74 g F .text 00000022 BootInit
000020d4 g F .text 0000003e FileSrecVerifyChecksum
00001f24 g F .text 00000020 BackDoorInit
00001194 g F .text 000000c8 SSIConfigSetExpClk
00001f46 g F .text 00000002 CopService
000060b0 g .text 00000000 _etext
000008f8 g F .text 00000090 SysCtlPeripheralReset
0000562e g F .text 00000004 CpuIrqDisable
00004228 g F .text 00000084 ff_wtoupper
00000ea0 g F .text 00000024 GPIOPinWrite
00001b28 g F .text 00000034 netdev_read
00004410 g F .text 00000980 uip_process
00005628 g F .text 00000006 FlashGetUserProgBaseAddress
00005638 g F .text 000000a6 memcpy
00002250 g F .text 000003f0 FileTask
000010e8 g F .text 00000024 UARTSpaceAvail
000052b0 g F .text 0000000c TimerReset
000014ac g F .text 00000228 disk_initialize
20000fd8 g O .bss 00000004 uip_sappdata
00001a04 g F .text 00000018 netdev_init
20000fdc g O .bss 00000004 uip_acc32
000043a0 g F .text 00000020 uip_ipchksum
00001134 g F .text 0000002c UARTCharPutNonBlocking
00001b96 g F .text 0000001a BootTask
00005568 g F .text 00000044 FlashWriteChecksum
00001c10 g F .text 00000030 ComTransmitPacket
00000368 g F .text 0000002c EthernetInitExpClk
000016d4 g F .text 00000014 disk_status
00002114 g F .text 0000013c FileSrecParseLine
000043f4 g F .text 0000001c uip_listen
00001b5c g F .text 00000018 netdev_send
00001824 g F .text 000001e0 disk_ioctl
00002068 g F .text 00000028 FileHandleFirmwareUpdateRequest
000004e0 g F .text 0000005c EthernetPacketPut
00000988 g F .text 00000064 SysCtlPeripheralEnable
20000fe0 g O .bss 00000001 uip_flags
00000158 g F .text 00000040 FileFirmwareUpdateCompletedHook
00001c9c g F .text 00000010 XcpIsConnected
000040ac g F .text 000000ac f_unlink
00005268 g F .text 00000004 NvmInit
00005438 g F .text 00000018 FlashInit
00005278 g F .text 00000004 NvmGetUserProgBaseAddress
200016a6 g .bss 00000000 _ebss
000041a6 g F .text 00000044 f_puts
00000220 g F .text 0000000c UnusedISR
0000048c g F .text 00000054 EthernetPacketGetNonBlocking
00001c0c g F .text 00000002 ComFree
00000ec4 g F .text 00000034 GPIOPinTypeEthernetLED
00005144 g F .text 00000028 UartInit
00005270 g F .text 00000004 NvmErase
00001a1c g F .text 0000010c netdev_init_mac
0000110c g F .text 00000028 UARTCharGetNonBlocking
000012a4 g F .text 00000040 SSIDataPut
20000008 g .bss 00000000 _bss
00003f04 g F .text 0000001a f_close
00001cbc g F .text 00000220 XcpPacketReceived
000043c0 g F .text 00000006 uip_tcpchksum
000050ec g F .text 00000004 CpuInit
00003b60 g F .text 00000152 f_read
000055f4 g F .text 00000034 FlashDone
20000fe4 g O .bss 00000004 uip_appdata
20000fe8 g O .bss 00000004 uip_conn
20000fec g O .bss 00000068 uip_conns
00000660 g F .text 000000e4 FlashProgram
00001c80 g F .text 0000001c XcpInit
00002024 g F .text 00000030 FileInit
00000574 g F .text 00000028 EthernetIntStatus
00004fa8 g F .text 00000144 uip_arp_out
00005498 g F .text 000000d0 FlashErase
000056e0 g F .text 0000009e memset
00000198 g F .text 00000014 FileFirmwareUpdateErrorHook
000001f4 g F .text 0000002c main
00003e70 g F .text 00000094 f_sync
00000b44 g F .text 000001ac SysCtlClockGet
00002090 g F .text 00000044 FileSrecGetLineType
00000fe4 g F .text 00000034 UARTDisable
0000527c g F .text 00000012 NvmDone
0000044c g F .text 00000040 EthernetEnable
000039c0 g F .text 00000050 f_mount
0000516c g F .text 0000006c UartTransmitPacket
00005274 g F .text 00000004 NvmVerifyChecksum
00005124 g F .text 0000001e CpuMemCopy
00003f1e g F .text 00000134 f_lseek
00004ef8 g F .text 000000b0 uip_arp_arpin
00001c54 g F .text 00000014 ComGetActiveInterfaceMaxTxLen
000051d8 g F .text 00000090 UartReceivePacket
00000128 g F .text 00000008 FileGetFirmwareFilenameHook
00005632 g F .text 00000004 CpuIrqEnable
000003ec g F .text 00000060 EthernetMACAddrSet
00004ea0 g F .text 00000058 uip_arp_timer
20001054 g O .bss 00000002 uip_listenports
20001056 g O .bss 00000004 uip_draddr
20000000 g .data 00000000 _data
000005d0 g F .text 00000040 EthernetPHYRead
00004054 g F .text 00000058 f_stat
00001f44 g F .text 00000002 CopInit
00001280 g F .text 00000024 SSIDisable
0000526c g F .text 00000004 NvmWrite
000050f0 g F .text 00000034 CpuStartUserProgram
20001ea8 g .bss 00000000 _estack
00000394 g F .text 00000058 EthernetConfigSet
000055ac g F .text 00000048 FlashVerifyChecksum
000026ac g F .text 0000003c NetTransmitPacket
20000008 g .data 00000000 _edata
00002054 g F .text 00000014 FileIsIdle
00004d90 g F .text 00000006 htons
00003cb2 g F .text 0000017a f_write
00000000 g O .text 000000f0 _vectab
00000744 g F .text 00000060 FlashUserGet
00000f60 g F .text 00000034 GPIOPinTypeUART
00003a10 g F .text 00000150 f_open
00001768 g F .text 000000bc disk_write
00000ef8 g F .text 00000034 GPIOPinTypeGPIOOutput
000001ac g F .text 00000048 FileFirmwareUpdateLogHook
20000004 g O .data 00000004 __ctype_ptr__
00001c68 g F .text 00000004 ComIsConnected
0000053c g F .text 00000038 EthernetIntDisable
00005fac g O .text 00000101 _ctype_
0000059c g F .text 00000034 EthernetIntClear
000000f0 g F .text 00000038 FileIsFirmwareUpdateRequestedHook
00001160 g F .text 00000020 UARTBusy
000043c8 g F .text 0000002c uip_init
00001c40 g F .text 00000014 ComGetActiveInterfaceMaxRxLen
000026e8 g F .text 000000b0 NetReceivePacket
00000d44 g F .text 00000058 GPIODirModeSet
000016e8 g F .text 00000080 disk_read
00001edc g F .text 00000048 BackDoorCheck
200016a6 g .bss 00000000 _stack
2000105a g O .bss 00000004 uip_netmask
2000105e g O .bss 00000004 uip_hostaddr
000041ec g F .text 0000003c ff_convert
000052d8 g F .text 00000010 TimerGet
00002798 g F .text 00000064 NetApp
00001018 g F .text 000000d0 UARTConfigSetExpClk
00002640 g F .text 0000006c NetInit
000009f4 g F .text 00000150 SysCtlClockSet
00000d9c g F .text 00000104 GPIOPadConfigSet
00005290 g F .text 00000020 TimerInit
20001062 g O .bss 00000642 uip_buf
00000610 g F .text 00000050 FlashClear
00004d98 g F .text 00000024 uip_send
200016a4 g O .bss 00000002 uip_slen
00000130 g F .text 00000028 FileFirmwareUpdateStartedHook
00000fb4 g F .text 00000030 UARTEnable
bin/openblt_ek_lm3s6965.elf: file format elf32-littlearm
bin/openblt_ek_lm3s6965.elf
architecture: arm, flags 0x00000112:
EXEC_P, HAS_SYMS, D_PAGED
start address 0x00000000
Program Header:
LOAD off 0x00010000 vaddr 0x00000000 paddr 0x00000000 align 2**16
filesz 0x00006f58 memsz 0x00006f58 flags r-x
LOAD off 0x00020000 vaddr 0x20000000 paddr 0x00006f58 align 2**16
filesz 0x000001dc memsz 0x00002098 flags rw-
private flags = 5000200: [Version5 EABI] [soft-float ABI]
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 00006f58 00000000 00000000 00010000 2**2
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .data 000001dc 20000000 00006f58 00020000 2**2
CONTENTS, ALLOC, LOAD, DATA
2 .bss 00001ebc 200001dc 00007134 000201dc 2**2
ALLOC
3 .ARM.attributes 00000029 00000000 00000000 000201dc 2**0
CONTENTS, READONLY
4 .comment 0000006e 00000000 00000000 00020205 2**0
CONTENTS, READONLY
5 .debug_info 0000fa5d 00000000 00000000 00020273 2**0
CONTENTS, READONLY, DEBUGGING
6 .debug_abbrev 00002551 00000000 00000000 0002fcd0 2**0
CONTENTS, READONLY, DEBUGGING
7 .debug_aranges 00000f88 00000000 00000000 00032221 2**0
CONTENTS, READONLY, DEBUGGING
8 .debug_ranges 00000da8 00000000 00000000 000331a9 2**0
CONTENTS, READONLY, DEBUGGING
9 .debug_macro 0000aad3 00000000 00000000 00033f51 2**0
CONTENTS, READONLY, DEBUGGING
10 .debug_line 00007355 00000000 00000000 0003ea24 2**0
CONTENTS, READONLY, DEBUGGING
11 .debug_str 00028394 00000000 00000000 00045d79 2**0
CONTENTS, READONLY, DEBUGGING
12 .debug_frame 00002c58 00000000 00000000 0006e110 2**2
CONTENTS, READONLY, DEBUGGING
13 .debug_loc 0000b842 00000000 00000000 00070d68 2**0
CONTENTS, READONLY, DEBUGGING
SYMBOL TABLE:
00000000 l d .text 00000000 .text
20000000 l d .data 00000000 .data
200001dc l d .bss 00000000 .bss
00000000 l d .ARM.attributes 00000000 .ARM.attributes
00000000 l d .comment 00000000 .comment
00000000 l d .debug_info 00000000 .debug_info
00000000 l d .debug_abbrev 00000000 .debug_abbrev
00000000 l d .debug_aranges 00000000 .debug_aranges
00000000 l d .debug_ranges 00000000 .debug_ranges
00000000 l d .debug_macro 00000000 .debug_macro
00000000 l d .debug_line 00000000 .debug_line
00000000 l d .debug_str 00000000 .debug_str
00000000 l d .debug_frame 00000000 .debug_frame
00000000 l d .debug_loc 00000000 .debug_loc
00000000 l df *ABS* 00000000 vectors.c
00000000 l df *ABS* 00000000 crtstuff.c
00006f54 l O .text 00000000 __EH_FRAME_BEGIN__
000000f0 l F .text 00000000 __do_global_dtors_aux
200001dc l .bss 00000000 completed.8603
200001d8 l O .data 00000000 __do_global_dtors_aux_fini_array_entry
00000114 l F .text 00000000 frame_dummy
200001e0 l .bss 00000000 object.8608
200001d4 l O .data 00000000 __frame_dummy_init_array_entry
00000000 l df *ABS* 00000000 main.c
0000015c l F .text 00000024 Init
00000000 l df *ABS* 00000000 hooks.c
000065f8 l O .text 0000001b firmwareFilename
200001f8 l O .bss 0000022c logfile
00000000 l df *ABS* 00000000 cstart.c
000002c6 l F .text 00000000 zero_loop
00000000 l df *ABS* 00000000 mmc.c
000002f0 l F .text 00000010 power_off
00000300 l F .text 00000058 send_initial_clock_train
00000358 l F .text 0000008c power_on
000003e4 l F .text 00000024 xchg_spi
00000408 l F .text 00000028 wait_ready
00000430 l F .text 00000018 deselect
00000448 l F .text 0000002c select
00000474 l F .text 00000082 send_cmd
000004f8 l F .text 0000000e rcvr_spi_m
00000508 l F .text 0000004e rcvr_datablock
00000558 l F .text 0000005a xmit_datablock
000005b4 l F .text 00000044 set_max_speed
20000424 l O .bss 00000004 CardType
20000000 l O .data 00000001 Stat
00000000 l df *ABS* 00000000 netdev.c
00000000 l df *ABS* 00000000 ssi.c
00000c90 l F .text 00000038 SSIBaseValid
00000000 l df *ABS* 00000000 sysctl.c
00000e54 l F .text 000003f8 SysCtlPeripheralValid
00006638 l O .text 0000006c g_pulXtals
000066bc l O .text 0000000c g_pulRCGCRegs
000066c8 l O .text 0000000c g_pulSRCRRegs
00000000 l df *ABS* 00000000 flashlib.c
00000000 l df *ABS* 00000000 ethernet.c
0000187c l F .text 0000008a EthernetPacketGetInternal
00001908 l F .text 0000007c EthernetPacketPutInternal
00000000 l df *ABS* 00000000 gpio.c
00001c28 l F .text 00000124 GPIOBaseValid
00000000 l df *ABS* 00000000 uartlib.c
00001ff0 l F .text 00000068 UARTBaseValid
00000000 l df *ABS* 00000000 xcp.c
00002248 l F .text 0000001e XcpComputeChecksum
00002268 l F .text 0000000c XcpProtectResources
00002274 l F .text 00000014 XcpSetCtoError
00002288 l F .text 0000001c XcpCmdDisconnect
000022a4 l F .text 00000020 XcpCmdGetStatus
000022c4 l F .text 0000000a XcpCmdSynch
000022d0 l F .text 0000002c XcpCmdGetId
000022fc l F .text 00000018 XcpCmdSetMta
00002314 l F .text 00000028 XcpCmdBuildCheckSum
0000233c l F .text 0000000a XcpCmdProgramPrepare
00002348 l F .text 00000028 XcpCmdProgramStart
00002370 l F .text 00000050 XcpCmdConnect
000023c0 l F .text 00000040 XcpCmdUpload
00002400 l F .text 00000040 XcpCmdShortUpload
00002440 l F .text 00000040 XcpCmdProgramMax
00002480 l F .text 0000005c XcpCmdProgram
000024dc l F .text 00000028 XcpCmdProgramClear
00002504 l F .text 00000018 XcpCmdProgramReset
0000251c l F .text 0000000a XcpTransmitPacket
0000673c l O .text 00000008 xcpStationId
20000428 l O .bss 0000004c xcpInfo
00000000 l df *ABS* 00000000 net.c
00002644 l F .text 000000d4 NetServerTask
20000474 l O .bss 00000004 ARPTimerTimeOut
20000478 l O .bss 00000004 periodicTimerTimeOut
00000000 l df *ABS* 00000000 com.c
20000001 l O .data 00000001 comActiveInterface
2000047c l O .bss 00000040 xcpCtoReqPacket.4513
00000000 l df *ABS* 00000000 backdoor.c
200004bc l O .bss 00000001 backdoorOpen
200004c0 l O .bss 00000004 backdoorOpenTime
00000000 l df *ABS* 00000000 boot.c
00000000 l df *ABS* 00000000 cop.c
00000000 l df *ABS* 00000000 file.c
00002994 l F .text 0000003c FileLibLongToIntString
000029d0 l F .text 0000002a FileLibByteNibbleToChar
000029fc l F .text 00000020 FileLibByteToHexString
00002a1c l F .text 00000058 FileLibHexStringToByte
200004c4 l O .bss 00000040 loggingStr
20000504 l O .bss 00000001 firmwareUpdateState
20000508 l O .bss 00000008 eraseInfo
20000510 l O .bss 00000458 fatFsObjects
20000968 l O .bss 00000184 lineParseObject
00000000 l df *ABS* 00000000 assert.c
00000000 l df *ABS* 00000000 uart.c
000030d4 l F .text 00000028 UartTransmitByte
000030fc l F .text 00000020 UartReceiveByte
20000aec l O .bss 00000004 xcpCtoRxStartTime.4734
20000af0 l O .bss 00000041 xcpCtoReqPacket.4731
20000b31 l O .bss 00000001 xcpCtoRxLength.4732
20000b32 l O .bss 00000001 xcpCtoRxInProgress.4733
00000000 l df *ABS* 00000000 nvm.c
00000000 l df *ABS* 00000000 cpu.c
00000000 l df *ABS* 00000000 flash.c
000032c8 l F .text 00000048 FlashGetSector
00003310 l F .text 00000038 FlashGetSectorBaseAddr
00003348 l F .text 00000038 FlashGetSectorSize
00003380 l F .text 00000026 FlashInitBlock
000033a8 l F .text 0000005c FlashWriteBlock
00003404 l F .text 0000003c FlashSwitchBlock
00003440 l F .text 0000007a FlashAddToBlock
000034bc l F .text 0000005e FlashEraseSectors
0000692c l O .text 000000c0 flashLayout
20000b34 l O .bss 00000204 bootBlockInfo
20000d38 l O .bss 00000204 blockInfo
00000000 l df *ABS* 00000000 timer.c
20000f3c l O .bss 00000004 millisecond_counter
00000000 l df *ABS* 00000000 cpu_comp.c
00000000 l df *ABS* 00000000 ff.c
000036fc l F .text 0000000a ld_word
00003708 l F .text 00000016 ld_dword
00003720 l F .text 00000008 st_word
00003728 l F .text 00000014 st_dword
0000373c l F .text 00000012 mem_cpy
00003750 l F .text 0000000a mem_set
0000375c l F .text 0000001e mem_cmp
0000377c l F .text 00000010 chk_chr
0000378c l F .text 00000018 clust2sect
000037a4 l F .text 00000024 ld_clust
000037c8 l F .text 00000024 st_clust
000037ec l F .text 0000008c pick_lfn
00003878 l F .text 00000070 put_lfn
000038e8 l F .text 000000a0 gen_numname
00003988 l F .text 0000001c sum_sfn
000039a4 l F .text 00000052 get_ldnumber
000039f8 l F .text 00000034 validate
00003a2c l F .text 00000054 sync_window
00003a80 l F .text 00000034 move_window
00003ab4 l F .text 00000060 check_fs
00003b14 l F .text 000002d4 find_volume
00003de8 l F .text 000000d0 get_fat
00003eb8 l F .text 000000b2 dir_sdi
00003f6c l F .text 0000010c put_fat
00004078 l F .text 000000ce create_chain
00004148 l F .text 0000007c remove_chain
000041c4 l F .text 00000126 dir_next
000042ec l F .text 0000004c dir_alloc
00004338 l F .text 000000c4 dir_read
000043fc l F .text 00000050 dir_remove
0000444c l F .text 00000228 create_name
00004674 l F .text 000000e2 get_fileinfo
00004758 l F .text 000000ac cmp_lfn
00004804 l F .text 000000e8 dir_find
000048ec l F .text 0000008c follow_path
00004978 l F .text 0000013c dir_register
00004ab4 l F .text 0000008c sync_fs
00005020 l F .text 0000004a putc_bfd
20000f40 l O .bss 00000200 LfnBuf
20001140 l O .bss 00000002 Fsid
00006a00 l O .text 00000080 ExCvt
00006a80 l O .text 0000000d LfnOfs
20001144 l O .bss 00000004 FatFs
00000000 l df *ABS* 00000000 unicode.c
00006a90 l O .text 000000bc cvt2.4380
00006b4c l O .text 00000100 Tbl
00006c4c l O .text 000001f2 cvt1.4379
00000000 l df *ABS* 00000000 uip.c
00005510 l F .text 0000003a chksum
000055a8 l F .text 00000030 uip_add_rcv_nxt
00005694 l F .text 0000003c upper_layer_chksum
20001148 l O .bss 00000002 tmp16
2000114a l O .bss 00000002 ipid
2000114c l O .bss 00000004 iss
20001150 l O .bss 00000002 lastport
20001152 l O .bss 00000001 c
00000000 l df *ABS* 00000000 uip_arp.c
000061a0 l F .text 00000104 uip_arp_update
2000115a l O .bss 00000001 i
2000115b l O .bss 00000001 tmpage
2000115c l O .bss 00000060 arp_table
00006e40 l O .text 00000006 broadcast_ethaddr
200011bc l O .bss 00000001 c
200011bd l O .bss 00000001 arptime
200011c0 l O .bss 00000004 ipaddr
00000000 l df *ABS* 00000000 locale.c
00006544 l F .text 00000018 __get_current_locale
00000000 l df *ABS* 00000000 mbtowc_r.c
00000000 l df *ABS* 00000000 memcpy-stub.c
00000000 l df *ABS* 00000000 memset.c
00000000 l df *ABS* 00000000 wctomb_r.c
00000000 l df *ABS* 00000000 /opt/gcc-arm-none-eabi-5_4-2016q3/bin/../lib/gcc/arm-none-eabi/5.4.1/armv7-m/crti.o
00000000 l df *ABS* 00000000 /opt/gcc-arm-none-eabi-5_4-2016q3/bin/../lib/gcc/arm-none-eabi/5.4.1/armv7-m/crtn.o
00000000 l df *ABS* 00000000 ctype_.c
00000000 l df *ABS* 00000000 crtstuff.c
00006f54 l O .text 00000000 __FRAME_END__
00000000 l df *ABS* 00000000 impure.c
20000004 l O .data 00000060 impure_data
00000000 l df *ABS* 00000000
00000000 l *UND* 00000000 __bss_start__
00000000 l *UND* 00000000 __libc_fini_array
00000000 l *UND* 00000000 __bss_end__
00000000 l *UND* 00000000 __call_exitprocs
00000000 l *UND* 00000000 software_init_hook
200001d8 l .data 00000000 __init_array_end
00000000 l *UND* 00000000 hardware_init_hook
00000000 l *UND* 00000000 atexit
200001d4 l .data 00000000 __preinit_array_end
00000000 l *UND* 00000000 __stack
200001d4 l .data 00000000 __init_array_start
00000000 l *UND* 00000000 _exit
200001d4 l .data 00000000 __preinit_array_start
00002830 g F .text 00000020 ComInit
00003534 g F .text 00000058 FlashWrite
0000539c g F .text 00000054 f_gets
000030cc g F .text 00000008 AssertFailure
00001f88 g F .text 00000034 GPIOPinTypeSSI
000002a4 g F .text 00000040 reset_handler
00000e2c g F .text 00000028 SSIDataGet
000036c8 g F .text 0000001c TimerUpdate
00002554 g F .text 00000010 XcpPacketTransmitted
00002850 g F .text 00000038 ComTask
00000da4 g F .text 00000024 SSIEnable
00001360 g F .text 00000008 SysCtlDelay
200011c4 g O .bss 00000002 uip_len
20001154 g O .bss 00000006 uip_ethaddr
0000554c g F .text 0000005c uip_add32
00002954 g F .text 00000020 BootInit
00002b34 g F .text 0000003a FileSrecVerifyChecksum
0000655c g F .text 00000014 __locale_ctype_ptr
00002934 g F .text 00000020 BackDoorInit
00000cc8 g F .text 000000dc SSIConfigSetExpClk
00002990 g F .text 00000002 CopService
00006f58 g .text 00000000 _etext
0000124c g F .text 000000a4 SysCtlPeripheralReset
000036f4 g F .text 00000004 CpuIrqDisable
0000547c g F .text 00000094 ff_wtoupper
00001efc g F .text 00000024 GPIOPinWrite
00000c40 g F .text 00000034 netdev_read
000056dc g F .text 00000a9c uip_process
00003690 g F .text 00000006 FlashGetUserProgBaseAddress
00006594 g F .text 00000016 memcpy
00002cbc g F .text 00000410 FileTask
000021a8 g F .text 00000028 UARTSpaceAvail
00003698 g F .text 0000000c TimerReset
000005f8 g F .text 00000160 disk_initialize
200011c8 g O .bss 00000004 uip_sappdata
00000b14 g F .text 00000018 netdev_init
200011cc g O .bss 00000004 uip_acc32
00005674 g F .text 00000020 uip_ipchksum
000021fc g F .text 0000002c UARTCharPutNonBlocking
00002974 g F .text 00000018 BootTask
000035bc g F .text 0000004c FlashWriteChecksum
0000288c g F .text 0000002c ComTransmitPacket
00001984 g F .text 00000030 EthernetInitExpClk
00000758 g F .text 00000014 disk_status
00002b70 g F .text 0000014c FileSrecParseLine
00005634 g F .text 00000034 uip_listen
00000c74 g F .text 0000001c netdev_send
000008a0 g F .text 00000274 disk_ioctl
00002ab4 g F .text 00000030 FileHandleFirmwareUpdateRequest
00001b00 g F .text 00000050 EthernetPacketPut
000012f0 g F .text 00000070 SysCtlPeripheralEnable
200011d0 g O .bss 00000001 uip_flags
00000200 g F .text 00000044 FileFirmwareUpdateCompletedHook
00002544 g F .text 00000010 XcpIsConnected
000052e0 g F .text 000000bc f_unlink
000065d4 g F .text 00000000 _init
00003230 g F .text 00000008 NvmInit
0000351c g F .text 00000018 FlashInit
00003250 g F .text 00000008 NvmGetUserProgBaseAddress
20001898 g .bss 00000000 _ebss
000053f0 g F .text 00000050 f_puts
00000800 g *ABS* 00000000 __STACKSIZE__
0000014c g F .text 00000010 UnusedISR
00001aac g F .text 00000054 EthernetPacketGetNonBlocking
00002888 g F .text 00000002 ComFree
00001f20 g F .text 00000034 GPIOPinTypeEthernetLED
00000000 w *UND* 00000000 __sf_fake_stderr
00000000 w *UND* 00000000 __deregister_frame_info
0000311c g F .text 00000024 UartInit
00003240 g F .text 00000008 NvmErase
00000b2c g F .text 00000114 netdev_init_mac
000021d0 g F .text 0000002c UARTCharGetNonBlocking
00000dec g F .text 00000040 SSIDataPut
200001dc g .bss 00000000 _bss
00005108 g F .text 00000024 f_close
00002564 g F .text 000000e0 XcpPacketReceived
000056d0 g F .text 0000000a uip_tcpchksum
0000326c g F .text 00000008 CpuInit
00004d10 g F .text 0000016c f_read
00003650 g F .text 00000040 FlashDone
200011d4 g O .bss 00000004 uip_appdata
200011d8 g O .bss 00000004 uip_conn
200011dc g O .bss 00000068 uip_conns
0000173c g F .text 000000d8 FlashProgram
00002528 g F .text 0000001c XcpInit
00002a74 g F .text 0000002c FileInit
00001b88 g F .text 00000028 EthernetIntStatus
000063e4 g F .text 00000160 uip_arp_out
00000000 w *UND* 00000000 __sf_fake_stdin
0000358c g F .text 0000002e FlashErase
000065aa g F .text 00000010 memset
00000244 g F .text 00000018 FileFirmwareUpdateErrorHook
00000180 g F .text 00000010 main
0000506c g F .text 0000009c f_sync
000014e0 g F .text 00000204 SysCtlClockGet
00002ae4 g F .text 00000050 FileSrecGetLineType
00002088 g F .text 00000038 UARTDisable
000065ba g F .text 0000001a __ascii_wctomb
00003258 g F .text 00000014 NvmDone
00001a6c g F .text 00000040 EthernetEnable
00004b40 g F .text 00000058 f_mount
00003140 g F .text 00000050 UartTransmitPacket
00003248 g F .text 00000008 NvmVerifyChecksum
000032a8 g F .text 00000020 CpuMemCopy
000065e0 g F .text 00000000 _fini
0000512c g F .text 00000168 f_lseek
00006304 g F .text 000000e0 uip_arp_arpin
000028d0 g F .text 00000018 ComGetActiveInterfaceMaxTxLen
00003190 g F .text 000000a0 UartReceivePacket
000001d0 g F .text 00000008 FileGetFirmwareFilenameHook
000036f8 g F .text 00000004 CpuIrqEnable
00001a0c g F .text 00000060 EthernetMACAddrSet
20000064 g O .data 00000004 _impure_ptr
000062a4 g F .text 00000060 uip_arp_timer
20001244 g O .bss 00000002 uip_listenports
20001248 g O .bss 00000004 uip_draddr
00006570 g F .text 00000024 __ascii_mbtowc
20000000 g .data 00000000 _data
00001be4 g F .text 00000044 EthernetPHYRead
00005294 g F .text 0000004c f_stat
0000298c g F .text 00000002 CopInit
00000dc8 g F .text 00000024 SSIDisable
00003238 g F .text 00000008 NvmWrite
00003274 g F .text 00000034 CpuStartUserProgram
20002098 g .bss 00000000 _estack
000019b4 g F .text 00000058 EthernetConfigSet
00003608 g F .text 00000048 FlashVerifyChecksum
00002784 g F .text 0000003c NetTransmitPacket
200001dc g .data 00000000 _edata
00002aa0 g F .text 00000014 FileIsIdle
00005668 g F .text 0000000a htons
00004e7c g F .text 000001a4 f_write
00000000 g O .text 000000f0 _vectab
00001814 g F .text 00000068 FlashUserGet
00001fbc g F .text 00000034 GPIOPinTypeUART
00004b98 g F .text 00000178 f_open
000007f4 g F .text 000000ac disk_write
00001f54 g F .text 00000034 GPIOPinTypeGPIOOutput
0000025c g F .text 00000048 FileFirmwareUpdateLogHook
000028e8 g F .text 00000008 ComIsConnected
00000000 w *UND* 00000000 __sf_fake_stdout
00001b50 g F .text 00000038 EthernetIntDisable
00006e50 g O .text 00000101 _ctype_
00001bb0 g F .text 00000034 EthernetIntClear
00000190 g F .text 00000040 FileIsFirmwareUpdateRequestedHook
00002228 g F .text 00000020 UARTBusy
000055d8 g F .text 0000005c uip_init
000028b8 g F .text 00000018 ComGetActiveInterfaceMaxRxLen
000027c0 g F .text 0000000a NetReceivePacket
00001d4c g F .text 00000064 GPIODirModeSet
0000076c g F .text 00000088 disk_read
000028f0 g F .text 00000044 BackDoorCheck
20001898 g .bss 00000000 _stack
2000124c g O .bss 00000004 uip_netmask
20001250 g O .bss 00000004 uip_hostaddr
00005440 g F .text 0000003c ff_convert
000036e4 g F .text 00000010 TimerGet
000027cc g F .text 00000064 NetApp
00000000 w *UND* 00000000 _Jv_RegisterClasses
000020c0 g F .text 000000e8 UARTConfigSetExpClk
00002718 g F .text 0000006c NetInit
00001368 g F .text 00000178 SysCtlClockSet
00001db0 g F .text 0000014c GPIOPadConfigSet
000036a4 g F .text 00000024 TimerInit
00000000 w *UND* 00000000 __register_frame_info
20001254 g O .bss 00000642 uip_buf
20000068 g O .data 0000016c __global_locale
000016e4 g F .text 00000058 FlashClear
00006178 g F .text 00000028 uip_send
20001896 g O .bss 00000002 uip_slen
000001d8 g F .text 00000028 FileFirmwareUpdateStartedHook
00002058 g F .text 00000030 UARTEnable

View File

@ -1,11 +1,11 @@
#****************************************************************************************
#| Description: Makefile for LM3S using CodeSourcery GNU GCC compiler toolset
#| Description: Makefile for GNU ARM Embedded toolchain.
#| File Name: makefile
#|
#|---------------------------------------------------------------------------------------
#| C O P Y R I G H T
#|---------------------------------------------------------------------------------------
#| Copyright (c) 2012 by Feaser http://www.feaser.com All rights reserved
#| Copyright (c) 2017 by Feaser http://www.feaser.com All rights reserved
#|
#|---------------------------------------------------------------------------------------
#| L I C E N S E
@ -25,174 +25,134 @@
#****************************************************************************************
SHELL = sh
#|---------------------------------------------------------------------------------------|
#| Configure project name |
#|---------------------------------------------------------------------------------------|
#|--------------------------------------------------------------------------------------|
#| Configure project name |
#|--------------------------------------------------------------------------------------|
PROJ_NAME=openblt_ek_lm3s6965
#|---------------------------------------------------------------------------------------|
#| Speficy project source files |
#|---------------------------------------------------------------------------------------|
PROJ_FILES= \
blt_conf.h \
hooks.c \
main.c \
vectors.c \
cstart.c \
./lib/inc/hw_ethernet.h \
./lib/inc/hw_flash.h \
./lib/inc/hw_gpio.h \
./lib/inc/hw_ints.h \
./lib/inc/hw_memmap.h \
./lib/inc/hw_nvic.h \
./lib/inc/hw_sysctl.h \
./lib/inc/hw_types.h \
./lib/inc/hw_uart.h \
./lib/inc/hw_ssi.h \
./lib/driverlib/ethernet.c \
./lib/driverlib/ethernet.h \
./lib/driverlib/cpulib.c \
./lib/driverlib/flashlib.c \
./lib/driverlib/gpio.h \
./lib/driverlib/sysctl.c \
./lib/driverlib/uartlib.h \
./lib/driverlib/cpulib.h \
./lib/driverlib/flashlib.h \
./lib/driverlib/interrupt.c \
./lib/driverlib/sysctl.h \
./lib/driverlib/debug.h \
./lib/driverlib/gpio.c \
./lib/driverlib/interrupt.h \
./lib/driverlib/uartlib.c \
./lib/driverlib/pin_map.h \
./lib/driverlib/ssi.c \
./lib/driverlib/ssi.h \
./lib/fatfs/ffconf.h \
./lib/fatfs/mmc.c \
./lib/uip/clock-arch.c \
./lib/uip/clock-arch.h \
./lib/uip/netdev.c \
./lib/uip/netdev.h \
./lib/uip/uip-conf.h \
../../../Source/boot.c \
../../../Source/boot.h \
../../../Source/com.c \
../../../Source/com.h \
../../../Source/xcp.c \
../../../Source/xcp.h \
../../../Source/backdoor.c \
../../../Source/backdoor.h \
../../../Source/cop.c \
../../../Source/cop.h \
../../../Source/file.c \
../../../Source/file.h \
../../../Source/net.c \
../../../Source/net.h \
../../../Source/assert.c \
../../../Source/assert.h \
../../../Source/cpu.h \
../../../Source/uart.h \
../../../Source/nvm.h \
../../../Source/timer.h \
../../../Source/plausibility.h \
../../../Source/third_party/fatfs/src/diskio.h \
../../../Source/third_party/fatfs/src/ff.c \
../../../Source/third_party/fatfs/src/ff.h \
../../../Source/third_party/fatfs/src/integer.h \
../../../Source/third_party/fatfs/src/option/unicode.c \
../../../Source/third_party/uip/uip/clock.h \
../../../Source/third_party/uip/uip/lc-addrlabels.h \
../../../Source/third_party/uip/uip/lc-switch.h \
../../../Source/third_party/uip/uip/lc.h \
../../../Source/third_party/uip/uip/pt.h \
../../../Source/third_party/uip/uip/uip-fw.h \
../../../Source/third_party/uip/uip/uip-neighbor.h \
../../../Source/third_party/uip/uip/uip-split.h \
../../../Source/third_party/uip/uip/uip.c \
../../../Source/third_party/uip/uip/uip.h \
../../../Source/third_party/uip/uip/uip_arch.h \
../../../Source/third_party/uip/uip/uip_arp.c \
../../../Source/third_party/uip/uip/uip_arp.h \
../../../Source/third_party/uip/uip/uip_timer.c \
../../../Source/third_party/uip/uip/uip_timer.h \
../../../Source/third_party/uip/uip/uiplib.c \
../../../Source/third_party/uip/uip/uiplib.h \
../../../Source/third_party/uip/uip/uipopt.h \
../../../Source/ARMCM3_LM3S/types.h \
../../../Source/ARMCM3_LM3S/cpu.c \
../../../Source/ARMCM3_LM3S/uart.c \
../../../Source/ARMCM3_LM3S/nvm.c \
../../../Source/ARMCM3_LM3S/timer.c \
../../../Source/ARMCM3_LM3S/flash.c \
../../../Source/ARMCM3_LM3S/flash.h \
../../../Source/ARMCM3_LM3S/GCC/cpu_comp.c
#|--------------------------------------------------------------------------------------|
#| Configure tool path |
#|--------------------------------------------------------------------------------------|
TOOL_PATH=/opt/gcc-arm-none-eabi-5_4-2016q3/bin/
#|---------------------------------------------------------------------------------------|
#| Compiler binaries |
#|---------------------------------------------------------------------------------------|
CC = arm-none-eabi-gcc
LN = arm-none-eabi-gcc
OC = arm-none-eabi-objcopy
OD = arm-none-eabi-objdump
AS = arm-none-eabi-as
SZ = arm-none-eabi-size
#|--------------------------------------------------------------------------------------|
#| Collect project files |
#|--------------------------------------------------------------------------------------|
# Recursive wildcard function implementation. Example usages:
# $(call rwildcard, , *.c *.h)
# --> Returns all *.c and *.h files in the current directory and below
# $(call rwildcard, /lib/, *.c)
# --> Returns all *.c files in the /lib directory and below
rwildcard = $(strip $(foreach d,$(wildcard $1*),$(call rwildcard,$d/,$2) $(filter $(subst *,%,$2),$d)))
# Collect all application files in the current directory and its subdirectories, but
# exclude flash-layout.c as this one is directly included in a source file, when used.
PROJ_FILES = $(filter-out flash_layout.c, $(call rwildcard, , *.c *.h *.S))
# Collect bootloader core files
PROJ_FILES += $(wildcard ../../../Source/*.c)
PROJ_FILES += $(wildcard ../../../Source/*.h)
# Collect bootloader port files
PROJ_FILES += $(wildcard ../../../Source/ARMCM3_LM3S/*.c)
PROJ_FILES += $(wildcard ../../../Source/ARMCM3_LM3S/*.h)
# Collect bootloader port compiler specific files
PROJ_FILES += $(wildcard ../../../Source/ARMCM3_LM3S/GCC/*.c)
PROJ_FILES += $(wildcard ../../../Source/ARMCM3_LM3S/GCC/*.h)
# Collect FatFS third party library files
PROJ_FILES += $(wildcard ../../../Source/third_party/fatfs/src/*.c)
PROJ_FILES += $(wildcard ../../../Source/third_party/fatfs/src/*.h)
PROJ_FILES += ../../../Source/third_party/fatfs/src/option/unicode.c
# Collect UIP third party library files
PROJ_FILES += ../../../Source/third_party/uip/uip/clock.h
PROJ_FILES += ../../../Source/third_party/uip/uip/lc-addrlabels.h
PROJ_FILES += ../../../Source/third_party/uip/uip/lc-switch.h
PROJ_FILES += ../../../Source/third_party/uip/uip/lc.h
PROJ_FILES += ../../../Source/third_party/uip/uip/pt.h
PROJ_FILES += ../../../Source/third_party/uip/uip/uip-fw.h
PROJ_FILES += ../../../Source/third_party/uip/uip/uip-neighbor.h
PROJ_FILES += ../../../Source/third_party/uip/uip/uip-split.h
PROJ_FILES += ../../../Source/third_party/uip/uip/uip.c
PROJ_FILES += ../../../Source/third_party/uip/uip/uip.h
PROJ_FILES += ../../../Source/third_party/uip/uip/uip_arch.h
PROJ_FILES += ../../../Source/third_party/uip/uip/uip_arp.c
PROJ_FILES += ../../../Source/third_party/uip/uip/uip_arp.h
PROJ_FILES += ../../../Source/third_party/uip/uip/uip_timer.c
PROJ_FILES += ../../../Source/third_party/uip/uip/uip_timer.h
PROJ_FILES += ../../../Source/third_party/uip/uip/uiplib.c
PROJ_FILES += ../../../Source/third_party/uip/uip/uiplib.h
PROJ_FILES += ../../../Source/third_party/uip/uip/uipopt.h
#|---------------------------------------------------------------------------------------|
#| Extract file names |
#|---------------------------------------------------------------------------------------|
PROJ_ASRCS = $(filter %.s,$(foreach file,$(PROJ_FILES),$(notdir $(file))))
#|--------------------------------------------------------------------------------------|
#| Toolchain binaries |
#|--------------------------------------------------------------------------------------|
RM = rm
CC = $(TOOL_PATH)arm-none-eabi-gcc
LN = $(TOOL_PATH)arm-none-eabi-gcc
OC = $(TOOL_PATH)arm-none-eabi-objcopy
OD = $(TOOL_PATH)arm-none-eabi-objdump
AS = $(TOOL_PATH)arm-none-eabi-gcc
SZ = $(TOOL_PATH)arm-none-eabi-size
#|--------------------------------------------------------------------------------------|
#| Filter project files
#|--------------------------------------------------------------------------------------|
PROJ_ASRCS = $(filter %.S,$(foreach file,$(PROJ_FILES),$(notdir $(file))))
PROJ_CSRCS = $(filter %.c,$(foreach file,$(PROJ_FILES),$(notdir $(file))))
PROJ_CHDRS = $(filter %.h,$(foreach file,$(PROJ_FILES),$(notdir $(file))))
PROJ_CCMPL = $(patsubst %.c,%.cpl,$(PROJ_CSRCS))
PROJ_ACMPL = $(patsubst %.s,%.cpl,$(PROJ_ASRCS))
#|---------------------------------------------------------------------------------------|
#| Set important path variables |
#|---------------------------------------------------------------------------------------|
#|--------------------------------------------------------------------------------------|
#| Set important path variables |
#|--------------------------------------------------------------------------------------|
VPATH = $(foreach path,$(sort $(foreach file,$(PROJ_FILES),$(dir $(file)))) $(subst \,/,$(OBJ_PATH)),$(path) :)
OBJ_PATH = obj
BIN_PATH = bin
INC_PATH = $(patsubst %,-I%,$(sort $(foreach file,$(filter %.h,$(PROJ_FILES)),$(dir $(file)))))
INC_PATH += -I. -I./lib
LIB_PATH = -L./
INC_PATH = $(patsubst %/,%,$(patsubst %,-I%,$(sort $(foreach file,$(filter %.h,$(PROJ_FILES)),$(dir $(file))))))
INC_PATH += -I./lib
LIB_PATH =
#|---------------------------------------------------------------------------------------|
#| Options for compiler binaries |
#|---------------------------------------------------------------------------------------|
CFLAGS = -g -mthumb -mcpu=cortex-m3 -Os -T memory.x
CFLAGS += -D PACK_STRUCT_END=__attribute\(\(packed\)\) -Wno-main
CFLAGS += -D ALIGN_STRUCT_END=__attribute\(\(aligned\(4\)\)\)
CFLAGS += -ffunction-sections -fdata-sections $(INC_PATH) -D DEBUG -D gcc
CFLAGS += -Wa,-adhlns="$(OBJ_PATH)/$(subst .o,.lst,$@)"
LFLAGS = -nostartfiles -Xlinker -M -Xlinker -Map=$(BIN_PATH)/$(PROJ_NAME).map
LFLAGS += $(LIB_PATH) -Xlinker --gc-sections
OFLAGS = -O binary
ODFLAGS = -x
SZFLAGS = -B -d
#|--------------------------------------------------------------------------------------|
#| Options for toolchain binaries |
#|--------------------------------------------------------------------------------------|
STDFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft -fno-strict-aliasing
STDFLAGS += -Wno-unused-but-set-variable -Wno-maybe-uninitialized
STDFLAGS += -fdata-sections -ffunction-sections -Wall -g3
OPTFLAGS = -Og
CFLAGS = $(STDFLAGS) $(OPTFLAGS)
CFLAGS += -DDEBUG -Dgcc
CFLAGS += $(INC_PATH)
AFLAGS = $(CFLAGS)
LFLAGS = $(STDFLAGS) $(OPTFLAGS)
LFLAGS += -Wl,-script="memory.x" -Wl,-Map=$(BIN_PATH)/$(PROJ_NAME).map
LFLAGS += -specs=nano.specs -Wl,--gc-sections $(LIB_PATH)
OFLAGS = -O binary
ODFLAGS = -x
SZFLAGS = -B -d
RMFLAGS = -f
#|---------------------------------------------------------------------------------------|
#| Specify library files |
#|---------------------------------------------------------------------------------------|
#|--------------------------------------------------------------------------------------|
#| Specify library files |
#|--------------------------------------------------------------------------------------|
LIBS =
#|---------------------------------------------------------------------------------------|
#| Define targets |
#|---------------------------------------------------------------------------------------|
AOBJS = $(patsubst %.s,%.o,$(PROJ_ASRCS))
#|--------------------------------------------------------------------------------------|
#| Define targets |
#|--------------------------------------------------------------------------------------|
AOBJS = $(patsubst %.S,%.o,$(PROJ_ASRCS))
COBJS = $(patsubst %.c,%.o,$(PROJ_CSRCS))
#|---------------------------------------------------------------------------------------|
#| Make ALL |
#|---------------------------------------------------------------------------------------|
all : $(BIN_PATH)/$(PROJ_NAME).bin
#|--------------------------------------------------------------------------------------|
#| Make ALL |
#|--------------------------------------------------------------------------------------|
.PHONY: all
all: $(BIN_PATH)/$(PROJ_NAME).bin
$(BIN_PATH)/$(PROJ_NAME).bin : $(BIN_PATH)/$(PROJ_NAME).elf
@ -204,31 +164,32 @@ $(BIN_PATH)/$(PROJ_NAME).bin : $(BIN_PATH)/$(PROJ_NAME).elf
$(BIN_PATH)/$(PROJ_NAME).elf : $(AOBJS) $(COBJS)
@echo +++ Linking [$(notdir $@)]
@$(LN) $(CFLAGS) -o $@ $(patsubst %.o,$(OBJ_PATH)/%.o,$(^F)) $(LIBS) $(LFLAGS)
@$(LN) $(LFLAGS) -o $@ $(patsubst %.o,$(OBJ_PATH)/%.o,$(^F)) $(LIBS)
#|---------------------------------------------------------------------------------------|
#| Compile and assemble |
#|---------------------------------------------------------------------------------------|
$(AOBJS): %.o: %.s $(PROJ_CHDRS)
#|--------------------------------------------------------------------------------------|
#| Compile and assemble |
#|--------------------------------------------------------------------------------------|
$(AOBJS): %.o: %.S $(PROJ_CHDRS)
@echo +++ Assembling [$(notdir $<)]
@$(AS) $(AFLAGS) $< -o $(OBJ_PATH)/$(@F)
@$(AS) $(AFLAGS) -c $< -o $(OBJ_PATH)/$(@F)
$(COBJS): %.o: %.c $(PROJ_CHDRS)
@echo +++ Compiling [$(notdir $<)]
@$(CC) $(CFLAGS) -c $< -o $(OBJ_PATH)/$(@F)
#|---------------------------------------------------------------------------------------|
#| Make CLEAN |
#|---------------------------------------------------------------------------------------|
clean :
#|--------------------------------------------------------------------------------------|
#| Make CLEAN |
#|--------------------------------------------------------------------------------------|
.PHONY: clean
clean:
@echo +++ Cleaning build environment
@cs-rm -f $(foreach file,$(AOBJS),$(OBJ_PATH)/$(file))
@cs-rm -f $(foreach file,$(COBJS),$(OBJ_PATH)/$(file))
@cs-rm -f $(patsubst %.o,%.lst,$(foreach file,$(COBJS),$(OBJ_PATH)/$(file)))
@cs-rm -f $(BIN_PATH)/$(PROJ_NAME).elf $(BIN_PATH)/$(PROJ_NAME).map
@cs-rm -f $(BIN_PATH)/$(PROJ_NAME).bin
@$(RM) $(RMFLAGS) $(foreach file,$(AOBJS),$(OBJ_PATH)/$(file))
@$(RM) $(RMFLAGS) $(foreach file,$(COBJS),$(OBJ_PATH)/$(file))
@$(RM) $(RMFLAGS) $(patsubst %.o,%.lst,$(foreach file,$(COBJS),$(OBJ_PATH)/$(file)))
@$(RM) $(RMFLAGS) $(BIN_PATH)/$(PROJ_NAME).elf $(BIN_PATH)/$(PROJ_NAME).map
@$(RM) $(RMFLAGS) $(BIN_PATH)/$(PROJ_NAME).srec
@echo +++ Clean complete

View File

@ -10,17 +10,60 @@ SECTIONS
.text :
{
KEEP(*(.isr_vector))
*(.text*)
*(.rodata*)
KEEP(*(.isr_vector))
*(.text*)
KEEP(*(.init))
KEEP(*(.fini))
/* .ctors */
*crtbegin.o(.ctors)
*crtbegin?.o(.ctors)
*(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors)
*(SORT(.ctors.*))
*(.ctors)
/* .dtors */
*crtbegin.o(.dtors)
*crtbegin?.o(.dtors)
*(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors)
*(SORT(.dtors.*))
*(.dtors)
*(.rodata*)
KEEP(*(.eh_frame*))
_etext = .;
} > FLASH
.data : AT (ADDR(.text) + SIZEOF(.text))
{
_data = .;
*(vtable)
*(.data*)
*(vtable)
*(.data*)
. = ALIGN(4);
/* preinit data */
PROVIDE_HIDDEN (__preinit_array_start = .);
KEEP(*(.preinit_array))
PROVIDE_HIDDEN (__preinit_array_end = .);
. = ALIGN(4);
/* init data */
PROVIDE_HIDDEN (__init_array_start = .);
KEEP(*(SORT(.init_array.*)))
KEEP(*(.init_array))
PROVIDE_HIDDEN (__init_array_end = .);
. = ALIGN(4);
/* finit data */
PROVIDE_HIDDEN (__fini_array_start = .);
KEEP(*(SORT(.fini_array.*)))
KEEP(*(.fini_array))
PROVIDE_HIDDEN (__fini_array_end = .);
. = ALIGN(4);
_edata = .;
} > SRAM

View File

@ -1,192 +1,233 @@
bin/demoprog_ek_lm3s6965.elf: file format elf32-littlearm
bin/demoprog_ek_lm3s6965.elf
architecture: arm, flags 0x00000112:
EXEC_P, HAS_SYMS, D_PAGED
start address 0x00008000
Program Header:
LOAD off 0x00008000 vaddr 0x00008000 paddr 0x00008000 align 2**15
filesz 0x000031fc memsz 0x000031fc flags r-x
LOAD off 0x00010000 vaddr 0x20000000 paddr 0x20000000 align 2**15
filesz 0x00000000 memsz 0x00000870 flags rw-
private flags = 5000202: [Version5 EABI] [soft-float ABI] [has entry point]
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 000031fc 00008000 00008000 00008000 2**2
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .bss 00000870 20000000 20000000 00010000 2**2
ALLOC
2 .debug_info 00005e56 00000000 00000000 0000b1fc 2**0
CONTENTS, READONLY, DEBUGGING
3 .debug_abbrev 00001342 00000000 00000000 00011052 2**0
CONTENTS, READONLY, DEBUGGING
4 .debug_loc 00003173 00000000 00000000 00012394 2**0
CONTENTS, READONLY, DEBUGGING
5 .debug_aranges 00000818 00000000 00000000 00015507 2**0
CONTENTS, READONLY, DEBUGGING
6 .debug_ranges 00000718 00000000 00000000 00015d1f 2**0
CONTENTS, READONLY, DEBUGGING
7 .debug_line 000021a7 00000000 00000000 00016437 2**0
CONTENTS, READONLY, DEBUGGING
8 .debug_str 000018a2 00000000 00000000 000185de 2**0
CONTENTS, READONLY, DEBUGGING
9 .comment 00000030 00000000 00000000 00019e80 2**0
CONTENTS, READONLY
10 .ARM.attributes 00000033 00000000 00000000 00019eb0 2**0
CONTENTS, READONLY
11 .debug_frame 000014fc 00000000 00000000 00019ee4 2**2
CONTENTS, READONLY, DEBUGGING
SYMBOL TABLE:
00008000 l d .text 00000000 .text
20000000 l d .bss 00000000 .bss
00000000 l d .debug_info 00000000 .debug_info
00000000 l d .debug_abbrev 00000000 .debug_abbrev
00000000 l d .debug_loc 00000000 .debug_loc
00000000 l d .debug_aranges 00000000 .debug_aranges
00000000 l d .debug_ranges 00000000 .debug_ranges
00000000 l d .debug_line 00000000 .debug_line
00000000 l d .debug_str 00000000 .debug_str
00000000 l d .comment 00000000 .comment
00000000 l d .ARM.attributes 00000000 .ARM.attributes
00000000 l d .debug_frame 00000000 .debug_frame
00000000 l df *ABS* 00000000 vectors.c
00000000 l df *ABS* 00000000 boot.c
20000000 l O .bss 00000004 xcpCtoRxStartTime.4457
20000004 l O .bss 00000041 xcpCtoReqPacket.4454
20000048 l O .bss 00000001 xcpCtoRxLength.4455
20000049 l O .bss 00000001 xcpCtoRxInProgress.4456
00000000 l df *ABS* 00000000 cstart.c
0000829c l F .text 00000000 zero_loop
00000000 l df *ABS* 00000000 led.c
2000004c l O .bss 00000004 timer_counter_last.4440
20000050 l O .bss 00000001 led_toggle_state.4439
00000000 l df *ABS* 00000000 net.c
20000054 l O .bss 00000004 ARPTimerTimeOut
20000058 l O .bss 00000004 periodicTimerTimeOut
00000000 l df *ABS* 00000000 main.c
2000005c l O .bss 00000004 assert_failure_line.4447
00000000 l df *ABS* 00000000 time.c
20000060 l O .bss 00000004 millisecond_counter
00000000 l df *ABS* 00000000 netdev.c
00000000 l df *ABS* 00000000 ethernet.c
00008898 l F .text 00000096 EthernetPacketGetInternal
00008930 l F .text 00000086 EthernetPacketPutInternal
00000000 l df *ABS* 00000000 flash.c
00000000 l df *ABS* 00000000 gpio.c
00008db8 l F .text 0000008a GPIOBaseValid
00000000 l df *ABS* 00000000 sysctl.c
000090f4 l F .text 00000154 SysCtlPeripheralValid
0000b138 l O .text 0000005c g_pulXtals
0000b1ac l O .text 0000000c g_pulRCGCRegs
0000b1b8 l O .text 0000000c g_pulSRCRRegs
00000000 l df *ABS* 00000000 systick.c
00000000 l df *ABS* 00000000 uart.c
000097e0 l F .text 00000026 UARTBaseValid
00000000 l df *ABS* 00000000 uip.c
00009a04 l F .text 0000004c chksum
00009a50 l F .text 00000046 upper_layer_chksum
00009b18 l F .text 00000036 uip_add_rcv_nxt
20000064 l O .bss 00000002 tmp16
20000066 l O .bss 00000002 ipid
20000068 l O .bss 00000004 iss
2000006c l O .bss 00000002 lastport
20000078 l O .bss 00000001 c
20000079 l O .bss 00000001 opt
00000000 l df *ABS* 00000000 uip_arp.c
0000abc4 l F .text 00000116 uip_arp_update
2000007a l O .bss 00000001 i
2000007b l O .bss 00000001 tmpage
2000007c l O .bss 00000060 arp_table
0000b1f4 l O .text 00000006 broadcast_ethaddr
200000dc l O .bss 00000001 c
200000dd l O .bss 00000001 arptime
200000e0 l O .bss 00000004 ipaddr
00000000 l df *ABS* 00000000 memset.c
00000000 l df *ABS* 00000000
00000100 l *ABS* 00000000 __STACKSIZE__
000085fc g F .text 0000000c __error__
00008258 g F .text 00000060 reset_handler
0000930c g F .text 00000008 SysCtlDelay
200000e4 g O .bss 00000002 uip_len
20000070 g O .bss 00000006 uip_ethaddr
00009a98 g F .text 0000007e uip_add32
0000b1fc g .text 00000000 _etext
00009248 g F .text 00000068 SysCtlPeripheralReset
00008fe0 g F .text 00000030 GPIOPinWrite
0000881c g F .text 00000052 netdev_read
00009bf4 g F .text 00000fc4 uip_process
200000e8 g O .bss 00000004 uip_sappdata
00008670 g F .text 00000024 netdev_init
200000ec g O .bss 00000004 uip_acc32
00009b50 g F .text 0000002c uip_ipchksum
000089b8 g F .text 0000003a EthernetInitExpClk
00009bc0 g F .text 00000032 uip_listen
00008870 g F .text 00000028 netdev_send
00008ba0 g F .text 00000076 EthernetPacketPut
000092b0 g F .text 00000046 SysCtlPeripheralEnable
200000f0 g O .bss 00000001 uip_flags
00008248 g F .text 0000000e BootActivate
000092f8 g F .text 00000012 SysCtlReset
20000770 g .bss 00000000 _ebss
0000866c g F .text 00000002 UnusedISR
00008b24 g F .text 0000007a EthernetPacketGetNonBlocking
000082c4 g F .text 0000003a LedInit
0000865c g F .text 00000010 TimeISRHandler
000090a8 g F .text 0000004c GPIOPinTypeEthernetLED
00008444 g F .text 0000015c NetTask
00008694 g F .text 00000188 netdev_init_mac
000099cc g F .text 00000036 UARTCharGetNonBlocking
20000000 g .bss 00000000 _bss
00009b7c g F .text 00000010 uip_tcpchksum
200000f4 g O .bss 00000004 uip_appdata
000097b4 g F .text 0000002a SysTickPeriodSet
200000f8 g O .bss 00000004 uip_conn
200000fc g O .bss 0000001e uip_conns
00008c68 g F .text 00000032 EthernetIntStatus
0000ae74 g F .text 000001d6 uip_arp_out
0000b04c g F .text 0000009e memset
000085a0 g F .text 0000005c main
000094d0 g F .text 000002ba SysCtlClockGet
00009844 g F .text 00000044 UARTDisable
00008adc g F .text 00000048 EthernetEnable
000080f4 g F .text 00000050 BootComInit
0000ad34 g F .text 00000140 uip_arp_arpin
00008608 g F .text 00000046 TimeInit
00008a64 g F .text 00000076 EthernetMACAddrSet
0000acdc g F .text 00000058 uip_arp_timer
2000011c g O .bss 00000002 uip_listenports
20000120 g O .bss 00000004 uip_draddr
20000000 g .text 00000000 _data
00008ce4 g F .text 0000004c EthernetPHYRead
00008300 g F .text 0000007a LedToggle
20000870 g .bss 00000000 _estack
000089f4 g F .text 0000006e EthernetConfigSet
20000000 g .text 00000000 _edata
0000abb8 g F .text 0000000a htons
00008000 g O .text 000000f4 _vectab
00008d30 g F .text 00000086 FlashUserGet
0000905c g F .text 0000004c GPIOPinTypeUART
00009010 g F .text 0000004c GPIOPinTypeGPIOOutput
00008c18 g F .text 0000004e EthernetIntDisable
00008144 g F .text 00000104 BootComCheckActivationRequest
00008c9c g F .text 00000048 EthernetIntClear
00008650 g F .text 0000000c TimeGet
00009b8c g F .text 00000032 uip_init
00008e44 g F .text 0000006c GPIODirModeSet
20000770 g .bss 00000000 _stack
20000124 g O .bss 00000004 uip_netmask
0000978c g F .text 00000012 SysTickEnable
20000128 g O .bss 00000004 uip_hostaddr
0000840c g F .text 00000038 NetApp
000097a0 g F .text 00000012 SysTickIntEnable
00009888 g F .text 00000142 UARTConfigSetExpClk
0000837c g F .text 00000090 NetInit
00009314 g F .text 000001ba SysCtlClockSet
00008eb0 g F .text 0000012e GPIOPadConfigSet
2000012c g O .bss 00000642 uip_buf
2000076e g O .bss 00000002 uip_slen
00009808 g F .text 0000003c UARTEnable
bin/demoprog_ek_lm3s6965.elf: file format elf32-littlearm
bin/demoprog_ek_lm3s6965.elf
architecture: arm, flags 0x00000112:
EXEC_P, HAS_SYMS, D_PAGED
start address 0x00008000
Program Header:
LOAD off 0x00000000 vaddr 0x00000000 paddr 0x00000000 align 2**16
filesz 0x0000a728 memsz 0x0000a728 flags r-x
LOAD off 0x00010000 vaddr 0x20000000 paddr 0x0000a728 align 2**16
filesz 0x00000008 memsz 0x00000b8c flags rw-
private flags = 5000200: [Version5 EABI] [soft-float ABI]
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 00002728 00008000 00008000 00008000 2**2
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .data 00000008 20000000 0000a728 00010000 2**2
CONTENTS, ALLOC, LOAD, DATA
2 .bss 00000b84 20000008 0000a730 00010008 2**2
ALLOC
3 .ARM.attributes 00000029 00000000 00000000 00010008 2**0
CONTENTS, READONLY
4 .comment 0000006e 00000000 00000000 00010031 2**0
CONTENTS, READONLY
5 .debug_info 000065fb 00000000 00000000 0001009f 2**0
CONTENTS, READONLY, DEBUGGING
6 .debug_abbrev 00001381 00000000 00000000 0001669a 2**0
CONTENTS, READONLY, DEBUGGING
7 .debug_aranges 00000838 00000000 00000000 00017a1b 2**0
CONTENTS, READONLY, DEBUGGING
8 .debug_ranges 00000738 00000000 00000000 00018253 2**0
CONTENTS, READONLY, DEBUGGING
9 .debug_macro 00008af2 00000000 00000000 0001898b 2**0
CONTENTS, READONLY, DEBUGGING
10 .debug_line 0000337a 00000000 00000000 0002147d 2**0
CONTENTS, READONLY, DEBUGGING
11 .debug_str 00023b31 00000000 00000000 000247f7 2**0
CONTENTS, READONLY, DEBUGGING
12 .debug_frame 00001540 00000000 00000000 00048328 2**2
CONTENTS, READONLY, DEBUGGING
13 .debug_loc 00003dac 00000000 00000000 00049868 2**0
CONTENTS, READONLY, DEBUGGING
SYMBOL TABLE:
00008000 l d .text 00000000 .text
20000000 l d .data 00000000 .data
20000008 l d .bss 00000000 .bss
00000000 l d .ARM.attributes 00000000 .ARM.attributes
00000000 l d .comment 00000000 .comment
00000000 l d .debug_info 00000000 .debug_info
00000000 l d .debug_abbrev 00000000 .debug_abbrev
00000000 l d .debug_aranges 00000000 .debug_aranges
00000000 l d .debug_ranges 00000000 .debug_ranges
00000000 l d .debug_macro 00000000 .debug_macro
00000000 l d .debug_line 00000000 .debug_line
00000000 l d .debug_str 00000000 .debug_str
00000000 l d .debug_frame 00000000 .debug_frame
00000000 l d .debug_loc 00000000 .debug_loc
00000000 l df *ABS* 00000000 vectors.c
00000000 l df *ABS* 00000000 crtstuff.c
0000a724 l O .text 00000000 __EH_FRAME_BEGIN__
000080f4 l F .text 00000000 __do_global_dtors_aux
20000008 l .bss 00000000 completed.8603
20000004 l O .data 00000000 __do_global_dtors_aux_fini_array_entry
00008118 l F .text 00000000 frame_dummy
2000000c l .bss 00000000 object.8608
20000000 l O .data 00000000 __frame_dummy_init_array_entry
00000000 l df *ABS* 00000000 time.c
20000024 l O .bss 00000004 millisecond_counter
00000000 l df *ABS* 00000000 net.c
20000028 l O .bss 00000004 ARPTimerTimeOut
2000002c l O .bss 00000004 periodicTimerTimeOut
00000000 l df *ABS* 00000000 boot.c
00008314 l F .text 00000038 BootComUartInit
0000834c l F .text 00000020 UartReceiveByte
0000837c l F .text 00000094 BootComUartCheckActivationRequest
20000030 l O .bss 00000004 xcpCtoRxStartTime.4565
20000034 l O .bss 00000041 xcpCtoReqPacket.4562
20000075 l O .bss 00000001 xcpCtoRxLength.4563
20000076 l O .bss 00000001 xcpCtoRxInProgress.4564
00000000 l df *ABS* 00000000 main.c
0000841c l F .text 00000018 Init
20000078 l O .bss 00000004 assert_failure_line.4555
00000000 l df *ABS* 00000000 cstart.c
0000847e l F .text 00000000 zero_loop
00000000 l df *ABS* 00000000 led.c
2000007c l O .bss 00000004 timer_counter_last.4548
20000080 l O .bss 00000001 led_toggle_state.4547
00000000 l df *ABS* 00000000 netdev.c
00000000 l df *ABS* 00000000 sysctl.c
0000869c l F .text 000001f8 SysCtlPeripheralValid
0000a614 l O .text 0000005c g_pulXtals
0000a688 l O .text 0000000c g_pulRCGCRegs
0000a694 l O .text 0000000c g_pulSRCRRegs
00000000 l df *ABS* 00000000 uart.c
00008ca4 l F .text 0000002c UARTBaseValid
00000000 l df *ABS* 00000000 ethernet.c
00008e4c l F .text 0000008a EthernetPacketGetInternal
00008ed8 l F .text 0000007c EthernetPacketPutInternal
00000000 l df *ABS* 00000000 gpio.c
000091f8 l F .text 000000dc GPIOBaseValid
00000000 l df *ABS* 00000000 flash.c
00000000 l df *ABS* 00000000 systick.c
00000000 l df *ABS* 00000000 uip.c
000095f0 l F .text 0000003a chksum
00009688 l F .text 00000030 uip_add_rcv_nxt
00009774 l F .text 0000003c upper_layer_chksum
20000082 l O .bss 00000002 tmp16
20000084 l O .bss 00000002 ipid
20000088 l O .bss 00000004 iss
2000008c l O .bss 00000002 lastport
2000008e l O .bss 00000001 c
00000000 l df *ABS* 00000000 uip_arp.c
0000a258 l F .text 00000104 uip_arp_update
20000096 l O .bss 00000001 i
20000097 l O .bss 00000001 tmpage
20000098 l O .bss 00000060 arp_table
0000a71c l O .text 00000006 broadcast_ethaddr
200000f8 l O .bss 00000001 c
200000f9 l O .bss 00000001 arptime
200000fc l O .bss 00000004 ipaddr
00000000 l df *ABS* 00000000 /opt/gcc-arm-none-eabi-5_4-2016q3/bin/../lib/gcc/arm-none-eabi/5.4.1/armv7-m/crti.o
00000000 l df *ABS* 00000000 /opt/gcc-arm-none-eabi-5_4-2016q3/bin/../lib/gcc/arm-none-eabi/5.4.1/armv7-m/crtn.o
00000000 l df *ABS* 00000000 crtstuff.c
0000a724 l O .text 00000000 __FRAME_END__
00000000 l df *ABS* 00000000
00000000 l *UND* 00000000 __bss_start__
00000000 l *UND* 00000000 __libc_fini_array
00000000 l *UND* 00000000 __sf_fake_stderr
00000000 l *UND* 00000000 __bss_end__
00000000 l *UND* 00000000 __call_exitprocs
00000000 l *UND* 00000000 software_init_hook
00000000 l *UND* 00000000 __sf_fake_stdin
20000004 l .data 00000000 __init_array_end
00000000 l *UND* 00000000 hardware_init_hook
00000000 l *UND* 00000000 atexit
20000000 l .data 00000000 __preinit_array_end
00000000 l *UND* 00000000 __stack
00000000 l *UND* 00000000 __sf_fake_stdout
20000000 l .data 00000000 __init_array_start
00000000 l *UND* 00000000 _exit
20000000 l .data 00000000 __preinit_array_start
00008450 g F .text 0000000c __error__
0000845c g F .text 00000040 reset_handler
00008934 g F .text 00000008 SysCtlDelay
20000100 g O .bss 00000002 uip_len
20000090 g O .bss 00000006 uip_ethaddr
0000962c g F .text 0000005c uip_add32
00008150 g F .text 0000000c TimeSet
0000a728 g .text 00000000 _etext
00008894 g F .text 00000058 SysCtlPeripheralReset
00009488 g F .text 00000024 GPIOPinWrite
00008648 g F .text 00000038 netdev_read
000097bc g F .text 00000a9c uip_process
20000104 g O .bss 00000004 uip_sappdata
0000851c g F .text 00000018 netdev_init
20000108 g O .bss 00000004 uip_acc32
00009754 g F .text 00000020 uip_ipchksum
00008f54 g F .text 00000030 EthernetInitExpClk
00009714 g F .text 00000034 uip_listen
00008680 g F .text 0000001c netdev_send
000090d0 g F .text 00000050 EthernetPacketPut
000088ec g F .text 00000038 SysCtlPeripheralEnable
2000010c g O .bss 00000001 uip_flags
0000a5fc g F .text 00000000 _init
00008374 g F .text 00000008 BootActivate
00008924 g F .text 00000010 SysCtlReset
2000078c g .bss 00000000 _ebss
00000400 g *ABS* 00000000 __STACKSIZE__
00008418 g F .text 00000002 UnusedISR
0000907c g F .text 00000054 EthernetPacketGetNonBlocking
000084a8 g F .text 00000028 LedInit
00008190 g F .text 00000010 TimeISRHandler
00009514 g F .text 00000034 GPIOPinTypeEthernetLED
0000823c g F .text 000000d8 NetTask
00000000 w *UND* 00000000 __deregister_frame_info
00008534 g F .text 00000114 netdev_init_mac
00008e20 g F .text 0000002c UARTCharGetNonBlocking
20000008 g .bss 00000000 _bss
000097b0 g F .text 0000000a uip_tcpchksum
20000110 g O .bss 00000004 uip_appdata
000095d0 g F .text 00000020 SysTickPeriodSet
20000114 g O .bss 00000004 uip_conn
20000118 g O .bss 0000001e uip_conns
00009158 g F .text 00000028 EthernetIntStatus
0000a49c g F .text 00000160 uip_arp_out
00008434 g F .text 0000001c main
00008aa0 g F .text 00000204 SysCtlClockGet
00008d00 g F .text 00000038 UARTDisable
0000903c g F .text 00000040 EthernetEnable
0000836c g F .text 00000008 BootComInit
0000a608 g F .text 00000000 _fini
0000a3bc g F .text 000000e0 uip_arp_arpin
0000815c g F .text 00000028 TimeInit
00008fdc g F .text 00000060 EthernetMACAddrSet
0000a35c g F .text 00000060 uip_arp_timer
20000138 g O .bss 00000002 uip_listenports
2000013c g O .bss 00000004 uip_draddr
20000000 g .data 00000000 _data
000091b4 g F .text 00000044 EthernetPHYRead
000084d0 g F .text 0000004c LedToggle
20000b8c g .bss 00000000 _estack
00008f84 g F .text 00000058 EthernetConfigSet
20000008 g .data 00000000 _edata
00009748 g F .text 0000000a htons
00008000 g O .text 000000f4 _vectab
00009548 g F .text 00000068 FlashUserGet
000094e0 g F .text 00000034 GPIOPinTypeUART
000094ac g F .text 00000034 GPIOPinTypeGPIOOutput
00009120 g F .text 00000038 EthernetIntDisable
00008410 g F .text 00000008 BootComCheckActivationRequest
00009180 g F .text 00000034 EthernetIntClear
00008184 g F .text 0000000c TimeGet
000096b8 g F .text 0000005c uip_init
000092d4 g F .text 00000060 GPIODirModeSet
2000078c g .bss 00000000 _stack
20000140 g O .bss 00000004 uip_netmask
000095b0 g F .text 00000010 SysTickEnable
20000144 g O .bss 00000004 uip_hostaddr
0000820c g F .text 00000030 NetApp
00000000 w *UND* 00000000 _Jv_RegisterClasses
000095c0 g F .text 00000010 SysTickIntEnable
00008d38 g F .text 000000e8 UARTConfigSetExpClk
000081a0 g F .text 0000006c NetInit
0000893c g F .text 00000164 SysCtlClockSet
00009334 g F .text 00000154 GPIOPadConfigSet
00000000 w *UND* 00000000 __register_frame_info
20000148 g O .bss 00000642 uip_buf
2000078a g O .bss 00000002 uip_slen
00008cd0 g F .text 00000030 UARTEnable

View File

@ -1,11 +1,11 @@
#****************************************************************************************
#| Description: Makefile for LM3S using CodeSourcery GNU GCC compiler toolset
#| Description: Makefile for GNU ARM Embedded toolchain.
#| File Name: makefile
#|
#|---------------------------------------------------------------------------------------
#| C O P Y R I G H T
#|---------------------------------------------------------------------------------------
#| Copyright (c) 2012 by Feaser http://www.feaser.com All rights reserved
#| Copyright (c) 2017 by Feaser http://www.feaser.com All rights reserved
#|
#|---------------------------------------------------------------------------------------
#| L I C E N S E
@ -25,190 +25,120 @@
#****************************************************************************************
SHELL = sh
#|---------------------------------------------------------------------------------------|
#| Configure project name |
#|---------------------------------------------------------------------------------------|
#|--------------------------------------------------------------------------------------|
#| Configure project name |
#|--------------------------------------------------------------------------------------|
PROJ_NAME=demoprog_ek_lm3s6965
#|---------------------------------------------------------------------------------------|
#| Speficy project source files |
#|---------------------------------------------------------------------------------------|
PROJ_FILES= \
boot.c \
boot.h \
cstart.c \
header.h \
led.c \
led.h \
net.c \
net.h \
main.c \
time.c \
time.h \
vectors.c \
lib/uip/clock-arch.c \
lib/uip/clock-arch.h \
lib/uip/netdev.c \
lib/uip/netdev.h \
lib/uip/uip-conf.h \
lib/inc/asmdefs.h \
lib/inc/hw_adc.h \
lib/inc/hw_comp.h \
lib/inc/hw_epi.h \
lib/inc/hw_ethernet.h \
lib/inc/hw_flash.h \
lib/inc/hw_gpio.h \
lib/inc/hw_hibernate.h \
lib/inc/hw_i2c.h \
lib/inc/hw_i2s.h \
lib/inc/hw_ints.h \
lib/inc/hw_memmap.h \
lib/inc/hw_nvic.h \
lib/inc/hw_pwm.h \
lib/inc/hw_qei.h \
lib/inc/hw_ssi.h \
lib/inc/hw_sysctl.h \
lib/inc/hw_timer.h \
lib/inc/hw_types.h \
lib/inc/hw_uart.h \
lib/inc/hw_udma.h \
lib/inc/hw_usb.h \
lib/inc/hw_watchdog.h \
lib/inc/lm3s6965.h \
lib/driverlib/adc.c \
lib/driverlib/adc.h \
lib/driverlib/comp.c \
lib/driverlib/comp.h \
lib/driverlib/cpu.c \
lib/driverlib/cpu.h \
lib/driverlib/debug.h \
lib/driverlib/epi.c \
lib/driverlib/epi.h \
lib/driverlib/ethernet.c \
lib/driverlib/ethernet.h \
lib/driverlib/flash.c \
lib/driverlib/flash.h \
lib/driverlib/gpio.c \
lib/driverlib/gpio.h \
lib/driverlib/hibernate.c \
lib/driverlib/hibernate.h \
lib/driverlib/i2c.c \
lib/driverlib/i2c.h \
lib/driverlib/i2s.c \
lib/driverlib/i2s.h \
lib/driverlib/interrupt.c \
lib/driverlib/interrupt.h \
lib/driverlib/mpu.c \
lib/driverlib/mpu.h \
lib/driverlib/pin_map.h \
lib/driverlib/pwm.c \
lib/driverlib/pwm.h \
lib/driverlib/qei.c \
lib/driverlib/qei.h \
lib/driverlib/rom.h \
lib/driverlib/rom_map.h \
lib/driverlib/ssi.c \
lib/driverlib/ssi.h \
lib/driverlib/sysctl.c \
lib/driverlib/sysctl.h \
lib/driverlib/systick.c \
lib/driverlib/systick.h \
lib/driverlib/timer.c \
lib/driverlib/timer.h \
lib/driverlib/uart.c \
lib/driverlib/uart.h \
lib/driverlib/udma.c \
lib/driverlib/udma.h \
lib/driverlib/usb.c \
lib/driverlib/usb.h \
lib/driverlib/watchdog.c \
lib/driverlib/watchdog.h \
../../../Source/third_party/uip/uip/clock.h \
../../../Source/third_party/uip/uip/lc-addrlabels.h \
../../../Source/third_party/uip/uip/lc-switch.h \
../../../Source/third_party/uip/uip/lc.h \
../../../Source/third_party/uip/uip/pt.h \
../../../Source/third_party/uip/uip/uip-fw.c \
../../../Source/third_party/uip/uip/uip-fw.h \
../../../Source/third_party/uip/uip/uip-neighbor.h \
../../../Source/third_party/uip/uip/uip-split.h \
../../../Source/third_party/uip/uip/uip.c \
../../../Source/third_party/uip/uip/uip.h \
../../../Source/third_party/uip/uip/uiplib.c \
../../../Source/third_party/uip/uip/uiplib.h \
../../../Source/third_party/uip/uip/uipopt.h \
../../../Source/third_party/uip/uip/uip_arch.h \
../../../Source/third_party/uip/uip/uip_arp.c \
../../../Source/third_party/uip/uip/uip_arp.h \
../../../Source/third_party/uip/uip/uip_timer.c \
../../../Source/third_party/uip/uip/uip_timer.h
#|--------------------------------------------------------------------------------------|
#| Configure tool path |
#|--------------------------------------------------------------------------------------|
TOOL_PATH=/opt/gcc-arm-none-eabi-5_4-2016q3/bin/
#|---------------------------------------------------------------------------------------|
#| Compiler binaries |
#|---------------------------------------------------------------------------------------|
CC = arm-none-eabi-gcc
LN = arm-none-eabi-gcc
OC = arm-none-eabi-objcopy
OD = arm-none-eabi-objdump
AS = arm-none-eabi-as
SZ = arm-none-eabi-size
#|--------------------------------------------------------------------------------------|
#| Collect project files |
#|--------------------------------------------------------------------------------------|
# Recursive wildcard function implementation. Example usages:
# $(call rwildcard, , *.c *.h)
# --> Returns all *.c and *.h files in the current directory and below
# $(call rwildcard, /lib/, *.c)
# --> Returns all *.c files in the /lib directory and below
rwildcard = $(strip $(foreach d,$(wildcard $1*),$(call rwildcard,$d/,$2) $(filter $(subst *,%,$2),$d)))
# Collect all application files in the current directory and its subdirectories
PROJ_FILES = $(call rwildcard, , *.c *.h *.S)
# Collect UIP third party library files
PROJ_FILES += ../../../Source/third_party/uip/uip/clock.h
PROJ_FILES += ../../../Source/third_party/uip/uip/lc-addrlabels.h
PROJ_FILES += ../../../Source/third_party/uip/uip/lc-switch.h
PROJ_FILES += ../../../Source/third_party/uip/uip/lc.h
PROJ_FILES += ../../../Source/third_party/uip/uip/pt.h
PROJ_FILES += ../../../Source/third_party/uip/uip/uip-fw.h
PROJ_FILES += ../../../Source/third_party/uip/uip/uip-neighbor.h
PROJ_FILES += ../../../Source/third_party/uip/uip/uip-split.h
PROJ_FILES += ../../../Source/third_party/uip/uip/uip.c
PROJ_FILES += ../../../Source/third_party/uip/uip/uip.h
PROJ_FILES += ../../../Source/third_party/uip/uip/uip_arch.h
PROJ_FILES += ../../../Source/third_party/uip/uip/uip_arp.c
PROJ_FILES += ../../../Source/third_party/uip/uip/uip_arp.h
PROJ_FILES += ../../../Source/third_party/uip/uip/uip_timer.c
PROJ_FILES += ../../../Source/third_party/uip/uip/uip_timer.h
PROJ_FILES += ../../../Source/third_party/uip/uip/uiplib.c
PROJ_FILES += ../../../Source/third_party/uip/uip/uiplib.h
PROJ_FILES += ../../../Source/third_party/uip/uip/uipopt.h
#|---------------------------------------------------------------------------------------|
#| Extract file names |
#|---------------------------------------------------------------------------------------|
PROJ_ASRCS = $(filter %.s,$(foreach file,$(PROJ_FILES),$(notdir $(file))))
#|--------------------------------------------------------------------------------------|
#| Toolchain binaries |
#|--------------------------------------------------------------------------------------|
RM = rm
CC = $(TOOL_PATH)arm-none-eabi-gcc
LN = $(TOOL_PATH)arm-none-eabi-gcc
OC = $(TOOL_PATH)arm-none-eabi-objcopy
OD = $(TOOL_PATH)arm-none-eabi-objdump
AS = $(TOOL_PATH)arm-none-eabi-gcc
SZ = $(TOOL_PATH)arm-none-eabi-size
#|--------------------------------------------------------------------------------------|
#| Filter project files
#|--------------------------------------------------------------------------------------|
PROJ_ASRCS = $(filter %.S,$(foreach file,$(PROJ_FILES),$(notdir $(file))))
PROJ_CSRCS = $(filter %.c,$(foreach file,$(PROJ_FILES),$(notdir $(file))))
PROJ_CHDRS = $(filter %.h,$(foreach file,$(PROJ_FILES),$(notdir $(file))))
PROJ_CCMPL = $(patsubst %.c,%.cpl,$(PROJ_CSRCS))
PROJ_ACMPL = $(patsubst %.s,%.cpl,$(PROJ_ASRCS))
#|---------------------------------------------------------------------------------------|
#| Set important path variables |
#|---------------------------------------------------------------------------------------|
#|--------------------------------------------------------------------------------------|
#| Set important path variables |
#|--------------------------------------------------------------------------------------|
VPATH = $(foreach path,$(sort $(foreach file,$(PROJ_FILES),$(dir $(file)))) $(subst \,/,$(OBJ_PATH)),$(path) :)
OBJ_PATH = obj
BIN_PATH = bin
INC_PATH = $(patsubst %,-I%,$(sort $(foreach file,$(filter %.h,$(PROJ_FILES)),$(dir $(file)))))
INC_PATH += -I. -I./lib
INC_PATH = $(patsubst %/,%,$(patsubst %,-I%,$(sort $(foreach file,$(filter %.h,$(PROJ_FILES)),$(dir $(file))))))
INC_PATH += -I./lib
LIB_PATH =
#|---------------------------------------------------------------------------------------|
#| Options for compiler binaries |
#|---------------------------------------------------------------------------------------|
CFLAGS = -g -mthumb -mcpu=cortex-m3 -mlong-calls -O1 -T memory.x
CFLAGS += -D PACK_STRUCT_END=__attribute\(\(packed\)\) -D sprintf=usprintf -Wno-main
CFLAGS += -D ALIGN_STRUCT_END=__attribute\(\(aligned\(4\)\)\) -D snprintf=usnprintf
CFLAGS += -D printf=uipprintf -ffunction-sections -fdata-sections $(INC_PATH)
CFLAGS += -D DEBUG -D gcc
LFLAGS = -nostartfiles -Xlinker -M -Xlinker -Map=$(BIN_PATH)/$(PROJ_NAME).map
LFLAGS += $(LIB_PATH) -Xlinker --gc-sections
OFLAGS = -O srec
ODFLAGS = -x
SZFLAGS = -B -d
#|--------------------------------------------------------------------------------------|
#| Options for toolchain binaries |
#|--------------------------------------------------------------------------------------|
STDFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft -fno-strict-aliasing
STDFLAGS += -Wno-unused-but-set-variable -Wno-maybe-uninitialized
STDFLAGS += -fdata-sections -ffunction-sections -Wall -g3
OPTFLAGS = -Og
CFLAGS = $(STDFLAGS) $(OPTFLAGS)
CFLAGS += -DDEBUG -Dgcc
CFLAGS += $(INC_PATH)
AFLAGS = $(CFLAGS)
LFLAGS = $(STDFLAGS) $(OPTFLAGS)
LFLAGS += -Wl,-script="memory.x" -Wl,-Map=$(BIN_PATH)/$(PROJ_NAME).map
LFLAGS += -specs=nano.specs -Wl,--gc-sections $(LIB_PATH)
OFLAGS = -O srec
ODFLAGS = -x
SZFLAGS = -B -d
RMFLAGS = -f
#|---------------------------------------------------------------------------------------|
#| Specify library files |
#|---------------------------------------------------------------------------------------|
#|--------------------------------------------------------------------------------------|
#| Specify library files |
#|--------------------------------------------------------------------------------------|
LIBS =
#|---------------------------------------------------------------------------------------|
#| Define targets |
#|---------------------------------------------------------------------------------------|
AOBJS = $(patsubst %.s,%.o,$(PROJ_ASRCS))
#|--------------------------------------------------------------------------------------|
#| Define targets |
#|--------------------------------------------------------------------------------------|
AOBJS = $(patsubst %.S,%.o,$(PROJ_ASRCS))
COBJS = $(patsubst %.c,%.o,$(PROJ_CSRCS))
#|---------------------------------------------------------------------------------------|
#| Make ALL |
#|---------------------------------------------------------------------------------------|
all : $(BIN_PATH)/$(PROJ_NAME).srec
#|--------------------------------------------------------------------------------------|
#| Make ALL |
#|--------------------------------------------------------------------------------------|
.PHONY: all
all: $(BIN_PATH)/$(PROJ_NAME).srec
$(BIN_PATH)/$(PROJ_NAME).srec : $(BIN_PATH)/$(PROJ_NAME).elf
@ -220,31 +150,32 @@ $(BIN_PATH)/$(PROJ_NAME).srec : $(BIN_PATH)/$(PROJ_NAME).elf
$(BIN_PATH)/$(PROJ_NAME).elf : $(AOBJS) $(COBJS)
@echo +++ Linking [$(notdir $@)]
@$(LN) $(CFLAGS) -o $@ $(patsubst %.o,$(OBJ_PATH)/%.o,$(^F)) $(LIBS) $(LFLAGS)
@$(LN) $(LFLAGS) -o $@ $(patsubst %.o,$(OBJ_PATH)/%.o,$(^F)) $(LIBS)
#|---------------------------------------------------------------------------------------|
#| Compile and assemble |
#|---------------------------------------------------------------------------------------|
$(AOBJS): %.o: %.s $(PROJ_CHDRS)
#|--------------------------------------------------------------------------------------|
#| Compile and assemble |
#|--------------------------------------------------------------------------------------|
$(AOBJS): %.o: %.S $(PROJ_CHDRS)
@echo +++ Assembling [$(notdir $<)]
@$(AS) $(AFLAGS) $< -o $(OBJ_PATH)/$(@F)
@$(AS) $(AFLAGS) -c $< -o $(OBJ_PATH)/$(@F)
$(COBJS): %.o: %.c $(PROJ_CHDRS)
@echo +++ Compiling [$(notdir $<)]
@$(CC) $(CFLAGS) -c $< -o $(OBJ_PATH)/$(@F)
#|---------------------------------------------------------------------------------------|
#| Make CLEAN |
#|---------------------------------------------------------------------------------------|
clean :
#|--------------------------------------------------------------------------------------|
#| Make CLEAN |
#|--------------------------------------------------------------------------------------|
.PHONY: clean
clean:
@echo +++ Cleaning build environment
@cs-rm -f $(foreach file,$(AOBJS),$(OBJ_PATH)/$(file))
@cs-rm -f $(foreach file,$(COBJS),$(OBJ_PATH)/$(file))
@cs-rm -f $(patsubst %.o,%.lst,$(foreach file,$(COBJS),$(OBJ_PATH)/$(file)))
@cs-rm -f $(BIN_PATH)/$(PROJ_NAME).elf $(BIN_PATH)/$(PROJ_NAME).map
@cs-rm -f $(BIN_PATH)/$(PROJ_NAME).srec
@$(RM) $(RMFLAGS) $(foreach file,$(AOBJS),$(OBJ_PATH)/$(file))
@$(RM) $(RMFLAGS) $(foreach file,$(COBJS),$(OBJ_PATH)/$(file))
@$(RM) $(RMFLAGS) $(patsubst %.o,%.lst,$(foreach file,$(COBJS),$(OBJ_PATH)/$(file)))
@$(RM) $(RMFLAGS) $(BIN_PATH)/$(PROJ_NAME).elf $(BIN_PATH)/$(PROJ_NAME).map
@$(RM) $(RMFLAGS) $(BIN_PATH)/$(PROJ_NAME).srec
@echo +++ Clean complete

View File

@ -6,21 +6,64 @@ MEMORY
SECTIONS
{
__STACKSIZE__ = 256;
__STACKSIZE__ = 1024;
.text :
{
KEEP(*(.isr_vector))
*(.text*)
*(.rodata*)
KEEP(*(.isr_vector))
*(.text*)
KEEP(*(.init))
KEEP(*(.fini))
/* .ctors */
*crtbegin.o(.ctors)
*crtbegin?.o(.ctors)
*(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors)
*(SORT(.ctors.*))
*(.ctors)
/* .dtors */
*crtbegin.o(.dtors)
*crtbegin?.o(.dtors)
*(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors)
*(SORT(.dtors.*))
*(.dtors)
*(.rodata*)
KEEP(*(.eh_frame*))
_etext = .;
} > FLASH
.data : AT (ADDR(.text) + SIZEOF(.text))
{
_data = .;
*(vtable)
*(.data*)
*(vtable)
*(.data*)
. = ALIGN(4);
/* preinit data */
PROVIDE_HIDDEN (__preinit_array_start = .);
KEEP(*(.preinit_array))
PROVIDE_HIDDEN (__preinit_array_end = .);
. = ALIGN(4);
/* init data */
PROVIDE_HIDDEN (__init_array_start = .);
KEEP(*(SORT(.init_array.*)))
KEEP(*(.init_array))
PROVIDE_HIDDEN (__init_array_end = .);
. = ALIGN(4);
/* finit data */
PROVIDE_HIDDEN (__fini_array_start = .);
KEEP(*(SORT(.fini_array.*)))
KEEP(*(.fini_array))
PROVIDE_HIDDEN (__fini_array_end = .);
. = ALIGN(4);
_edata = .;
} > SRAM
@ -33,5 +76,6 @@ SECTIONS
_stack = .;
. = ALIGN(MAX(_stack + __STACKSIZE__ , .), 4);
_estack = .;
} > SRAM
}

View File

@ -1,194 +1,256 @@
bin/openblt_ek_lm3s8962.elf: file format elf32-littlearm
bin/openblt_ek_lm3s8962.elf
architecture: arm, flags 0x00000112:
EXEC_P, HAS_SYMS, D_PAGED
start address 0x00000000
Program Header:
LOAD off 0x00008000 vaddr 0x00000000 paddr 0x00000000 align 2**15
filesz 0x00001e90 memsz 0x00001e90 flags r-x
LOAD off 0x00010000 vaddr 0x20000000 paddr 0x00001e90 align 2**15
filesz 0x00000001 memsz 0x00000cf0 flags rw-
private flags = 5000200: [Version5 EABI] [soft-float ABI]
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 00001e90 00000000 00000000 00008000 2**2
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .data 00000001 20000000 00001e90 00010000 2**0
CONTENTS, ALLOC, LOAD, DATA
2 .bss 00000cec 20000004 00001e94 00010001 2**2
ALLOC
3 .debug_info 00007e62 00000000 00000000 00010001 2**0
CONTENTS, READONLY, DEBUGGING
4 .debug_abbrev 00001cb7 00000000 00000000 00017e63 2**0
CONTENTS, READONLY, DEBUGGING
5 .debug_aranges 00000938 00000000 00000000 00019b1a 2**0
CONTENTS, READONLY, DEBUGGING
6 .debug_ranges 00000890 00000000 00000000 0001a452 2**0
CONTENTS, READONLY, DEBUGGING
7 .debug_line 00002b0c 00000000 00000000 0001ace2 2**0
CONTENTS, READONLY, DEBUGGING
8 .debug_str 00001d89 00000000 00000000 0001d7ee 2**0
CONTENTS, READONLY, DEBUGGING
9 .comment 00000030 00000000 00000000 0001f577 2**0
CONTENTS, READONLY
10 .ARM.attributes 00000033 00000000 00000000 0001f5a7 2**0
CONTENTS, READONLY
11 .debug_frame 000019b4 00000000 00000000 0001f5dc 2**2
CONTENTS, READONLY, DEBUGGING
12 .debug_loc 00004a3c 00000000 00000000 00020f90 2**0
CONTENTS, READONLY, DEBUGGING
SYMBOL TABLE:
00000000 l d .text 00000000 .text
20000000 l d .data 00000000 .data
20000004 l d .bss 00000000 .bss
00000000 l d .debug_info 00000000 .debug_info
00000000 l d .debug_abbrev 00000000 .debug_abbrev
00000000 l d .debug_aranges 00000000 .debug_aranges
00000000 l d .debug_ranges 00000000 .debug_ranges
00000000 l d .debug_line 00000000 .debug_line
00000000 l d .debug_str 00000000 .debug_str
00000000 l d .comment 00000000 .comment
00000000 l d .ARM.attributes 00000000 .ARM.attributes
00000000 l d .debug_frame 00000000 .debug_frame
00000000 l d .debug_loc 00000000 .debug_loc
00000000 l df *ABS* 00000000 vectors.c
00000000 l df *ABS* 00000000 main.c
00000000 l df *ABS* 00000000 cstart.c
00000160 l F .text 00000000 zero_loop
00000000 l df *ABS* 00000000 flashlib.c
00000000 l df *ABS* 00000000 sysctl.c
000002a8 l F .text 000000e4 SysCtlPeripheralValid
00001c78 l O .text 0000005c g_pulXtals
00001cf0 l O .text 0000000c g_pulRCGCRegs
00000000 l df *ABS* 00000000 interrupt.c
00000000 l df *ABS* 00000000 gpio.c
000007c4 l F .text 00000040 GPIOBaseValid
00000000 l df *ABS* 00000000 uartlib.c
000009c0 l F .text 00000020 UARTBaseValid
00000000 l df *ABS* 00000000 canlib.c
00000b8c l F .text 00000020 CANBaseValid
00000bac l F .text 0000002c CANIntNumberGet
00000bd8 l F .text 00000018 CANRegWrite
00000bf0 l F .text 00000064 CANRegRead
00000000 l df *ABS* 00000000 boot.c
00000000 l df *ABS* 00000000 com.c
00001d62 l O .text 00000003 CSWTCH.8
20000004 l O .bss 00000040 xcpCtoReqPacket.4167
20000000 l O .data 00000001 comActiveInterface
00001d65 l O .text 00000003 CSWTCH.10
00000000 l df *ABS* 00000000 xcp.c
0000131c l F .text 00000014 XcpSetCtoError
00001d68 l O .text 00000008 xcpStationId
20000044 l O .bss 0000004c xcpInfo
00000000 l df *ABS* 00000000 backdoor.c
20000090 l O .bss 00000001 backdoorOpen
20000094 l O .bss 00000004 backdoorOpenTime
00000000 l df *ABS* 00000000 cop.c
00000000 l df *ABS* 00000000 assert.c
00000000 l df *ABS* 00000000 cpu.c
00000000 l df *ABS* 00000000 uart.c
20000098 l O .bss 00000001 xcpCtoRxInProgress.4366
2000009c l O .bss 00000004 xcpCtoRxStartTime.4367
200000a0 l O .bss 00000041 xcpCtoReqPacket.4364
200000e1 l O .bss 00000001 xcpCtoRxLength.4365
00000000 l df *ABS* 00000000 can.c
00000000 l df *ABS* 00000000 nvm.c
00000000 l df *ABS* 00000000 timer.c
200000e4 l O .bss 00000004 millisecond_counter
00000000 l df *ABS* 00000000 flash.c
00001904 l F .text 00000034 FlashGetSector
00001938 l F .text 0000004c FlashWriteBlock
00001984 l F .text 00000050 FlashSwitchBlock
000019d4 l F .text 00000080 FlashAddToBlock
00001db8 l O .text 000000d8 flashLayout
200000e8 l O .bss 00000204 bootBlockInfo
200002ec l O .bss 00000204 blockInfo
00000000 l df *ABS* 00000000 cpu_comp.c
00000000 l df *ABS* 00000000
00000800 l *ABS* 00000000 __STACKSIZE__
00001248 g F .text 00000020 ComInit
00001a6c g F .text 00000048 FlashWrite
000015e0 g F .text 00000008 AssertFailure
00001858 g F .text 0000002c CanReceivePacket
0000013c g F .text 00000044 reset_handler
00000c54 g F .text 00000098 CANInit
000018d8 g F .text 0000001c TimerUpdate
0000135c g F .text 00000010 XcpPacketTransmitted
00001268 g F .text 0000003c ComTask
000003c4 g F .text 00000008 SysCtlDelay
00001214 g F .text 0000001e BootInit
00000cec g F .text 0000002c CANEnable
000015bc g F .text 00000020 BackDoorInit
000015de g F .text 00000002 CopService
00001e90 g .text 00000000 _etext
00001c4a g F .text 00000004 CpuIrqDisable
00001c44 g F .text 00000006 FlashGetUserProgBaseAddress
00000b14 g F .text 00000024 UARTSpaceAvail
000018cc g F .text 0000000c TimerReset
00000b60 g F .text 0000002c UARTCharPutNonBlocking
00001232 g F .text 00000016 BootTask
00001b84 g F .text 00000044 FlashWriteChecksum
000012a8 g F .text 00000030 ComTransmitPacket
0000038c g F .text 00000038 SysCtlPeripheralEnable
0000134c g F .text 00000010 XcpIsConnected
00001884 g F .text 00000004 NvmInit
00001a54 g F .text 00000018 FlashInit
00001894 g F .text 00000004 NvmGetUserProgBaseAddress
200004f0 g .bss 00000000 _ebss
00000130 g F .text 0000000c UnusedISR
000012a4 g F .text 00000002 ComFree
00001640 g F .text 00000028 UartInit
0000188c g F .text 00000004 NvmErase
00000b38 g F .text 00000028 UARTCharGetNonBlocking
20000004 g .bss 00000000 _bss
0000136c g F .text 00000218 XcpPacketReceived
000015e8 g F .text 00000004 CpuInit
00001c10 g F .text 00000034 FlashDone
00000df4 g F .text 0000007c CANStatusGet
00001804 g F .text 00000054 CanTransmitPacket
000001d0 g F .text 000000d8 FlashProgram
00001330 g F .text 0000001c XcpInit
00001ab4 g F .text 000000d0 FlashErase
000000f0 g F .text 00000040 main
00000508 g F .text 000001ac SysCtlClockGet
00000a10 g F .text 00000034 UARTDisable
00001898 g F .text 00000012 NvmDone
00001668 g F .text 0000006c UartTransmitPacket
00001890 g F .text 00000004 NvmVerifyChecksum
00001058 g F .text 000001bc CANMessageGet
00001620 g F .text 0000001e CpuMemCopy
00000958 g F .text 00000034 GPIOPinTypeCAN
000012f8 g F .text 00000020 ComGetActiveInterfaceMaxTxLen
000016d4 g F .text 00000090 UartReceivePacket
00001c4e g F .text 00000004 CpuIrqEnable
0000073c g F .text 00000088 IntDisable
20000000 g .data 00000000 _data
000015dc g F .text 00000002 CopInit
00001764 g F .text 000000a0 CanInit
00001888 g F .text 00000004 NvmWrite
000015ec g F .text 00000034 CpuStartUserProgram
00000d18 g F .text 000000dc CANBitTimingSet
20000cf0 g .bss 00000000 _estack
00001bc8 g F .text 00000048 FlashVerifyChecksum
20000001 g .data 00000000 _edata
00000000 g O .text 000000f0 _vectab
0000098c g F .text 00000034 GPIOPinTypeUART
00001318 g F .text 00000004 ComIsConnected
000006b4 g F .text 00000088 IntEnable
000012d8 g F .text 00000020 ComGetActiveInterfaceMaxRxLen
00000804 g F .text 00000054 GPIODirModeSet
00001584 g F .text 00000038 BackDoorCheck
200004f0 g .bss 00000000 _stack
000018f4 g F .text 00000010 TimerGet
00000e70 g F .text 000001e8 CANMessageSet
00000a44 g F .text 000000d0 UARTConfigSetExpClk
000003cc g F .text 0000013c SysCtlClockSet
00000858 g F .text 00000100 GPIOPadConfigSet
000018ac g F .text 00000020 TimerInit
0000018c g F .text 00000044 FlashClear
000009e0 g F .text 00000030 UARTEnable
bin/openblt_ek_lm3s8962.elf: file format elf32-littlearm
bin/openblt_ek_lm3s8962.elf
architecture: arm, flags 0x00000112:
EXEC_P, HAS_SYMS, D_PAGED
start address 0x00000000
Program Header:
LOAD off 0x00010000 vaddr 0x00000000 paddr 0x00000000 align 2**16
filesz 0x00002514 memsz 0x00002514 flags r-x
LOAD off 0x00020000 vaddr 0x20000000 paddr 0x00002514 align 2**16
filesz 0x0000000c memsz 0x00000d10 flags rw-
private flags = 5000200: [Version5 EABI] [soft-float ABI]
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 00002514 00000000 00000000 00010000 2**2
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .data 0000000c 20000000 00002514 00020000 2**2
CONTENTS, ALLOC, LOAD, DATA
2 .bss 00000d04 2000000c 00002520 0002000c 2**2
ALLOC
3 .ARM.attributes 00000029 00000000 00000000 0002000c 2**0
CONTENTS, READONLY
4 .comment 0000006e 00000000 00000000 00020035 2**0
CONTENTS, READONLY
5 .debug_info 00007bd6 00000000 00000000 000200a3 2**0
CONTENTS, READONLY, DEBUGGING
6 .debug_abbrev 0000174a 00000000 00000000 00027c79 2**0
CONTENTS, READONLY, DEBUGGING
7 .debug_aranges 00000a18 00000000 00000000 000293c3 2**0
CONTENTS, READONLY, DEBUGGING
8 .debug_ranges 000008b8 00000000 00000000 00029ddb 2**0
CONTENTS, READONLY, DEBUGGING
9 .debug_macro 000083f9 00000000 00000000 0002a693 2**0
CONTENTS, READONLY, DEBUGGING
10 .debug_line 00003c87 00000000 00000000 00032a8c 2**0
CONTENTS, READONLY, DEBUGGING
11 .debug_str 00020952 00000000 00000000 00036713 2**0
CONTENTS, READONLY, DEBUGGING
12 .debug_frame 000019e8 00000000 00000000 00057068 2**2
CONTENTS, READONLY, DEBUGGING
13 .debug_loc 00004d6b 00000000 00000000 00058a50 2**0
CONTENTS, READONLY, DEBUGGING
SYMBOL TABLE:
00000000 l d .text 00000000 .text
20000000 l d .data 00000000 .data
2000000c l d .bss 00000000 .bss
00000000 l d .ARM.attributes 00000000 .ARM.attributes
00000000 l d .comment 00000000 .comment
00000000 l d .debug_info 00000000 .debug_info
00000000 l d .debug_abbrev 00000000 .debug_abbrev
00000000 l d .debug_aranges 00000000 .debug_aranges
00000000 l d .debug_ranges 00000000 .debug_ranges
00000000 l d .debug_macro 00000000 .debug_macro
00000000 l d .debug_line 00000000 .debug_line
00000000 l d .debug_str 00000000 .debug_str
00000000 l d .debug_frame 00000000 .debug_frame
00000000 l d .debug_loc 00000000 .debug_loc
00000000 l df *ABS* 00000000 vectors.c
00000000 l df *ABS* 00000000 crtstuff.c
00002510 l O .text 00000000 __EH_FRAME_BEGIN__
000000f0 l F .text 00000000 __do_global_dtors_aux
2000000c l .bss 00000000 completed.8603
20000008 l O .data 00000000 __do_global_dtors_aux_fini_array_entry
00000114 l F .text 00000000 frame_dummy
20000010 l .bss 00000000 object.8608
20000004 l O .data 00000000 __frame_dummy_init_array_entry
00000000 l df *ABS* 00000000 main.c
0000015c l F .text 00000038 Init
00000000 l df *ABS* 00000000 cstart.c
000001c6 l F .text 00000000 zero_loop
00000000 l df *ABS* 00000000 sysctl.c
000001f0 l F .text 000001f8 SysCtlPeripheralValid
000022e8 l O .text 0000005c g_pulXtals
0000235c l O .text 0000000c g_pulRCGCRegs
00000000 l df *ABS* 00000000 flashlib.c
00000000 l df *ABS* 00000000 interrupt.c
00000000 l df *ABS* 00000000 canlib.c
000009d0 l F .text 0000002c CANBaseValid
000009fc l F .text 0000002c CANIntNumberGet
00000a28 l F .text 0000001a CANRegWrite
00000a44 l F .text 0000002e CANDataRegWrite
00000a74 l F .text 00000068 CANRegRead
00000adc l F .text 0000002e CANDataRegRead
00000000 l df *ABS* 00000000 gpio.c
000010f4 l F .text 000000dc GPIOBaseValid
00000000 l df *ABS* 00000000 uartlib.c
000013ec l F .text 0000002c UARTBaseValid
00000000 l df *ABS* 00000000 xcp.c
000015e8 l F .text 0000001e XcpComputeChecksum
00001608 l F .text 0000000c XcpProtectResources
00001614 l F .text 00000014 XcpSetCtoError
00001628 l F .text 0000001c XcpCmdDisconnect
00001644 l F .text 00000020 XcpCmdGetStatus
00001664 l F .text 0000000a XcpCmdSynch
00001670 l F .text 0000002c XcpCmdGetId
0000169c l F .text 00000018 XcpCmdSetMta
000016b4 l F .text 00000028 XcpCmdBuildCheckSum
000016dc l F .text 0000000a XcpCmdProgramPrepare
000016e8 l F .text 00000028 XcpCmdProgramStart
00001710 l F .text 00000044 XcpCmdConnect
00001754 l F .text 00000040 XcpCmdUpload
00001794 l F .text 00000040 XcpCmdShortUpload
000017d4 l F .text 00000040 XcpCmdProgramMax
00001814 l F .text 0000005c XcpCmdProgram
00001870 l F .text 00000028 XcpCmdProgramClear
00001898 l F .text 00000018 XcpCmdProgramReset
000018b0 l F .text 0000000a XcpTransmitPacket
000023e8 l O .text 00000008 xcpStationId
20000028 l O .bss 0000004c xcpInfo
00000000 l df *ABS* 00000000 com.c
20000074 l O .bss 00000040 xcpCtoReqPacket.4275
20000000 l O .data 00000001 comActiveInterface
00000000 l df *ABS* 00000000 backdoor.c
200000b4 l O .bss 00000001 backdoorOpen
200000b8 l O .bss 00000004 backdoorOpenTime
00000000 l df *ABS* 00000000 boot.c
00000000 l df *ABS* 00000000 cop.c
00000000 l df *ABS* 00000000 assert.c
00000000 l df *ABS* 00000000 uart.c
00001b48 l F .text 00000028 UartTransmitByte
00001b70 l F .text 00000020 UartReceiveByte
200000bc l O .bss 00000004 xcpCtoRxStartTime.4475
200000c0 l O .bss 00000041 xcpCtoReqPacket.4472
20000101 l O .bss 00000001 xcpCtoRxLength.4473
20000102 l O .bss 00000001 xcpCtoRxInProgress.4474
00000000 l df *ABS* 00000000 nvm.c
00000000 l df *ABS* 00000000 cpu.c
00000000 l df *ABS* 00000000 flash.c
00001d3c l F .text 00000048 FlashGetSector
00001d84 l F .text 00000038 FlashGetSectorBaseAddr
00001dbc l F .text 00000038 FlashGetSectorSize
00001df4 l F .text 00000026 FlashInitBlock
00001e1c l F .text 0000005c FlashWriteBlock
00001e78 l F .text 0000003c FlashSwitchBlock
00001eb4 l F .text 0000007a FlashAddToBlock
00001f30 l F .text 0000005e FlashEraseSectors
00002414 l O .text 000000d8 flashLayout
20000104 l O .bss 00000204 bootBlockInfo
20000308 l O .bss 00000204 blockInfo
00000000 l df *ABS* 00000000 can.c
0000210c l F .text 00000074 CanSetBittiming
00000000 l df *ABS* 00000000 timer.c
2000050c l O .bss 00000004 millisecond_counter
00000000 l df *ABS* 00000000 cpu_comp.c
00000000 l df *ABS* 00000000 /opt/gcc-arm-none-eabi-5_4-2016q3/bin/../lib/gcc/arm-none-eabi/5.4.1/armv7-m/crti.o
00000000 l df *ABS* 00000000 /opt/gcc-arm-none-eabi-5_4-2016q3/bin/../lib/gcc/arm-none-eabi/5.4.1/armv7-m/crtn.o
00000000 l df *ABS* 00000000 crtstuff.c
00002510 l O .text 00000000 __FRAME_END__
00000000 l df *ABS* 00000000
00000000 l *UND* 00000000 __bss_start__
00000000 l *UND* 00000000 __libc_fini_array
00000000 l *UND* 00000000 __sf_fake_stderr
00000000 l *UND* 00000000 __bss_end__
00000000 l *UND* 00000000 __call_exitprocs
00000000 l *UND* 00000000 software_init_hook
00000000 l *UND* 00000000 __sf_fake_stdin
20000008 l .data 00000000 __init_array_end
00000000 l *UND* 00000000 hardware_init_hook
00000000 l *UND* 00000000 atexit
20000004 l .data 00000000 __preinit_array_end
00000000 l *UND* 00000000 __stack
00000000 l *UND* 00000000 __sf_fake_stdout
20000004 l .data 00000000 __init_array_start
00000000 l *UND* 00000000 _exit
20000004 l .data 00000000 __preinit_array_start
000019d8 g F .text 00000020 ComInit
00001fa8 g F .text 00000058 FlashWrite
00001b40 g F .text 00000008 AssertFailure
00002230 g F .text 00000030 CanReceivePacket
000001a4 g F .text 00000040 reset_handler
00000b0c g F .text 0000009c CANInit
00002290 g F .text 0000001c TimerUpdate
000018e8 g F .text 00000010 XcpPacketTransmitted
000019f8 g F .text 00000038 ComTask
00000420 g F .text 00000008 SysCtlDelay
00001b08 g F .text 0000001c BootInit
00000ba8 g F .text 0000002c CANEnable
00001ae8 g F .text 00000020 BackDoorInit
00001b3c g F .text 00000002 CopService
00002514 g .text 00000000 _etext
000022bc g F .text 00000004 CpuIrqDisable
00002104 g F .text 00000006 FlashGetUserProgBaseAddress
00001568 g F .text 00000028 UARTSpaceAvail
00002260 g F .text 0000000c TimerReset
000015bc g F .text 0000002c UARTCharPutNonBlocking
00001b24 g F .text 00000014 BootTask
00002030 g F .text 0000004c FlashWriteChecksum
00001a34 g F .text 0000002c ComTransmitPacket
000003e8 g F .text 00000038 SysCtlPeripheralEnable
000018d8 g F .text 00000010 XcpIsConnected
000022c4 g F .text 00000000 _init
00001ca4 g F .text 00000008 NvmInit
00001f90 g F .text 00000018 FlashInit
00001cc4 g F .text 00000008 NvmGetUserProgBaseAddress
20000510 g .bss 00000000 _ebss
00000800 g *ABS* 00000000 __STACKSIZE__
0000014c g F .text 00000010 UnusedISR
00001a30 g F .text 00000002 ComFree
00000000 w *UND* 00000000 __deregister_frame_info
00001b90 g F .text 00000024 UartInit
00001cb4 g F .text 00000008 NvmErase
00001590 g F .text 0000002c UARTCharGetNonBlocking
2000000c g .bss 00000000 _bss
000018f8 g F .text 000000e0 XcpPacketReceived
00001ce0 g F .text 00000008 CpuInit
000020c4 g F .text 00000040 FlashDone
00000cb0 g F .text 0000008c CANStatusGet
000021d8 g F .text 00000058 CanTransmitPacket
000007e4 g F .text 000000d4 FlashProgram
000018bc g F .text 0000001c XcpInit
00002000 g F .text 0000002e FlashErase
00000194 g F .text 00000010 main
0000058c g F .text 00000204 SysCtlClockGet
00001448 g F .text 00000038 UARTDisable
00001ccc g F .text 00000014 NvmDone
00001bb4 g F .text 00000050 UartTransmitPacket
00001cbc g F .text 00000008 NvmVerifyChecksum
00000f38 g F .text 000001bc CANMessageGet
00001d1c g F .text 00000020 CpuMemCopy
00001384 g F .text 00000034 GPIOPinTypeCAN
000022d0 g F .text 00000000 _fini
00001a84 g F .text 00000024 ComGetActiveInterfaceMaxTxLen
00001c04 g F .text 000000a0 UartReceivePacket
000022c0 g F .text 00000004 CpuIrqEnable
00000944 g F .text 0000008c IntDisable
20000000 g .data 00000000 _data
00001b38 g F .text 00000002 CopInit
00002180 g F .text 00000058 CanInit
00001cac g F .text 00000008 NvmWrite
00001ce8 g F .text 00000034 CpuStartUserProgram
00000bd4 g F .text 000000dc CANBitTimingSet
20000d10 g .bss 00000000 _estack
0000207c g F .text 00000048 FlashVerifyChecksum
2000000c g .data 00000000 _edata
00000000 g O .text 000000f0 _vectab
000013b8 g F .text 00000034 GPIOPinTypeUART
00001aa8 g F .text 00000008 ComIsConnected
000008b8 g F .text 0000008c IntEnable
00001a60 g F .text 00000024 ComGetActiveInterfaceMaxRxLen
000011d0 g F .text 00000060 GPIODirModeSet
00001ab0 g F .text 00000038 BackDoorCheck
20000510 g .bss 00000000 _stack
000022ac g F .text 00000010 TimerGet
00000000 w *UND* 00000000 _Jv_RegisterClasses
00000d3c g F .text 000001fc CANMessageSet
00001480 g F .text 000000e8 UARTConfigSetExpClk
00000428 g F .text 00000164 SysCtlClockSet
00001230 g F .text 00000154 GPIOPadConfigSet
0000226c g F .text 00000024 TimerInit
00000000 w *UND* 00000000 __register_frame_info
00000790 g F .text 00000054 FlashClear
00001418 g F .text 00000030 UARTEnable

View File

@ -1,11 +1,11 @@
#****************************************************************************************
#| Description: Makefile for LM3S using CodeSourcery GNU GCC compiler toolset
#| Description: Makefile for GNU ARM Embedded toolchain.
#| File Name: makefile
#|
#|---------------------------------------------------------------------------------------
#| C O P Y R I G H T
#|---------------------------------------------------------------------------------------
#| Copyright (c) 2012 by Feaser http://www.feaser.com All rights reserved
#| Copyright (c) 2017 by Feaser http://www.feaser.com All rights reserved
#|
#|---------------------------------------------------------------------------------------
#| L I C E N S E
@ -25,138 +25,111 @@
#****************************************************************************************
SHELL = sh
#|---------------------------------------------------------------------------------------|
#| Configure project name |
#|---------------------------------------------------------------------------------------|
#|--------------------------------------------------------------------------------------|
#| Configure project name |
#|--------------------------------------------------------------------------------------|
PROJ_NAME=openblt_ek_lm3s8962
#|---------------------------------------------------------------------------------------|
#| Speficy project source files |
#|---------------------------------------------------------------------------------------|
PROJ_FILES= \
blt_conf.h \
hooks.c \
main.c \
vectors.c \
cstart.c \
./lib/inc/hw_flash.h \
./lib/inc/hw_gpio.h \
./lib/inc/hw_ints.h \
./lib/inc/hw_memmap.h \
./lib/inc/hw_nvic.h \
./lib/inc/hw_sysctl.h \
-./lib/inc/hw_types.h \
./lib/inc/hw_uart.h \
./lib/inc/hw_can.h \
./lib/driverlib/cpulib.c \
./lib/driverlib/flashlib.c \
./lib/driverlib/gpio.h \
./lib/driverlib/sysctl.c \
./lib/driverlib/uartlib.h \
./lib/driverlib/canlib.h \
./lib/driverlib/cpulib.h \
./lib/driverlib/flashlib.h \
./lib/driverlib/interrupt.c \
./lib/driverlib/sysctl.h \
./lib/driverlib/debug.h \
./lib/driverlib/gpio.c \
./lib/driverlib/interrupt.h \
./lib/driverlib/uartlib.c \
./lib/driverlib/canlib.c \
../../../Source/boot.c \
../../../Source/boot.h \
../../../Source/com.c \
../../../Source/com.h \
../../../Source/xcp.c \
../../../Source/xcp.h \
../../../Source/backdoor.c \
../../../Source/backdoor.h \
../../../Source/cop.c \
../../../Source/cop.h \
../../../Source/assert.c \
../../../Source/assert.h \
../../../Source/cpu.h \
../../../Source/uart.h \
../../../Source/can.h \
../../../Source/nvm.h \
../../../Source/timer.h \
../../../Source/plausibility.h \
../../../Source/ARMCM3_LM3S/types.h \
../../../Source/ARMCM3_LM3S/cpu.c \
../../../Source/ARMCM3_LM3S/uart.c \
../../../Source/ARMCM3_LM3S/can.c \
../../../Source/ARMCM3_LM3S/nvm.c \
../../../Source/ARMCM3_LM3S/timer.c \
../../../Source/ARMCM3_LM3S/flash.c \
../../../Source/ARMCM3_LM3S/flash.h \
../../../Source/ARMCM3_LM3S/GCC/cpu_comp.c
#|--------------------------------------------------------------------------------------|
#| Configure tool path |
#|--------------------------------------------------------------------------------------|
TOOL_PATH=/opt/gcc-arm-none-eabi-5_4-2016q3/bin/
#|---------------------------------------------------------------------------------------|
#| Compiler binaries |
#|---------------------------------------------------------------------------------------|
CC = arm-none-eabi-gcc
LN = arm-none-eabi-gcc
OC = arm-none-eabi-objcopy
OD = arm-none-eabi-objdump
AS = arm-none-eabi-as
SZ = arm-none-eabi-size
#|--------------------------------------------------------------------------------------|
#| Collect project files |
#|--------------------------------------------------------------------------------------|
# Recursive wildcard function implementation. Example usages:
# $(call rwildcard, , *.c *.h)
# --> Returns all *.c and *.h files in the current directory and below
# $(call rwildcard, /lib/, *.c)
# --> Returns all *.c files in the /lib directory and below
rwildcard = $(strip $(foreach d,$(wildcard $1*),$(call rwildcard,$d/,$2) $(filter $(subst *,%,$2),$d)))
# Collect all application files in the current directory and its subdirectories, but
# exclude flash-layout.c as this one is directly included in a source file, when used.
PROJ_FILES = $(filter-out flash_layout.c, $(call rwildcard, , *.c *.h *.S))
# Collect bootloader core files
PROJ_FILES += $(wildcard ../../../Source/*.c)
PROJ_FILES += $(wildcard ../../../Source/*.h)
# Collect bootloader port files
PROJ_FILES += $(wildcard ../../../Source/ARMCM3_LM3S/*.c)
PROJ_FILES += $(wildcard ../../../Source/ARMCM3_LM3S/*.h)
# Collect bootloader port compiler specific files
PROJ_FILES += $(wildcard ../../../Source/ARMCM3_LM3S/GCC/*.c)
PROJ_FILES += $(wildcard ../../../Source/ARMCM3_LM3S/GCC/*.h)
#|---------------------------------------------------------------------------------------|
#| Extract file names |
#|---------------------------------------------------------------------------------------|
PROJ_ASRCS = $(filter %.s,$(foreach file,$(PROJ_FILES),$(notdir $(file))))
#|--------------------------------------------------------------------------------------|
#| Toolchain binaries |
#|--------------------------------------------------------------------------------------|
RM = rm
CC = $(TOOL_PATH)arm-none-eabi-gcc
LN = $(TOOL_PATH)arm-none-eabi-gcc
OC = $(TOOL_PATH)arm-none-eabi-objcopy
OD = $(TOOL_PATH)arm-none-eabi-objdump
AS = $(TOOL_PATH)arm-none-eabi-gcc
SZ = $(TOOL_PATH)arm-none-eabi-size
#|--------------------------------------------------------------------------------------|
#| Filter project files
#|--------------------------------------------------------------------------------------|
PROJ_ASRCS = $(filter %.S,$(foreach file,$(PROJ_FILES),$(notdir $(file))))
PROJ_CSRCS = $(filter %.c,$(foreach file,$(PROJ_FILES),$(notdir $(file))))
PROJ_CHDRS = $(filter %.h,$(foreach file,$(PROJ_FILES),$(notdir $(file))))
PROJ_CCMPL = $(patsubst %.c,%.cpl,$(PROJ_CSRCS))
PROJ_ACMPL = $(patsubst %.s,%.cpl,$(PROJ_ASRCS))
#|---------------------------------------------------------------------------------------|
#| Set important path variables |
#|---------------------------------------------------------------------------------------|
#|--------------------------------------------------------------------------------------|
#| Set important path variables |
#|--------------------------------------------------------------------------------------|
VPATH = $(foreach path,$(sort $(foreach file,$(PROJ_FILES),$(dir $(file)))) $(subst \,/,$(OBJ_PATH)),$(path) :)
OBJ_PATH = obj
BIN_PATH = bin
INC_PATH = $(patsubst %,-I%,$(sort $(foreach file,$(filter %.h,$(PROJ_FILES)),$(dir $(file)))))
INC_PATH += -I. -I./lib
LIB_PATH = -L./
INC_PATH = $(patsubst %/,%,$(patsubst %,-I%,$(sort $(foreach file,$(filter %.h,$(PROJ_FILES)),$(dir $(file))))))
INC_PATH += -I./lib
LIB_PATH =
#|---------------------------------------------------------------------------------------|
#| Options for compiler binaries |
#|---------------------------------------------------------------------------------------|
CFLAGS = -g -mthumb -mcpu=cortex-m3 -Os -T memory.x
CFLAGS += -D PACK_STRUCT_END=__attribute\(\(packed\)\) -Wno-main
CFLAGS += -D ALIGN_STRUCT_END=__attribute\(\(aligned\(4\)\)\)
CFLAGS += -ffunction-sections -fdata-sections $(INC_PATH) -D DEBUG -D gcc
CFLAGS += -Wa,-adhlns="$(OBJ_PATH)/$(subst .o,.lst,$@)"
LFLAGS = -nostartfiles -Xlinker -M -Xlinker -Map=$(BIN_PATH)/$(PROJ_NAME).map
LFLAGS += $(LIB_PATH) -Xlinker --gc-sections
OFLAGS = -O binary
ODFLAGS = -x
SZFLAGS = -B -d
#|--------------------------------------------------------------------------------------|
#| Options for toolchain binaries |
#|--------------------------------------------------------------------------------------|
STDFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft -fno-strict-aliasing
STDFLAGS += -Wno-unused-but-set-variable
STDFLAGS += -fdata-sections -ffunction-sections -Wall -g3
OPTFLAGS = -Og
CFLAGS = $(STDFLAGS) $(OPTFLAGS)
CFLAGS += -DDEBUG -Dgcc
CFLAGS += $(INC_PATH)
AFLAGS = $(CFLAGS)
LFLAGS = $(STDFLAGS) $(OPTFLAGS)
LFLAGS += -Wl,-script="memory.x" -Wl,-Map=$(BIN_PATH)/$(PROJ_NAME).map
LFLAGS += -specs=nano.specs -Wl,--gc-sections $(LIB_PATH)
OFLAGS = -O binary
ODFLAGS = -x
SZFLAGS = -B -d
RMFLAGS = -f
#|---------------------------------------------------------------------------------------|
#| Specify library files |
#|---------------------------------------------------------------------------------------|
#|--------------------------------------------------------------------------------------|
#| Specify library files |
#|--------------------------------------------------------------------------------------|
LIBS =
#|---------------------------------------------------------------------------------------|
#| Define targets |
#|---------------------------------------------------------------------------------------|
AOBJS = $(patsubst %.s,%.o,$(PROJ_ASRCS))
#|--------------------------------------------------------------------------------------|
#| Define targets |
#|--------------------------------------------------------------------------------------|
AOBJS = $(patsubst %.S,%.o,$(PROJ_ASRCS))
COBJS = $(patsubst %.c,%.o,$(PROJ_CSRCS))
#|---------------------------------------------------------------------------------------|
#| Make ALL |
#|---------------------------------------------------------------------------------------|
all : $(BIN_PATH)/$(PROJ_NAME).bin
#|--------------------------------------------------------------------------------------|
#| Make ALL |
#|--------------------------------------------------------------------------------------|
.PHONY: all
all: $(BIN_PATH)/$(PROJ_NAME).bin
$(BIN_PATH)/$(PROJ_NAME).bin : $(BIN_PATH)/$(PROJ_NAME).elf
@ -168,31 +141,32 @@ $(BIN_PATH)/$(PROJ_NAME).bin : $(BIN_PATH)/$(PROJ_NAME).elf
$(BIN_PATH)/$(PROJ_NAME).elf : $(AOBJS) $(COBJS)
@echo +++ Linking [$(notdir $@)]
@$(LN) $(CFLAGS) -o $@ $(patsubst %.o,$(OBJ_PATH)/%.o,$(^F)) $(LIBS) $(LFLAGS)
@$(LN) $(LFLAGS) -o $@ $(patsubst %.o,$(OBJ_PATH)/%.o,$(^F)) $(LIBS)
#|---------------------------------------------------------------------------------------|
#| Compile and assemble |
#|---------------------------------------------------------------------------------------|
$(AOBJS): %.o: %.s $(PROJ_CHDRS)
#|--------------------------------------------------------------------------------------|
#| Compile and assemble |
#|--------------------------------------------------------------------------------------|
$(AOBJS): %.o: %.S $(PROJ_CHDRS)
@echo +++ Assembling [$(notdir $<)]
@$(AS) $(AFLAGS) $< -o $(OBJ_PATH)/$(@F)
@$(AS) $(AFLAGS) -c $< -o $(OBJ_PATH)/$(@F)
$(COBJS): %.o: %.c $(PROJ_CHDRS)
@echo +++ Compiling [$(notdir $<)]
@$(CC) $(CFLAGS) -c $< -o $(OBJ_PATH)/$(@F)
#|---------------------------------------------------------------------------------------|
#| Make CLEAN |
#|---------------------------------------------------------------------------------------|
clean :
#|--------------------------------------------------------------------------------------|
#| Make CLEAN |
#|--------------------------------------------------------------------------------------|
.PHONY: clean
clean:
@echo +++ Cleaning build environment
@cs-rm -f $(foreach file,$(AOBJS),$(OBJ_PATH)/$(file))
@cs-rm -f $(foreach file,$(COBJS),$(OBJ_PATH)/$(file))
@cs-rm -f $(patsubst %.o,%.lst,$(foreach file,$(COBJS),$(OBJ_PATH)/$(file)))
@cs-rm -f $(BIN_PATH)/$(PROJ_NAME).elf $(BIN_PATH)/$(PROJ_NAME).map
@cs-rm -f $(BIN_PATH)/$(PROJ_NAME).bin
@$(RM) $(RMFLAGS) $(foreach file,$(AOBJS),$(OBJ_PATH)/$(file))
@$(RM) $(RMFLAGS) $(foreach file,$(COBJS),$(OBJ_PATH)/$(file))
@$(RM) $(RMFLAGS) $(patsubst %.o,%.lst,$(foreach file,$(COBJS),$(OBJ_PATH)/$(file)))
@$(RM) $(RMFLAGS) $(BIN_PATH)/$(PROJ_NAME).elf $(BIN_PATH)/$(PROJ_NAME).map
@$(RM) $(RMFLAGS) $(BIN_PATH)/$(PROJ_NAME).srec
@echo +++ Clean complete

View File

@ -10,17 +10,60 @@ SECTIONS
.text :
{
KEEP(*(.isr_vector))
*(.text*)
*(.rodata*)
KEEP(*(.isr_vector))
*(.text*)
KEEP(*(.init))
KEEP(*(.fini))
/* .ctors */
*crtbegin.o(.ctors)
*crtbegin?.o(.ctors)
*(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors)
*(SORT(.ctors.*))
*(.ctors)
/* .dtors */
*crtbegin.o(.dtors)
*crtbegin?.o(.dtors)
*(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors)
*(SORT(.dtors.*))
*(.dtors)
*(.rodata*)
KEEP(*(.eh_frame*))
_etext = .;
} > FLASH
.data : AT (ADDR(.text) + SIZEOF(.text))
{
_data = .;
*(vtable)
*(.data*)
*(vtable)
*(.data*)
. = ALIGN(4);
/* preinit data */
PROVIDE_HIDDEN (__preinit_array_start = .);
KEEP(*(.preinit_array))
PROVIDE_HIDDEN (__preinit_array_end = .);
. = ALIGN(4);
/* init data */
PROVIDE_HIDDEN (__init_array_start = .);
KEEP(*(SORT(.init_array.*)))
KEEP(*(.init_array))
PROVIDE_HIDDEN (__init_array_end = .);
. = ALIGN(4);
/* finit data */
PROVIDE_HIDDEN (__fini_array_start = .);
KEEP(*(SORT(.fini_array.*)))
KEEP(*(.fini_array))
PROVIDE_HIDDEN (__fini_array_end = .);
. = ALIGN(4);
_edata = .;
} > SRAM

View File

@ -1,132 +1,182 @@
bin/demoprog_ek_lm3s8962.elf: file format elf32-littlearm
bin/demoprog_ek_lm3s8962.elf
architecture: arm, flags 0x00000112:
EXEC_P, HAS_SYMS, D_PAGED
start address 0x00004000
Program Header:
LOAD off 0x00000000 vaddr 0x00000000 paddr 0x00000000 align 2**15
filesz 0x00005c3c memsz 0x00005c3c flags r-x
LOAD off 0x00008000 vaddr 0x20000000 paddr 0x20000000 align 2**15
filesz 0x00000000 memsz 0x0000045c flags rw-
private flags = 5000202: [Version5 EABI] [soft-float ABI] [has entry point]
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 00001c3c 00004000 00004000 00004000 2**2
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .bss 0000045c 20000000 20000000 00008000 2**2
ALLOC
2 .debug_info 00005517 00000000 00000000 00005c3c 2**0
CONTENTS, READONLY, DEBUGGING
3 .debug_abbrev 00000da5 00000000 00000000 0000b153 2**0
CONTENTS, READONLY, DEBUGGING
4 .debug_loc 00002f2b 00000000 00000000 0000bef8 2**0
CONTENTS, READONLY, DEBUGGING
5 .debug_aranges 000006c0 00000000 00000000 0000ee23 2**0
CONTENTS, READONLY, DEBUGGING
6 .debug_ranges 00000630 00000000 00000000 0000f4e3 2**0
CONTENTS, READONLY, DEBUGGING
7 .debug_line 00001aaf 00000000 00000000 0000fb13 2**0
CONTENTS, READONLY, DEBUGGING
8 .debug_str 00001536 00000000 00000000 000115c2 2**0
CONTENTS, READONLY, DEBUGGING
9 .comment 00000030 00000000 00000000 00012af8 2**0
CONTENTS, READONLY
10 .ARM.attributes 00000033 00000000 00000000 00012b28 2**0
CONTENTS, READONLY
11 .debug_frame 000011fc 00000000 00000000 00012b5c 2**2
CONTENTS, READONLY, DEBUGGING
SYMBOL TABLE:
00004000 l d .text 00000000 .text
20000000 l d .bss 00000000 .bss
00000000 l d .debug_info 00000000 .debug_info
00000000 l d .debug_abbrev 00000000 .debug_abbrev
00000000 l d .debug_loc 00000000 .debug_loc
00000000 l d .debug_aranges 00000000 .debug_aranges
00000000 l d .debug_ranges 00000000 .debug_ranges
00000000 l d .debug_line 00000000 .debug_line
00000000 l d .debug_str 00000000 .debug_str
00000000 l d .comment 00000000 .comment
00000000 l d .ARM.attributes 00000000 .ARM.attributes
00000000 l d .debug_frame 00000000 .debug_frame
00000000 l df *ABS* 00000000 vectors.c
00000000 l df *ABS* 00000000 boot.c
20000000 l O .bss 00000041 xcpCtoReqPacket.4538
20000044 l O .bss 00000001 xcpCtoRxInProgress.4540
20000045 l O .bss 00000001 xcpCtoRxLength.4539
20000048 l O .bss 00000004 xcpCtoRxStartTime.4541
00000000 l df *ABS* 00000000 cstart.c
000043ac l F .text 00000000 zero_loop
00000000 l df *ABS* 00000000 led.c
2000004c l O .bss 00000004 timer_counter_last.4520
20000050 l O .bss 00000001 led_toggle_state.4519
00000000 l df *ABS* 00000000 main.c
20000054 l O .bss 00000004 assert_failure_line.4527
00000000 l df *ABS* 00000000 time.c
20000058 l O .bss 00000004 millisecond_counter
00000000 l df *ABS* 00000000 can.c
00004548 l F .text 00000024 CANBaseValid
0000456c l F .text 00000032 CANIntNumberGet
000045a0 l F .text 0000001e CANRegWrite
000045c0 l F .text 00000094 CANRegRead
00000000 l df *ABS* 00000000 gpio.c
00004e10 l F .text 0000008a GPIOBaseValid
00000000 l df *ABS* 00000000 interrupt.c
00000000 l df *ABS* 00000000 sysctl.c
0000529c l F .text 00000154 SysCtlPeripheralValid
00005b8c l O .text 0000005c g_pulXtals
00005c00 l O .text 0000000c g_pulRCGCRegs
00000000 l df *ABS* 00000000 systick.c
00000000 l df *ABS* 00000000 uart.c
00005920 l F .text 00000026 UARTBaseValid
00000000 l df *ABS* 00000000
00000400 l *ABS* 00000000 __STACKSIZE__
000044d4 g F .text 0000000c __error__
00004368 g F .text 00000060 reset_handler
00004654 g F .text 000000e0 CANInit
0000544c g F .text 00000008 SysCtlDelay
00004734 g F .text 00000044 CANEnable
00005c3c g .text 00000000 _etext
00005038 g F .text 00000030 GPIOPinWrite
000053f0 g F .text 00000046 SysCtlPeripheralEnable
00005438 g F .text 00000012 SysCtlReset
2000005c g .bss 00000000 _ebss
00004544 g F .text 00000002 UnusedISR
000043d4 g F .text 0000003a LedInit
00004534 g F .text 00000010 TimeISRHandler
00005b0c g F .text 00000036 UARTCharGetNonBlocking
20000000 g .bss 00000000 _bss
000058f4 g F .text 0000002a SysTickPeriodSet
000048ac g F .text 000000b0 CANStatusGet
0000448c g F .text 00000048 main
00005610 g F .text 000002ba SysCtlClockGet
00005984 g F .text 00000044 UARTDisable
00004bf4 g F .text 0000021a CANMessageGet
00005068 g F .text 0000004c GPIOPinTypeCAN
000040f4 g F .text 0000011e BootComInit
000044e0 g F .text 00000046 TimeInit
000051f4 g F .text 000000a8 IntDisable
20000000 g .text 00000000 _data
00004410 g F .text 0000007a LedToggle
00004778 g F .text 00000132 CANBitTimingSet
2000045c g .bss 00000000 _estack
20000000 g .text 00000000 _edata
00004000 g O .text 000000f4 _vectab
00005100 g F .text 0000004c GPIOPinTypeUART
000050b4 g F .text 0000004c GPIOPinTypeGPIOOutput
0000514c g F .text 000000a8 IntEnable
00004214 g F .text 00000154 BootComCheckActivationRequest
00004528 g F .text 0000000c TimeGet
00004e9c g F .text 0000006c GPIODirModeSet
2000005c g .bss 00000000 _stack
000058cc g F .text 00000012 SysTickEnable
000058e0 g F .text 00000012 SysTickIntEnable
0000495c g F .text 00000296 CANMessageSet
000059c8 g F .text 00000142 UARTConfigSetExpClk
00005454 g F .text 000001ba SysCtlClockSet
00004f08 g F .text 0000012e GPIOPadConfigSet
00005948 g F .text 0000003c UARTEnable
bin/demoprog_ek_lm3s8962.elf: file format elf32-littlearm
bin/demoprog_ek_lm3s8962.elf
architecture: arm, flags 0x00000112:
EXEC_P, HAS_SYMS, D_PAGED
start address 0x00004000
Program Header:
LOAD off 0x00000000 vaddr 0x00000000 paddr 0x00000000 align 2**16
filesz 0x000058f0 memsz 0x000058f0 flags r-x
LOAD off 0x00010000 vaddr 0x20000000 paddr 0x000058f0 align 2**16
filesz 0x00000008 memsz 0x00000480 flags rw-
private flags = 5000200: [Version5 EABI] [soft-float ABI]
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 000018f0 00004000 00004000 00004000 2**2
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .data 00000008 20000000 000058f0 00010000 2**2
CONTENTS, ALLOC, LOAD, DATA
2 .bss 00000478 20000008 000058f8 00010008 2**2
ALLOC
3 .ARM.attributes 00000029 00000000 00000000 00010008 2**0
CONTENTS, READONLY
4 .comment 0000006e 00000000 00000000 00010031 2**0
CONTENTS, READONLY
5 .debug_info 00005af4 00000000 00000000 0001009f 2**0
CONTENTS, READONLY, DEBUGGING
6 .debug_abbrev 00000d80 00000000 00000000 00015b93 2**0
CONTENTS, READONLY, DEBUGGING
7 .debug_aranges 00000708 00000000 00000000 00016913 2**0
CONTENTS, READONLY, DEBUGGING
8 .debug_ranges 00000648 00000000 00000000 0001701b 2**0
CONTENTS, READONLY, DEBUGGING
9 .debug_macro 0000742a 00000000 00000000 00017663 2**0
CONTENTS, READONLY, DEBUGGING
10 .debug_line 000025ea 00000000 00000000 0001ea8d 2**0
CONTENTS, READONLY, DEBUGGING
11 .debug_str 0001e461 00000000 00000000 00021077 2**0
CONTENTS, READONLY, DEBUGGING
12 .debug_frame 000012e4 00000000 00000000 0003f4d8 2**2
CONTENTS, READONLY, DEBUGGING
13 .debug_loc 00003b22 00000000 00000000 000407bc 2**0
CONTENTS, READONLY, DEBUGGING
SYMBOL TABLE:
00004000 l d .text 00000000 .text
20000000 l d .data 00000000 .data
20000008 l d .bss 00000000 .bss
00000000 l d .ARM.attributes 00000000 .ARM.attributes
00000000 l d .comment 00000000 .comment
00000000 l d .debug_info 00000000 .debug_info
00000000 l d .debug_abbrev 00000000 .debug_abbrev
00000000 l d .debug_aranges 00000000 .debug_aranges
00000000 l d .debug_ranges 00000000 .debug_ranges
00000000 l d .debug_macro 00000000 .debug_macro
00000000 l d .debug_line 00000000 .debug_line
00000000 l d .debug_str 00000000 .debug_str
00000000 l d .debug_frame 00000000 .debug_frame
00000000 l d .debug_loc 00000000 .debug_loc
00000000 l df *ABS* 00000000 vectors.c
00000000 l df *ABS* 00000000 crtstuff.c
000058ec l O .text 00000000 __EH_FRAME_BEGIN__
000040f4 l F .text 00000000 __do_global_dtors_aux
20000008 l .bss 00000000 completed.8603
20000004 l O .data 00000000 __do_global_dtors_aux_fini_array_entry
00004118 l F .text 00000000 frame_dummy
2000000c l .bss 00000000 object.8608
20000000 l O .data 00000000 __frame_dummy_init_array_entry
00000000 l df *ABS* 00000000 time.c
20000024 l O .bss 00000004 millisecond_counter
00000000 l df *ABS* 00000000 boot.c
000041a0 l F .text 00000038 BootComUartInit
000041d8 l F .text 00000074 CanSetBittiming
0000424c l F .text 0000005c BootComCanInit
000042a8 l F .text 00000020 UartReceiveByte
000042dc l F .text 00000094 BootComUartCheckActivationRequest
00004370 l F .text 00000040 BootComCanCheckActivationRequest
20000028 l O .bss 00000001 xcpCtoRxLength.4647
20000029 l O .bss 00000001 xcpCtoRxInProgress.4648
2000002c l O .bss 00000004 xcpCtoRxStartTime.4649
20000030 l O .bss 00000041 xcpCtoReqPacket.4646
00000000 l df *ABS* 00000000 main.c
000043c0 l F .text 00000018 Init
20000074 l O .bss 00000004 assert_failure_line.4635
00000000 l df *ABS* 00000000 cstart.c
0000441a l F .text 00000000 zero_loop
00000000 l df *ABS* 00000000 led.c
20000078 l O .bss 00000004 timer_counter_last.4628
2000007c l O .bss 00000001 led_toggle_state.4627
00000000 l df *ABS* 00000000 sysctl.c
000044b8 l F .text 000001f8 SysCtlPeripheralValid
000057f4 l O .text 0000005c g_pulXtals
00005868 l O .text 0000000c g_pulRCGCRegs
00000000 l df *ABS* 00000000 uart.c
00004a68 l F .text 0000002c UARTBaseValid
00000000 l df *ABS* 00000000 interrupt.c
00000000 l df *ABS* 00000000 gpio.c
00004d28 l F .text 000000dc GPIOBaseValid
00000000 l df *ABS* 00000000 can.c
00005078 l F .text 0000002c CANBaseValid
000050a4 l F .text 0000002c CANIntNumberGet
000050d0 l F .text 0000001a CANRegWrite
000050ec l F .text 0000002e CANDataRegWrite
0000511c l F .text 00000068 CANRegRead
00005184 l F .text 0000002e CANDataRegRead
00000000 l df *ABS* 00000000 systick.c
00000000 l df *ABS* 00000000 /opt/gcc-arm-none-eabi-5_4-2016q3/bin/../lib/gcc/arm-none-eabi/5.4.1/armv7-m/crti.o
00000000 l df *ABS* 00000000 /opt/gcc-arm-none-eabi-5_4-2016q3/bin/../lib/gcc/arm-none-eabi/5.4.1/armv7-m/crtn.o
00000000 l df *ABS* 00000000 crtstuff.c
000058ec l O .text 00000000 __FRAME_END__
00000000 l df *ABS* 00000000
00000000 l *UND* 00000000 __bss_start__
00000000 l *UND* 00000000 __libc_fini_array
00000000 l *UND* 00000000 __sf_fake_stderr
00000000 l *UND* 00000000 __bss_end__
00000000 l *UND* 00000000 __call_exitprocs
00000000 l *UND* 00000000 software_init_hook
00000000 l *UND* 00000000 __sf_fake_stdin
20000004 l .data 00000000 __init_array_end
00000000 l *UND* 00000000 hardware_init_hook
00000000 l *UND* 00000000 atexit
20000000 l .data 00000000 __preinit_array_end
00000000 l *UND* 00000000 __stack
00000000 l *UND* 00000000 __sf_fake_stdout
20000000 l .data 00000000 __init_array_start
00000000 l *UND* 00000000 _exit
20000000 l .data 00000000 __preinit_array_start
000043ec g F .text 0000000c __error__
000043f8 g F .text 00000040 reset_handler
000051b4 g F .text 0000009c CANInit
000046f8 g F .text 00000008 SysCtlDelay
00005250 g F .text 0000002c CANEnable
00004150 g F .text 0000000c TimeSet
000058f0 g .text 00000000 _etext
00004fb8 g F .text 00000024 GPIOPinWrite
000046b0 g F .text 00000038 SysCtlPeripheralEnable
000057dc g F .text 00000000 _init
000042d4 g F .text 00000008 BootActivate
000046e8 g F .text 00000010 SysCtlReset
2000007d g .bss 00000000 _ebss
00000400 g *ABS* 00000000 __STACKSIZE__
000043bc g F .text 00000002 UnusedISR
00004444 g F .text 00000028 LedInit
00004190 g F .text 00000010 TimeISRHandler
00000000 w *UND* 00000000 __deregister_frame_info
00004be4 g F .text 0000002c UARTCharGetNonBlocking
20000008 g .bss 00000000 _bss
000057bc g F .text 00000020 SysTickPeriodSet
00005358 g F .text 0000008c CANStatusGet
000043d8 g F .text 00000014 main
00004864 g F .text 00000204 SysCtlClockGet
00004ac4 g F .text 00000038 UARTDisable
000055e0 g F .text 000001bc CANMessageGet
00004fdc g F .text 00000034 GPIOPinTypeCAN
000042c8 g F .text 0000000c BootComInit
000057e8 g F .text 00000000 _fini
0000415c g F .text 00000028 TimeInit
00004c9c g F .text 0000008c IntDisable
20000000 g .data 00000000 _data
0000446c g F .text 0000004c LedToggle
0000527c g F .text 000000dc CANBitTimingSet
20000480 g .bss 00000000 _estack
20000008 g .data 00000000 _edata
00004000 g O .text 000000f4 _vectab
00005044 g F .text 00000034 GPIOPinTypeUART
00005010 g F .text 00000034 GPIOPinTypeGPIOOutput
00004c10 g F .text 0000008c IntEnable
000043b0 g F .text 0000000c BootComCheckActivationRequest
00004184 g F .text 0000000c TimeGet
00004e04 g F .text 00000060 GPIODirModeSet
2000007d g .bss 00000000 _stack
0000579c g F .text 00000010 SysTickEnable
00000000 w *UND* 00000000 _Jv_RegisterClasses
000057ac g F .text 00000010 SysTickIntEnable
000053e4 g F .text 000001fc CANMessageSet
00004afc g F .text 000000e8 UARTConfigSetExpClk
00004700 g F .text 00000164 SysCtlClockSet
00004e64 g F .text 00000154 GPIOPadConfigSet
00000000 w *UND* 00000000 __register_frame_info
00004a94 g F .text 00000030 UARTEnable

View File

@ -1,454 +1,402 @@
S020000062696E2F64656D6F70726F675F656B5F6C6D3373383936322E7372656359
S11340005C0400206943000045450000454500006C
S11340104545000045450000454500004545000074
S11340204545000045450000454500004545000064
S11340304545000045450000454500003545000064
S11340404545000045450000454500004545000044
S11340504545000045450000454500004545000034
S11340604545000045450000454500004545000024
S11340704545000045450000454500004545000014
S11340804545000045450000454500004545000004
S113409045450000454500004545000045450000F4
S11340A045450000454500004545000045450000E4
S11340B045450000454500004545000045450000D4
S11340C045450000454500004545000045450000C4
S11340D045450000454500004545000045450000B4
S11340E045450000454500004545000045450000A4
S11340F0EE11AA55F0B587B00120C1F2000045F2D7
S1134100F134C0F20004A0470120C2F20000A0472D
S11341104FF04020032145F20113C0F200039847F9
S113412045F21163C0F20003984701464FF4404042
S1134130C4F200004FF46142602345F6C915C0F291
S11341400005A8470820C2F20000A0474FF4E04051
S1134150C4F20000032145F26903C0F2000398474A
S11341604FF48070C0F21000A0470020C4F2040095
S113417044F25563C0F200039847042303931026C6
S1134180019640F2A460082735463B46741CE218A9
S1134190B0FBF2F14139C9B20A2918D8B5FBF2F1E2
S11341A002FB01F1102912D102930196032B98BF4F
S11341B003931023B3FBF2F204920020C4F2040030
S11341C001A944F27973C0F20003984704E0013B6B
S11341D0DDD16438013ED8D10024C4F20404204661
S11341E044F23573C0F20003984740F267630193C9
S11341F003F5CC730293082303930493204601210F
S113420001AA022344F65D14C0F20004A04707B0DB
S1134210F0BD00BF10B588B040F24403C2F2000301
S11342201B7853BB4FF44040C4F2000045F60D33F5
S1134230C0F200039847B0F1FF3F5FD040F20003A3
S1134240C2F20003187010F0FF0F57D044F2295344
S1134250C0F20003984740F24803C2F2000318601A
S113426040F24403C2F2000301221A7040F24503F3
S1134270C2F2000300221A7040E040F24503C2F289
S113428000031B785C1C4FF44040C4F2000045F668
S11342900D33C0F200039847B0F1FF3F54D040F211
S11342A00003C2F20003185540F24502C2F20002B4
S11342B011780131C9B211701B788B421ED140F2C2
S11342C04403C2F2000300221A7040F20003C2F257
S11342D000035B78FF2B11D140F20003C2F200030C
S11342E09B785BB945F23943C0F20003984705E077
S11342F040F24403C2F2000300221A700020C4F208
S11343000400022144F6AD03C0F20003984710F004
S1134310010F27D001AB07930020C4F20400012150
S113432003AA0B4644F6F534C0F20004A0479DF8F6
S11343300430FF2B16D19DF805309BB945F2394363
S1134340C0F2000398470DE044F22953C0F2000381
S1134350984740F24803C2F200031B686433984252
S1134360C6D8CBE708B010BD10B517498D4640F24A
S11343700002C2F2000240F20003C2F200039A42B9
S113438010D2131D0F4CE41A24F003040434002348
S1134390104645F63C41C0F200015A581A50043305
S11343A0A342FAD109480A494FF000028842B8BF33
S11343B040F8042BFADB44F28D43C0F20003984723
S11343C010BD00BF030000205C040020000000209A
S11343D05C00002010B52020C2F2000045F2F13349
S11343E0C0F2000398474FF4A044C4F202042046EC
S11343F0012145F2B503C0F200039847204601218C
S1134400002245F23903C0F20003984710BD00BFF3
S113441010B544F22953C0F200039847044640F211
S11344204C03C2F200031B68C31AB3F5FA7F2BD303
S113443040F25003C2F200031B7883B940F25003E8
S1134440C2F2000301221A704FF4A040C4F2020029
S1134450114645F23903C0F2000398470FE040F2D9
S11344605003C2F2000300221A704FF4A040C4F2B9
S11344700200012145F23903C0F20003984740F2DB
S11344804C03C2F200031C6010BD00BF08B54FF41A
S11344906070C0F2C01045F25543C0F20003984763
S11344A044F2D533C0F20003984744F2E143C0F22A
S11344B00003984744F2F503C0F20003984744F21E
S11344C01145C0F2000544F21524C0F20004A847C7
S11344D0A047FCE740F25403C2F200031960FEE770
S11344E008B545F21163C0F20003984744F6D3536C
S11344F0C1F26203A3FB0020800945F6F503C0F274
S11345000003984745F6CD03C0F20003984745F6EB
S1134510E103C0F20003984740F25803C2F20003DB
S113452000221A6008BD00BF40F25803C2F2000323
S11345301868704740F25803C2F200031A68013247
S11345401A607047FEE700BF20F480520023C4F2D3
S113455004039A4208D04FF40053C4F2040398426F
S113456014BF002001207047012070474FF480538E
S1134570C4F20403984210D04FF40053C4F204036D
S1134580984208D00023C4F2040398420CBF372099
S11345904FF0FF307047392070473820704700BF14
S11345A082B0016000230193019B042B05DC019B75
S11345B001330193019B042BF9DD02B0704700BF66
S11345C070B582B0044620F47F6020F00F0044F2FE
S11345D06D53C0F2000398470546B0F1FF3F10D178
S11345E045F64430C0F20000F92144F2D543C0F24C
S11345F0000398474EF20413CEF200031B68002612
S113460011E04EF20413CEF200031B68A0F1300255
S1134610012101FA02F212EA030604D045F2F5136D
S1134620C0F20003984723680023019301990429E9
S113463005DC019B01330193019B042BF9DD246804
S11346402EB1284645F24D13C0F200039847204688
S113465002B070BD2DE9F843804644F24953C0F2DC
S11346600003984750B945F64430C0F2000040F2C8
S1134670D91144F2D543C0F20003984740460121C2
S113468044F2A153C0F20003984708F1200544F214
S1134690C156C0F200062C462846B04710F4004F1D
S11346A0F9D108F124094846B02144F2A155C0F2D9
S11346B00005A84708F134000021A84708F1380094
S11346C00021A847012644F2C155C0F2000544F276
S11346D0A157C0F200072046A84710F4004FFAD1B2
S11346E020463146B8470136212EF4D148460C21E4
S11346F044F2A153C0F200039847012644F2C15585
S1134700C0F2000544F2A157C0F200072046A847B2
S113471010F4004FFAD120463146B8470136212E15
S1134720F4D108F1040044F2C153C0F200039847E5
S1134730BDE8F88310B5044644F24953C0F20003BF
S1134740984750B945F64430C0F2000040F23A218F
S113475044F2D543C0F200039847204644F2C153C3
S1134760C0F20003984720F00101204644F2A1530F
S1134770C0F20003984710BDF8B505460C4644F254
S11347804953C0F20003984750B945F64430C0F28B
S113479000004FF4597144F2D543C0F20003984726
S11347A054B945F64430C0F2000040F2653144F299
S11347B0D543C0F2000398472368023B0E2B0AD965
S11347C045F64430C0F2000040F26B3144F2D54368
S11347D0C0F2000398476368013B072B0AD945F6EA
S11347E04430C0F200004FF45C7144F2D543C0F28F
S11347F000039847A368013B032B0AD945F64430CC
S1134800C0F2000040F2753144F2D543C0F2000317
S11348109847E368013BB3F5806F0AD345F644300B
S1134820C0F2000040F27B3144F2D543C0F20003F1
S11348309847284644F2C153C0F2000398470746FC
S1134840284647F0410144F2A156C0F20006B047A1
S11348506368591E090301F4E0412368013B1B020C
S113486003F470631943E368013B03F03F03194306
S1134870A368013B9B01DBB205F10C001943B0476F
S1134880E168013905F11800C1F38311B04717F04D
S1134890010F0CBF27F0400127F04101284644F2E4
S11348A0A153C0F200039847F8BD00BF70B5054698
S11348B00C4644F24953C0F20003984750B945F6F8
S11348C04430C0F2000040F2925144F2D543C0F2A9
S11348D000039847032C3ED8DFE804F00213212F8D
S11348E00435284644F2C153C0F2000398470446F5
S11348F028466FF01F0144F2A153C0F20003984709
S11349002AE005F5807044F2C156C0F20006B047B3
S1134910044605F58270B04744EA00441CE005F5FE
S1134920907044F2C156C0F20006B047044605F543
S11349309270B04744EA00440EE005F5B07044F2CA
S1134940C156C0F20006B047044605F5B270B04740
S113495044EA004400E00024204670BD2DE9F04FF5
S113496089B0054602911646984644F24953C0F26E
S11349700003984750B945F64430C0F2000040F2B5
S11349805F6144F2D543C0F200039847DDF8089014
S113499009F1FF331F2B0AD945F64430C0F2000059
S11349A04FF4CC6144F2D543C0F200039847B8F108
S11349B0040F0AD945F64430C0F2000040F26661A3
S11349C044F2D543C0F20003984705F1200744F2AE
S11349D0C159C0F200094C46B9463846A04710F404
S11349E0004FF9D13C463268B2F5006F3ABFB36864
S11349F0C3F3800C4FF0010CB8F1040F00F2F68001
S1134A00DFE808F003371119290001214FF48077FA
S1134A104FF4005E4FF00009CDF80490CDF80C90EF
S1134A204FF093082DE000210F468E46019103912B
S1134A304FF0930825E000214FF480574FF4005EB7
S1134A4041F6FF79CDF8049009F56049CDF80C9052
S1134A504FF0D30815E001214FF490574FF4005E56
S1134A604FF00009CDF80490CDF80C904FF0930866
S1134A7007E000214FF480778E46019103914FF0B7
S1134A809308B36813F0080F17D0BCF1000F08D0D7
S1134A9070681FFA80F9CDF80C90C0F30C400190B7
S1134AA00BE07068800041F6FC7900EA0909CDF852
S1134AB004904FF00009CDF80C9003F0280028284A
S1134AC002BFDDF8049049F40049CDF8049003F0E6
S1134AD01800182802BFDDF8049049F48049CDF885
S1134AE0049013F0380F1CBF47F480574FF0D308DD
S1134AF048F02008CDF81480BCF1000F0BD01FFA49
S1134B0082F9CDF81890C2F30C4242F4404242EAD2
S1134B100E0207920BE09200C2F30C0242F4004230
S1134B2042EA0E0207924FF00009CDF81890F2689D
S1134B3002F00F0947EA090913F4007F04BF49F0A2
S1134B4080091FFA89F913F0010F18BF49F40069AD
S1134B5013F0020F18BF49F48069F1B1D6F810B010
S1134B6005F13C089246002A17DD0127002644F28D
S1134B70A150C0F20000049040461BF80610BA454C
S1134B802EDD02361BF8073041EA0321049A9047D0
S1134B9008F104080237B245EEDC05F1240005995A
S1134BA044F2A156C0F20006B04705F1280003996B
S1134BB0B04705F12C000199B04705F13000069982
S1134BC0B04705F134000799B04705F1380049466C
S1134BD0B0472046DDF8089009F03F01B04705E0F2
S1134BE044F2A153C0F200039847D6E709B0BDE8E8
S1134BF0F08F00BF2DE9F04F83B006468A46154674
S1134C001C4644F24952C0F20002904750B945F69E
S1134C104430C0F2000040F2C17144F2D543C0F206
S1134C20000398470AF1FF331F2B0AD945F6443095
S1134C30C0F2000040F2C27144F2D543C0F2000356
S1134C40984706F1840B5846002C14BF7B2173212E
S1134C5044F2A157C0F20007B84706F180040AF0F5
S1134C603F0A20465146B84744F2C157C0F20007F4
S1134C702046B84710F4004FFAD106F1880044F2F8
S1134C80C157C0F20007B847019006F18C00B8473D
S1134C90814606F19000B847009006F19400B847A9
S1134CA0804606F19800B8470023AB6083B213F442
S1134CB0807F03D118F4005F03D104E018F4005F8F
S1134CC001D14022AA601FFA88F818F480421FBF5D
S1134CD0C8F30C08009FB9B241EA08411FBF29601C
S1134CE0A96841F00401A96004BFC8F38A012960DE
S1134CF013F4804F1EBFA96841F48071A96013F4B6
S1134D00805F31D09AB1C9F30C02019FB9B241EA74
S1134D1002426A606FF060418A4203D1AA6812F0CD
S1134D20400F13D1AA6842F00802AA600EE0C9F34A
S1134D308A026A6040F2FF718A4203D1AA6812F0C3
S1134D40400F03D1AA6842F00802AA6019F4004F88
S1134D501EBFAA6842F02802AA6019F4804F1EBF41
S1134D60AA6842F01802AA6013F4006F1EBFAA6872
S1134D7042F00102AA6013F4806F1EBFAB6843F0D7
S1134D800203AB6010F4004F04BF0023EB603BD080
S1134D9000F00F00E860AB6813F0400F1CD12F69DE
S1134DA000979C368146B8B14FF00108002744F2C1
S1134DB0C153C0F2000301933046019B9847009B06
S1134DC0D855C14508DD0237000A03F80800043647
S1134DD008F10208B945EFDC5846042144F2A15613
S1134DE0C0F20006B04720465146B04744F2C156CF
S1134DF0C0F200062046B04710F4004FFAD1AB6869
S1134E0043F08003AB60FFE703B0BDE8F08F00BF61
S1134E1020F480534FF40042C4F20502934218BFB9
S1134E20B3F1402F31D04FF4C041C4F200014FF42C
S1134E302042C4F20502934218BF8B4227D04FF49C
S1134E408041C4F202014FF44042C4F2050293428D
S1134E5018BF8B421DD04FF4C041C4F202014FF47D
S1134E606042C4F20502934218BF8B4213D04FF440
S1134E705042C4F203020023C4F20603984218BF4E
S1134E80904214BF00200120704701207047012088
S1134E907047012070470120704700BF70B5044679
S1134EA00E46154644F61163C0F20003984748B90C
S1134EB045F65830C0F20000E42144F2D543C0F274
S1134EC000039847022D09D945F65830C0F2000076
S1134ED0E62144F2D543C0F20003984715F0010FD0
S1134EE004F58063D4F8002414BF3243B2431A603B
S1134EF015F0020F04F58463D4F8202414BF16437C
S1134F0022EA06061E6070BDF8B504460D46174633
S1134F101E4644F61163C0F20003984750B945F6A3
S1134F205830C0F200004FF4DD7144F2D543C0F2B2
S1134F300003984727F008027B1E042A18BF012BA0
S1134F400AD945F65830C0F200004FF4DF7144F23C
S1134F50D543C0F200039847A6F10803052B0BD9EB
S1134F6056B145F65830C0F2000040F2C51144F283
S1134F70D543C0F20003984717F0010F04F5A0636E
S1134F80D4F8002514BF2A43AA431A6017F0020F6D
S1134F9004F20453D4F8042514BF2A43AA431A6024
S1134FA017F0040F04F5A163D4F8082514BF2A43AD
S1134FB0AA431A6017F0080F04F5A363D4F8182560
S1134FC014BF2A43AA431A6016F0010F04F20C53CB
S1134FD0D4F80C2514BF2A43AA431A6016F0020F12
S1134FE004F5A263D4F8102514BF2A43AA431A6017
S1134FF016F0040F04F21453D4F8142514BF2A43F2
S1135000AA431A6016F0080F04F21C53D4F81C25A6
S113501014BF2A43AA431A602EB904F5A563D4F831
S11350202825154305E004F5A563D4F8282522EACC
S113503005051D60F8BD00BF70B504460D46164653
S113504044F61163C0F20003984750B945F658304E
S1135050C0F200004FF4517144F2D543C0F2000392
S1135060984744F8256070BD38B505460C4644F6AB
S11350701163C0F20003984750B945F65830C0F2A6
S113508000004FF4647144F2D543C0F20003984722
S113509028462146022244F69D63C0F20003984745
S11350A0284621460422082344F60974C0F2000469
S11350B0A04738BD38B505460C4644F61163C0F226
S11350C00003984750B945F65830C0F2000040F24A
S11350D0044144F2D543C0F20003984728462146D0
S11350E0012244F69D63C0F20003984728462146F6
S11350F00122082344F60974C0F20004A04738BD15
S113510038B505460C4644F61163C0F200039847CF
S113511050B945F65830C0F2000040F21F5144F235
S1135120D543C0F20003984728462146022244F69C
S11351309D63C0F2000398472846214601220823B4
S113514044F60974C0F20004A04738BD10B5044603
S113515046280AD945F67030C0F200004FF4D571E4
S113516044F2D543C0F200039847042C08D14EF60C
S11351702453CEF200031A6842F480321A6010BD40
S1135180052C08D14EF62453CEF200031A6842F4DB
S113519000321A6010BD062C08D14EF62453CEF20C
S11351A000031A6842F480221A6010BD0F2C08D143
S11351B04EF21003CEF200031A6842F002021A60A3
S11351C010BDA4F110031F2B08D8012202FA03F327
S11351D04FF46142CEF20002136010BD2F2C08D9A7
S11351E0303C012303FA04F44EF20413CEF200031C
S11351F01C6010BD10B5044646280AD945F6703027
S1135200C0F200004FF4F77144F2D543C0F200033A
S11352109847042C08D14EF62453CEF200031A68A2
S113522022F480321A6010BD052C08D14EF62453A6
S1135230CEF200031A6822F400321A6010BD062C64
S113524008D14EF62453CEF200031A6822F48022C9
S11352501A6010BD0F2C08D14EF21003CEF20003D9
S11352601A6822F002021A6010BDA4F110031F2B69
S113527008D8012202FA03F34EF28012CEF20002A1
S1135280136010BD2F2C08D9303C012303FA04F419
S11352904EF28413CEF200031C6010BD30B420F033
S11352A08053A3F58012013A4FF48071C0F21001CB
S11352B08B4218BF012A98BF012040F297804FF417
S11352C00071C0F210014FF48062C0F210029342E8
S11352D018BF8B4208BF012000F088804FF4A04122
S11352E0C2F2100100F16042013A884218BF012A5B
S11352F098BF01207AD90422C2F20002904208BF6A
S1135300012073D01022C2F20002904208BF012093
S11353106CD02022C2F20002904208BF012065D066
S113532020F480148021C2F200014FF48072C2F292
S11353300002944218BF8B4208BF012056D020F0CF
S11353400052B0F1102F18BF402A08BF01204DD0E1
S11353504FF48041C1F200018C4208BF012045D0C6
S1135360B0F1101F08BF012040D04FF48075C1F286
S113537000054FF40071C1F20001884218BFA84231
S113538008BF012032D01025C1F200052021C1F24E
S113539000018A4218BFAA4208BF012026D0082172
S11353A0C1F2100188421CD000F170410139012979
S11353B017D90421C1F200018C4214D0B0F1202F7E
S11353C013D00121C2F2100188420ED04FF4805054
S11353D0C0F21000834218BF082A14BF0020012025
S11353E004E0012002E0012000E0012030BC70470D
S11353F010B5044645F29D23C0F20003984750B906
S113540045F6E830C0F200004FF4FC7144F2D54395
S1135410C0F20003984745F60043C0F20003220F90
S113542053F822301A68A1B2C4F3044401FA04F414
S113543014431C6010BD00BF4EF60C53CEF20003A3
S11354400422C0F2FA521A60FEE700BF01387FF46A
S1135450FDAF704770B504464FF46043C4F20F03C8
S11354601B6813F0E04F0BD04FF46043C4F20F03FA
S11354701A680023C7F2FF031340B3F1805F02D11F
S1135480002CC0F2C3804EF26002C4F20F02116815
S11354904EF27003C4F20F031E6821F4800545F434
S11354A0006546F400601560186011F0020F02D028
S11354B014F0020F05D011F0010F24D014F0010FE5
S11354C021D164F003031D404EF26003C4F20F03C4
S11354D01D60002804DA06F03003302B04D00BE002
S11354E005F03003302B07D14FF4805045F24D4383
S11354F0C0F20003984706E04FF4002045F24D4304
S1135500C0F20003984725F45F5525F0300543F2B7
S1135510F07323401D434DF68F73C7F6FF7333407A
S113552043F4006242F23003C8F200032340134301
S113553004F008024EF25801C4F20F014020086042
S113554053EAC2060AD54EF27003C4F20F031E607A
S11355504EF26003C4F20F031D6009E04EF26003D3
S1135560C4F20F031D604EF27003C4F20F031E60F9
S1135570102045F24D42C0F20002904725F0F86039
S113558020F003000323C0F2C0732340184326F025
S1135590FC5604F0FC510E4314F0804F1FBF40F43E
S11355A0800026F480050023C4F240031ABF234080
S11355B01D4326F0804514F4006F17D14EF25003BA
S11355C0C4F20F031B6813F0400F0BD147F6FF73AF
S11355D04EF25001C4F20F010A6812F0400F01D1DB
S11355E0013BF9D120F4006025F400654EF260031C
S11355F0C4F20F0318604EF27003C4F20F031D606F
S1135600102045F24D43C0F20003984770BD00BF1F
S113561030B44EF26003C4F20F0319684EF2700303
S1135620C4F20F031A68002AB4BF02F0700301F039
S11356303003202B71D003D87BB1102B16D037E167
S1135640602B00F0C180702B00F0BB80302B08BFB2
S113565003F5EA4300F0CF802AE145F68C33C0F22B
S11356600003C1F3841053F82030C4E04FF46043C6
S1135670C4F20F031B6813F0E04F04BF4EF2C013D3
S1135680C0F2E40300F0B7804FF46043C4F20F03A8
S113569018680023C7F2FF030340B3F1805F00F0F2
S11356A096804FF46043C4F20F0318680023C7F2D6
S11356B0FF0303400020C1F20100834208D14FF4EC
S11356C06043C4F20F031B689BB2022B00F084807A
S11356D04FF46043C4F20F0318680023C7F2FF03BA
S11356E003400020C1F2030083421CBF4FF4105357
S11356F0C0F2F4037FD14FF46043C4F20F031C687B
S1135700A4B24FF4D853C0F2B7034FF41050C0F210
S1135710F400002C18BF03466DE04FF46043C4F25C
S11357200F031B6813F0E04F04BF43F67003C0F28D
S1135730390360D04FF46043C4F20F0318680023A8
S1135740C7F2FF030340B3F1805F4AD04FF46043D4
S1135750C4F20F0318680023C7F2FF0303400020BC
S1135760C1F20100834207D14FF46043C4F20F0336
S11357701B689BB2022B39D04FF46043C4F20F0371
S113578018680023C7F2FF0303400020C1F203009E
S113579083421CBF4FF41063C0F23D032BD14FF47E
S11357A06043C4F20F031C68A4B24CF2C063C0F29D
S11357B02D034FF41060C0F23D00002C18BF0346C7
S11357C019E04FF4004316E04FF4800313E04EF267
S11357D0C013C0F2E4030EE04FF4D853C0F2B70391
S11357E009E043F67003C0F2390304E04CF2C063ED
S11357F0C0F22D03FFE7002A03DA12F4006F03D08E
S113580058E011F4006F5AD14EF26400C4F20F0054
S113581000684FF46044C4F20F04246814F0E04FAD
S11358200BD04FF46044C4F20F0425680024C7F27F
S1135830FF042C40B4F1805F0AD1C0F34814023451
S113584004FB03F300F01F040234B3FBF4F309E098
S1135850C0F3481404FB03F300F01F040134640094
S1135860B3FBF4F310F4804F18BF5B0810F4004F3F
S113587018BF9B08002AA8BF41F4800112DA12F075
S1135880804F09D012F4006F06D15B00C2F3865238
S11358900132B3FBF2F016E0C2F3C5500130B3FBA2
S11358A0F0F010E0C1F3C3500130B3FBF0F00AE0B4
S11358B0002008E011F4800FE1D1184603E011F450
S11358C0800FEFD1184630BC704700BF4EF2100372
S11358D0CEF200031A6842F005021A60704700BF56
S11358E04EF21003CEF200031A6842F002021A606C
S11358F0704700BF10B5441EB4F1807F09D345F64C
S11359000C40C0F20000D02144F2D543C0F20003A1
S113591098474EF21403CEF200031C6010BD00BF82
S113592020F480524FF44043C4F200039A4208D05A
S11359304FF46043C4F20003984214BF00200120D6
S113594070470120704700BF10B5044645F6211387
S1135950C0F20003984750B945F62440C0F2000055
S11359604FF4CF7144F2D543C0F200039847E36A81
S113597043F01003E362236B43F4407343F00103E9
S1135980236310BD10B5044645F62113C0F200038D
S1135990984750B945F62440C0F200004FF4DF7137
S11359A044F2D543C0F200039847A36913F0080FEB
S11359B0FBD1E36A23F01003E362236B23F4407307
S11359C023F00103236310BDF8B504460E461546C3
S11359D01F4645F62112C0F20002904750B945F621
S11359E02440C0F2000040F20D1144F2D543C0F24D
S11359F00003984755B945F62440C0F200004FF41F
S1135A00877144F2D543C0F2000398474FF46042D3
S1135A10C4F20F02136813F0E04F08BF102340D004
S1135A204FF46043C4F20F031A680023C7F2FF0364
S1135A301340B3F1805F08BF102332D04FF46043AA
S1135A40C4F20F031A680023C7F2FF0313400022B5
S1135A50C1F20102934209D14FF46043C4F20F032F
S1135A601B689BB2022B08BF10231AD04FF460436B
S1135A70C4F20F031A680023C7F2FF031340002285
S1135A80C1F20302934218BF08230AD14FF46043C2
S1135A90C4F20F031B689BB2002B0CBF1023082316
S1135AA0FFE705FB03F3B3420AD945F62440C0F2ED
S1135AB0000040F20F1144F2D543C0F200039847AE
S1135AC0204645F68512C0F200029047B6EB051F4A
S1135AD0236B3DBF43F0200323636D0823F02003B1
S1135AE028BF2363F600B6FBF5F50135EB096362C5
S1135AF0C5F34505A562E7620023A361204645F688
S1135B004913C0F200039847F8BD00BF10B504461E
S1135B1045F62113C0F20003984750B945F62440D6
S1135B20C0F2000040F2094144F2D543C0F2000340
S1135B309847A36913F0100F0CBF20684FF0FF3093
S1135B4010BD00BF6C69622F6472697665726C69FE
S1135B50622F63616E2E63006C69622F64726976D2
S1135B6065726C69622F6770696F2E6300000000B4
S1135B706C69622F6472697665726C69622F696EF2
S1135B80746572727570742E6300000040420F00D9
S1135B9000201C0080841E0000802500999E360091
S1135BA00040380000093D0000803E0000004B002A
S1135BB0404B4C0000204E00808D5B0000C05D0017
S1135BC00080700000127A0000007D00809698002A
S1135BD0001BB7000080BB00C0E8CE00647ADA0086
S1135BE00024F4000000FA006C69622F6472697684
S1135BF065726C69622F73797363746C2E63000031
S1135C0000E10F4004E10F4008E10F406C69622F8E
S1135C106472697665726C69622F737973746963EF
S1135C206B2E63006C69622F6472697665726C69AD
S10F5C30622F756172742E630000000086
S113400080040020F9430000BD430000BD430000CC
S1134010BD430000BD430000BD430000BD4300009C
S1134020BD430000BD430000BD430000BD4300008C
S1134030BD430000BD430000BD43000091410000AA
S1134040BD430000BD430000BD430000BD4300006C
S1134050BD430000BD430000BD430000BD4300005C
S1134060BD430000BD430000BD430000BD4300004C
S1134070BD430000BD430000BD430000BD4300003C
S1134080BD430000BD430000BD430000BD4300002C
S1134090BD430000BD430000BD430000BD4300001C
S11340A0BD430000BD430000BD430000BD4300000C
S11340B0BD430000BD430000BD430000BD430000FC
S11340C0BD430000BD430000BD430000BD430000EC
S11340D0BD430000BD430000BD430000BD430000DC
S11340E0BD430000BD430000BD430000BD430000CC
S11340F0EE11AA5510B5054C237833B9044B13B10E
S11341000448AFF300800123237010BD0800002091
S113411000000000EC580000084B10B51BB1084922
S11341200848AFF300800848036803B910BD074B83
S1134130002BFBD0BDE81040184700BF0000000072
S11341400C000020EC5800000800002000000000D3
S1134150014B1860704700BF2400002008B500F030
S113416081FB074BA3FB0030800901F027FB01F022
S113417015FB01F01BFB0020FFF7EAFF08BD00BFA1
S1134180D34D6210014B1868704700BF2400002013
S1134190024A136801331360704700BF24000020F3
S11341A008B50A4800F084FA094800F081FA0321AE
S11341B04FF0402000F046FF00F054FB60234FF422
S11341C061420146034800F099FC08BD010000105B
S11341D00100002000C0004000B585B00423029314
S11341E01023009329E00823019321E0642300FBBA
S11341F0033381180131B3FBF1F3DBB2413BDBB292
S11342000A2B13D81023B3FBF1F301FB03F3102B98
S11342100CD1032A00D802921023B3FBF1F10391CD
S11342206946094801F02AF8012009E0013A01929F
S1134230019A002ADAD10138009000980028D2D1DE
S113424005B05DF804FB00BF0000044010B586B063
S1134250114800F02DFA0321104800F0BFFE104869
S113426000F026FA0F4C204600F0A4FFFFF7B4FF3D
S1134270204600F0EDFF40F26763019340F2FF73C4
S11342800293082303930493022301AA01212046E5
S113429001F0A8F806B010BD08000020007000402E
S11342A0000110000000044010B50446054800F069
S11342B099FCB0F1FF3F02D02070012010BD002016
S11342C010BD00BF00C0004008B5FFF769FFFFF74D
S11342D0BDFF08BD08B500F007FA08BD08B5204BBE
S11342E01B789BB91F48FFF7DFFF012837D11D4B0F
S11342F01B78002B33D0FFF745FF1B4B18600122BE
S1134300174B1A700022194B1A7008BD174B1B78F3
S1134310013314481844FFF7C7FF012815D1134A85
S113432013780133DBB213700E4A1278934216D11C
S113433000220B4B1A700B4B5B78FF2B0FD1094BF0
S11343409B7863B9FFF7C6FF08BDFFF71BFF064B59
S11343501B686433984202D90022014B1A7008BDCD
S113436029000020300000202C000020280000201C
S113437000B589B002210D4800F0EEFF10F0010FE6
S113438010D001AB0793012303AA1946074801F093
S113439027F99DF80430FF2B04D19DF805300BB9A3
S11343A0FFF798FF09B05DF804FB00BF000004406C
S11343B008B5FFF793FFFFF7DBFF08BDFEE700BF7B
S11343C008B5044800F09CF900F03CF8FFF7C6FE7D
S11343D008BD00BF8003C00108B5FFF7F1FFFFF778
S11343E073FF00F043F8FFF7E3FFFAE7014B1960AE
S11343F0FEE700BF7400002008B50F498D460B4B43
S11344000B4A03E0116819600433043209498B42F2
S1134410F8D30A480A494FF000028842B8BF40F86E
S1134420042BFADBFFF7D8FF08BD00BF0000002013
S1134430F05800000800002080040020080000203C
S11344407D00002010B5074800F032F9064C012128
S1134450204600F0DDFD00220121204600F0ACFDE5
S113446010BD00BF200000200050024010B5FFF72F
S113447089FE0E4B1B68C31AB3F5FA7F14D30446A6
S11344800B4B1B783BB90121094B19700A460948AB
S113449000F092FD06E00022054B1A700121054848
S11344A000F08AFD014B1C6010BD00BF78000020A5
S11344B07C00002000500240A0F58013013B012B3A
S11344C040F28F80714B984200F08D8003F5807329
S11344D0984200F08A8003F50073984200F08780C8
S11344E003F18053A3F54073984200F0828003F5F2
S11344F0807398427FD003F5007398427DD003F512
S1134500705398427BD003F11023984279D0604BCA
S1134510984278D00133984277D00233984276D0CB
S11345200433984275D00833984274D010339842BB
S113453073D02033984272D04033984271D0803384
S1134540984270D0402870D0B0F1102F6FD0514BEA
S113455098426ED003F57D2398426CD003F18053CA
S1134560A3F57063984268D04B4B984267D0703B78
S1134570984266D0B0F1101F65D0484B984264D081
S113458003F58073984262D0A3F5F873984260D023
S1134590103398425FD003F1005398425DD0404BF2
S11345A098425CD0013398425BD0023398425AD08F
S11345B00433984259D03B4B984258D00133984227
S11345C057D00233984256D0B0F1202F55D0364BF5
S11345D0984254D0082854D0344B984253D10120E7
S11345E07047012070470120704701207047012067
S11345F07047012070470120704701207047012057
S11346007047012070470120704701207047012046
S11346107047012070470120704701207047012036
S11346207047012070470120704701207047012026
S11346307047012070470120704701207047012016
S11346407047012070470120704701207047012006
S113465070470120704701207047012070470120F6
S113466070470120704701207047012070470120E6
S113467070470120704701207047012070470120D6
S11346807047012070470020704700BF00011000F0
S113469001000020004000108000003000010010E4
S11346A00100101001000010010010200010100083
S11346B010B50446FFF700FF20B94FF4FC71084819
S11346C0FFF794FE220F074B53F822100868A2B29A
S11346D0C4F3044302FA03F303430B6010BD00BFA9
S11346E05058000068580000014A024B1A60FEE767
S11346F00400FA050CED00E001387FF4FDAF7047CB
S113470070B54E4B1B6813F0E04F06D04B4B1A6844
S11347104B4B1340B3F1805F02D10028C0F28C8070
S1134720044648490B68484A166823F4800545F452
S1134730006546F400600D60106013F0020F02D0B3
S113474014F0020F05D013F0010F1ED014F0010F66
S11347501BD164F003031D403A4B1D60002805DAA9
S113476006F07003302B07D0702B05D0002808DB2F
S113477005F03003302B04D14FF48050FFF7BCFF19
S113478003E04FF40020FFF7B7FF25F45F5525F051
S1134790300543F2F07323401D432C4B334043F464
S11347A000622B4B23401343E20002F040024020FE
S11347B02849086053EA020604D5234B1E60103BC7
S11347C01D6003E01F4B1D6010331E601020FFF7B7
S11347D093FF25F0F86525F003051F4A2240154391
S11347E026F0FC5104F0FC530B4314F0804F07D027
S11347F045F4800523F4800318492140194301E05E
S113480023F0804114F4006F07D00EE0144A1268BC
S113481012F0400F05D1013B01E04FF40043002B9F
S1134820F4D125F4006521F40061064B1D601033BA
S113483019601020FFF760FF70BD00BF00E00F405B
S11348400000FF7060E00F4070E00F408FDFFF7FDB
S11348503020008058E00F400300C00700004040B3
S113486050E00F4030B4724B1B68724A1168002943
S113487002DA01F0700201E003F03002202A3AD09B
S113488003D862B1102A10D0CFE0602A5BD0702A1E
S113489056D0302A40F0C98047F2305069E0C3F363
S11348A08412654850F8220063E0644A126812F0EA
S11348B0E04F4BD0614A1068614A0240B2F1805F18
S11348C046D05E4A10685E4A02405E48824204D185
S11348D05A4A126892B2022A3CD0584A1068584A7E
S11348E002405948824237D1544A126892B2002A8F
S11348F034D056483DE0514A126812F0E04F2FD0B0
S11349004E4A10684E4A0240B2F1805F2AD04B4AA8
S113491010684B4A02404B48824204D1474A12680D
S113492092B2022A20D0454A1068454A02404648BD
S113493082421BD1414A126892B2CAB1444818E07B
S11349404FF4004015E04FF4800012E0414810E0BD
S113495040480EE040480CE03C480AE03E4808E08D
S11349603E4806E03D4804E03D4802E0384800E0A7
S11349703B48002902DA11F4006F04D000292FDB30
S113498013F4006F2CD1374A1468643A126812F099
S1134990E04F06D0294A1568294A2A40B2F1805FBF
S11349A00AD1C4F34812023202FB00F004F01F02E1
S11349B00232B0FBF2F009E0C4F3481202FB00F04B
S11349C004F01F0201325200B0FBF2F014F4804FE5
S11349D000D0400814F4004F00D0800843F4800352
S11349E013F4800F22D0002919DA11F0804F10D06F
S11349F0002902DA11F4006F04D0002909DB13F452
S1134A00006F06D14000C1F386530133B0FBF3F0CD
S1134A100CE0C1F3C5530133B0FBF3F006E0C3F37C
S1134A20C3530133B0FBF3F000E0002030BC704707
S1134A3060E00F4070E00F40F457000000E00F40CA
S1134A400000FF7000000110000003100024F400B7
S1134A5000093D00C0E1E400001BB70070383900D4
S1134A60C0C62D0064E00F40094B984209D003F5FD
S1134A708053984207D003F58053984205D1012012
S1134A80704701207047012070470020704700BF25
S1134A9000C0004010B50446FFF7E6FF20B94FF40C
S1134AA0CF710748FFF7A2FCE36A43F01003E36207
S1134AB0236B43F4407343F00103236310BD00BF31
S1134AC07458000010B50446FFF7CEFF20B94FF428
S1134AD0DF710948FFF78AFCA36913F0080FFBD1C3
S1134AE0E36A23F01003E362236B23F4407323F09F
S1134AF00103236310BD00BF74580000F8B50546D8
S1134B000C4616461F46FFF7AFFF20B940F20D11C1
S1134B102F48FFF76BFC26B94FF487712C48FFF739
S1134B2065FC2C4B1B6813F0E04F1FD0294B1A680F
S1134B30294B1340B3F1805F1AD0264B1A68264BD9
S1134B401340264A934204D1224B1B689BB2022B8A
S1134B5010D0204B1A68204B1340214A93420BD1AA
S1134B601C4B1B689BB24BB1082308E0102306E0E2
S1134B70102304E0102302E0082300E0102306FBC6
S1134B8003F3A34204D940F20F111148FFF72EFC9E
S1134B902846FFF797FFB4EB061F05D22B6B43F0B3
S1134BA020032B63760803E02B6B23F020032B6395
S1134BB0E400B4FBF6F40134E3096B62C4F3450486
S1134BC0AC62EF620023AB612846FFF763FFF8BDD8
S1134BD07458000000E00F400000FF700000011056
S1134BE00000031010B50446FFF73EFF20B940F261
S1134BF009410648FFF7FAFBA36913F0100F01D12E
S1134C00206810BD4FF0FF3010BD00BF7458000085
S1134C1010B50446462804D94FF4D5711A48FFF755
S1134C20E5FB042C05D1194A136843F4803313605F
S1134C3010BD052C05D1154A136843F400331360E5
S1134C4010BD062C05D1114A136843F48023136068
S1134C5010BD0F2C05D10E4A136843F002031360F4
S1134C6010BDA4F110031F2B05D8012202FA03F38F
S1134C70084A136010BD2F2C05D9303C012303FAD8
S1134C8004F4054B1C6010BD8C58000024ED00E0BA
S1134C9010E000E000E100E004E100E010B50446AB
S1134CA0462804D94FF4F7711A48FFF79FFB042CE8
S1134CB005D1194A136823F48033136010BD052C01
S1134CC005D1154A136823F40033136010BD062C74
S1134CD005D1114A136823F48023136010BD0F2CEF
S1134CE005D10E4A136823F00203136010BDA4F12A
S1134CF010031F2B05D8012202FA03F3084A13609C
S1134D0010BD2F2C05D9303C012303FA04F4054BC4
S1134D101C6010BD8C58000024ED00E010E000E0A1
S1134D2080E100E084E100E0B0F1402F44D0344B56
S1134D30984243D0A3F5A623984241D003F5A82373
S1134D4098423FD0A3F5A62398423DD003F5A8236B
S1134D5098423BD0A3F5A623984239D003F5A82363
S1134D60984237D0A3F55C33984235D003F56033CD
S1134D70984233D0A3F55C33984231D003F56033C5
S1134D8098422FD0A3F55C3398422DD003F56033BD
S1134D9098422BD0A3F55C33984229D003F56033B5
S1134DA0984227D0A3F50833984225D003F50C3355
S1134DB0984223D101207047012070470120704799
S1134DC0012070470120704701207047012070477F
S1134DD0012070470120704701207047012070476F
S1134DE0012070470120704701207047012070475F
S1134DF00120704701207047012070470020704750
S1134E000080054070B505460C461646FFF78CFF3A
S1134E1018B9E4211248FFF7E9FA022E03D9E62172
S1134E200F48FFF7E3FA05F5806316F0010F03D08E
S1134E30D5F80024224303E0D5F8002422EA040232
S1134E401A6005F5846316F0020F03D0D5F8202408
S1134E50144303E0D5F8202422EA04041C6070BD46
S1134E60A8580000F8B504460D4617461E46FFF73D
S1134E705BFF20B94FF4DD714E48FFF7B7FA7B1E94
S1134E80012B08D9042F06D00C2F04D04FF4DF7166
S1134E904848FFF7ABFA082E0FD00A2E0DD00C2E7F
S1134EA00BD0092E09D00B2E07D00D2E05D026B11C
S1134EB040F2C5113F48FFF799FA04F5A06317F0D3
S1134EC0010F03D0D4F800252A4303E0D4F80025C9
S1134ED022EA05021A6004F2045317F0020F03D009
S1134EE0D4F804252A4303E0D4F8042522EA050271
S1134EF01A6004F5A16317F0040F03D0D4F8082551
S1134F002A4303E0D4F8082522EA05021A6004F5CE
S1134F10A36317F0080F03D0D4F818252A4303E03D
S1134F20D4F8182522EA05021A6004F20C5316F08C
S1134F30010F03D0D4F80C252A4303E0D4F80C2540
S1134F4022EA05021A6004F5A26316F0020F03D0E8
S1134F50D4F810252A4303E0D4F8102522EA0502E8
S1134F601A6004F2145316F0040F03D0D4F8142575
S1134F702A4303E0D4F8142522EA05021A6004F255
S1134F801C5316F0080F03D0D4F81C252A4303E061
S1134F90D4F81C2522EA05021A6004F5A5631EB99B
S1134FA0D4F82825154303E0D4F8282522EA05057A
S1134FB01D60F8BDA858000070B504460D4616469D
S1134FC0FFF7B2FE20B94FF451710348FFF70EFA10
S1134FD044F8256070BD00BFA858000038B50446E9
S1134FE00D46FFF7A1FE20B94FF464710748FFF79F
S1134FF0FDF9022229462046FFF704FF0823042274
S113500029462046FFF72EFF38BD00BFA8580000F0
S113501038B504460D46FFF787FE20B940F2044137
S11350200748FFF7E3F9012229462046FFF7EAFE85
S11350300823012229462046FFF714FF38BD00BF8C
S1135040A858000038B504460D46FFF76DFE20B998
S113505040F21F510748FFF7C9F9022229462046AA
S1135060FFF7D0FE0823012229462046FFF7FAFE67
S113507038BD00BFA8580000094B984209D003F579
S11350808053984207D003F58053984205D10120FC
S1135090704701207047012070470020704700BF0F
S11350A000000440094B98420ED003F58053984207
S11350B005D0A3F50053984203D137207047392017
S11350C070474FF0FF30704738207047001004409D
S11350D082B001600023019302E0019B013301933C
S11350E0019B042BF9DD02B0704700BFF8B50746F9
S11350F00846154600240DE0631C395D9D4204DD1D
S11351000234FB5C41EA032100E01C46061DFFF764
S1135110DFFF3046AC42EFDBF8BD00BF70B582B0B4
S1135120044620F47F6020F00F00FFF7BBFF054624
S1135130B0F1FF3F03D1F9211048FFF757F9104BA5
S11351401968A5F13003012202FA03F311EA0306F8
S113515002D02846FFF7A2FD23680023019302E052
S1135160019B01330193019B042BF9DD246816B1E3
S11351702846FFF74DFD204602B070BDC058000020
S113518004E100E0F8B507460846154600240DE0A2
S1135190061DFFF7C3FF631C38559D4204DD02342E
S11351A0C0F30720F85400E01C463046AC42EFDB65
S11351B0F8BD00BFF8B50646FFF75EFF20B940F220
S11351C0D9112248FFF712F901213046FFF780FF79
S11351D006F120042046FFF7A1FF10F4004FF7D199
S11351E006F12407B0213846FFF772FF002106F1CB
S11351F03400FFF76DFF002106F13800FFF768FF68
S113520001250AE02046FFF789FF10F4004FF9D189
S113521029462046FFF75CFF0135202DF2DD0C21E5
S11352203846FFF755FF01250AE02046FFF776FFD1
S113523010F4004FF9D129462046FFF749FF013504
S1135240202DF2DD301DFFF769FFF8BDC0580000C6
S113525010B50446FFF710FF20B940F23A21064882
S1135260FFF7C4F82046FFF759FF20F0010120465C
S1135270FFF72EFF10BD00BFC058000070B50546F3
S11352800C46FFF7F9FE20B94FF459713148FFF786
S1135290ADF824B940F265312E48FFF7A7F823682A
S11352A0023B0E2B04D940F26B312A48FFF79EF8DB
S11352B06368013B072B04D94FF45C712548FFF761
S11352C095F8A368013B032B04D940F275312148BA
S11352D0FFF78CF8E368013BB3F5806F04D340F229
S11352E07B311C48FFF782F82846FFF717FF064674
S11352F040F041012846FFF7EBFE616801390903DC
S113530001F4E0412268013A120202F4706211438E
S1135310A368013B9B01DBB20B43E168013901F057
S11353203F01194305F10C00FFF7D2FEE168013992
S1135330C1F3831105F11800FFF7CAFE26F04001FE
S113534016F0010F01D026F041012846FFF7C0FEF8
S113535070BD00BFC058000038B505460C46FFF7C5
S11353608BFE20B940F292511D48FFF73FF8032C01
S113537032D8DFE804F0020D192504352846FFF77A
S1135380CDFE04466FF01F012846FFF7A1FE24E07E
S113539005F58070FFF7C2FE044605F58270FFF73D
S11353A0BDFE44EA004418E005F59070FFF7B6FE30
S11353B0044605F59270FFF7B1FE44EA00440CE0A0
S11353C005F5B070FFF7AAFE044605F5B270FFF7C5
S11353D0A5FE44EA004400E00024204638BD00BF96
S11353E0C05800002DE9F04F83B005468B46914626
S11353F01E46FFF741FE20B940F25F617748FEF791
S1135400F5FF0BF1FF331F2B04D94FF4CC61734824
S1135410FEF7ECFF042E04D940F266616F48FEF7F4
S1135420E5FF05F120042046FFF778FE10F4004F55
S1135430F7D1D9F80030B3F5006F07D2D9F80820B6
S113544012F0040F05D04FF0010E04E04FF0010EEE
S113545001E04FF0000E042E00F2BD80DFE806F0FC
S113546003300F17240001204FF480774FF40056C7
S11354704FF00008CDF800804FF0930A28E0002098
S113548007460646804600904FF0930A20E000202D
S11354904FF480574FF4005641F6FF784FF6FF72F1
S11354A000924FF0D30A13E001204FF490574FF4C9
S11354B000564FF00008CDF800804FF0930A07E043
S11354C000204FF480770646804600904FF0930A00
S11354D0D9F8081011F0080F16D0BEF1000F09D04A
S11354E0D9F804200192BDF804200092019AC2F375
S11354F00C4809E0D9F804204FEA8208C8F30C08E4
S11355001FFA88F80022009201F02802282A01D10B
S113551048F4004801F01802182A01D148F48048E0
S113552011F0380F03D047F480574AF0400A4AF08C
S1135530200ABEF1000F07D09AB20192C3F30C43C4
S11355401E4346F4404607E09B00C3F30C031E438E
S113555046F4004600230193D9F80C2002F00F030F
S11355601F4311F4007F02D147F08007BFB211F04E
S1135570010F01D047F4006711F0020F01D047F486
S1135580806728B105F13C01D9F81000FFF7AEFDA2
S1135590514605F12400FFF79BFD009905F1280011
S11355A0FFF796FD414605F12C00FFF791FD0199A7
S11355B005F13000FFF78CFD314605F13400FFF7AB
S11355C087FD394605F13800FFF782FD0BF03F01F6
S11355D02046FFF77DFD03B0BDE8F08FC058000002
S11355E02DE9F04F83B00646884615461C46FFF762
S11355F043FD20B940F2C1716648FEF7F7FE08F199
S1135600FF331F2B04D940F2C2716248FEF7EEFE4D
S11356100CB9732100E07B2106F1840B5846FFF797
S113562057FD06F1800408F03F0841462046FFF785
S11356304FFD2046FFF772FD10F4004FF9D106F13B
S11356408800FFF76BFD019006F18C00FFF766FD03
S1135650824606F19000FFF761FD814606F1940051
S1135660FFF75CFD074606F19800FFF757FD00239E
S1135670AB6083B213F4807202D117F4005F03D1DC
S113568022B117F4005F01D14022AA6017F48042CE
S11356900CD0414901EA07471FFA89F949EA07078B
S11356A02F60A96841F00401A96002E0C7F38A07EA
S11356B02F6013F4804F03D0A96841F48071A9606E
S11356C013F4805F31D09AB1334A02EA0A41BDF83B
S11356D004200A436A606FF060418A4203D1AA68D9
S11356E012F0400F13D1AA6842F00802AA600EE03B
S11356F0CAF38A026A6040F2FF718A4203D1AA683F
S113570012F0400F03D1AA6842F00802AA601AF40A
S1135710004F03D0AA6842F02802AA601AF4804F0E
S113572003D0AA6842F01802AA6013F4006F03D0F1
S1135730AA6842F00102AA6013F4806F03D0AB6838
S113574043F00203AB6010F4004F1ED000F00F02D0
S1135750EA60AB6813F0400F04D106F19C0128699C
S1135760FFF710FD04215846FFF7B2FC41462046DE
S1135770FFF7AEFC2046FFF7D1FC10F4004FF9D13F
S1135780AB6843F08003AB6001E00023EB6003B03F
S1135790BDE8F08FC05800000000FF1F024A1368E4
S11357A043F005031360704710E000E0024A1368F9
S11357B043F002031360704710E000E010B5441E8C
S11357C0B4F1807F03D3D0210248FEF70FFE024BD1
S11357D01C6010BDD458000014E000E0F8B500BF10
S11357E0F8BC08BC9E467047F8B500BFF8BC08BCBE
S11357F09E46704740420F0000201C0080841E001B
S113580000802500999E36000040380000093D00C4
S113581000803E0000004B00404B4C0000204E0036
S1135820808D5B0000C05D000080700000127A0073
S113583000007D0080969800001BB7000080BB002C
S1135840C0E8CE00647ADA000024F4000000FA0014
S11358506C69622F6472697665726C69622F737900
S11358607363746C2E63000000E10F4004E10F4089
S113587008E10F406C69622F6472697665726C6925
S1135880622F756172742E63000000006C69622FD0
S11358906472697665726C69622F696E746572727E
S11358A07570742E630000006C69622F64726976EF
S11358B065726C69622F6770696F2E630000000067
S11358C06C69622F6472697665726C69622F6361B8
S11358D06E2E63006C69622F6472697665726C69FE
S11358E0622F7379737469636B2E63000000000088
S10B58F019410000F54000001D
S9034000BC

View File

@ -1,11 +1,11 @@
#****************************************************************************************
#| Description: Makefile for LM3S using CodeSourcery GNU GCC compiler toolset
#| Description: Makefile for GNU ARM Embedded toolchain.
#| File Name: makefile
#|
#|---------------------------------------------------------------------------------------
#| C O P Y R I G H T
#|---------------------------------------------------------------------------------------
#| Copyright (c) 2012 by Feaser http://www.feaser.com All rights reserved
#| Copyright (c) 2017 by Feaser http://www.feaser.com All rights reserved
#|
#|---------------------------------------------------------------------------------------
#| L I C E N S E
@ -25,167 +25,101 @@
#****************************************************************************************
SHELL = sh
#|---------------------------------------------------------------------------------------|
#| Configure project name |
#|---------------------------------------------------------------------------------------|
#|--------------------------------------------------------------------------------------|
#| Configure project name |
#|--------------------------------------------------------------------------------------|
PROJ_NAME=demoprog_ek_lm3s8962
#|---------------------------------------------------------------------------------------|
#| Speficy project source files |
#|---------------------------------------------------------------------------------------|
PROJ_FILES= \
boot.c \
boot.h \
cstart.c \
header.h \
led.c \
led.h \
main.c \
time.c \
time.h \
vectors.c \
lib/inc/asmdefs.h \
lib/inc/hw_adc.h \
lib/inc/hw_comp.h \
lib/inc/hw_epi.h \
lib/inc/hw_ethernet.h \
lib/inc/hw_flash.h \
lib/inc/hw_gpio.h \
lib/inc/hw_hibernate.h \
lib/inc/hw_i2c.h \
lib/inc/hw_i2s.h \
lib/inc/hw_ints.h \
lib/inc/hw_memmap.h \
lib/inc/hw_nvic.h \
lib/inc/hw_pwm.h \
lib/inc/hw_qei.h \
lib/inc/hw_ssi.h \
lib/inc/hw_sysctl.h \
lib/inc/hw_timer.h \
lib/inc/hw_types.h \
lib/inc/hw_uart.h \
lib/inc/hw_can.h \
lib/inc/hw_udma.h \
lib/inc/hw_usb.h \
lib/inc/hw_watchdog.h \
lib/inc/lm3s6965.h \
lib/driverlib/adc.c \
lib/driverlib/adc.h \
lib/driverlib/can.c \
lib/driverlib/can.h \
lib/driverlib/comp.c \
lib/driverlib/comp.h \
lib/driverlib/cpu.c \
lib/driverlib/cpu.h \
lib/driverlib/debug.h \
lib/driverlib/epi.c \
lib/driverlib/epi.h \
lib/driverlib/ethernet.c \
lib/driverlib/ethernet.h \
lib/driverlib/flash.c \
lib/driverlib/flash.h \
lib/driverlib/gpio.c \
lib/driverlib/gpio.h \
lib/driverlib/hibernate.c \
lib/driverlib/hibernate.h \
lib/driverlib/i2c.c \
lib/driverlib/i2c.h \
lib/driverlib/i2s.c \
lib/driverlib/i2s.h \
lib/driverlib/interrupt.c \
lib/driverlib/interrupt.h \
lib/driverlib/mpu.c \
lib/driverlib/mpu.h \
lib/driverlib/pin_map.h \
lib/driverlib/pwm.c \
lib/driverlib/pwm.h \
lib/driverlib/qei.c \
lib/driverlib/qei.h \
lib/driverlib/rom.h \
lib/driverlib/rom_map.h \
lib/driverlib/ssi.c \
lib/driverlib/ssi.h \
lib/driverlib/sysctl.c \
lib/driverlib/sysctl.h \
lib/driverlib/systick.c \
lib/driverlib/systick.h \
lib/driverlib/timer.c \
lib/driverlib/timer.h \
lib/driverlib/uart.c \
lib/driverlib/uart.h \
lib/driverlib/udma.c \
lib/driverlib/udma.h \
lib/driverlib/usb.c \
lib/driverlib/usb.h \
lib/driverlib/watchdog.c \
lib/driverlib/watchdog.h
#|--------------------------------------------------------------------------------------|
#| Configure tool path |
#|--------------------------------------------------------------------------------------|
TOOL_PATH=/opt/gcc-arm-none-eabi-5_4-2016q3/bin/
#|---------------------------------------------------------------------------------------|
#| Compiler binaries |
#|---------------------------------------------------------------------------------------|
CC = arm-none-eabi-gcc
LN = arm-none-eabi-gcc
OC = arm-none-eabi-objcopy
OD = arm-none-eabi-objdump
AS = arm-none-eabi-as
SZ = arm-none-eabi-size
#|--------------------------------------------------------------------------------------|
#| Collect project files |
#|--------------------------------------------------------------------------------------|
# Recursive wildcard function implementation. Example usages:
# $(call rwildcard, , *.c *.h)
# --> Returns all *.c and *.h files in the current directory and below
# $(call rwildcard, /lib/, *.c)
# --> Returns all *.c files in the /lib directory and below
rwildcard = $(strip $(foreach d,$(wildcard $1*),$(call rwildcard,$d/,$2) $(filter $(subst *,%,$2),$d)))
# Collect all application files in the current directory and its subdirectories
PROJ_FILES = $(call rwildcard, , *.c *.h *.S)
#|---------------------------------------------------------------------------------------|
#| Extract file names |
#|---------------------------------------------------------------------------------------|
PROJ_ASRCS = $(filter %.s,$(foreach file,$(PROJ_FILES),$(notdir $(file))))
#|--------------------------------------------------------------------------------------|
#| Toolchain binaries |
#|--------------------------------------------------------------------------------------|
RM = rm
CC = $(TOOL_PATH)arm-none-eabi-gcc
LN = $(TOOL_PATH)arm-none-eabi-gcc
OC = $(TOOL_PATH)arm-none-eabi-objcopy
OD = $(TOOL_PATH)arm-none-eabi-objdump
AS = $(TOOL_PATH)arm-none-eabi-gcc
SZ = $(TOOL_PATH)arm-none-eabi-size
#|--------------------------------------------------------------------------------------|
#| Filter project files
#|--------------------------------------------------------------------------------------|
PROJ_ASRCS = $(filter %.S,$(foreach file,$(PROJ_FILES),$(notdir $(file))))
PROJ_CSRCS = $(filter %.c,$(foreach file,$(PROJ_FILES),$(notdir $(file))))
PROJ_CHDRS = $(filter %.h,$(foreach file,$(PROJ_FILES),$(notdir $(file))))
PROJ_CCMPL = $(patsubst %.c,%.cpl,$(PROJ_CSRCS))
PROJ_ACMPL = $(patsubst %.s,%.cpl,$(PROJ_ASRCS))
#|---------------------------------------------------------------------------------------|
#| Set important path variables |
#|---------------------------------------------------------------------------------------|
#|--------------------------------------------------------------------------------------|
#| Set important path variables |
#|--------------------------------------------------------------------------------------|
VPATH = $(foreach path,$(sort $(foreach file,$(PROJ_FILES),$(dir $(file)))) $(subst \,/,$(OBJ_PATH)),$(path) :)
OBJ_PATH = obj
BIN_PATH = bin
INC_PATH = $(patsubst %,-I%,$(sort $(foreach file,$(filter %.h,$(PROJ_FILES)),$(dir $(file)))))
INC_PATH += -I. -I./lib
INC_PATH = $(patsubst %/,%,$(patsubst %,-I%,$(sort $(foreach file,$(filter %.h,$(PROJ_FILES)),$(dir $(file))))))
INC_PATH += -I./lib
LIB_PATH =
#|---------------------------------------------------------------------------------------|
#| Options for compiler binaries |
#|---------------------------------------------------------------------------------------|
CFLAGS = -g -mthumb -mcpu=cortex-m3 -mlong-calls -O1 -T memory.x
CFLAGS += -D PACK_STRUCT_END=__attribute\(\(packed\)\) -D sprintf=usprintf -Wno-main
CFLAGS += -D ALIGN_STRUCT_END=__attribute\(\(aligned\(4\)\)\) -D snprintf=usnprintf
CFLAGS += -D printf=uipprintf -ffunction-sections -fdata-sections $(INC_PATH)
CFLAGS += -D DEBUG -D gcc
LFLAGS = -nostartfiles -Xlinker -M -Xlinker -Map=$(BIN_PATH)/$(PROJ_NAME).map
LFLAGS += $(LIB_PATH) -Xlinker --gc-sections
OFLAGS = -O srec
ODFLAGS = -x
SZFLAGS = -B -d
#|--------------------------------------------------------------------------------------|
#| Options for toolchain binaries |
#|--------------------------------------------------------------------------------------|
STDFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft -fno-strict-aliasing
STDFLAGS += -Wno-unused-but-set-variable
STDFLAGS += -fdata-sections -ffunction-sections -Wall -g3
OPTFLAGS = -Og
CFLAGS = $(STDFLAGS) $(OPTFLAGS)
CFLAGS += -DDEBUG -Dgcc
CFLAGS += $(INC_PATH)
AFLAGS = $(CFLAGS)
LFLAGS = $(STDFLAGS) $(OPTFLAGS)
LFLAGS += -Wl,-script="memory.x" -Wl,-Map=$(BIN_PATH)/$(PROJ_NAME).map
LFLAGS += -specs=nano.specs -Wl,--gc-sections $(LIB_PATH)
OFLAGS = -O srec
ODFLAGS = -x
SZFLAGS = -B -d
RMFLAGS = -f
#|---------------------------------------------------------------------------------------|
#| Specify library files |
#|---------------------------------------------------------------------------------------|
#|--------------------------------------------------------------------------------------|
#| Specify library files |
#|--------------------------------------------------------------------------------------|
LIBS =
#|---------------------------------------------------------------------------------------|
#| Define targets |
#|---------------------------------------------------------------------------------------|
AOBJS = $(patsubst %.s,%.o,$(PROJ_ASRCS))
#|--------------------------------------------------------------------------------------|
#| Define targets |
#|--------------------------------------------------------------------------------------|
AOBJS = $(patsubst %.S,%.o,$(PROJ_ASRCS))
COBJS = $(patsubst %.c,%.o,$(PROJ_CSRCS))
#|---------------------------------------------------------------------------------------|
#| Make ALL |
#|---------------------------------------------------------------------------------------|
all : $(BIN_PATH)/$(PROJ_NAME).srec
#|--------------------------------------------------------------------------------------|
#| Make ALL |
#|--------------------------------------------------------------------------------------|
.PHONY: all
all: $(BIN_PATH)/$(PROJ_NAME).srec
$(BIN_PATH)/$(PROJ_NAME).srec : $(BIN_PATH)/$(PROJ_NAME).elf
@ -197,31 +131,32 @@ $(BIN_PATH)/$(PROJ_NAME).srec : $(BIN_PATH)/$(PROJ_NAME).elf
$(BIN_PATH)/$(PROJ_NAME).elf : $(AOBJS) $(COBJS)
@echo +++ Linking [$(notdir $@)]
@$(LN) $(CFLAGS) -o $@ $(patsubst %.o,$(OBJ_PATH)/%.o,$(^F)) $(LIBS) $(LFLAGS)
@$(LN) $(LFLAGS) -o $@ $(patsubst %.o,$(OBJ_PATH)/%.o,$(^F)) $(LIBS)
#|---------------------------------------------------------------------------------------|
#| Compile and assemble |
#|---------------------------------------------------------------------------------------|
$(AOBJS): %.o: %.s $(PROJ_CHDRS)
#|--------------------------------------------------------------------------------------|
#| Compile and assemble |
#|--------------------------------------------------------------------------------------|
$(AOBJS): %.o: %.S $(PROJ_CHDRS)
@echo +++ Assembling [$(notdir $<)]
@$(AS) $(AFLAGS) $< -o $(OBJ_PATH)/$(@F)
@$(AS) $(AFLAGS) -c $< -o $(OBJ_PATH)/$(@F)
$(COBJS): %.o: %.c $(PROJ_CHDRS)
@echo +++ Compiling [$(notdir $<)]
@$(CC) $(CFLAGS) -c $< -o $(OBJ_PATH)/$(@F)
#|---------------------------------------------------------------------------------------|
#| Make CLEAN |
#|---------------------------------------------------------------------------------------|
clean :
#|--------------------------------------------------------------------------------------|
#| Make CLEAN |
#|--------------------------------------------------------------------------------------|
.PHONY: clean
clean:
@echo +++ Cleaning build environment
@cs-rm -f $(foreach file,$(AOBJS),$(OBJ_PATH)/$(file))
@cs-rm -f $(foreach file,$(COBJS),$(OBJ_PATH)/$(file))
@cs-rm -f $(patsubst %.o,%.lst,$(foreach file,$(COBJS),$(OBJ_PATH)/$(file)))
@cs-rm -f $(BIN_PATH)/$(PROJ_NAME).elf $(BIN_PATH)/$(PROJ_NAME).map
@cs-rm -f $(BIN_PATH)/$(PROJ_NAME).srec
@$(RM) $(RMFLAGS) $(foreach file,$(AOBJS),$(OBJ_PATH)/$(file))
@$(RM) $(RMFLAGS) $(foreach file,$(COBJS),$(OBJ_PATH)/$(file))
@$(RM) $(RMFLAGS) $(patsubst %.o,%.lst,$(foreach file,$(COBJS),$(OBJ_PATH)/$(file)))
@$(RM) $(RMFLAGS) $(BIN_PATH)/$(PROJ_NAME).elf $(BIN_PATH)/$(PROJ_NAME).map
@$(RM) $(RMFLAGS) $(BIN_PATH)/$(PROJ_NAME).srec
@echo +++ Clean complete

View File

@ -10,17 +10,60 @@ SECTIONS
.text :
{
KEEP(*(.isr_vector))
*(.text*)
*(.rodata*)
KEEP(*(.isr_vector))
*(.text*)
KEEP(*(.init))
KEEP(*(.fini))
/* .ctors */
*crtbegin.o(.ctors)
*crtbegin?.o(.ctors)
*(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors)
*(SORT(.ctors.*))
*(.ctors)
/* .dtors */
*crtbegin.o(.dtors)
*crtbegin?.o(.dtors)
*(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors)
*(SORT(.dtors.*))
*(.dtors)
*(.rodata*)
KEEP(*(.eh_frame*))
_etext = .;
} > FLASH
.data : AT (ADDR(.text) + SIZEOF(.text))
{
_data = .;
*(vtable)
*(.data*)
*(vtable)
*(.data*)
. = ALIGN(4);
/* preinit data */
PROVIDE_HIDDEN (__preinit_array_start = .);
KEEP(*(.preinit_array))
PROVIDE_HIDDEN (__preinit_array_end = .);
. = ALIGN(4);
/* init data */
PROVIDE_HIDDEN (__init_array_start = .);
KEEP(*(SORT(.init_array.*)))
KEEP(*(.init_array))
PROVIDE_HIDDEN (__init_array_end = .);
. = ALIGN(4);
/* finit data */
PROVIDE_HIDDEN (__fini_array_start = .);
KEEP(*(SORT(.fini_array.*)))
KEEP(*(.fini_array))
PROVIDE_HIDDEN (__fini_array_end = .);
. = ALIGN(4);
_edata = .;
} > SRAM
@ -33,5 +76,6 @@ SECTIONS
_stack = .;
. = ALIGN(MAX(_stack + __STACKSIZE__ , .), 4);
_estack = .;
} > SRAM
}