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

View File

@ -10,17 +10,60 @@ SECTIONS
.text : .text :
{ {
KEEP(*(.isr_vector)) KEEP(*(.isr_vector))
*(.text*) *(.text*)
*(.rodata*)
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 = .; _etext = .;
} > FLASH } > FLASH
.data : AT (ADDR(.text) + SIZEOF(.text)) .data : AT (ADDR(.text) + SIZEOF(.text))
{ {
_data = .; _data = .;
*(vtable) *(vtable)
*(.data*) *(.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 = .; _edata = .;
} > SRAM } > SRAM

View File

@ -1,192 +1,233 @@
bin/demoprog_ek_lm3s6965.elf: file format elf32-littlearm bin/demoprog_ek_lm3s6965.elf: file format elf32-littlearm
bin/demoprog_ek_lm3s6965.elf bin/demoprog_ek_lm3s6965.elf
architecture: arm, flags 0x00000112: architecture: arm, flags 0x00000112:
EXEC_P, HAS_SYMS, D_PAGED EXEC_P, HAS_SYMS, D_PAGED
start address 0x00008000 start address 0x00008000
Program Header: Program Header:
LOAD off 0x00008000 vaddr 0x00008000 paddr 0x00008000 align 2**15 LOAD off 0x00000000 vaddr 0x00000000 paddr 0x00000000 align 2**16
filesz 0x000031fc memsz 0x000031fc flags r-x filesz 0x0000a728 memsz 0x0000a728 flags r-x
LOAD off 0x00010000 vaddr 0x20000000 paddr 0x20000000 align 2**15 LOAD off 0x00010000 vaddr 0x20000000 paddr 0x0000a728 align 2**16
filesz 0x00000000 memsz 0x00000870 flags rw- filesz 0x00000008 memsz 0x00000b8c flags rw-
private flags = 5000202: [Version5 EABI] [soft-float ABI] [has entry point] private flags = 5000200: [Version5 EABI] [soft-float ABI]
Sections: Sections:
Idx Name Size VMA LMA File off Algn Idx Name Size VMA LMA File off Algn
0 .text 000031fc 00008000 00008000 00008000 2**2 0 .text 00002728 00008000 00008000 00008000 2**2
CONTENTS, ALLOC, LOAD, READONLY, CODE CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .bss 00000870 20000000 20000000 00010000 2**2 1 .data 00000008 20000000 0000a728 00010000 2**2
ALLOC CONTENTS, ALLOC, LOAD, DATA
2 .debug_info 00005e56 00000000 00000000 0000b1fc 2**0 2 .bss 00000b84 20000008 0000a730 00010008 2**2
CONTENTS, READONLY, DEBUGGING ALLOC
3 .debug_abbrev 00001342 00000000 00000000 00011052 2**0 3 .ARM.attributes 00000029 00000000 00000000 00010008 2**0
CONTENTS, READONLY, DEBUGGING CONTENTS, READONLY
4 .debug_loc 00003173 00000000 00000000 00012394 2**0 4 .comment 0000006e 00000000 00000000 00010031 2**0
CONTENTS, READONLY, DEBUGGING CONTENTS, READONLY
5 .debug_aranges 00000818 00000000 00000000 00015507 2**0 5 .debug_info 000065fb 00000000 00000000 0001009f 2**0
CONTENTS, READONLY, DEBUGGING CONTENTS, READONLY, DEBUGGING
6 .debug_ranges 00000718 00000000 00000000 00015d1f 2**0 6 .debug_abbrev 00001381 00000000 00000000 0001669a 2**0
CONTENTS, READONLY, DEBUGGING CONTENTS, READONLY, DEBUGGING
7 .debug_line 000021a7 00000000 00000000 00016437 2**0 7 .debug_aranges 00000838 00000000 00000000 00017a1b 2**0
CONTENTS, READONLY, DEBUGGING CONTENTS, READONLY, DEBUGGING
8 .debug_str 000018a2 00000000 00000000 000185de 2**0 8 .debug_ranges 00000738 00000000 00000000 00018253 2**0
CONTENTS, READONLY, DEBUGGING CONTENTS, READONLY, DEBUGGING
9 .comment 00000030 00000000 00000000 00019e80 2**0 9 .debug_macro 00008af2 00000000 00000000 0001898b 2**0
CONTENTS, READONLY CONTENTS, READONLY, DEBUGGING
10 .ARM.attributes 00000033 00000000 00000000 00019eb0 2**0 10 .debug_line 0000337a 00000000 00000000 0002147d 2**0
CONTENTS, READONLY CONTENTS, READONLY, DEBUGGING
11 .debug_frame 000014fc 00000000 00000000 00019ee4 2**2 11 .debug_str 00023b31 00000000 00000000 000247f7 2**0
CONTENTS, READONLY, DEBUGGING CONTENTS, READONLY, DEBUGGING
SYMBOL TABLE: 12 .debug_frame 00001540 00000000 00000000 00048328 2**2
00008000 l d .text 00000000 .text CONTENTS, READONLY, DEBUGGING
20000000 l d .bss 00000000 .bss 13 .debug_loc 00003dac 00000000 00000000 00049868 2**0
00000000 l d .debug_info 00000000 .debug_info CONTENTS, READONLY, DEBUGGING
00000000 l d .debug_abbrev 00000000 .debug_abbrev SYMBOL TABLE:
00000000 l d .debug_loc 00000000 .debug_loc 00008000 l d .text 00000000 .text
00000000 l d .debug_aranges 00000000 .debug_aranges 20000000 l d .data 00000000 .data
00000000 l d .debug_ranges 00000000 .debug_ranges 20000008 l d .bss 00000000 .bss
00000000 l d .debug_line 00000000 .debug_line 00000000 l d .ARM.attributes 00000000 .ARM.attributes
00000000 l d .debug_str 00000000 .debug_str 00000000 l d .comment 00000000 .comment
00000000 l d .comment 00000000 .comment 00000000 l d .debug_info 00000000 .debug_info
00000000 l d .ARM.attributes 00000000 .ARM.attributes 00000000 l d .debug_abbrev 00000000 .debug_abbrev
00000000 l d .debug_frame 00000000 .debug_frame 00000000 l d .debug_aranges 00000000 .debug_aranges
00000000 l df *ABS* 00000000 vectors.c 00000000 l d .debug_ranges 00000000 .debug_ranges
00000000 l df *ABS* 00000000 boot.c 00000000 l d .debug_macro 00000000 .debug_macro
20000000 l O .bss 00000004 xcpCtoRxStartTime.4457 00000000 l d .debug_line 00000000 .debug_line
20000004 l O .bss 00000041 xcpCtoReqPacket.4454 00000000 l d .debug_str 00000000 .debug_str
20000048 l O .bss 00000001 xcpCtoRxLength.4455 00000000 l d .debug_frame 00000000 .debug_frame
20000049 l O .bss 00000001 xcpCtoRxInProgress.4456 00000000 l d .debug_loc 00000000 .debug_loc
00000000 l df *ABS* 00000000 cstart.c 00000000 l df *ABS* 00000000 vectors.c
0000829c l F .text 00000000 zero_loop 00000000 l df *ABS* 00000000 crtstuff.c
00000000 l df *ABS* 00000000 led.c 0000a724 l O .text 00000000 __EH_FRAME_BEGIN__
2000004c l O .bss 00000004 timer_counter_last.4440 000080f4 l F .text 00000000 __do_global_dtors_aux
20000050 l O .bss 00000001 led_toggle_state.4439 20000008 l .bss 00000000 completed.8603
00000000 l df *ABS* 00000000 net.c 20000004 l O .data 00000000 __do_global_dtors_aux_fini_array_entry
20000054 l O .bss 00000004 ARPTimerTimeOut 00008118 l F .text 00000000 frame_dummy
20000058 l O .bss 00000004 periodicTimerTimeOut 2000000c l .bss 00000000 object.8608
00000000 l df *ABS* 00000000 main.c 20000000 l O .data 00000000 __frame_dummy_init_array_entry
2000005c l O .bss 00000004 assert_failure_line.4447 00000000 l df *ABS* 00000000 time.c
00000000 l df *ABS* 00000000 time.c 20000024 l O .bss 00000004 millisecond_counter
20000060 l O .bss 00000004 millisecond_counter 00000000 l df *ABS* 00000000 net.c
00000000 l df *ABS* 00000000 netdev.c 20000028 l O .bss 00000004 ARPTimerTimeOut
00000000 l df *ABS* 00000000 ethernet.c 2000002c l O .bss 00000004 periodicTimerTimeOut
00008898 l F .text 00000096 EthernetPacketGetInternal 00000000 l df *ABS* 00000000 boot.c
00008930 l F .text 00000086 EthernetPacketPutInternal 00008314 l F .text 00000038 BootComUartInit
00000000 l df *ABS* 00000000 flash.c 0000834c l F .text 00000020 UartReceiveByte
00000000 l df *ABS* 00000000 gpio.c 0000837c l F .text 00000094 BootComUartCheckActivationRequest
00008db8 l F .text 0000008a GPIOBaseValid 20000030 l O .bss 00000004 xcpCtoRxStartTime.4565
00000000 l df *ABS* 00000000 sysctl.c 20000034 l O .bss 00000041 xcpCtoReqPacket.4562
000090f4 l F .text 00000154 SysCtlPeripheralValid 20000075 l O .bss 00000001 xcpCtoRxLength.4563
0000b138 l O .text 0000005c g_pulXtals 20000076 l O .bss 00000001 xcpCtoRxInProgress.4564
0000b1ac l O .text 0000000c g_pulRCGCRegs 00000000 l df *ABS* 00000000 main.c
0000b1b8 l O .text 0000000c g_pulSRCRRegs 0000841c l F .text 00000018 Init
00000000 l df *ABS* 00000000 systick.c 20000078 l O .bss 00000004 assert_failure_line.4555
00000000 l df *ABS* 00000000 uart.c 00000000 l df *ABS* 00000000 cstart.c
000097e0 l F .text 00000026 UARTBaseValid 0000847e l F .text 00000000 zero_loop
00000000 l df *ABS* 00000000 uip.c 00000000 l df *ABS* 00000000 led.c
00009a04 l F .text 0000004c chksum 2000007c l O .bss 00000004 timer_counter_last.4548
00009a50 l F .text 00000046 upper_layer_chksum 20000080 l O .bss 00000001 led_toggle_state.4547
00009b18 l F .text 00000036 uip_add_rcv_nxt 00000000 l df *ABS* 00000000 netdev.c
20000064 l O .bss 00000002 tmp16 00000000 l df *ABS* 00000000 sysctl.c
20000066 l O .bss 00000002 ipid 0000869c l F .text 000001f8 SysCtlPeripheralValid
20000068 l O .bss 00000004 iss 0000a614 l O .text 0000005c g_pulXtals
2000006c l O .bss 00000002 lastport 0000a688 l O .text 0000000c g_pulRCGCRegs
20000078 l O .bss 00000001 c 0000a694 l O .text 0000000c g_pulSRCRRegs
20000079 l O .bss 00000001 opt 00000000 l df *ABS* 00000000 uart.c
00000000 l df *ABS* 00000000 uip_arp.c 00008ca4 l F .text 0000002c UARTBaseValid
0000abc4 l F .text 00000116 uip_arp_update 00000000 l df *ABS* 00000000 ethernet.c
2000007a l O .bss 00000001 i 00008e4c l F .text 0000008a EthernetPacketGetInternal
2000007b l O .bss 00000001 tmpage 00008ed8 l F .text 0000007c EthernetPacketPutInternal
2000007c l O .bss 00000060 arp_table 00000000 l df *ABS* 00000000 gpio.c
0000b1f4 l O .text 00000006 broadcast_ethaddr 000091f8 l F .text 000000dc GPIOBaseValid
200000dc l O .bss 00000001 c 00000000 l df *ABS* 00000000 flash.c
200000dd l O .bss 00000001 arptime 00000000 l df *ABS* 00000000 systick.c
200000e0 l O .bss 00000004 ipaddr 00000000 l df *ABS* 00000000 uip.c
00000000 l df *ABS* 00000000 memset.c 000095f0 l F .text 0000003a chksum
00000000 l df *ABS* 00000000 00009688 l F .text 00000030 uip_add_rcv_nxt
00000100 l *ABS* 00000000 __STACKSIZE__ 00009774 l F .text 0000003c upper_layer_chksum
000085fc g F .text 0000000c __error__ 20000082 l O .bss 00000002 tmp16
00008258 g F .text 00000060 reset_handler 20000084 l O .bss 00000002 ipid
0000930c g F .text 00000008 SysCtlDelay 20000088 l O .bss 00000004 iss
200000e4 g O .bss 00000002 uip_len 2000008c l O .bss 00000002 lastport
20000070 g O .bss 00000006 uip_ethaddr 2000008e l O .bss 00000001 c
00009a98 g F .text 0000007e uip_add32 00000000 l df *ABS* 00000000 uip_arp.c
0000b1fc g .text 00000000 _etext 0000a258 l F .text 00000104 uip_arp_update
00009248 g F .text 00000068 SysCtlPeripheralReset 20000096 l O .bss 00000001 i
00008fe0 g F .text 00000030 GPIOPinWrite 20000097 l O .bss 00000001 tmpage
0000881c g F .text 00000052 netdev_read 20000098 l O .bss 00000060 arp_table
00009bf4 g F .text 00000fc4 uip_process 0000a71c l O .text 00000006 broadcast_ethaddr
200000e8 g O .bss 00000004 uip_sappdata 200000f8 l O .bss 00000001 c
00008670 g F .text 00000024 netdev_init 200000f9 l O .bss 00000001 arptime
200000ec g O .bss 00000004 uip_acc32 200000fc l O .bss 00000004 ipaddr
00009b50 g F .text 0000002c uip_ipchksum 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
000089b8 g F .text 0000003a EthernetInitExpClk 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
00009bc0 g F .text 00000032 uip_listen 00000000 l df *ABS* 00000000 crtstuff.c
00008870 g F .text 00000028 netdev_send 0000a724 l O .text 00000000 __FRAME_END__
00008ba0 g F .text 00000076 EthernetPacketPut 00000000 l df *ABS* 00000000
000092b0 g F .text 00000046 SysCtlPeripheralEnable 00000000 l *UND* 00000000 __bss_start__
200000f0 g O .bss 00000001 uip_flags 00000000 l *UND* 00000000 __libc_fini_array
00008248 g F .text 0000000e BootActivate 00000000 l *UND* 00000000 __sf_fake_stderr
000092f8 g F .text 00000012 SysCtlReset 00000000 l *UND* 00000000 __bss_end__
20000770 g .bss 00000000 _ebss 00000000 l *UND* 00000000 __call_exitprocs
0000866c g F .text 00000002 UnusedISR 00000000 l *UND* 00000000 software_init_hook
00008b24 g F .text 0000007a EthernetPacketGetNonBlocking 00000000 l *UND* 00000000 __sf_fake_stdin
000082c4 g F .text 0000003a LedInit 20000004 l .data 00000000 __init_array_end
0000865c g F .text 00000010 TimeISRHandler 00000000 l *UND* 00000000 hardware_init_hook
000090a8 g F .text 0000004c GPIOPinTypeEthernetLED 00000000 l *UND* 00000000 atexit
00008444 g F .text 0000015c NetTask 20000000 l .data 00000000 __preinit_array_end
00008694 g F .text 00000188 netdev_init_mac 00000000 l *UND* 00000000 __stack
000099cc g F .text 00000036 UARTCharGetNonBlocking 00000000 l *UND* 00000000 __sf_fake_stdout
20000000 g .bss 00000000 _bss 20000000 l .data 00000000 __init_array_start
00009b7c g F .text 00000010 uip_tcpchksum 00000000 l *UND* 00000000 _exit
200000f4 g O .bss 00000004 uip_appdata 20000000 l .data 00000000 __preinit_array_start
000097b4 g F .text 0000002a SysTickPeriodSet 00008450 g F .text 0000000c __error__
200000f8 g O .bss 00000004 uip_conn 0000845c g F .text 00000040 reset_handler
200000fc g O .bss 0000001e uip_conns 00008934 g F .text 00000008 SysCtlDelay
00008c68 g F .text 00000032 EthernetIntStatus 20000100 g O .bss 00000002 uip_len
0000ae74 g F .text 000001d6 uip_arp_out 20000090 g O .bss 00000006 uip_ethaddr
0000b04c g F .text 0000009e memset 0000962c g F .text 0000005c uip_add32
000085a0 g F .text 0000005c main 00008150 g F .text 0000000c TimeSet
000094d0 g F .text 000002ba SysCtlClockGet 0000a728 g .text 00000000 _etext
00009844 g F .text 00000044 UARTDisable 00008894 g F .text 00000058 SysCtlPeripheralReset
00008adc g F .text 00000048 EthernetEnable 00009488 g F .text 00000024 GPIOPinWrite
000080f4 g F .text 00000050 BootComInit 00008648 g F .text 00000038 netdev_read
0000ad34 g F .text 00000140 uip_arp_arpin 000097bc g F .text 00000a9c uip_process
00008608 g F .text 00000046 TimeInit 20000104 g O .bss 00000004 uip_sappdata
00008a64 g F .text 00000076 EthernetMACAddrSet 0000851c g F .text 00000018 netdev_init
0000acdc g F .text 00000058 uip_arp_timer 20000108 g O .bss 00000004 uip_acc32
2000011c g O .bss 00000002 uip_listenports 00009754 g F .text 00000020 uip_ipchksum
20000120 g O .bss 00000004 uip_draddr 00008f54 g F .text 00000030 EthernetInitExpClk
20000000 g .text 00000000 _data 00009714 g F .text 00000034 uip_listen
00008ce4 g F .text 0000004c EthernetPHYRead 00008680 g F .text 0000001c netdev_send
00008300 g F .text 0000007a LedToggle 000090d0 g F .text 00000050 EthernetPacketPut
20000870 g .bss 00000000 _estack 000088ec g F .text 00000038 SysCtlPeripheralEnable
000089f4 g F .text 0000006e EthernetConfigSet 2000010c g O .bss 00000001 uip_flags
20000000 g .text 00000000 _edata 0000a5fc g F .text 00000000 _init
0000abb8 g F .text 0000000a htons 00008374 g F .text 00000008 BootActivate
00008000 g O .text 000000f4 _vectab 00008924 g F .text 00000010 SysCtlReset
00008d30 g F .text 00000086 FlashUserGet 2000078c g .bss 00000000 _ebss
0000905c g F .text 0000004c GPIOPinTypeUART 00000400 g *ABS* 00000000 __STACKSIZE__
00009010 g F .text 0000004c GPIOPinTypeGPIOOutput 00008418 g F .text 00000002 UnusedISR
00008c18 g F .text 0000004e EthernetIntDisable 0000907c g F .text 00000054 EthernetPacketGetNonBlocking
00008144 g F .text 00000104 BootComCheckActivationRequest 000084a8 g F .text 00000028 LedInit
00008c9c g F .text 00000048 EthernetIntClear 00008190 g F .text 00000010 TimeISRHandler
00008650 g F .text 0000000c TimeGet 00009514 g F .text 00000034 GPIOPinTypeEthernetLED
00009b8c g F .text 00000032 uip_init 0000823c g F .text 000000d8 NetTask
00008e44 g F .text 0000006c GPIODirModeSet 00000000 w *UND* 00000000 __deregister_frame_info
20000770 g .bss 00000000 _stack 00008534 g F .text 00000114 netdev_init_mac
20000124 g O .bss 00000004 uip_netmask 00008e20 g F .text 0000002c UARTCharGetNonBlocking
0000978c g F .text 00000012 SysTickEnable 20000008 g .bss 00000000 _bss
20000128 g O .bss 00000004 uip_hostaddr 000097b0 g F .text 0000000a uip_tcpchksum
0000840c g F .text 00000038 NetApp 20000110 g O .bss 00000004 uip_appdata
000097a0 g F .text 00000012 SysTickIntEnable 000095d0 g F .text 00000020 SysTickPeriodSet
00009888 g F .text 00000142 UARTConfigSetExpClk 20000114 g O .bss 00000004 uip_conn
0000837c g F .text 00000090 NetInit 20000118 g O .bss 0000001e uip_conns
00009314 g F .text 000001ba SysCtlClockSet 00009158 g F .text 00000028 EthernetIntStatus
00008eb0 g F .text 0000012e GPIOPadConfigSet 0000a49c g F .text 00000160 uip_arp_out
2000012c g O .bss 00000642 uip_buf 00008434 g F .text 0000001c main
2000076e g O .bss 00000002 uip_slen 00008aa0 g F .text 00000204 SysCtlClockGet
00009808 g F .text 0000003c UARTEnable 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 #| File Name: makefile
#| #|
#|--------------------------------------------------------------------------------------- #|---------------------------------------------------------------------------------------
#| C O P Y R I G H T #| 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 #| L I C E N S E
@ -25,190 +25,120 @@
#**************************************************************************************** #****************************************************************************************
SHELL = sh SHELL = sh
#|---------------------------------------------------------------------------------------| #|--------------------------------------------------------------------------------------|
#| Configure project name | #| Configure project name |
#|---------------------------------------------------------------------------------------| #|--------------------------------------------------------------------------------------|
PROJ_NAME=demoprog_ek_lm3s6965 PROJ_NAME=demoprog_ek_lm3s6965
#|---------------------------------------------------------------------------------------| #|--------------------------------------------------------------------------------------|
#| Speficy project source files | #| Configure tool path |
#|---------------------------------------------------------------------------------------| #|--------------------------------------------------------------------------------------|
PROJ_FILES= \ TOOL_PATH=/opt/gcc-arm-none-eabi-5_4-2016q3/bin/
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
#|---------------------------------------------------------------------------------------| #|--------------------------------------------------------------------------------------|
#| Compiler binaries | #| Collect project files |
#|---------------------------------------------------------------------------------------| #|--------------------------------------------------------------------------------------|
CC = arm-none-eabi-gcc # Recursive wildcard function implementation. Example usages:
LN = arm-none-eabi-gcc # $(call rwildcard, , *.c *.h)
OC = arm-none-eabi-objcopy # --> Returns all *.c and *.h files in the current directory and below
OD = arm-none-eabi-objdump # $(call rwildcard, /lib/, *.c)
AS = arm-none-eabi-as # --> Returns all *.c files in the /lib directory and below
SZ = arm-none-eabi-size 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 | #| Toolchain binaries |
#|---------------------------------------------------------------------------------------| #|--------------------------------------------------------------------------------------|
PROJ_ASRCS = $(filter %.s,$(foreach file,$(PROJ_FILES),$(notdir $(file)))) 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_CSRCS = $(filter %.c,$(foreach file,$(PROJ_FILES),$(notdir $(file))))
PROJ_CHDRS = $(filter %.h,$(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) :) VPATH = $(foreach path,$(sort $(foreach file,$(PROJ_FILES),$(dir $(file)))) $(subst \,/,$(OBJ_PATH)),$(path) :)
OBJ_PATH = obj OBJ_PATH = obj
BIN_PATH = bin BIN_PATH = bin
INC_PATH = $(patsubst %,-I%,$(sort $(foreach file,$(filter %.h,$(PROJ_FILES)),$(dir $(file))))) INC_PATH = $(patsubst %/,%,$(patsubst %,-I%,$(sort $(foreach file,$(filter %.h,$(PROJ_FILES)),$(dir $(file))))))
INC_PATH += -I. -I./lib INC_PATH += -I./lib
LIB_PATH = LIB_PATH =
#|---------------------------------------------------------------------------------------| #|--------------------------------------------------------------------------------------|
#| Options for compiler binaries | #| Options for toolchain binaries |
#|---------------------------------------------------------------------------------------| #|--------------------------------------------------------------------------------------|
CFLAGS = -g -mthumb -mcpu=cortex-m3 -mlong-calls -O1 -T memory.x STDFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft -fno-strict-aliasing
CFLAGS += -D PACK_STRUCT_END=__attribute\(\(packed\)\) -D sprintf=usprintf -Wno-main STDFLAGS += -Wno-unused-but-set-variable -Wno-maybe-uninitialized
CFLAGS += -D ALIGN_STRUCT_END=__attribute\(\(aligned\(4\)\)\) -D snprintf=usnprintf STDFLAGS += -fdata-sections -ffunction-sections -Wall -g3
CFLAGS += -D printf=uipprintf -ffunction-sections -fdata-sections $(INC_PATH) OPTFLAGS = -Og
CFLAGS += -D DEBUG -D gcc CFLAGS = $(STDFLAGS) $(OPTFLAGS)
LFLAGS = -nostartfiles -Xlinker -M -Xlinker -Map=$(BIN_PATH)/$(PROJ_NAME).map CFLAGS += -DDEBUG -Dgcc
LFLAGS += $(LIB_PATH) -Xlinker --gc-sections CFLAGS += $(INC_PATH)
OFLAGS = -O srec AFLAGS = $(CFLAGS)
ODFLAGS = -x LFLAGS = $(STDFLAGS) $(OPTFLAGS)
SZFLAGS = -B -d 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 = LIBS =
#|---------------------------------------------------------------------------------------| #|--------------------------------------------------------------------------------------|
#| Define targets | #| Define targets |
#|---------------------------------------------------------------------------------------| #|--------------------------------------------------------------------------------------|
AOBJS = $(patsubst %.s,%.o,$(PROJ_ASRCS)) AOBJS = $(patsubst %.S,%.o,$(PROJ_ASRCS))
COBJS = $(patsubst %.c,%.o,$(PROJ_CSRCS)) COBJS = $(patsubst %.c,%.o,$(PROJ_CSRCS))
#|---------------------------------------------------------------------------------------| #|--------------------------------------------------------------------------------------|
#| Make ALL | #| Make ALL |
#|---------------------------------------------------------------------------------------| #|--------------------------------------------------------------------------------------|
all : $(BIN_PATH)/$(PROJ_NAME).srec .PHONY: all
all: $(BIN_PATH)/$(PROJ_NAME).srec
$(BIN_PATH)/$(PROJ_NAME).srec : $(BIN_PATH)/$(PROJ_NAME).elf $(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) $(BIN_PATH)/$(PROJ_NAME).elf : $(AOBJS) $(COBJS)
@echo +++ Linking [$(notdir $@)] @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 | #| Compile and assemble |
#|---------------------------------------------------------------------------------------| #|--------------------------------------------------------------------------------------|
$(AOBJS): %.o: %.s $(PROJ_CHDRS) $(AOBJS): %.o: %.S $(PROJ_CHDRS)
@echo +++ Assembling [$(notdir $<)] @echo +++ Assembling [$(notdir $<)]
@$(AS) $(AFLAGS) $< -o $(OBJ_PATH)/$(@F) @$(AS) $(AFLAGS) -c $< -o $(OBJ_PATH)/$(@F)
$(COBJS): %.o: %.c $(PROJ_CHDRS) $(COBJS): %.o: %.c $(PROJ_CHDRS)
@echo +++ Compiling [$(notdir $<)] @echo +++ Compiling [$(notdir $<)]
@$(CC) $(CFLAGS) -c $< -o $(OBJ_PATH)/$(@F) @$(CC) $(CFLAGS) -c $< -o $(OBJ_PATH)/$(@F)
#|---------------------------------------------------------------------------------------| #|--------------------------------------------------------------------------------------|
#| Make CLEAN | #| Make CLEAN |
#|---------------------------------------------------------------------------------------| #|--------------------------------------------------------------------------------------|
clean : .PHONY: clean
clean:
@echo +++ Cleaning build environment @echo +++ Cleaning build environment
@cs-rm -f $(foreach file,$(AOBJS),$(OBJ_PATH)/$(file)) @$(RM) $(RMFLAGS) $(foreach file,$(AOBJS),$(OBJ_PATH)/$(file))
@cs-rm -f $(foreach file,$(COBJS),$(OBJ_PATH)/$(file)) @$(RM) $(RMFLAGS) $(foreach file,$(COBJS),$(OBJ_PATH)/$(file))
@cs-rm -f $(patsubst %.o,%.lst,$(foreach file,$(COBJS),$(OBJ_PATH)/$(file))) @$(RM) $(RMFLAGS) $(patsubst %.o,%.lst,$(foreach file,$(COBJS),$(OBJ_PATH)/$(file)))
@cs-rm -f $(BIN_PATH)/$(PROJ_NAME).elf $(BIN_PATH)/$(PROJ_NAME).map @$(RM) $(RMFLAGS) $(BIN_PATH)/$(PROJ_NAME).elf $(BIN_PATH)/$(PROJ_NAME).map
@cs-rm -f $(BIN_PATH)/$(PROJ_NAME).srec @$(RM) $(RMFLAGS) $(BIN_PATH)/$(PROJ_NAME).srec
@echo +++ Clean complete @echo +++ Clean complete

View File

@ -6,21 +6,64 @@ MEMORY
SECTIONS SECTIONS
{ {
__STACKSIZE__ = 256; __STACKSIZE__ = 1024;
.text : .text :
{ {
KEEP(*(.isr_vector)) KEEP(*(.isr_vector))
*(.text*) *(.text*)
*(.rodata*)
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 = .; _etext = .;
} > FLASH } > FLASH
.data : AT (ADDR(.text) + SIZEOF(.text)) .data : AT (ADDR(.text) + SIZEOF(.text))
{ {
_data = .; _data = .;
*(vtable) *(vtable)
*(.data*) *(.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 = .; _edata = .;
} > SRAM } > SRAM
@ -33,5 +76,6 @@ SECTIONS
_stack = .; _stack = .;
. = ALIGN(MAX(_stack + __STACKSIZE__ , .), 4); . = ALIGN(MAX(_stack + __STACKSIZE__ , .), 4);
_estack = .; _estack = .;
} > SRAM } > SRAM
} }

View File

@ -1,194 +1,256 @@
bin/openblt_ek_lm3s8962.elf: file format elf32-littlearm bin/openblt_ek_lm3s8962.elf: file format elf32-littlearm
bin/openblt_ek_lm3s8962.elf bin/openblt_ek_lm3s8962.elf
architecture: arm, flags 0x00000112: architecture: arm, flags 0x00000112:
EXEC_P, HAS_SYMS, D_PAGED EXEC_P, HAS_SYMS, D_PAGED
start address 0x00000000 start address 0x00000000
Program Header: Program Header:
LOAD off 0x00008000 vaddr 0x00000000 paddr 0x00000000 align 2**15 LOAD off 0x00010000 vaddr 0x00000000 paddr 0x00000000 align 2**16
filesz 0x00001e90 memsz 0x00001e90 flags r-x filesz 0x00002514 memsz 0x00002514 flags r-x
LOAD off 0x00010000 vaddr 0x20000000 paddr 0x00001e90 align 2**15 LOAD off 0x00020000 vaddr 0x20000000 paddr 0x00002514 align 2**16
filesz 0x00000001 memsz 0x00000cf0 flags rw- filesz 0x0000000c memsz 0x00000d10 flags rw-
private flags = 5000200: [Version5 EABI] [soft-float ABI] private flags = 5000200: [Version5 EABI] [soft-float ABI]
Sections: Sections:
Idx Name Size VMA LMA File off Algn Idx Name Size VMA LMA File off Algn
0 .text 00001e90 00000000 00000000 00008000 2**2 0 .text 00002514 00000000 00000000 00010000 2**2
CONTENTS, ALLOC, LOAD, READONLY, CODE CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .data 00000001 20000000 00001e90 00010000 2**0 1 .data 0000000c 20000000 00002514 00020000 2**2
CONTENTS, ALLOC, LOAD, DATA CONTENTS, ALLOC, LOAD, DATA
2 .bss 00000cec 20000004 00001e94 00010001 2**2 2 .bss 00000d04 2000000c 00002520 0002000c 2**2
ALLOC ALLOC
3 .debug_info 00007e62 00000000 00000000 00010001 2**0 3 .ARM.attributes 00000029 00000000 00000000 0002000c 2**0
CONTENTS, READONLY, DEBUGGING CONTENTS, READONLY
4 .debug_abbrev 00001cb7 00000000 00000000 00017e63 2**0 4 .comment 0000006e 00000000 00000000 00020035 2**0
CONTENTS, READONLY, DEBUGGING CONTENTS, READONLY
5 .debug_aranges 00000938 00000000 00000000 00019b1a 2**0 5 .debug_info 00007bd6 00000000 00000000 000200a3 2**0
CONTENTS, READONLY, DEBUGGING CONTENTS, READONLY, DEBUGGING
6 .debug_ranges 00000890 00000000 00000000 0001a452 2**0 6 .debug_abbrev 0000174a 00000000 00000000 00027c79 2**0
CONTENTS, READONLY, DEBUGGING CONTENTS, READONLY, DEBUGGING
7 .debug_line 00002b0c 00000000 00000000 0001ace2 2**0 7 .debug_aranges 00000a18 00000000 00000000 000293c3 2**0
CONTENTS, READONLY, DEBUGGING CONTENTS, READONLY, DEBUGGING
8 .debug_str 00001d89 00000000 00000000 0001d7ee 2**0 8 .debug_ranges 000008b8 00000000 00000000 00029ddb 2**0
CONTENTS, READONLY, DEBUGGING CONTENTS, READONLY, DEBUGGING
9 .comment 00000030 00000000 00000000 0001f577 2**0 9 .debug_macro 000083f9 00000000 00000000 0002a693 2**0
CONTENTS, READONLY CONTENTS, READONLY, DEBUGGING
10 .ARM.attributes 00000033 00000000 00000000 0001f5a7 2**0 10 .debug_line 00003c87 00000000 00000000 00032a8c 2**0
CONTENTS, READONLY CONTENTS, READONLY, DEBUGGING
11 .debug_frame 000019b4 00000000 00000000 0001f5dc 2**2 11 .debug_str 00020952 00000000 00000000 00036713 2**0
CONTENTS, READONLY, DEBUGGING CONTENTS, READONLY, DEBUGGING
12 .debug_loc 00004a3c 00000000 00000000 00020f90 2**0 12 .debug_frame 000019e8 00000000 00000000 00057068 2**2
CONTENTS, READONLY, DEBUGGING CONTENTS, READONLY, DEBUGGING
SYMBOL TABLE: 13 .debug_loc 00004d6b 00000000 00000000 00058a50 2**0
00000000 l d .text 00000000 .text CONTENTS, READONLY, DEBUGGING
20000000 l d .data 00000000 .data SYMBOL TABLE:
20000004 l d .bss 00000000 .bss 00000000 l d .text 00000000 .text
00000000 l d .debug_info 00000000 .debug_info 20000000 l d .data 00000000 .data
00000000 l d .debug_abbrev 00000000 .debug_abbrev 2000000c l d .bss 00000000 .bss
00000000 l d .debug_aranges 00000000 .debug_aranges 00000000 l d .ARM.attributes 00000000 .ARM.attributes
00000000 l d .debug_ranges 00000000 .debug_ranges 00000000 l d .comment 00000000 .comment
00000000 l d .debug_line 00000000 .debug_line 00000000 l d .debug_info 00000000 .debug_info
00000000 l d .debug_str 00000000 .debug_str 00000000 l d .debug_abbrev 00000000 .debug_abbrev
00000000 l d .comment 00000000 .comment 00000000 l d .debug_aranges 00000000 .debug_aranges
00000000 l d .ARM.attributes 00000000 .ARM.attributes 00000000 l d .debug_ranges 00000000 .debug_ranges
00000000 l d .debug_frame 00000000 .debug_frame 00000000 l d .debug_macro 00000000 .debug_macro
00000000 l d .debug_loc 00000000 .debug_loc 00000000 l d .debug_line 00000000 .debug_line
00000000 l df *ABS* 00000000 vectors.c 00000000 l d .debug_str 00000000 .debug_str
00000000 l df *ABS* 00000000 main.c 00000000 l d .debug_frame 00000000 .debug_frame
00000000 l df *ABS* 00000000 cstart.c 00000000 l d .debug_loc 00000000 .debug_loc
00000160 l F .text 00000000 zero_loop 00000000 l df *ABS* 00000000 vectors.c
00000000 l df *ABS* 00000000 flashlib.c 00000000 l df *ABS* 00000000 crtstuff.c
00000000 l df *ABS* 00000000 sysctl.c 00002510 l O .text 00000000 __EH_FRAME_BEGIN__
000002a8 l F .text 000000e4 SysCtlPeripheralValid 000000f0 l F .text 00000000 __do_global_dtors_aux
00001c78 l O .text 0000005c g_pulXtals 2000000c l .bss 00000000 completed.8603
00001cf0 l O .text 0000000c g_pulRCGCRegs 20000008 l O .data 00000000 __do_global_dtors_aux_fini_array_entry
00000000 l df *ABS* 00000000 interrupt.c 00000114 l F .text 00000000 frame_dummy
00000000 l df *ABS* 00000000 gpio.c 20000010 l .bss 00000000 object.8608
000007c4 l F .text 00000040 GPIOBaseValid 20000004 l O .data 00000000 __frame_dummy_init_array_entry
00000000 l df *ABS* 00000000 uartlib.c 00000000 l df *ABS* 00000000 main.c
000009c0 l F .text 00000020 UARTBaseValid 0000015c l F .text 00000038 Init
00000000 l df *ABS* 00000000 canlib.c 00000000 l df *ABS* 00000000 cstart.c
00000b8c l F .text 00000020 CANBaseValid 000001c6 l F .text 00000000 zero_loop
00000bac l F .text 0000002c CANIntNumberGet 00000000 l df *ABS* 00000000 sysctl.c
00000bd8 l F .text 00000018 CANRegWrite 000001f0 l F .text 000001f8 SysCtlPeripheralValid
00000bf0 l F .text 00000064 CANRegRead 000022e8 l O .text 0000005c g_pulXtals
00000000 l df *ABS* 00000000 boot.c 0000235c l O .text 0000000c g_pulRCGCRegs
00000000 l df *ABS* 00000000 com.c 00000000 l df *ABS* 00000000 flashlib.c
00001d62 l O .text 00000003 CSWTCH.8 00000000 l df *ABS* 00000000 interrupt.c
20000004 l O .bss 00000040 xcpCtoReqPacket.4167 00000000 l df *ABS* 00000000 canlib.c
20000000 l O .data 00000001 comActiveInterface 000009d0 l F .text 0000002c CANBaseValid
00001d65 l O .text 00000003 CSWTCH.10 000009fc l F .text 0000002c CANIntNumberGet
00000000 l df *ABS* 00000000 xcp.c 00000a28 l F .text 0000001a CANRegWrite
0000131c l F .text 00000014 XcpSetCtoError 00000a44 l F .text 0000002e CANDataRegWrite
00001d68 l O .text 00000008 xcpStationId 00000a74 l F .text 00000068 CANRegRead
20000044 l O .bss 0000004c xcpInfo 00000adc l F .text 0000002e CANDataRegRead
00000000 l df *ABS* 00000000 backdoor.c 00000000 l df *ABS* 00000000 gpio.c
20000090 l O .bss 00000001 backdoorOpen 000010f4 l F .text 000000dc GPIOBaseValid
20000094 l O .bss 00000004 backdoorOpenTime 00000000 l df *ABS* 00000000 uartlib.c
00000000 l df *ABS* 00000000 cop.c 000013ec l F .text 0000002c UARTBaseValid
00000000 l df *ABS* 00000000 assert.c 00000000 l df *ABS* 00000000 xcp.c
00000000 l df *ABS* 00000000 cpu.c 000015e8 l F .text 0000001e XcpComputeChecksum
00000000 l df *ABS* 00000000 uart.c 00001608 l F .text 0000000c XcpProtectResources
20000098 l O .bss 00000001 xcpCtoRxInProgress.4366 00001614 l F .text 00000014 XcpSetCtoError
2000009c l O .bss 00000004 xcpCtoRxStartTime.4367 00001628 l F .text 0000001c XcpCmdDisconnect
200000a0 l O .bss 00000041 xcpCtoReqPacket.4364 00001644 l F .text 00000020 XcpCmdGetStatus
200000e1 l O .bss 00000001 xcpCtoRxLength.4365 00001664 l F .text 0000000a XcpCmdSynch
00000000 l df *ABS* 00000000 can.c 00001670 l F .text 0000002c XcpCmdGetId
00000000 l df *ABS* 00000000 nvm.c 0000169c l F .text 00000018 XcpCmdSetMta
00000000 l df *ABS* 00000000 timer.c 000016b4 l F .text 00000028 XcpCmdBuildCheckSum
200000e4 l O .bss 00000004 millisecond_counter 000016dc l F .text 0000000a XcpCmdProgramPrepare
00000000 l df *ABS* 00000000 flash.c 000016e8 l F .text 00000028 XcpCmdProgramStart
00001904 l F .text 00000034 FlashGetSector 00001710 l F .text 00000044 XcpCmdConnect
00001938 l F .text 0000004c FlashWriteBlock 00001754 l F .text 00000040 XcpCmdUpload
00001984 l F .text 00000050 FlashSwitchBlock 00001794 l F .text 00000040 XcpCmdShortUpload
000019d4 l F .text 00000080 FlashAddToBlock 000017d4 l F .text 00000040 XcpCmdProgramMax
00001db8 l O .text 000000d8 flashLayout 00001814 l F .text 0000005c XcpCmdProgram
200000e8 l O .bss 00000204 bootBlockInfo 00001870 l F .text 00000028 XcpCmdProgramClear
200002ec l O .bss 00000204 blockInfo 00001898 l F .text 00000018 XcpCmdProgramReset
00000000 l df *ABS* 00000000 cpu_comp.c 000018b0 l F .text 0000000a XcpTransmitPacket
00000000 l df *ABS* 00000000 000023e8 l O .text 00000008 xcpStationId
00000800 l *ABS* 00000000 __STACKSIZE__ 20000028 l O .bss 0000004c xcpInfo
00001248 g F .text 00000020 ComInit 00000000 l df *ABS* 00000000 com.c
00001a6c g F .text 00000048 FlashWrite 20000074 l O .bss 00000040 xcpCtoReqPacket.4275
000015e0 g F .text 00000008 AssertFailure 20000000 l O .data 00000001 comActiveInterface
00001858 g F .text 0000002c CanReceivePacket 00000000 l df *ABS* 00000000 backdoor.c
0000013c g F .text 00000044 reset_handler 200000b4 l O .bss 00000001 backdoorOpen
00000c54 g F .text 00000098 CANInit 200000b8 l O .bss 00000004 backdoorOpenTime
000018d8 g F .text 0000001c TimerUpdate 00000000 l df *ABS* 00000000 boot.c
0000135c g F .text 00000010 XcpPacketTransmitted 00000000 l df *ABS* 00000000 cop.c
00001268 g F .text 0000003c ComTask 00000000 l df *ABS* 00000000 assert.c
000003c4 g F .text 00000008 SysCtlDelay 00000000 l df *ABS* 00000000 uart.c
00001214 g F .text 0000001e BootInit 00001b48 l F .text 00000028 UartTransmitByte
00000cec g F .text 0000002c CANEnable 00001b70 l F .text 00000020 UartReceiveByte
000015bc g F .text 00000020 BackDoorInit 200000bc l O .bss 00000004 xcpCtoRxStartTime.4475
000015de g F .text 00000002 CopService 200000c0 l O .bss 00000041 xcpCtoReqPacket.4472
00001e90 g .text 00000000 _etext 20000101 l O .bss 00000001 xcpCtoRxLength.4473
00001c4a g F .text 00000004 CpuIrqDisable 20000102 l O .bss 00000001 xcpCtoRxInProgress.4474
00001c44 g F .text 00000006 FlashGetUserProgBaseAddress 00000000 l df *ABS* 00000000 nvm.c
00000b14 g F .text 00000024 UARTSpaceAvail 00000000 l df *ABS* 00000000 cpu.c
000018cc g F .text 0000000c TimerReset 00000000 l df *ABS* 00000000 flash.c
00000b60 g F .text 0000002c UARTCharPutNonBlocking 00001d3c l F .text 00000048 FlashGetSector
00001232 g F .text 00000016 BootTask 00001d84 l F .text 00000038 FlashGetSectorBaseAddr
00001b84 g F .text 00000044 FlashWriteChecksum 00001dbc l F .text 00000038 FlashGetSectorSize
000012a8 g F .text 00000030 ComTransmitPacket 00001df4 l F .text 00000026 FlashInitBlock
0000038c g F .text 00000038 SysCtlPeripheralEnable 00001e1c l F .text 0000005c FlashWriteBlock
0000134c g F .text 00000010 XcpIsConnected 00001e78 l F .text 0000003c FlashSwitchBlock
00001884 g F .text 00000004 NvmInit 00001eb4 l F .text 0000007a FlashAddToBlock
00001a54 g F .text 00000018 FlashInit 00001f30 l F .text 0000005e FlashEraseSectors
00001894 g F .text 00000004 NvmGetUserProgBaseAddress 00002414 l O .text 000000d8 flashLayout
200004f0 g .bss 00000000 _ebss 20000104 l O .bss 00000204 bootBlockInfo
00000130 g F .text 0000000c UnusedISR 20000308 l O .bss 00000204 blockInfo
000012a4 g F .text 00000002 ComFree 00000000 l df *ABS* 00000000 can.c
00001640 g F .text 00000028 UartInit 0000210c l F .text 00000074 CanSetBittiming
0000188c g F .text 00000004 NvmErase 00000000 l df *ABS* 00000000 timer.c
00000b38 g F .text 00000028 UARTCharGetNonBlocking 2000050c l O .bss 00000004 millisecond_counter
20000004 g .bss 00000000 _bss 00000000 l df *ABS* 00000000 cpu_comp.c
0000136c g F .text 00000218 XcpPacketReceived 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
000015e8 g F .text 00000004 CpuInit 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
00001c10 g F .text 00000034 FlashDone 00000000 l df *ABS* 00000000 crtstuff.c
00000df4 g F .text 0000007c CANStatusGet 00002510 l O .text 00000000 __FRAME_END__
00001804 g F .text 00000054 CanTransmitPacket 00000000 l df *ABS* 00000000
000001d0 g F .text 000000d8 FlashProgram 00000000 l *UND* 00000000 __bss_start__
00001330 g F .text 0000001c XcpInit 00000000 l *UND* 00000000 __libc_fini_array
00001ab4 g F .text 000000d0 FlashErase 00000000 l *UND* 00000000 __sf_fake_stderr
000000f0 g F .text 00000040 main 00000000 l *UND* 00000000 __bss_end__
00000508 g F .text 000001ac SysCtlClockGet 00000000 l *UND* 00000000 __call_exitprocs
00000a10 g F .text 00000034 UARTDisable 00000000 l *UND* 00000000 software_init_hook
00001898 g F .text 00000012 NvmDone 00000000 l *UND* 00000000 __sf_fake_stdin
00001668 g F .text 0000006c UartTransmitPacket 20000008 l .data 00000000 __init_array_end
00001890 g F .text 00000004 NvmVerifyChecksum 00000000 l *UND* 00000000 hardware_init_hook
00001058 g F .text 000001bc CANMessageGet 00000000 l *UND* 00000000 atexit
00001620 g F .text 0000001e CpuMemCopy 20000004 l .data 00000000 __preinit_array_end
00000958 g F .text 00000034 GPIOPinTypeCAN 00000000 l *UND* 00000000 __stack
000012f8 g F .text 00000020 ComGetActiveInterfaceMaxTxLen 00000000 l *UND* 00000000 __sf_fake_stdout
000016d4 g F .text 00000090 UartReceivePacket 20000004 l .data 00000000 __init_array_start
00001c4e g F .text 00000004 CpuIrqEnable 00000000 l *UND* 00000000 _exit
0000073c g F .text 00000088 IntDisable 20000004 l .data 00000000 __preinit_array_start
20000000 g .data 00000000 _data 000019d8 g F .text 00000020 ComInit
000015dc g F .text 00000002 CopInit 00001fa8 g F .text 00000058 FlashWrite
00001764 g F .text 000000a0 CanInit 00001b40 g F .text 00000008 AssertFailure
00001888 g F .text 00000004 NvmWrite 00002230 g F .text 00000030 CanReceivePacket
000015ec g F .text 00000034 CpuStartUserProgram 000001a4 g F .text 00000040 reset_handler
00000d18 g F .text 000000dc CANBitTimingSet 00000b0c g F .text 0000009c CANInit
20000cf0 g .bss 00000000 _estack 00002290 g F .text 0000001c TimerUpdate
00001bc8 g F .text 00000048 FlashVerifyChecksum 000018e8 g F .text 00000010 XcpPacketTransmitted
20000001 g .data 00000000 _edata 000019f8 g F .text 00000038 ComTask
00000000 g O .text 000000f0 _vectab 00000420 g F .text 00000008 SysCtlDelay
0000098c g F .text 00000034 GPIOPinTypeUART 00001b08 g F .text 0000001c BootInit
00001318 g F .text 00000004 ComIsConnected 00000ba8 g F .text 0000002c CANEnable
000006b4 g F .text 00000088 IntEnable 00001ae8 g F .text 00000020 BackDoorInit
000012d8 g F .text 00000020 ComGetActiveInterfaceMaxRxLen 00001b3c g F .text 00000002 CopService
00000804 g F .text 00000054 GPIODirModeSet 00002514 g .text 00000000 _etext
00001584 g F .text 00000038 BackDoorCheck 000022bc g F .text 00000004 CpuIrqDisable
200004f0 g .bss 00000000 _stack 00002104 g F .text 00000006 FlashGetUserProgBaseAddress
000018f4 g F .text 00000010 TimerGet 00001568 g F .text 00000028 UARTSpaceAvail
00000e70 g F .text 000001e8 CANMessageSet 00002260 g F .text 0000000c TimerReset
00000a44 g F .text 000000d0 UARTConfigSetExpClk 000015bc g F .text 0000002c UARTCharPutNonBlocking
000003cc g F .text 0000013c SysCtlClockSet 00001b24 g F .text 00000014 BootTask
00000858 g F .text 00000100 GPIOPadConfigSet 00002030 g F .text 0000004c FlashWriteChecksum
000018ac g F .text 00000020 TimerInit 00001a34 g F .text 0000002c ComTransmitPacket
0000018c g F .text 00000044 FlashClear 000003e8 g F .text 00000038 SysCtlPeripheralEnable
000009e0 g F .text 00000030 UARTEnable 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 #| File Name: makefile
#| #|
#|--------------------------------------------------------------------------------------- #|---------------------------------------------------------------------------------------
#| C O P Y R I G H T #| 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 #| L I C E N S E
@ -25,138 +25,111 @@
#**************************************************************************************** #****************************************************************************************
SHELL = sh SHELL = sh
#|---------------------------------------------------------------------------------------| #|--------------------------------------------------------------------------------------|
#| Configure project name | #| Configure project name |
#|---------------------------------------------------------------------------------------| #|--------------------------------------------------------------------------------------|
PROJ_NAME=openblt_ek_lm3s8962 PROJ_NAME=openblt_ek_lm3s8962
#|---------------------------------------------------------------------------------------| #|--------------------------------------------------------------------------------------|
#| Speficy project source files | #| Configure tool path |
#|---------------------------------------------------------------------------------------| #|--------------------------------------------------------------------------------------|
PROJ_FILES= \ TOOL_PATH=/opt/gcc-arm-none-eabi-5_4-2016q3/bin/
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
#|---------------------------------------------------------------------------------------| #|--------------------------------------------------------------------------------------|
#| Compiler binaries | #| Collect project files |
#|---------------------------------------------------------------------------------------| #|--------------------------------------------------------------------------------------|
CC = arm-none-eabi-gcc # Recursive wildcard function implementation. Example usages:
LN = arm-none-eabi-gcc # $(call rwildcard, , *.c *.h)
OC = arm-none-eabi-objcopy # --> Returns all *.c and *.h files in the current directory and below
OD = arm-none-eabi-objdump # $(call rwildcard, /lib/, *.c)
AS = arm-none-eabi-as # --> Returns all *.c files in the /lib directory and below
SZ = arm-none-eabi-size 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 | #| Toolchain binaries |
#|---------------------------------------------------------------------------------------| #|--------------------------------------------------------------------------------------|
PROJ_ASRCS = $(filter %.s,$(foreach file,$(PROJ_FILES),$(notdir $(file)))) 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_CSRCS = $(filter %.c,$(foreach file,$(PROJ_FILES),$(notdir $(file))))
PROJ_CHDRS = $(filter %.h,$(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) :) VPATH = $(foreach path,$(sort $(foreach file,$(PROJ_FILES),$(dir $(file)))) $(subst \,/,$(OBJ_PATH)),$(path) :)
OBJ_PATH = obj OBJ_PATH = obj
BIN_PATH = bin BIN_PATH = bin
INC_PATH = $(patsubst %,-I%,$(sort $(foreach file,$(filter %.h,$(PROJ_FILES)),$(dir $(file))))) INC_PATH = $(patsubst %/,%,$(patsubst %,-I%,$(sort $(foreach file,$(filter %.h,$(PROJ_FILES)),$(dir $(file))))))
INC_PATH += -I. -I./lib INC_PATH += -I./lib
LIB_PATH = -L./ LIB_PATH =
#|---------------------------------------------------------------------------------------| #|--------------------------------------------------------------------------------------|
#| Options for compiler binaries | #| Options for toolchain binaries |
#|---------------------------------------------------------------------------------------| #|--------------------------------------------------------------------------------------|
CFLAGS = -g -mthumb -mcpu=cortex-m3 -Os -T memory.x STDFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft -fno-strict-aliasing
CFLAGS += -D PACK_STRUCT_END=__attribute\(\(packed\)\) -Wno-main STDFLAGS += -Wno-unused-but-set-variable
CFLAGS += -D ALIGN_STRUCT_END=__attribute\(\(aligned\(4\)\)\) STDFLAGS += -fdata-sections -ffunction-sections -Wall -g3
CFLAGS += -ffunction-sections -fdata-sections $(INC_PATH) -D DEBUG -D gcc OPTFLAGS = -Og
CFLAGS += -Wa,-adhlns="$(OBJ_PATH)/$(subst .o,.lst,$@)" CFLAGS = $(STDFLAGS) $(OPTFLAGS)
LFLAGS = -nostartfiles -Xlinker -M -Xlinker -Map=$(BIN_PATH)/$(PROJ_NAME).map CFLAGS += -DDEBUG -Dgcc
LFLAGS += $(LIB_PATH) -Xlinker --gc-sections CFLAGS += $(INC_PATH)
OFLAGS = -O binary AFLAGS = $(CFLAGS)
ODFLAGS = -x LFLAGS = $(STDFLAGS) $(OPTFLAGS)
SZFLAGS = -B -d 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 = LIBS =
#|---------------------------------------------------------------------------------------| #|--------------------------------------------------------------------------------------|
#| Define targets | #| Define targets |
#|---------------------------------------------------------------------------------------| #|--------------------------------------------------------------------------------------|
AOBJS = $(patsubst %.s,%.o,$(PROJ_ASRCS)) AOBJS = $(patsubst %.S,%.o,$(PROJ_ASRCS))
COBJS = $(patsubst %.c,%.o,$(PROJ_CSRCS)) COBJS = $(patsubst %.c,%.o,$(PROJ_CSRCS))
#|---------------------------------------------------------------------------------------| #|--------------------------------------------------------------------------------------|
#| Make ALL | #| Make ALL |
#|---------------------------------------------------------------------------------------| #|--------------------------------------------------------------------------------------|
all : $(BIN_PATH)/$(PROJ_NAME).bin .PHONY: all
all: $(BIN_PATH)/$(PROJ_NAME).bin
$(BIN_PATH)/$(PROJ_NAME).bin : $(BIN_PATH)/$(PROJ_NAME).elf $(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) $(BIN_PATH)/$(PROJ_NAME).elf : $(AOBJS) $(COBJS)
@echo +++ Linking [$(notdir $@)] @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 | #| Compile and assemble |
#|---------------------------------------------------------------------------------------| #|--------------------------------------------------------------------------------------|
$(AOBJS): %.o: %.s $(PROJ_CHDRS) $(AOBJS): %.o: %.S $(PROJ_CHDRS)
@echo +++ Assembling [$(notdir $<)] @echo +++ Assembling [$(notdir $<)]
@$(AS) $(AFLAGS) $< -o $(OBJ_PATH)/$(@F) @$(AS) $(AFLAGS) -c $< -o $(OBJ_PATH)/$(@F)
$(COBJS): %.o: %.c $(PROJ_CHDRS) $(COBJS): %.o: %.c $(PROJ_CHDRS)
@echo +++ Compiling [$(notdir $<)] @echo +++ Compiling [$(notdir $<)]
@$(CC) $(CFLAGS) -c $< -o $(OBJ_PATH)/$(@F) @$(CC) $(CFLAGS) -c $< -o $(OBJ_PATH)/$(@F)
#|---------------------------------------------------------------------------------------| #|--------------------------------------------------------------------------------------|
#| Make CLEAN | #| Make CLEAN |
#|---------------------------------------------------------------------------------------| #|--------------------------------------------------------------------------------------|
clean : .PHONY: clean
clean:
@echo +++ Cleaning build environment @echo +++ Cleaning build environment
@cs-rm -f $(foreach file,$(AOBJS),$(OBJ_PATH)/$(file)) @$(RM) $(RMFLAGS) $(foreach file,$(AOBJS),$(OBJ_PATH)/$(file))
@cs-rm -f $(foreach file,$(COBJS),$(OBJ_PATH)/$(file)) @$(RM) $(RMFLAGS) $(foreach file,$(COBJS),$(OBJ_PATH)/$(file))
@cs-rm -f $(patsubst %.o,%.lst,$(foreach file,$(COBJS),$(OBJ_PATH)/$(file))) @$(RM) $(RMFLAGS) $(patsubst %.o,%.lst,$(foreach file,$(COBJS),$(OBJ_PATH)/$(file)))
@cs-rm -f $(BIN_PATH)/$(PROJ_NAME).elf $(BIN_PATH)/$(PROJ_NAME).map @$(RM) $(RMFLAGS) $(BIN_PATH)/$(PROJ_NAME).elf $(BIN_PATH)/$(PROJ_NAME).map
@cs-rm -f $(BIN_PATH)/$(PROJ_NAME).bin @$(RM) $(RMFLAGS) $(BIN_PATH)/$(PROJ_NAME).srec
@echo +++ Clean complete @echo +++ Clean complete

View File

@ -10,17 +10,60 @@ SECTIONS
.text : .text :
{ {
KEEP(*(.isr_vector)) KEEP(*(.isr_vector))
*(.text*) *(.text*)
*(.rodata*)
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 = .; _etext = .;
} > FLASH } > FLASH
.data : AT (ADDR(.text) + SIZEOF(.text)) .data : AT (ADDR(.text) + SIZEOF(.text))
{ {
_data = .; _data = .;
*(vtable) *(vtable)
*(.data*) *(.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 = .; _edata = .;
} > SRAM } > SRAM

View File

@ -1,132 +1,182 @@
bin/demoprog_ek_lm3s8962.elf: file format elf32-littlearm bin/demoprog_ek_lm3s8962.elf: file format elf32-littlearm
bin/demoprog_ek_lm3s8962.elf bin/demoprog_ek_lm3s8962.elf
architecture: arm, flags 0x00000112: architecture: arm, flags 0x00000112:
EXEC_P, HAS_SYMS, D_PAGED EXEC_P, HAS_SYMS, D_PAGED
start address 0x00004000 start address 0x00004000
Program Header: Program Header:
LOAD off 0x00000000 vaddr 0x00000000 paddr 0x00000000 align 2**15 LOAD off 0x00000000 vaddr 0x00000000 paddr 0x00000000 align 2**16
filesz 0x00005c3c memsz 0x00005c3c flags r-x filesz 0x000058f0 memsz 0x000058f0 flags r-x
LOAD off 0x00008000 vaddr 0x20000000 paddr 0x20000000 align 2**15 LOAD off 0x00010000 vaddr 0x20000000 paddr 0x000058f0 align 2**16
filesz 0x00000000 memsz 0x0000045c flags rw- filesz 0x00000008 memsz 0x00000480 flags rw-
private flags = 5000202: [Version5 EABI] [soft-float ABI] [has entry point] private flags = 5000200: [Version5 EABI] [soft-float ABI]
Sections: Sections:
Idx Name Size VMA LMA File off Algn Idx Name Size VMA LMA File off Algn
0 .text 00001c3c 00004000 00004000 00004000 2**2 0 .text 000018f0 00004000 00004000 00004000 2**2
CONTENTS, ALLOC, LOAD, READONLY, CODE CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .bss 0000045c 20000000 20000000 00008000 2**2 1 .data 00000008 20000000 000058f0 00010000 2**2
ALLOC CONTENTS, ALLOC, LOAD, DATA
2 .debug_info 00005517 00000000 00000000 00005c3c 2**0 2 .bss 00000478 20000008 000058f8 00010008 2**2
CONTENTS, READONLY, DEBUGGING ALLOC
3 .debug_abbrev 00000da5 00000000 00000000 0000b153 2**0 3 .ARM.attributes 00000029 00000000 00000000 00010008 2**0
CONTENTS, READONLY, DEBUGGING CONTENTS, READONLY
4 .debug_loc 00002f2b 00000000 00000000 0000bef8 2**0 4 .comment 0000006e 00000000 00000000 00010031 2**0
CONTENTS, READONLY, DEBUGGING CONTENTS, READONLY
5 .debug_aranges 000006c0 00000000 00000000 0000ee23 2**0 5 .debug_info 00005af4 00000000 00000000 0001009f 2**0
CONTENTS, READONLY, DEBUGGING CONTENTS, READONLY, DEBUGGING
6 .debug_ranges 00000630 00000000 00000000 0000f4e3 2**0 6 .debug_abbrev 00000d80 00000000 00000000 00015b93 2**0
CONTENTS, READONLY, DEBUGGING CONTENTS, READONLY, DEBUGGING
7 .debug_line 00001aaf 00000000 00000000 0000fb13 2**0 7 .debug_aranges 00000708 00000000 00000000 00016913 2**0
CONTENTS, READONLY, DEBUGGING CONTENTS, READONLY, DEBUGGING
8 .debug_str 00001536 00000000 00000000 000115c2 2**0 8 .debug_ranges 00000648 00000000 00000000 0001701b 2**0
CONTENTS, READONLY, DEBUGGING CONTENTS, READONLY, DEBUGGING
9 .comment 00000030 00000000 00000000 00012af8 2**0 9 .debug_macro 0000742a 00000000 00000000 00017663 2**0
CONTENTS, READONLY CONTENTS, READONLY, DEBUGGING
10 .ARM.attributes 00000033 00000000 00000000 00012b28 2**0 10 .debug_line 000025ea 00000000 00000000 0001ea8d 2**0
CONTENTS, READONLY CONTENTS, READONLY, DEBUGGING
11 .debug_frame 000011fc 00000000 00000000 00012b5c 2**2 11 .debug_str 0001e461 00000000 00000000 00021077 2**0
CONTENTS, READONLY, DEBUGGING CONTENTS, READONLY, DEBUGGING
SYMBOL TABLE: 12 .debug_frame 000012e4 00000000 00000000 0003f4d8 2**2
00004000 l d .text 00000000 .text CONTENTS, READONLY, DEBUGGING
20000000 l d .bss 00000000 .bss 13 .debug_loc 00003b22 00000000 00000000 000407bc 2**0
00000000 l d .debug_info 00000000 .debug_info CONTENTS, READONLY, DEBUGGING
00000000 l d .debug_abbrev 00000000 .debug_abbrev SYMBOL TABLE:
00000000 l d .debug_loc 00000000 .debug_loc 00004000 l d .text 00000000 .text
00000000 l d .debug_aranges 00000000 .debug_aranges 20000000 l d .data 00000000 .data
00000000 l d .debug_ranges 00000000 .debug_ranges 20000008 l d .bss 00000000 .bss
00000000 l d .debug_line 00000000 .debug_line 00000000 l d .ARM.attributes 00000000 .ARM.attributes
00000000 l d .debug_str 00000000 .debug_str 00000000 l d .comment 00000000 .comment
00000000 l d .comment 00000000 .comment 00000000 l d .debug_info 00000000 .debug_info
00000000 l d .ARM.attributes 00000000 .ARM.attributes 00000000 l d .debug_abbrev 00000000 .debug_abbrev
00000000 l d .debug_frame 00000000 .debug_frame 00000000 l d .debug_aranges 00000000 .debug_aranges
00000000 l df *ABS* 00000000 vectors.c 00000000 l d .debug_ranges 00000000 .debug_ranges
00000000 l df *ABS* 00000000 boot.c 00000000 l d .debug_macro 00000000 .debug_macro
20000000 l O .bss 00000041 xcpCtoReqPacket.4538 00000000 l d .debug_line 00000000 .debug_line
20000044 l O .bss 00000001 xcpCtoRxInProgress.4540 00000000 l d .debug_str 00000000 .debug_str
20000045 l O .bss 00000001 xcpCtoRxLength.4539 00000000 l d .debug_frame 00000000 .debug_frame
20000048 l O .bss 00000004 xcpCtoRxStartTime.4541 00000000 l d .debug_loc 00000000 .debug_loc
00000000 l df *ABS* 00000000 cstart.c 00000000 l df *ABS* 00000000 vectors.c
000043ac l F .text 00000000 zero_loop 00000000 l df *ABS* 00000000 crtstuff.c
00000000 l df *ABS* 00000000 led.c 000058ec l O .text 00000000 __EH_FRAME_BEGIN__
2000004c l O .bss 00000004 timer_counter_last.4520 000040f4 l F .text 00000000 __do_global_dtors_aux
20000050 l O .bss 00000001 led_toggle_state.4519 20000008 l .bss 00000000 completed.8603
00000000 l df *ABS* 00000000 main.c 20000004 l O .data 00000000 __do_global_dtors_aux_fini_array_entry
20000054 l O .bss 00000004 assert_failure_line.4527 00004118 l F .text 00000000 frame_dummy
00000000 l df *ABS* 00000000 time.c 2000000c l .bss 00000000 object.8608
20000058 l O .bss 00000004 millisecond_counter 20000000 l O .data 00000000 __frame_dummy_init_array_entry
00000000 l df *ABS* 00000000 can.c 00000000 l df *ABS* 00000000 time.c
00004548 l F .text 00000024 CANBaseValid 20000024 l O .bss 00000004 millisecond_counter
0000456c l F .text 00000032 CANIntNumberGet 00000000 l df *ABS* 00000000 boot.c
000045a0 l F .text 0000001e CANRegWrite 000041a0 l F .text 00000038 BootComUartInit
000045c0 l F .text 00000094 CANRegRead 000041d8 l F .text 00000074 CanSetBittiming
00000000 l df *ABS* 00000000 gpio.c 0000424c l F .text 0000005c BootComCanInit
00004e10 l F .text 0000008a GPIOBaseValid 000042a8 l F .text 00000020 UartReceiveByte
00000000 l df *ABS* 00000000 interrupt.c 000042dc l F .text 00000094 BootComUartCheckActivationRequest
00000000 l df *ABS* 00000000 sysctl.c 00004370 l F .text 00000040 BootComCanCheckActivationRequest
0000529c l F .text 00000154 SysCtlPeripheralValid 20000028 l O .bss 00000001 xcpCtoRxLength.4647
00005b8c l O .text 0000005c g_pulXtals 20000029 l O .bss 00000001 xcpCtoRxInProgress.4648
00005c00 l O .text 0000000c g_pulRCGCRegs 2000002c l O .bss 00000004 xcpCtoRxStartTime.4649
00000000 l df *ABS* 00000000 systick.c 20000030 l O .bss 00000041 xcpCtoReqPacket.4646
00000000 l df *ABS* 00000000 uart.c 00000000 l df *ABS* 00000000 main.c
00005920 l F .text 00000026 UARTBaseValid 000043c0 l F .text 00000018 Init
00000000 l df *ABS* 00000000 20000074 l O .bss 00000004 assert_failure_line.4635
00000400 l *ABS* 00000000 __STACKSIZE__ 00000000 l df *ABS* 00000000 cstart.c
000044d4 g F .text 0000000c __error__ 0000441a l F .text 00000000 zero_loop
00004368 g F .text 00000060 reset_handler 00000000 l df *ABS* 00000000 led.c
00004654 g F .text 000000e0 CANInit 20000078 l O .bss 00000004 timer_counter_last.4628
0000544c g F .text 00000008 SysCtlDelay 2000007c l O .bss 00000001 led_toggle_state.4627
00004734 g F .text 00000044 CANEnable 00000000 l df *ABS* 00000000 sysctl.c
00005c3c g .text 00000000 _etext 000044b8 l F .text 000001f8 SysCtlPeripheralValid
00005038 g F .text 00000030 GPIOPinWrite 000057f4 l O .text 0000005c g_pulXtals
000053f0 g F .text 00000046 SysCtlPeripheralEnable 00005868 l O .text 0000000c g_pulRCGCRegs
00005438 g F .text 00000012 SysCtlReset 00000000 l df *ABS* 00000000 uart.c
2000005c g .bss 00000000 _ebss 00004a68 l F .text 0000002c UARTBaseValid
00004544 g F .text 00000002 UnusedISR 00000000 l df *ABS* 00000000 interrupt.c
000043d4 g F .text 0000003a LedInit 00000000 l df *ABS* 00000000 gpio.c
00004534 g F .text 00000010 TimeISRHandler 00004d28 l F .text 000000dc GPIOBaseValid
00005b0c g F .text 00000036 UARTCharGetNonBlocking 00000000 l df *ABS* 00000000 can.c
20000000 g .bss 00000000 _bss 00005078 l F .text 0000002c CANBaseValid
000058f4 g F .text 0000002a SysTickPeriodSet 000050a4 l F .text 0000002c CANIntNumberGet
000048ac g F .text 000000b0 CANStatusGet 000050d0 l F .text 0000001a CANRegWrite
0000448c g F .text 00000048 main 000050ec l F .text 0000002e CANDataRegWrite
00005610 g F .text 000002ba SysCtlClockGet 0000511c l F .text 00000068 CANRegRead
00005984 g F .text 00000044 UARTDisable 00005184 l F .text 0000002e CANDataRegRead
00004bf4 g F .text 0000021a CANMessageGet 00000000 l df *ABS* 00000000 systick.c
00005068 g F .text 0000004c GPIOPinTypeCAN 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
000040f4 g F .text 0000011e BootComInit 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
000044e0 g F .text 00000046 TimeInit 00000000 l df *ABS* 00000000 crtstuff.c
000051f4 g F .text 000000a8 IntDisable 000058ec l O .text 00000000 __FRAME_END__
20000000 g .text 00000000 _data 00000000 l df *ABS* 00000000
00004410 g F .text 0000007a LedToggle 00000000 l *UND* 00000000 __bss_start__
00004778 g F .text 00000132 CANBitTimingSet 00000000 l *UND* 00000000 __libc_fini_array
2000045c g .bss 00000000 _estack 00000000 l *UND* 00000000 __sf_fake_stderr
20000000 g .text 00000000 _edata 00000000 l *UND* 00000000 __bss_end__
00004000 g O .text 000000f4 _vectab 00000000 l *UND* 00000000 __call_exitprocs
00005100 g F .text 0000004c GPIOPinTypeUART 00000000 l *UND* 00000000 software_init_hook
000050b4 g F .text 0000004c GPIOPinTypeGPIOOutput 00000000 l *UND* 00000000 __sf_fake_stdin
0000514c g F .text 000000a8 IntEnable 20000004 l .data 00000000 __init_array_end
00004214 g F .text 00000154 BootComCheckActivationRequest 00000000 l *UND* 00000000 hardware_init_hook
00004528 g F .text 0000000c TimeGet 00000000 l *UND* 00000000 atexit
00004e9c g F .text 0000006c GPIODirModeSet 20000000 l .data 00000000 __preinit_array_end
2000005c g .bss 00000000 _stack 00000000 l *UND* 00000000 __stack
000058cc g F .text 00000012 SysTickEnable 00000000 l *UND* 00000000 __sf_fake_stdout
000058e0 g F .text 00000012 SysTickIntEnable 20000000 l .data 00000000 __init_array_start
0000495c g F .text 00000296 CANMessageSet 00000000 l *UND* 00000000 _exit
000059c8 g F .text 00000142 UARTConfigSetExpClk 20000000 l .data 00000000 __preinit_array_start
00005454 g F .text 000001ba SysCtlClockSet 000043ec g F .text 0000000c __error__
00004f08 g F .text 0000012e GPIOPadConfigSet 000043f8 g F .text 00000040 reset_handler
00005948 g F .text 0000003c UARTEnable 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 S020000062696E2F64656D6F70726F675F656B5F6C6D3373383936322E7372656359
S11340005C0400206943000045450000454500006C S113400080040020F9430000BD430000BD430000CC
S11340104545000045450000454500004545000074 S1134010BD430000BD430000BD430000BD4300009C
S11340204545000045450000454500004545000064 S1134020BD430000BD430000BD430000BD4300008C
S11340304545000045450000454500003545000064 S1134030BD430000BD430000BD43000091410000AA
S11340404545000045450000454500004545000044 S1134040BD430000BD430000BD430000BD4300006C
S11340504545000045450000454500004545000034 S1134050BD430000BD430000BD430000BD4300005C
S11340604545000045450000454500004545000024 S1134060BD430000BD430000BD430000BD4300004C
S11340704545000045450000454500004545000014 S1134070BD430000BD430000BD430000BD4300003C
S11340804545000045450000454500004545000004 S1134080BD430000BD430000BD430000BD4300002C
S113409045450000454500004545000045450000F4 S1134090BD430000BD430000BD430000BD4300001C
S11340A045450000454500004545000045450000E4 S11340A0BD430000BD430000BD430000BD4300000C
S11340B045450000454500004545000045450000D4 S11340B0BD430000BD430000BD430000BD430000FC
S11340C045450000454500004545000045450000C4 S11340C0BD430000BD430000BD430000BD430000EC
S11340D045450000454500004545000045450000B4 S11340D0BD430000BD430000BD430000BD430000DC
S11340E045450000454500004545000045450000A4 S11340E0BD430000BD430000BD430000BD430000CC
S11340F0EE11AA55F0B587B00120C1F2000045F2D7 S11340F0EE11AA5510B5054C237833B9044B13B10E
S1134100F134C0F20004A0470120C2F20000A0472D S11341000448AFF300800123237010BD0800002091
S11341104FF04020032145F20113C0F200039847F9 S113411000000000EC580000084B10B51BB1084922
S113412045F21163C0F20003984701464FF4404042 S11341200848AFF300800848036803B910BD074B83
S1134130C4F200004FF46142602345F6C915C0F291 S1134130002BFBD0BDE81040184700BF0000000072
S11341400005A8470820C2F20000A0474FF4E04051 S11341400C000020EC5800000800002000000000D3
S1134150C4F20000032145F26903C0F2000398474A S1134150014B1860704700BF2400002008B500F030
S11341604FF48070C0F21000A0470020C4F2040095 S113416081FB074BA3FB0030800901F027FB01F022
S113417044F25563C0F200039847042303931026C6 S113417015FB01F01BFB0020FFF7EAFF08BD00BFA1
S1134180019640F2A460082735463B46741CE218A9 S1134180D34D6210014B1868704700BF2400002013
S1134190B0FBF2F14139C9B20A2918D8B5FBF2F1E2 S1134190024A136801331360704700BF24000020F3
S11341A002FB01F1102912D102930196032B98BF4F S11341A008B50A4800F084FA094800F081FA0321AE
S11341B003931023B3FBF2F204920020C4F2040030 S11341B04FF0402000F046FF00F054FB60234FF422
S11341C001A944F27973C0F20003984704E0013B6B S11341C061420146034800F099FC08BD010000105B
S11341D0DDD16438013ED8D10024C4F20404204661 S11341D00100002000C0004000B585B00423029314
S11341E044F23573C0F20003984740F267630193C9 S11341E01023009329E00823019321E0642300FBBA
S11341F003F5CC730293082303930493204601210F S11341F0033381180131B3FBF1F3DBB2413BDBB292
S113420001AA022344F65D14C0F20004A04707B0DB S11342000A2B13D81023B3FBF1F301FB03F3102B98
S1134210F0BD00BF10B588B040F24403C2F2000301 S11342100CD1032A00D802921023B3FBF1F10391CD
S11342201B7853BB4FF44040C4F2000045F60D33F5 S11342206946094801F02AF8012009E0013A01929F
S1134230C0F200039847B0F1FF3F5FD040F20003A3 S1134230019A002ADAD10138009000980028D2D1DE
S1134240C2F20003187010F0FF0F57D044F2295344 S113424005B05DF804FB00BF0000044010B586B063
S1134250C0F20003984740F24803C2F2000318601A S1134250114800F02DFA0321104800F0BFFE104869
S113426040F24403C2F2000301221A7040F24503F3 S113426000F026FA0F4C204600F0A4FFFFF7B4FF3D
S1134270C2F2000300221A7040E040F24503C2F289 S1134270204600F0EDFF40F26763019340F2FF73C4
S113428000031B785C1C4FF44040C4F2000045F668 S11342800293082303930493022301AA01212046E5
S11342900D33C0F200039847B0F1FF3F54D040F211 S113429001F0A8F806B010BD08000020007000402E
S11342A00003C2F20003185540F24502C2F20002B4 S11342A0000110000000044010B50446054800F069
S11342B011780131C9B211701B788B421ED140F2C2 S11342B099FCB0F1FF3F02D02070012010BD002016
S11342C04403C2F2000300221A7040F20003C2F257 S11342C010BD00BF00C0004008B5FFF769FFFFF74D
S11342D000035B78FF2B11D140F20003C2F200030C S11342D0BDFF08BD08B500F007FA08BD08B5204BBE
S11342E09B785BB945F23943C0F20003984705E077 S11342E01B789BB91F48FFF7DFFF012837D11D4B0F
S11342F040F24403C2F2000300221A700020C4F208 S11342F01B78002B33D0FFF745FF1B4B18600122BE
S11343000400022144F6AD03C0F20003984710F004 S1134300174B1A700022194B1A7008BD174B1B78F3
S1134310010F27D001AB07930020C4F20400012150 S1134310013314481844FFF7C7FF012815D1134A85
S113432003AA0B4644F6F534C0F20004A0479DF8F6 S113432013780133DBB213700E4A1278934216D11C
S11343300430FF2B16D19DF805309BB945F2394363 S113433000220B4B1A700B4B5B78FF2B0FD1094BF0
S1134340C0F2000398470DE044F22953C0F2000381 S11343409B7863B9FFF7C6FF08BDFFF71BFF064B59
S1134350984740F24803C2F200031B686433984252 S11343501B686433984202D90022014B1A7008BDCD
S1134360C6D8CBE708B010BD10B517498D4640F24A S113436029000020300000202C000020280000201C
S11343700002C2F2000240F20003C2F200039A42B9 S113437000B589B002210D4800F0EEFF10F0010FE6
S113438010D2131D0F4CE41A24F003040434002348 S113438010D001AB0793012303AA1946074801F093
S1134390104645F63C41C0F200015A581A50043305 S113439027F99DF80430FF2B04D19DF805300BB9A3
S11343A0A342FAD109480A494FF000028842B8BF33 S11343A0FFF798FF09B05DF804FB00BF000004406C
S11343B040F8042BFADB44F28D43C0F20003984723 S11343B008B5FFF793FFFFF7DBFF08BDFEE700BF7B
S11343C010BD00BF030000205C040020000000209A S11343C008B5044800F09CF900F03CF8FFF7C6FE7D
S11343D05C00002010B52020C2F2000045F2F13349 S11343D008BD00BF8003C00108B5FFF7F1FFFFF778
S11343E0C0F2000398474FF4A044C4F202042046EC S11343E073FF00F043F8FFF7E3FFFAE7014B1960AE
S11343F0012145F2B503C0F200039847204601218C S11343F0FEE700BF7400002008B50F498D460B4B43
S1134400002245F23903C0F20003984710BD00BFF3 S11344000B4A03E0116819600433043209498B42F2
S113441010B544F22953C0F200039847044640F211 S1134410F8D30A480A494FF000028842B8BF40F86E
S11344204C03C2F200031B68C31AB3F5FA7F2BD303 S1134420042BFADBFFF7D8FF08BD00BF0000002013
S113443040F25003C2F200031B7883B940F25003E8 S1134430F05800000800002080040020080000203C
S1134440C2F2000301221A704FF4A040C4F2020029 S11344407D00002010B5074800F032F9064C012128
S1134450114645F23903C0F2000398470FE040F2D9 S1134450204600F0DDFD00220121204600F0ACFDE5
S11344605003C2F2000300221A704FF4A040C4F2B9 S113446010BD00BF200000200050024010B5FFF72F
S11344700200012145F23903C0F20003984740F2DB S113447089FE0E4B1B68C31AB3F5FA7F14D30446A6
S11344804C03C2F200031C6010BD00BF08B54FF41A S11344800B4B1B783BB90121094B19700A460948AB
S11344906070C0F2C01045F25543C0F20003984763 S113449000F092FD06E00022054B1A700121054848
S11344A044F2D533C0F20003984744F2E143C0F22A S11344A000F08AFD014B1C6010BD00BF78000020A5
S11344B00003984744F2F503C0F20003984744F21E S11344B07C00002000500240A0F58013013B012B3A
S11344C01145C0F2000544F21524C0F20004A847C7 S11344C040F28F80714B984200F08D8003F5807329
S11344D0A047FCE740F25403C2F200031960FEE770 S11344D0984200F08A8003F50073984200F08780C8
S11344E008B545F21163C0F20003984744F6D3536C S11344E003F18053A3F54073984200F0828003F5F2
S11344F0C1F26203A3FB0020800945F6F503C0F274 S11344F0807398427FD003F5007398427DD003F512
S11345000003984745F6CD03C0F20003984745F6EB S1134500705398427BD003F11023984279D0604BCA
S1134510E103C0F20003984740F25803C2F20003DB S1134510984278D00133984277D00233984276D0CB
S113452000221A6008BD00BF40F25803C2F2000323 S11345200433984275D00833984274D010339842BB
S11345301868704740F25803C2F200031A68013247 S113453073D02033984272D04033984271D0803384
S11345401A607047FEE700BF20F480520023C4F2D3 S1134540984270D0402870D0B0F1102F6FD0514BEA
S113455004039A4208D04FF40053C4F2040398426F S113455098426ED003F57D2398426CD003F18053CA
S113456014BF002001207047012070474FF480538E S1134560A3F57063984268D04B4B984267D0703B78
S1134570C4F20403984210D04FF40053C4F204036D S1134570984266D0B0F1101F65D0484B984264D081
S1134580984208D00023C4F2040398420CBF372099 S113458003F58073984262D0A3F5F873984260D023
S11345904FF0FF307047392070473820704700BF14 S1134590103398425FD003F1005398425DD0404BF2
S11345A082B0016000230193019B042B05DC019B75 S11345A098425CD0013398425BD0023398425AD08F
S11345B001330193019B042BF9DD02B0704700BF66 S11345B00433984259D03B4B984258D00133984227
S11345C070B582B0044620F47F6020F00F0044F2FE S11345C057D00233984256D0B0F1202F55D0364BF5
S11345D06D53C0F2000398470546B0F1FF3F10D178 S11345D0984254D0082854D0344B984253D10120E7
S11345E045F64430C0F20000F92144F2D543C0F24C S11345E07047012070470120704701207047012067
S11345F0000398474EF20413CEF200031B68002612 S11345F07047012070470120704701207047012057
S113460011E04EF20413CEF200031B68A0F1300255 S11346007047012070470120704701207047012046
S1134610012101FA02F212EA030604D045F2F5136D S11346107047012070470120704701207047012036
S1134620C0F20003984723680023019301990429E9 S11346207047012070470120704701207047012026
S113463005DC019B01330193019B042BF9DD246804 S11346307047012070470120704701207047012016
S11346402EB1284645F24D13C0F200039847204688 S11346407047012070470120704701207047012006
S113465002B070BD2DE9F843804644F24953C0F2DC S113465070470120704701207047012070470120F6
S11346600003984750B945F64430C0F2000040F2C8 S113466070470120704701207047012070470120E6
S1134670D91144F2D543C0F20003984740460121C2 S113467070470120704701207047012070470120D6
S113468044F2A153C0F20003984708F1200544F214 S11346807047012070470020704700BF00011000F0
S1134690C156C0F200062C462846B04710F4004F1D S113469001000020004000108000003000010010E4
S11346A0F9D108F124094846B02144F2A155C0F2D9 S11346A00100101001000010010010200010100083
S11346B00005A84708F134000021A84708F1380094 S11346B010B50446FFF700FF20B94FF4FC71084819
S11346C00021A847012644F2C155C0F2000544F276 S11346C0FFF794FE220F074B53F822100868A2B29A
S11346D0A157C0F200072046A84710F4004FFAD1B2 S11346D0C4F3044302FA03F303430B6010BD00BFA9
S11346E020463146B8470136212EF4D148460C21E4 S11346E05058000068580000014A024B1A60FEE767
S11346F044F2A153C0F200039847012644F2C15585 S11346F00400FA050CED00E001387FF4FDAF7047CB
S1134700C0F2000544F2A157C0F200072046A847B2 S113470070B54E4B1B6813F0E04F06D04B4B1A6844
S113471010F4004FFAD120463146B8470136212E15 S11347104B4B1340B3F1805F02D10028C0F28C8070
S1134720F4D108F1040044F2C153C0F200039847E5 S1134720044648490B68484A166823F4800545F452
S1134730BDE8F88310B5044644F24953C0F20003BF S1134730006546F400600D60106013F0020F02D0B3
S1134740984750B945F64430C0F2000040F23A218F S113474014F0020F05D013F0010F1ED014F0010F66
S113475044F2D543C0F200039847204644F2C153C3 S11347501BD164F003031D403A4B1D60002805DAA9
S1134760C0F20003984720F00101204644F2A1530F S113476006F07003302B07D0702B05D0002808DB2F
S1134770C0F20003984710BDF8B505460C4644F254 S113477005F03003302B04D14FF48050FFF7BCFF19
S11347804953C0F20003984750B945F64430C0F28B S113478003E04FF40020FFF7B7FF25F45F5525F051
S113479000004FF4597144F2D543C0F20003984726 S1134790300543F2F07323401D432C4B334043F464
S11347A054B945F64430C0F2000040F2653144F299 S11347A000622B4B23401343E20002F040024020FE
S11347B0D543C0F2000398472368023B0E2B0AD965 S11347B02849086053EA020604D5234B1E60103BC7
S11347C045F64430C0F2000040F26B3144F2D54368 S11347C01D6003E01F4B1D6010331E601020FFF7B7
S11347D0C0F2000398476368013B072B0AD945F6EA S11347D093FF25F0F86525F003051F4A2240154391
S11347E04430C0F200004FF45C7144F2D543C0F28F S11347E026F0FC5104F0FC530B4314F0804F07D027
S11347F000039847A368013B032B0AD945F64430CC S11347F045F4800523F4800318492140194301E05E
S1134800C0F2000040F2753144F2D543C0F2000317 S113480023F0804114F4006F07D00EE0144A1268BC
S11348109847E368013BB3F5806F0AD345F644300B S113481012F0400F05D1013B01E04FF40043002B9F
S1134820C0F2000040F27B3144F2D543C0F20003F1 S1134820F4D125F4006521F40061064B1D601033BA
S11348309847284644F2C153C0F2000398470746FC S113483019601020FFF760FF70BD00BF00E00F405B
S1134840284647F0410144F2A156C0F20006B047A1 S11348400000FF7060E00F4070E00F408FDFFF7FDB
S11348506368591E090301F4E0412368013B1B020C S11348503020008058E00F400300C00700004040B3
S113486003F470631943E368013B03F03F03194306 S113486050E00F4030B4724B1B68724A1168002943
S1134870A368013B9B01DBB205F10C001943B0476F S113487002DA01F0700201E003F03002202A3AD09B
S1134880E168013905F11800C1F38311B04717F04D S113488003D862B1102A10D0CFE0602A5BD0702A1E
S1134890010F0CBF27F0400127F04101284644F2E4 S113489056D0302A40F0C98047F2305069E0C3F363
S11348A0A153C0F200039847F8BD00BF70B5054698 S11348A08412654850F8220063E0644A126812F0EA
S11348B00C4644F24953C0F20003984750B945F6F8 S11348B0E04F4BD0614A1068614A0240B2F1805F18
S11348C04430C0F2000040F2925144F2D543C0F2A9 S11348C046D05E4A10685E4A02405E48824204D185
S11348D000039847032C3ED8DFE804F00213212F8D S11348D05A4A126892B2022A3CD0584A1068584A7E
S11348E00435284644F2C153C0F2000398470446F5 S11348E002405948824237D1544A126892B2002A8F
S11348F028466FF01F0144F2A153C0F20003984709 S11348F034D056483DE0514A126812F0E04F2FD0B0
S11349002AE005F5807044F2C156C0F20006B047B3 S11349004E4A10684E4A0240B2F1805F2AD04B4AA8
S1134910044605F58270B04744EA00441CE005F5FE S113491010684B4A02404B48824204D1474A12680D
S1134920907044F2C156C0F20006B047044605F543 S113492092B2022A20D0454A1068454A02404648BD
S11349309270B04744EA00440EE005F5B07044F2CA S113493082421BD1414A126892B2CAB1444818E07B
S1134940C156C0F20006B047044605F5B270B04740 S11349404FF4004015E04FF4800012E0414810E0BD
S113495044EA004400E00024204670BD2DE9F04FF5 S113495040480EE040480CE03C480AE03E4808E08D
S113496089B0054602911646984644F24953C0F26E S11349603E4806E03D4804E03D4802E0384800E0A7
S11349700003984750B945F64430C0F2000040F2B5 S11349703B48002902DA11F4006F04D000292FDB30
S11349805F6144F2D543C0F200039847DDF8089014 S113498013F4006F2CD1374A1468643A126812F099
S113499009F1FF331F2B0AD945F64430C0F2000059 S1134990E04F06D0294A1568294A2A40B2F1805FBF
S11349A04FF4CC6144F2D543C0F200039847B8F108 S11349A00AD1C4F34812023202FB00F004F01F02E1
S11349B0040F0AD945F64430C0F2000040F26661A3 S11349B00232B0FBF2F009E0C4F3481202FB00F04B
S11349C044F2D543C0F20003984705F1200744F2AE S11349C004F01F0201325200B0FBF2F014F4804FE5
S11349D0C159C0F200094C46B9463846A04710F404 S11349D000D0400814F4004F00D0800843F4800352
S11349E0004FF9D13C463268B2F5006F3ABFB36864 S11349E013F4800F22D0002919DA11F0804F10D06F
S11349F0C3F3800C4FF0010CB8F1040F00F2F68001 S11349F0002902DA11F4006F04D0002909DB13F452
S1134A00DFE808F003371119290001214FF48077FA S1134A00006F06D14000C1F386530133B0FBF3F0CD
S1134A104FF4005E4FF00009CDF80490CDF80C90EF S1134A100CE0C1F3C5530133B0FBF3F006E0C3F37C
S1134A204FF093082DE000210F468E46019103912B S1134A20C3530133B0FBF3F000E0002030BC704707
S1134A304FF0930825E000214FF480574FF4005EB7 S1134A3060E00F4070E00F40F457000000E00F40CA
S1134A4041F6FF79CDF8049009F56049CDF80C9052 S1134A400000FF7000000110000003100024F400B7
S1134A504FF0D30815E001214FF490574FF4005E56 S1134A5000093D00C0E1E400001BB70070383900D4
S1134A604FF00009CDF80490CDF80C904FF0930866 S1134A60C0C62D0064E00F40094B984209D003F5FD
S1134A7007E000214FF480778E46019103914FF0B7 S1134A708053984207D003F58053984205D1012012
S1134A809308B36813F0080F17D0BCF1000F08D0D7 S1134A80704701207047012070470020704700BF25
S1134A9070681FFA80F9CDF80C90C0F30C400190B7 S1134A9000C0004010B50446FFF7E6FF20B94FF40C
S1134AA00BE07068800041F6FC7900EA0909CDF852 S1134AA0CF710748FFF7A2FCE36A43F01003E36207
S1134AB004904FF00009CDF80C9003F0280028284A S1134AB0236B43F4407343F00103236310BD00BF31
S1134AC002BFDDF8049049F40049CDF8049003F0E6 S1134AC07458000010B50446FFF7CEFF20B94FF428
S1134AD01800182802BFDDF8049049F48049CDF885 S1134AD0DF710948FFF78AFCA36913F0080FFBD1C3
S1134AE0049013F0380F1CBF47F480574FF0D308DD S1134AE0E36A23F01003E362236B23F4407323F09F
S1134AF048F02008CDF81480BCF1000F0BD01FFA49 S1134AF00103236310BD00BF74580000F8B50546D8
S1134B0082F9CDF81890C2F30C4242F4404242EAD2 S1134B000C4616461F46FFF7AFFF20B940F20D11C1
S1134B100E0207920BE09200C2F30C0242F4004230 S1134B102F48FFF76BFC26B94FF487712C48FFF739
S1134B2042EA0E0207924FF00009CDF81890F2689D S1134B2065FC2C4B1B6813F0E04F1FD0294B1A680F
S1134B3002F00F0947EA090913F4007F04BF49F0A2 S1134B30294B1340B3F1805F1AD0264B1A68264BD9
S1134B4080091FFA89F913F0010F18BF49F40069AD S1134B401340264A934204D1224B1B689BB2022B8A
S1134B5013F0020F18BF49F48069F1B1D6F810B010 S1134B5010D0204B1A68204B1340214A93420BD1AA
S1134B6005F13C089246002A17DD0127002644F28D S1134B601C4B1B689BB24BB1082308E0102306E0E2
S1134B70A150C0F20000049040461BF80610BA454C S1134B70102304E0102302E0082300E0102306FBC6
S1134B802EDD02361BF8073041EA0321049A9047D0 S1134B8003F3A34204D940F20F111148FFF72EFC9E
S1134B9008F104080237B245EEDC05F1240005995A S1134B902846FFF797FFB4EB061F05D22B6B43F0B3
S1134BA044F2A156C0F20006B04705F1280003996B S1134BA020032B63760803E02B6B23F020032B6395
S1134BB0B04705F12C000199B04705F13000069982 S1134BB0E400B4FBF6F40134E3096B62C4F3450486
S1134BC0B04705F134000799B04705F1380049466C S1134BC0AC62EF620023AB612846FFF763FFF8BDD8
S1134BD0B0472046DDF8089009F03F01B04705E0F2 S1134BD07458000000E00F400000FF700000011056
S1134BE044F2A153C0F200039847D6E709B0BDE8E8 S1134BE00000031010B50446FFF73EFF20B940F261
S1134BF0F08F00BF2DE9F04F83B006468A46154674 S1134BF009410648FFF7FAFBA36913F0100F01D12E
S1134C001C4644F24952C0F20002904750B945F69E S1134C00206810BD4FF0FF3010BD00BF7458000085
S1134C104430C0F2000040F2C17144F2D543C0F206 S1134C1010B50446462804D94FF4D5711A48FFF755
S1134C20000398470AF1FF331F2B0AD945F6443095 S1134C20E5FB042C05D1194A136843F4803313605F
S1134C30C0F2000040F2C27144F2D543C0F2000356 S1134C3010BD052C05D1154A136843F400331360E5
S1134C40984706F1840B5846002C14BF7B2173212E S1134C4010BD062C05D1114A136843F48023136068
S1134C5044F2A157C0F20007B84706F180040AF0F5 S1134C5010BD0F2C05D10E4A136843F002031360F4
S1134C603F0A20465146B84744F2C157C0F20007F4 S1134C6010BDA4F110031F2B05D8012202FA03F38F
S1134C702046B84710F4004FFAD106F1880044F2F8 S1134C70084A136010BD2F2C05D9303C012303FAD8
S1134C80C157C0F20007B847019006F18C00B8473D S1134C8004F4054B1C6010BD8C58000024ED00E0BA
S1134C90814606F19000B847009006F19400B847A9 S1134C9010E000E000E100E004E100E010B50446AB
S1134CA0804606F19800B8470023AB6083B213F442 S1134CA0462804D94FF4F7711A48FFF79FFB042CE8
S1134CB0807F03D118F4005F03D104E018F4005F8F S1134CB005D1194A136823F48033136010BD052C01
S1134CC001D14022AA601FFA88F818F480421FBF5D S1134CC005D1154A136823F40033136010BD062C74
S1134CD0C8F30C08009FB9B241EA08411FBF29601C S1134CD005D1114A136823F48023136010BD0F2CEF
S1134CE0A96841F00401A96004BFC8F38A012960DE S1134CE005D10E4A136823F00203136010BDA4F12A
S1134CF013F4804F1EBFA96841F48071A96013F4B6 S1134CF010031F2B05D8012202FA03F3084A13609C
S1134D00805F31D09AB1C9F30C02019FB9B241EA74 S1134D0010BD2F2C05D9303C012303FA04F4054BC4
S1134D1002426A606FF060418A4203D1AA6812F0CD S1134D101C6010BD8C58000024ED00E010E000E0A1
S1134D20400F13D1AA6842F00802AA600EE0C9F34A S1134D2080E100E084E100E0B0F1402F44D0344B56
S1134D308A026A6040F2FF718A4203D1AA6812F0C3 S1134D30984243D0A3F5A623984241D003F5A82373
S1134D40400F03D1AA6842F00802AA6019F4004F88 S1134D4098423FD0A3F5A62398423DD003F5A8236B
S1134D501EBFAA6842F02802AA6019F4804F1EBF41 S1134D5098423BD0A3F5A623984239D003F5A82363
S1134D60AA6842F01802AA6013F4006F1EBFAA6872 S1134D60984237D0A3F55C33984235D003F56033CD
S1134D7042F00102AA6013F4806F1EBFAB6843F0D7 S1134D70984233D0A3F55C33984231D003F56033C5
S1134D800203AB6010F4004F04BF0023EB603BD080 S1134D8098422FD0A3F55C3398422DD003F56033BD
S1134D9000F00F00E860AB6813F0400F1CD12F69DE S1134D9098422BD0A3F55C33984229D003F56033B5
S1134DA000979C368146B8B14FF00108002744F2C1 S1134DA0984227D0A3F50833984225D003F50C3355
S1134DB0C153C0F2000301933046019B9847009B06 S1134DB0984223D101207047012070470120704799
S1134DC0D855C14508DD0237000A03F80800043647 S1134DC0012070470120704701207047012070477F
S1134DD008F10208B945EFDC5846042144F2A15613 S1134DD0012070470120704701207047012070476F
S1134DE0C0F20006B04720465146B04744F2C156CF S1134DE0012070470120704701207047012070475F
S1134DF0C0F200062046B04710F4004FFAD1AB6869 S1134DF00120704701207047012070470020704750
S1134E0043F08003AB60FFE703B0BDE8F08F00BF61 S1134E000080054070B505460C461646FFF78CFF3A
S1134E1020F480534FF40042C4F20502934218BFB9 S1134E1018B9E4211248FFF7E9FA022E03D9E62172
S1134E20B3F1402F31D04FF4C041C4F200014FF42C S1134E200F48FFF7E3FA05F5806316F0010F03D08E
S1134E302042C4F20502934218BF8B4227D04FF49C S1134E30D5F80024224303E0D5F8002422EA040232
S1134E408041C4F202014FF44042C4F2050293428D S1134E401A6005F5846316F0020F03D0D5F8202408
S1134E5018BF8B421DD04FF4C041C4F202014FF47D S1134E50144303E0D5F8202422EA04041C6070BD46
S1134E606042C4F20502934218BF8B4213D04FF440 S1134E60A8580000F8B504460D4617461E46FFF73D
S1134E705042C4F203020023C4F20603984218BF4E S1134E705BFF20B94FF4DD714E48FFF7B7FA7B1E94
S1134E80904214BF00200120704701207047012088 S1134E80012B08D9042F06D00C2F04D04FF4DF7166
S1134E907047012070470120704700BF70B5044679 S1134E904848FFF7ABFA082E0FD00A2E0DD00C2E7F
S1134EA00E46154644F61163C0F20003984748B90C S1134EA00BD0092E09D00B2E07D00D2E05D026B11C
S1134EB045F65830C0F20000E42144F2D543C0F274 S1134EB040F2C5113F48FFF799FA04F5A06317F0D3
S1134EC000039847022D09D945F65830C0F2000076 S1134EC0010F03D0D4F800252A4303E0D4F80025C9
S1134ED0E62144F2D543C0F20003984715F0010FD0 S1134ED022EA05021A6004F2045317F0020F03D009
S1134EE004F58063D4F8002414BF3243B2431A603B S1134EE0D4F804252A4303E0D4F8042522EA050271
S1134EF015F0020F04F58463D4F8202414BF16437C S1134EF01A6004F5A16317F0040F03D0D4F8082551
S1134F0022EA06061E6070BDF8B504460D46174633 S1134F002A4303E0D4F8082522EA05021A6004F5CE
S1134F101E4644F61163C0F20003984750B945F6A3 S1134F10A36317F0080F03D0D4F818252A4303E03D
S1134F205830C0F200004FF4DD7144F2D543C0F2B2 S1134F20D4F8182522EA05021A6004F20C5316F08C
S1134F300003984727F008027B1E042A18BF012BA0 S1134F30010F03D0D4F80C252A4303E0D4F80C2540
S1134F400AD945F65830C0F200004FF4DF7144F23C S1134F4022EA05021A6004F5A26316F0020F03D0E8
S1134F50D543C0F200039847A6F10803052B0BD9EB S1134F50D4F810252A4303E0D4F8102522EA0502E8
S1134F6056B145F65830C0F2000040F2C51144F283 S1134F601A6004F2145316F0040F03D0D4F8142575
S1134F70D543C0F20003984717F0010F04F5A0636E S1134F702A4303E0D4F8142522EA05021A6004F255
S1134F80D4F8002514BF2A43AA431A6017F0020F6D S1134F801C5316F0080F03D0D4F81C252A4303E061
S1134F9004F20453D4F8042514BF2A43AA431A6024 S1134F90D4F81C2522EA05021A6004F5A5631EB99B
S1134FA017F0040F04F5A163D4F8082514BF2A43AD S1134FA0D4F82825154303E0D4F8282522EA05057A
S1134FB0AA431A6017F0080F04F5A363D4F8182560 S1134FB01D60F8BDA858000070B504460D4616469D
S1134FC014BF2A43AA431A6016F0010F04F20C53CB S1134FC0FFF7B2FE20B94FF451710348FFF70EFA10
S1134FD0D4F80C2514BF2A43AA431A6016F0020F12 S1134FD044F8256070BD00BFA858000038B50446E9
S1134FE004F5A263D4F8102514BF2A43AA431A6017 S1134FE00D46FFF7A1FE20B94FF464710748FFF79F
S1134FF016F0040F04F21453D4F8142514BF2A43F2 S1134FF0FDF9022229462046FFF704FF0823042274
S1135000AA431A6016F0080F04F21C53D4F81C25A6 S113500029462046FFF72EFF38BD00BFA8580000F0
S113501014BF2A43AA431A602EB904F5A563D4F831 S113501038B504460D46FFF787FE20B940F2044137
S11350202825154305E004F5A563D4F8282522EACC S11350200748FFF7E3F9012229462046FFF7EAFE85
S113503005051D60F8BD00BF70B504460D46164653 S11350300823012229462046FFF714FF38BD00BF8C
S113504044F61163C0F20003984750B945F658304E S1135040A858000038B504460D46FFF76DFE20B998
S1135050C0F200004FF4517144F2D543C0F2000392 S113505040F21F510748FFF7C9F9022229462046AA
S1135060984744F8256070BD38B505460C4644F6AB S1135060FFF7D0FE0823012229462046FFF7FAFE67
S11350701163C0F20003984750B945F65830C0F2A6 S113507038BD00BFA8580000094B984209D003F579
S113508000004FF4647144F2D543C0F20003984722 S11350808053984207D003F58053984205D10120FC
S113509028462146022244F69D63C0F20003984745 S1135090704701207047012070470020704700BF0F
S11350A0284621460422082344F60974C0F2000469 S11350A000000440094B98420ED003F58053984207
S11350B0A04738BD38B505460C4644F61163C0F226 S11350B005D0A3F50053984203D137207047392017
S11350C00003984750B945F65830C0F2000040F24A S11350C070474FF0FF30704738207047001004409D
S11350D0044144F2D543C0F20003984728462146D0 S11350D082B001600023019302E0019B013301933C
S11350E0012244F69D63C0F20003984728462146F6 S11350E0019B042BF9DD02B0704700BFF8B50746F9
S11350F00122082344F60974C0F20004A04738BD15 S11350F00846154600240DE0631C395D9D4204DD1D
S113510038B505460C4644F61163C0F200039847CF S11351000234FB5C41EA032100E01C46061DFFF764
S113511050B945F65830C0F2000040F21F5144F235 S1135110DFFF3046AC42EFDBF8BD00BF70B582B0B4
S1135120D543C0F20003984728462146022244F69C S1135120044620F47F6020F00F00FFF7BBFF054624
S11351309D63C0F2000398472846214601220823B4 S1135130B0F1FF3F03D1F9211048FFF757F9104BA5
S113514044F60974C0F20004A04738BD10B5044603 S11351401968A5F13003012202FA03F311EA0306F8
S113515046280AD945F67030C0F200004FF4D571E4 S113515002D02846FFF7A2FD23680023019302E052
S113516044F2D543C0F200039847042C08D14EF60C S1135160019B01330193019B042BF9DD246816B1E3
S11351702453CEF200031A6842F480321A6010BD40 S11351702846FFF74DFD204602B070BDC058000020
S1135180052C08D14EF62453CEF200031A6842F4DB S113518004E100E0F8B507460846154600240DE0A2
S113519000321A6010BD062C08D14EF62453CEF20C S1135190061DFFF7C3FF631C38559D4204DD02342E
S11351A000031A6842F480221A6010BD0F2C08D143 S11351A0C0F30720F85400E01C463046AC42EFDB65
S11351B04EF21003CEF200031A6842F002021A60A3 S11351B0F8BD00BFF8B50646FFF75EFF20B940F220
S11351C010BDA4F110031F2B08D8012202FA03F327 S11351C0D9112248FFF712F901213046FFF780FF79
S11351D04FF46142CEF20002136010BD2F2C08D9A7 S11351D006F120042046FFF7A1FF10F4004FF7D199
S11351E0303C012303FA04F44EF20413CEF200031C S11351E006F12407B0213846FFF772FF002106F1CB
S11351F01C6010BD10B5044646280AD945F6703027 S11351F03400FFF76DFF002106F13800FFF768FF68
S1135200C0F200004FF4F77144F2D543C0F200033A S113520001250AE02046FFF789FF10F4004FF9D189
S11352109847042C08D14EF62453CEF200031A68A2 S113521029462046FFF75CFF0135202DF2DD0C21E5
S113522022F480321A6010BD052C08D14EF62453A6 S11352203846FFF755FF01250AE02046FFF776FFD1
S1135230CEF200031A6822F400321A6010BD062C64 S113523010F4004FF9D129462046FFF749FF013504
S113524008D14EF62453CEF200031A6822F48022C9 S1135240202DF2DD301DFFF769FFF8BDC0580000C6
S11352501A6010BD0F2C08D14EF21003CEF20003D9 S113525010B50446FFF710FF20B940F23A21064882
S11352601A6822F002021A6010BDA4F110031F2B69 S1135260FFF7C4F82046FFF759FF20F0010120465C
S113527008D8012202FA03F34EF28012CEF20002A1 S1135270FFF72EFF10BD00BFC058000070B50546F3
S1135280136010BD2F2C08D9303C012303FA04F419 S11352800C46FFF7F9FE20B94FF459713148FFF786
S11352904EF28413CEF200031C6010BD30B420F033 S1135290ADF824B940F265312E48FFF7A7F823682A
S11352A08053A3F58012013A4FF48071C0F21001CB S11352A0023B0E2B04D940F26B312A48FFF79EF8DB
S11352B08B4218BF012A98BF012040F297804FF417 S11352B06368013B072B04D94FF45C712548FFF761
S11352C00071C0F210014FF48062C0F210029342E8 S11352C095F8A368013B032B04D940F275312148BA
S11352D018BF8B4208BF012000F088804FF4A04122 S11352D0FFF78CF8E368013BB3F5806F04D340F229
S11352E0C2F2100100F16042013A884218BF012A5B S11352E07B311C48FFF782F82846FFF717FF064674
S11352F098BF01207AD90422C2F20002904208BF6A S11352F040F041012846FFF7EBFE616801390903DC
S1135300012073D01022C2F20002904208BF012093 S113530001F4E0412268013A120202F4706211438E
S11353106CD02022C2F20002904208BF012065D066 S1135310A368013B9B01DBB20B43E168013901F057
S113532020F480148021C2F200014FF48072C2F292 S11353203F01194305F10C00FFF7D2FEE168013992
S11353300002944218BF8B4208BF012056D020F0CF S1135330C1F3831105F11800FFF7CAFE26F04001FE
S11353400052B0F1102F18BF402A08BF01204DD0E1 S113534016F0010F01D026F041012846FFF7C0FEF8
S11353504FF48041C1F200018C4208BF012045D0C6 S113535070BD00BFC058000038B505460C46FFF7C5
S1135360B0F1101F08BF012040D04FF48075C1F286 S11353608BFE20B940F292511D48FFF73FF8032C01
S113537000054FF40071C1F20001884218BFA84231 S113537032D8DFE804F0020D192504352846FFF77A
S113538008BF012032D01025C1F200052021C1F24E S1135380CDFE04466FF01F012846FFF7A1FE24E07E
S113539000018A4218BFAA4208BF012026D0082172 S113539005F58070FFF7C2FE044605F58270FFF73D
S11353A0C1F2100188421CD000F170410139012979 S11353A0BDFE44EA004418E005F59070FFF7B6FE30
S11353B017D90421C1F200018C4214D0B0F1202F7E S11353B0044605F59270FFF7B1FE44EA00440CE0A0
S11353C013D00121C2F2100188420ED04FF4805054 S11353C005F5B070FFF7AAFE044605F5B270FFF7C5
S11353D0C0F21000834218BF082A14BF0020012025 S11353D0A5FE44EA004400E00024204638BD00BF96
S11353E004E0012002E0012000E0012030BC70470D S11353E0C05800002DE9F04F83B005468B46914626
S11353F010B5044645F29D23C0F20003984750B906 S11353F01E46FFF741FE20B940F25F617748FEF791
S113540045F6E830C0F200004FF4FC7144F2D54395 S1135400F5FF0BF1FF331F2B04D94FF4CC61734824
S1135410C0F20003984745F60043C0F20003220F90 S1135410FEF7ECFF042E04D940F266616F48FEF7F4
S113542053F822301A68A1B2C4F3044401FA04F414 S1135420E5FF05F120042046FFF778FE10F4004F55
S113543014431C6010BD00BF4EF60C53CEF20003A3 S1135430F7D1D9F80030B3F5006F07D2D9F80820B6
S11354400422C0F2FA521A60FEE700BF01387FF46A S113544012F0040F05D04FF0010E04E04FF0010EEE
S1135450FDAF704770B504464FF46043C4F20F03C8 S113545001E04FF0000E042E00F2BD80DFE806F0FC
S11354601B6813F0E04F0BD04FF46043C4F20F03FA S113546003300F17240001204FF480774FF40056C7
S11354701A680023C7F2FF031340B3F1805F02D11F S11354704FF00008CDF800804FF0930A28E0002098
S1135480002CC0F2C3804EF26002C4F20F02116815 S113548007460646804600904FF0930A20E000202D
S11354904EF27003C4F20F031E6821F4800545F434 S11354904FF480574FF4005641F6FF784FF6FF72F1
S11354A0006546F400601560186011F0020F02D028 S11354A000924FF0D30A13E001204FF490574FF4C9
S11354B014F0020F05D011F0010F24D014F0010FE5 S11354B000564FF00008CDF800804FF0930A07E043
S11354C021D164F003031D404EF26003C4F20F03C4 S11354C000204FF480770646804600904FF0930A00
S11354D01D60002804DA06F03003302B04D00BE002 S11354D0D9F8081011F0080F16D0BEF1000F09D04A
S11354E005F03003302B07D14FF4805045F24D4383 S11354E0D9F804200192BDF804200092019AC2F375
S11354F0C0F20003984706E04FF4002045F24D4304 S11354F00C4809E0D9F804204FEA8208C8F30C08E4
S1135500C0F20003984725F45F5525F0300543F2B7 S11355001FFA88F80022009201F02802282A01D10B
S1135510F07323401D434DF68F73C7F6FF7333407A S113551048F4004801F01802182A01D148F48048E0
S113552043F4006242F23003C8F200032340134301 S113552011F0380F03D047F480574AF0400A4AF08C
S113553004F008024EF25801C4F20F014020086042 S1135530200ABEF1000F07D09AB20192C3F30C43C4
S113554053EAC2060AD54EF27003C4F20F031E607A S11355401E4346F4404607E09B00C3F30C031E438E
S11355504EF26003C4F20F031D6009E04EF26003D3 S113555046F4004600230193D9F80C2002F00F030F
S1135560C4F20F031D604EF27003C4F20F031E60F9 S11355601F4311F4007F02D147F08007BFB211F04E
S1135570102045F24D42C0F20002904725F0F86039 S1135570010F01D047F4006711F0020F01D047F486
S113558020F003000323C0F2C0732340184326F025 S1135580806728B105F13C01D9F81000FFF7AEFDA2
S1135590FC5604F0FC510E4314F0804F1FBF40F43E S1135590514605F12400FFF79BFD009905F1280011
S11355A0800026F480050023C4F240031ABF234080 S11355A0FFF796FD414605F12C00FFF791FD0199A7
S11355B01D4326F0804514F4006F17D14EF25003BA S11355B005F13000FFF78CFD314605F13400FFF7AB
S11355C0C4F20F031B6813F0400F0BD147F6FF73AF S11355C087FD394605F13800FFF782FD0BF03F01F6
S11355D04EF25001C4F20F010A6812F0400F01D1DB S11355D02046FFF77DFD03B0BDE8F08FC058000002
S11355E0013BF9D120F4006025F400654EF260031C S11355E02DE9F04F83B00646884615461C46FFF762
S11355F0C4F20F0318604EF27003C4F20F031D606F S11355F043FD20B940F2C1716648FEF7F7FE08F199
S1135600102045F24D43C0F20003984770BD00BF1F S1135600FF331F2B04D940F2C2716248FEF7EEFE4D
S113561030B44EF26003C4F20F0319684EF2700303 S11356100CB9732100E07B2106F1840B5846FFF797
S1135620C4F20F031A68002AB4BF02F0700301F039 S113562057FD06F1800408F03F0841462046FFF785
S11356303003202B71D003D87BB1102B16D037E167 S11356304FFD2046FFF772FD10F4004FF9D106F13B
S1135640602B00F0C180702B00F0BB80302B08BFB2 S11356408800FFF76BFD019006F18C00FFF766FD03
S113565003F5EA4300F0CF802AE145F68C33C0F22B S1135650824606F19000FFF761FD814606F1940051
S11356600003C1F3841053F82030C4E04FF46043C6 S1135660FFF75CFD074606F19800FFF757FD00239E
S1135670C4F20F031B6813F0E04F04BF4EF2C013D3 S1135670AB6083B213F4807202D117F4005F03D1DC
S1135680C0F2E40300F0B7804FF46043C4F20F03A8 S113568022B117F4005F01D14022AA6017F48042CE
S113569018680023C7F2FF030340B3F1805F00F0F2 S11356900CD0414901EA07471FFA89F949EA07078B
S11356A096804FF46043C4F20F0318680023C7F2D6 S11356A02F60A96841F00401A96002E0C7F38A07EA
S11356B0FF0303400020C1F20100834208D14FF4EC S11356B02F6013F4804F03D0A96841F48071A9606E
S11356C06043C4F20F031B689BB2022B00F084807A S11356C013F4805F31D09AB1334A02EA0A41BDF83B
S11356D04FF46043C4F20F0318680023C7F2FF03BA S11356D004200A436A606FF060418A4203D1AA68D9
S11356E003400020C1F2030083421CBF4FF4105357 S11356E012F0400F13D1AA6842F00802AA600EE03B
S11356F0C0F2F4037FD14FF46043C4F20F031C687B S11356F0CAF38A026A6040F2FF718A4203D1AA683F
S1135700A4B24FF4D853C0F2B7034FF41050C0F210 S113570012F0400F03D1AA6842F00802AA601AF40A
S1135710F400002C18BF03466DE04FF46043C4F25C S1135710004F03D0AA6842F02802AA601AF4804F0E
S11357200F031B6813F0E04F04BF43F67003C0F28D S113572003D0AA6842F01802AA6013F4006F03D0F1
S1135730390360D04FF46043C4F20F0318680023A8 S1135730AA6842F00102AA6013F4806F03D0AB6838
S1135740C7F2FF030340B3F1805F4AD04FF46043D4 S113574043F00203AB6010F4004F1ED000F00F02D0
S1135750C4F20F0318680023C7F2FF0303400020BC S1135750EA60AB6813F0400F04D106F19C0128699C
S1135760C1F20100834207D14FF46043C4F20F0336 S1135760FFF710FD04215846FFF7B2FC41462046DE
S11357701B689BB2022B39D04FF46043C4F20F0371 S1135770FFF7AEFC2046FFF7D1FC10F4004FF9D13F
S113578018680023C7F2FF0303400020C1F203009E S1135780AB6843F08003AB6001E00023EB6003B03F
S113579083421CBF4FF41063C0F23D032BD14FF47E S1135790BDE8F08FC05800000000FF1F024A1368E4
S11357A06043C4F20F031C68A4B24CF2C063C0F29D S11357A043F005031360704710E000E0024A1368F9
S11357B02D034FF41060C0F23D00002C18BF0346C7 S11357B043F002031360704710E000E010B5441E8C
S11357C019E04FF4004316E04FF4800313E04EF267 S11357C0B4F1807F03D3D0210248FEF70FFE024BD1
S11357D0C013C0F2E4030EE04FF4D853C0F2B70391 S11357D01C6010BDD458000014E000E0F8B500BF10
S11357E009E043F67003C0F2390304E04CF2C063ED S11357E0F8BC08BC9E467047F8B500BFF8BC08BCBE
S11357F0C0F22D03FFE7002A03DA12F4006F03D08E S11357F09E46704740420F0000201C0080841E001B
S113580058E011F4006F5AD14EF26400C4F20F0054 S113580000802500999E36000040380000093D00C4
S113581000684FF46044C4F20F04246814F0E04FAD S113581000803E0000004B00404B4C0000204E0036
S11358200BD04FF46044C4F20F0425680024C7F27F S1135820808D5B0000C05D000080700000127A0073
S1135830FF042C40B4F1805F0AD1C0F34814023451 S113583000007D0080969800001BB7000080BB002C
S113584004FB03F300F01F040234B3FBF4F309E098 S1135840C0E8CE00647ADA000024F4000000FA0014
S1135850C0F3481404FB03F300F01F040134640094 S11358506C69622F6472697665726C69622F737900
S1135860B3FBF4F310F4804F18BF5B0810F4004F3F S11358607363746C2E63000000E10F4004E10F4089
S113587018BF9B08002AA8BF41F4800112DA12F075 S113587008E10F406C69622F6472697665726C6925
S1135880804F09D012F4006F06D15B00C2F3865238 S1135880622F756172742E63000000006C69622FD0
S11358900132B3FBF2F016E0C2F3C5500130B3FBA2 S11358906472697665726C69622F696E746572727E
S11358A0F0F010E0C1F3C3500130B3FBF0F00AE0B4 S11358A07570742E630000006C69622F64726976EF
S11358B0002008E011F4800FE1D1184603E011F450 S11358B065726C69622F6770696F2E630000000067
S11358C0800FEFD1184630BC704700BF4EF2100372 S11358C06C69622F6472697665726C69622F6361B8
S11358D0CEF200031A6842F005021A60704700BF56 S11358D06E2E63006C69622F6472697665726C69FE
S11358E04EF21003CEF200031A6842F002021A606C S11358E0622F7379737469636B2E63000000000088
S11358F0704700BF10B5441EB4F1807F09D345F64C S10B58F019410000F54000001D
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
S9034000BC 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 #| File Name: makefile
#| #|
#|--------------------------------------------------------------------------------------- #|---------------------------------------------------------------------------------------
#| C O P Y R I G H T #| 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 #| L I C E N S E
@ -25,167 +25,101 @@
#**************************************************************************************** #****************************************************************************************
SHELL = sh SHELL = sh
#|---------------------------------------------------------------------------------------| #|--------------------------------------------------------------------------------------|
#| Configure project name | #| Configure project name |
#|---------------------------------------------------------------------------------------| #|--------------------------------------------------------------------------------------|
PROJ_NAME=demoprog_ek_lm3s8962 PROJ_NAME=demoprog_ek_lm3s8962
#|---------------------------------------------------------------------------------------| #|--------------------------------------------------------------------------------------|
#| Speficy project source files | #| Configure tool path |
#|---------------------------------------------------------------------------------------| #|--------------------------------------------------------------------------------------|
PROJ_FILES= \ TOOL_PATH=/opt/gcc-arm-none-eabi-5_4-2016q3/bin/
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
#|---------------------------------------------------------------------------------------| #|--------------------------------------------------------------------------------------|
#| Compiler binaries | #| Collect project files |
#|---------------------------------------------------------------------------------------| #|--------------------------------------------------------------------------------------|
CC = arm-none-eabi-gcc # Recursive wildcard function implementation. Example usages:
LN = arm-none-eabi-gcc # $(call rwildcard, , *.c *.h)
OC = arm-none-eabi-objcopy # --> Returns all *.c and *.h files in the current directory and below
OD = arm-none-eabi-objdump # $(call rwildcard, /lib/, *.c)
AS = arm-none-eabi-as # --> Returns all *.c files in the /lib directory and below
SZ = arm-none-eabi-size 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 | #| Toolchain binaries |
#|---------------------------------------------------------------------------------------| #|--------------------------------------------------------------------------------------|
PROJ_ASRCS = $(filter %.s,$(foreach file,$(PROJ_FILES),$(notdir $(file)))) 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_CSRCS = $(filter %.c,$(foreach file,$(PROJ_FILES),$(notdir $(file))))
PROJ_CHDRS = $(filter %.h,$(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) :) VPATH = $(foreach path,$(sort $(foreach file,$(PROJ_FILES),$(dir $(file)))) $(subst \,/,$(OBJ_PATH)),$(path) :)
OBJ_PATH = obj OBJ_PATH = obj
BIN_PATH = bin BIN_PATH = bin
INC_PATH = $(patsubst %,-I%,$(sort $(foreach file,$(filter %.h,$(PROJ_FILES)),$(dir $(file))))) INC_PATH = $(patsubst %/,%,$(patsubst %,-I%,$(sort $(foreach file,$(filter %.h,$(PROJ_FILES)),$(dir $(file))))))
INC_PATH += -I. -I./lib INC_PATH += -I./lib
LIB_PATH = LIB_PATH =
#|---------------------------------------------------------------------------------------| #|--------------------------------------------------------------------------------------|
#| Options for compiler binaries | #| Options for toolchain binaries |
#|---------------------------------------------------------------------------------------| #|--------------------------------------------------------------------------------------|
CFLAGS = -g -mthumb -mcpu=cortex-m3 -mlong-calls -O1 -T memory.x STDFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft -fno-strict-aliasing
CFLAGS += -D PACK_STRUCT_END=__attribute\(\(packed\)\) -D sprintf=usprintf -Wno-main STDFLAGS += -Wno-unused-but-set-variable
CFLAGS += -D ALIGN_STRUCT_END=__attribute\(\(aligned\(4\)\)\) -D snprintf=usnprintf STDFLAGS += -fdata-sections -ffunction-sections -Wall -g3
CFLAGS += -D printf=uipprintf -ffunction-sections -fdata-sections $(INC_PATH) OPTFLAGS = -Og
CFLAGS += -D DEBUG -D gcc CFLAGS = $(STDFLAGS) $(OPTFLAGS)
LFLAGS = -nostartfiles -Xlinker -M -Xlinker -Map=$(BIN_PATH)/$(PROJ_NAME).map CFLAGS += -DDEBUG -Dgcc
LFLAGS += $(LIB_PATH) -Xlinker --gc-sections CFLAGS += $(INC_PATH)
OFLAGS = -O srec AFLAGS = $(CFLAGS)
ODFLAGS = -x LFLAGS = $(STDFLAGS) $(OPTFLAGS)
SZFLAGS = -B -d 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 = LIBS =
#|---------------------------------------------------------------------------------------| #|--------------------------------------------------------------------------------------|
#| Define targets | #| Define targets |
#|---------------------------------------------------------------------------------------| #|--------------------------------------------------------------------------------------|
AOBJS = $(patsubst %.s,%.o,$(PROJ_ASRCS)) AOBJS = $(patsubst %.S,%.o,$(PROJ_ASRCS))
COBJS = $(patsubst %.c,%.o,$(PROJ_CSRCS)) COBJS = $(patsubst %.c,%.o,$(PROJ_CSRCS))
#|---------------------------------------------------------------------------------------| #|--------------------------------------------------------------------------------------|
#| Make ALL | #| Make ALL |
#|---------------------------------------------------------------------------------------| #|--------------------------------------------------------------------------------------|
all : $(BIN_PATH)/$(PROJ_NAME).srec .PHONY: all
all: $(BIN_PATH)/$(PROJ_NAME).srec
$(BIN_PATH)/$(PROJ_NAME).srec : $(BIN_PATH)/$(PROJ_NAME).elf $(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) $(BIN_PATH)/$(PROJ_NAME).elf : $(AOBJS) $(COBJS)
@echo +++ Linking [$(notdir $@)] @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 | #| Compile and assemble |
#|---------------------------------------------------------------------------------------| #|--------------------------------------------------------------------------------------|
$(AOBJS): %.o: %.s $(PROJ_CHDRS) $(AOBJS): %.o: %.S $(PROJ_CHDRS)
@echo +++ Assembling [$(notdir $<)] @echo +++ Assembling [$(notdir $<)]
@$(AS) $(AFLAGS) $< -o $(OBJ_PATH)/$(@F) @$(AS) $(AFLAGS) -c $< -o $(OBJ_PATH)/$(@F)
$(COBJS): %.o: %.c $(PROJ_CHDRS) $(COBJS): %.o: %.c $(PROJ_CHDRS)
@echo +++ Compiling [$(notdir $<)] @echo +++ Compiling [$(notdir $<)]
@$(CC) $(CFLAGS) -c $< -o $(OBJ_PATH)/$(@F) @$(CC) $(CFLAGS) -c $< -o $(OBJ_PATH)/$(@F)
#|---------------------------------------------------------------------------------------| #|--------------------------------------------------------------------------------------|
#| Make CLEAN | #| Make CLEAN |
#|---------------------------------------------------------------------------------------| #|--------------------------------------------------------------------------------------|
clean : .PHONY: clean
clean:
@echo +++ Cleaning build environment @echo +++ Cleaning build environment
@cs-rm -f $(foreach file,$(AOBJS),$(OBJ_PATH)/$(file)) @$(RM) $(RMFLAGS) $(foreach file,$(AOBJS),$(OBJ_PATH)/$(file))
@cs-rm -f $(foreach file,$(COBJS),$(OBJ_PATH)/$(file)) @$(RM) $(RMFLAGS) $(foreach file,$(COBJS),$(OBJ_PATH)/$(file))
@cs-rm -f $(patsubst %.o,%.lst,$(foreach file,$(COBJS),$(OBJ_PATH)/$(file))) @$(RM) $(RMFLAGS) $(patsubst %.o,%.lst,$(foreach file,$(COBJS),$(OBJ_PATH)/$(file)))
@cs-rm -f $(BIN_PATH)/$(PROJ_NAME).elf $(BIN_PATH)/$(PROJ_NAME).map @$(RM) $(RMFLAGS) $(BIN_PATH)/$(PROJ_NAME).elf $(BIN_PATH)/$(PROJ_NAME).map
@cs-rm -f $(BIN_PATH)/$(PROJ_NAME).srec @$(RM) $(RMFLAGS) $(BIN_PATH)/$(PROJ_NAME).srec
@echo +++ Clean complete @echo +++ Clean complete

View File

@ -10,17 +10,60 @@ SECTIONS
.text : .text :
{ {
KEEP(*(.isr_vector)) KEEP(*(.isr_vector))
*(.text*) *(.text*)
*(.rodata*)
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 = .; _etext = .;
} > FLASH } > FLASH
.data : AT (ADDR(.text) + SIZEOF(.text)) .data : AT (ADDR(.text) + SIZEOF(.text))
{ {
_data = .; _data = .;
*(vtable) *(vtable)
*(.data*) *(.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 = .; _edata = .;
} > SRAM } > SRAM
@ -33,5 +76,6 @@ SECTIONS
_stack = .; _stack = .;
. = ALIGN(MAX(_stack + __STACKSIZE__ , .), 4); . = ALIGN(MAX(_stack + __STACKSIZE__ , .), 4);
_estack = .; _estack = .;
} > SRAM } > SRAM
} }