diff --git a/Target/Demo/ARMCM3_LM3S_EK_LM3S6965_GCC/Boot/bin/openblt_ek_lm3s6965.bin b/Target/Demo/ARMCM3_LM3S_EK_LM3S6965_GCC/Boot/bin/openblt_ek_lm3s6965.bin index 3cd89268..58d4cf23 100644 Binary files a/Target/Demo/ARMCM3_LM3S_EK_LM3S6965_GCC/Boot/bin/openblt_ek_lm3s6965.bin and b/Target/Demo/ARMCM3_LM3S_EK_LM3S6965_GCC/Boot/bin/openblt_ek_lm3s6965.bin differ diff --git a/Target/Demo/ARMCM3_LM3S_EK_LM3S6965_GCC/Boot/bin/openblt_ek_lm3s6965.elf b/Target/Demo/ARMCM3_LM3S_EK_LM3S6965_GCC/Boot/bin/openblt_ek_lm3s6965.elf index ac04ec15..8641567b 100644 Binary files a/Target/Demo/ARMCM3_LM3S_EK_LM3S6965_GCC/Boot/bin/openblt_ek_lm3s6965.elf and b/Target/Demo/ARMCM3_LM3S_EK_LM3S6965_GCC/Boot/bin/openblt_ek_lm3s6965.elf differ diff --git a/Target/Demo/ARMCM3_LM3S_EK_LM3S6965_GCC/Boot/bin/openblt_ek_lm3s6965.map b/Target/Demo/ARMCM3_LM3S_EK_LM3S6965_GCC/Boot/bin/openblt_ek_lm3s6965.map index 3212a259..b6d106c8 100644 --- a/Target/Demo/ARMCM3_LM3S_EK_LM3S6965_GCC/Boot/bin/openblt_ek_lm3s6965.map +++ b/Target/Demo/ARMCM3_LM3S_EK_LM3S6965_GCC/Boot/bin/openblt_ek_lm3s6965.map @@ -1,355 +1,442 @@ - -bin/openblt_ek_lm3s6965.elf: file format elf32-littlearm -bin/openblt_ek_lm3s6965.elf -architecture: arm, flags 0x00000112: -EXEC_P, HAS_SYMS, D_PAGED -start address 0x00000000 - -Program Header: - LOAD off 0x00008000 vaddr 0x00000000 paddr 0x00000000 align 2**15 - filesz 0x000060b0 memsz 0x000060b0 flags r-x - LOAD off 0x00010000 vaddr 0x20000000 paddr 0x000060b0 align 2**15 - filesz 0x00000008 memsz 0x00001ea8 flags rw- -private flags = 5000200: [Version5 EABI] [soft-float ABI] - -Sections: -Idx Name Size VMA LMA File off Algn - 0 .text 000060b0 00000000 00000000 00008000 2**2 - CONTENTS, ALLOC, LOAD, READONLY, CODE - 1 .data 00000008 20000000 000060b0 00010000 2**2 - CONTENTS, ALLOC, LOAD, DATA - 2 .bss 00001ea0 20000008 000060b8 00010008 2**2 - ALLOC - 3 .debug_info 00010b82 00000000 00000000 00010008 2**0 - CONTENTS, READONLY, DEBUGGING - 4 .debug_abbrev 00002ffd 00000000 00000000 00020b8a 2**0 - CONTENTS, READONLY, DEBUGGING - 5 .debug_loc 0000c9a1 00000000 00000000 00023b87 2**0 - CONTENTS, READONLY, DEBUGGING - 6 .debug_aranges 00000e28 00000000 00000000 00030528 2**0 - CONTENTS, READONLY, DEBUGGING - 7 .debug_ranges 00000f80 00000000 00000000 00031350 2**0 - CONTENTS, READONLY, DEBUGGING - 8 .debug_line 00005052 00000000 00000000 000322d0 2**0 - CONTENTS, READONLY, DEBUGGING - 9 .debug_str 00002e03 00000000 00000000 00037322 2**0 - CONTENTS, READONLY, DEBUGGING - 10 .comment 00000030 00000000 00000000 0003a125 2**0 - CONTENTS, READONLY - 11 .ARM.attributes 00000033 00000000 00000000 0003a155 2**0 - CONTENTS, READONLY - 12 .debug_frame 00002b80 00000000 00000000 0003a188 2**2 - CONTENTS, READONLY, DEBUGGING -SYMBOL TABLE: -00000000 l d .text 00000000 .text -20000000 l d .data 00000000 .data -20000008 l d .bss 00000000 .bss -00000000 l d .debug_info 00000000 .debug_info -00000000 l d .debug_abbrev 00000000 .debug_abbrev -00000000 l d .debug_loc 00000000 .debug_loc -00000000 l d .debug_aranges 00000000 .debug_aranges -00000000 l d .debug_ranges 00000000 .debug_ranges -00000000 l d .debug_line 00000000 .debug_line -00000000 l d .debug_str 00000000 .debug_str -00000000 l d .comment 00000000 .comment -00000000 l d .ARM.attributes 00000000 .ARM.attributes -00000000 l d .debug_frame 00000000 .debug_frame -00000000 l df *ABS* 00000000 vectors.c -00000000 l df *ABS* 00000000 hooks.c -00005780 l O .text 0000001b firmwareFilename -20000008 l O .bss 0000022c logfile -00000000 l df *ABS* 00000000 main.c -00000000 l df *ABS* 00000000 cstart.c -00000250 l F .text 00000000 zero_loop -00000000 l df *ABS* 00000000 ethernet.c -0000027c l F .text 00000084 EthernetPacketGetInternal -00000300 l F .text 00000066 EthernetPacketPutInternal.part.0 -00000000 l df *ABS* 00000000 flashlib.c -00000000 l df *ABS* 00000000 sysctl.c -000007a4 l F .text 00000154 SysCtlPeripheralValid -000057e8 l O .text 0000006c g_pulXtals -00005870 l O .text 0000000c g_pulRCGCRegs -0000587c l O .text 0000000c g_pulSRCRRegs -00000000 l df *ABS* 00000000 gpio.c -00000cf0 l F .text 00000054 GPIOBaseValid -00000000 l df *ABS* 00000000 uartlib.c -00000f94 l F .text 00000020 UARTBaseValid -00000000 l df *ABS* 00000000 ssi.c -00001180 l F .text 00000014 SSIBaseValid -00000000 l df *ABS* 00000000 mmc.c -0000130c l F .text 00000020 xchg_spi -0000132c l F .text 00000028 wait_ready -00001354 l F .text 0000001c deselect -00001370 l F .text 0000002c select -0000139c l F .text 0000007e send_cmd -0000141a l F .text 0000003a xmit_datablock.part.1 -00001454 l F .text 00000058 rcvr_datablock -20000234 l O .bss 00000004 CardType -20000000 l O .data 00000001 Stat -00000000 l df *ABS* 00000000 netdev.c -00000000 l df *ABS* 00000000 boot.c -00000000 l df *ABS* 00000000 com.c -20000001 l O .data 00000001 comActiveInterface -20000238 l O .bss 00000040 xcpCtoReqPacket.4405 -00000000 l df *ABS* 00000000 xcp.c -00001c6c l F .text 00000014 XcpSetCtoError -000058cf l O .text 00000008 xcpStationId -20000278 l O .bss 0000004c xcpInfo -00000000 l df *ABS* 00000000 backdoor.c -200002c4 l O .bss 00000001 backdoorOpen -200002c8 l O .bss 00000004 backdoorOpenTime -00000000 l df *ABS* 00000000 cop.c -00000000 l df *ABS* 00000000 file.c -00001f48 l F .text 0000002c FileLibByteNibbleToChar -00001f74 l F .text 0000001e FileLibByteToHexString -00001f94 l F .text 00000058 FileLibHexStringToByte -00001fec l F .text 00000038 FileLibLongToIntString.constprop.0 -200002cc l O .bss 00000040 loggingStr -2000030c l O .bss 00000001 firmwareUpdateState -20000310 l O .bss 00000008 eraseInfo -20000318 l O .bss 00000458 fatFsObjects -20000770 l O .bss 00000184 lineParseObject -00000000 l df *ABS* 00000000 net.c -200008f4 l O .bss 00000004 ARPTimerTimeOut -200008f8 l O .bss 00000004 periodicTimerTimeOut -00000000 l df *ABS* 00000000 assert.c -00000000 l df *ABS* 00000000 ff.c -00002804 l F .text 00000016 ld_dword -0000281a l F .text 00000018 clust2sect -00002832 l F .text 0000001e sum_sfn -00002850 l F .text 00000032 get_ldnumber -00002882 l F .text 00000036 validate -000028b8 l F .text 00000010 mem_cpy.part.0 -000028c8 l F .text 0000001c ld_clust.isra.1 -000028e4 l F .text 00000018 st_clust.isra.2 -000028fc l F .text 00000046 sync_window.part.3 -00002942 l F .text 0000000c sync_window -0000294e l F .text 00000036 move_window -00002984 l F .text 00000068 check_fs -000029ec l F .text 00000284 find_volume -00002c70 l F .text 000000b6 get_fat.isra.6 -00002d26 l F .text 00000092 dir_sdi -00002db8 l F .text 000000d6 get_fileinfo.part.8 -00002e8e l F .text 00000104 put_fat -00002f92 l F .text 000000b6 create_chain -00003048 l F .text 0000006a remove_chain -000030b2 l F .text 00000102 dir_next -000031b4 l F .text 00000054 dir_remove -00003208 l F .text 00000160 dir_find -00003368 l F .text 00000260 follow_path -000035c8 l F .text 00000114 dir_read.constprop.9 -000036dc l F .text 00000234 dir_register -00003910 l F .text 000000b0 sync_fs -00003e2c l F .text 00000044 putc_bfd -200008fc l O .bss 00000200 LfnBuf -20000afc l O .bss 00000002 Fsid -00005a87 l O .text 00000080 ExCvt -00005b07 l O .text 0000000d LfnOfs -20000b00 l O .bss 00000004 FatFs -00000000 l df *ABS* 00000000 unicode.c -00005b14 l O .text 000000bc cvt2.4272 -00005bd0 l O .text 00000100 Tbl -00005cd0 l O .text 000001f2 cvt1.4271 -00000000 l df *ABS* 00000000 uip.c -000042ac l F .text 00000038 chksum -000042e4 l F .text 0000003c upper_layer_chksum -00004374 l F .text 0000002c uip_add_rcv_nxt -20000b04 l O .bss 00000002 tmp16 -20000b06 l O .bss 00000002 ipid -20000b08 l O .bss 00000004 iss -20000b0c l O .bss 00000002 lastport -20000b14 l O .bss 00000001 c -20000b15 l O .bss 00000001 opt -00000000 l df *ABS* 00000000 uip_arp.c -00004dbc l F .text 000000e4 uip_arp_update.constprop.0 -20000b16 l O .bss 00000001 i -20000b17 l O .bss 00000001 tmpage -20000b18 l O .bss 00000060 arp_table -00005ec2 l O .text 00000006 broadcast_ethaddr -20000b78 l O .bss 00000001 c -20000b79 l O .bss 00000001 arptime -20000b7a l O .bss 00000004 ipaddr -00000000 l df *ABS* 00000000 cpu.c -00000000 l df *ABS* 00000000 uart.c -20000b80 l O .bss 00000004 xcpCtoRxStartTime.4626 -20000b84 l O .bss 00000041 xcpCtoReqPacket.4623 -20000bc5 l O .bss 00000001 xcpCtoRxLength.4624 -20000bc6 l O .bss 00000001 xcpCtoRxInProgress.4625 -00000000 l df *ABS* 00000000 nvm.c -00000000 l df *ABS* 00000000 timer.c -20000bc8 l O .bss 00000004 millisecond_counter -00000000 l df *ABS* 00000000 flash.c -000052e8 l F .text 00000034 FlashGetSector -0000531c l F .text 0000004c FlashWriteBlock -00005368 l F .text 00000050 FlashSwitchBlock -000053b8 l F .text 00000080 FlashAddToBlock -00005eec l O .text 000000c0 flashLayout -20000bcc l O .bss 00000204 bootBlockInfo -20000dd0 l O .bss 00000204 blockInfo -00000000 l df *ABS* 00000000 cpu_comp.c -00000000 l df *ABS* 00000000 memcpy-stub.c -00000000 l df *ABS* 00000000 memset.c -00000000 l df *ABS* 00000000 ctype_.c -00000000 l df *ABS* 00000000 -00000800 l *ABS* 00000000 __STACKSIZE__ -00001bb0 g F .text 00000020 ComInit -00005450 g F .text 00000048 FlashWrite -00004158 g F .text 0000004e f_gets -000027fc g F .text 00000008 AssertFailure -00000f2c g F .text 00000034 GPIOPinTypeSSI -0000022c g F .text 00000044 reset_handler -000012e4 g F .text 00000028 SSIDataGet -000052bc g F .text 0000001c TimerUpdate -00001cac g F .text 00000010 XcpPacketTransmitted -00001bd0 g F .text 0000003c ComTask -0000125c g F .text 00000024 SSIEnable -000009ec g F .text 00000008 SysCtlDelay -20000fd4 g O .bss 00000002 uip_len -20000b0e g O .bss 00000006 uip_ethaddr -00004320 g F .text 00000054 uip_add32 -00001b74 g F .text 00000022 BootInit -000020d4 g F .text 0000003e FileSrecVerifyChecksum -00001f24 g F .text 00000020 BackDoorInit -00001194 g F .text 000000c8 SSIConfigSetExpClk -00001f46 g F .text 00000002 CopService -000060b0 g .text 00000000 _etext -000008f8 g F .text 00000090 SysCtlPeripheralReset -0000562e g F .text 00000004 CpuIrqDisable -00004228 g F .text 00000084 ff_wtoupper -00000ea0 g F .text 00000024 GPIOPinWrite -00001b28 g F .text 00000034 netdev_read -00004410 g F .text 00000980 uip_process -00005628 g F .text 00000006 FlashGetUserProgBaseAddress -00005638 g F .text 000000a6 memcpy -00002250 g F .text 000003f0 FileTask -000010e8 g F .text 00000024 UARTSpaceAvail -000052b0 g F .text 0000000c TimerReset -000014ac g F .text 00000228 disk_initialize -20000fd8 g O .bss 00000004 uip_sappdata -00001a04 g F .text 00000018 netdev_init -20000fdc g O .bss 00000004 uip_acc32 -000043a0 g F .text 00000020 uip_ipchksum -00001134 g F .text 0000002c UARTCharPutNonBlocking -00001b96 g F .text 0000001a BootTask -00005568 g F .text 00000044 FlashWriteChecksum -00001c10 g F .text 00000030 ComTransmitPacket -00000368 g F .text 0000002c EthernetInitExpClk -000016d4 g F .text 00000014 disk_status -00002114 g F .text 0000013c FileSrecParseLine -000043f4 g F .text 0000001c uip_listen -00001b5c g F .text 00000018 netdev_send -00001824 g F .text 000001e0 disk_ioctl -00002068 g F .text 00000028 FileHandleFirmwareUpdateRequest -000004e0 g F .text 0000005c EthernetPacketPut -00000988 g F .text 00000064 SysCtlPeripheralEnable -20000fe0 g O .bss 00000001 uip_flags -00000158 g F .text 00000040 FileFirmwareUpdateCompletedHook -00001c9c g F .text 00000010 XcpIsConnected -000040ac g F .text 000000ac f_unlink -00005268 g F .text 00000004 NvmInit -00005438 g F .text 00000018 FlashInit -00005278 g F .text 00000004 NvmGetUserProgBaseAddress -200016a6 g .bss 00000000 _ebss -000041a6 g F .text 00000044 f_puts -00000220 g F .text 0000000c UnusedISR -0000048c g F .text 00000054 EthernetPacketGetNonBlocking -00001c0c g F .text 00000002 ComFree -00000ec4 g F .text 00000034 GPIOPinTypeEthernetLED -00005144 g F .text 00000028 UartInit -00005270 g F .text 00000004 NvmErase -00001a1c g F .text 0000010c netdev_init_mac -0000110c g F .text 00000028 UARTCharGetNonBlocking -000012a4 g F .text 00000040 SSIDataPut -20000008 g .bss 00000000 _bss -00003f04 g F .text 0000001a f_close -00001cbc g F .text 00000220 XcpPacketReceived -000043c0 g F .text 00000006 uip_tcpchksum -000050ec g F .text 00000004 CpuInit -00003b60 g F .text 00000152 f_read -000055f4 g F .text 00000034 FlashDone -20000fe4 g O .bss 00000004 uip_appdata -20000fe8 g O .bss 00000004 uip_conn -20000fec g O .bss 00000068 uip_conns -00000660 g F .text 000000e4 FlashProgram -00001c80 g F .text 0000001c XcpInit -00002024 g F .text 00000030 FileInit -00000574 g F .text 00000028 EthernetIntStatus -00004fa8 g F .text 00000144 uip_arp_out -00005498 g F .text 000000d0 FlashErase -000056e0 g F .text 0000009e memset -00000198 g F .text 00000014 FileFirmwareUpdateErrorHook -000001f4 g F .text 0000002c main -00003e70 g F .text 00000094 f_sync -00000b44 g F .text 000001ac SysCtlClockGet -00002090 g F .text 00000044 FileSrecGetLineType -00000fe4 g F .text 00000034 UARTDisable -0000527c g F .text 00000012 NvmDone -0000044c g F .text 00000040 EthernetEnable -000039c0 g F .text 00000050 f_mount -0000516c g F .text 0000006c UartTransmitPacket -00005274 g F .text 00000004 NvmVerifyChecksum -00005124 g F .text 0000001e CpuMemCopy -00003f1e g F .text 00000134 f_lseek -00004ef8 g F .text 000000b0 uip_arp_arpin -00001c54 g F .text 00000014 ComGetActiveInterfaceMaxTxLen -000051d8 g F .text 00000090 UartReceivePacket -00000128 g F .text 00000008 FileGetFirmwareFilenameHook -00005632 g F .text 00000004 CpuIrqEnable -000003ec g F .text 00000060 EthernetMACAddrSet -00004ea0 g F .text 00000058 uip_arp_timer -20001054 g O .bss 00000002 uip_listenports -20001056 g O .bss 00000004 uip_draddr -20000000 g .data 00000000 _data -000005d0 g F .text 00000040 EthernetPHYRead -00004054 g F .text 00000058 f_stat -00001f44 g F .text 00000002 CopInit -00001280 g F .text 00000024 SSIDisable -0000526c g F .text 00000004 NvmWrite -000050f0 g F .text 00000034 CpuStartUserProgram -20001ea8 g .bss 00000000 _estack -00000394 g F .text 00000058 EthernetConfigSet -000055ac g F .text 00000048 FlashVerifyChecksum -000026ac g F .text 0000003c NetTransmitPacket -20000008 g .data 00000000 _edata -00002054 g F .text 00000014 FileIsIdle -00004d90 g F .text 00000006 htons -00003cb2 g F .text 0000017a f_write -00000000 g O .text 000000f0 _vectab -00000744 g F .text 00000060 FlashUserGet -00000f60 g F .text 00000034 GPIOPinTypeUART -00003a10 g F .text 00000150 f_open -00001768 g F .text 000000bc disk_write -00000ef8 g F .text 00000034 GPIOPinTypeGPIOOutput -000001ac g F .text 00000048 FileFirmwareUpdateLogHook -20000004 g O .data 00000004 __ctype_ptr__ -00001c68 g F .text 00000004 ComIsConnected -0000053c g F .text 00000038 EthernetIntDisable -00005fac g O .text 00000101 _ctype_ -0000059c g F .text 00000034 EthernetIntClear -000000f0 g F .text 00000038 FileIsFirmwareUpdateRequestedHook -00001160 g F .text 00000020 UARTBusy -000043c8 g F .text 0000002c uip_init -00001c40 g F .text 00000014 ComGetActiveInterfaceMaxRxLen -000026e8 g F .text 000000b0 NetReceivePacket -00000d44 g F .text 00000058 GPIODirModeSet -000016e8 g F .text 00000080 disk_read -00001edc g F .text 00000048 BackDoorCheck -200016a6 g .bss 00000000 _stack -2000105a g O .bss 00000004 uip_netmask -2000105e g O .bss 00000004 uip_hostaddr -000041ec g F .text 0000003c ff_convert -000052d8 g F .text 00000010 TimerGet -00002798 g F .text 00000064 NetApp -00001018 g F .text 000000d0 UARTConfigSetExpClk -00002640 g F .text 0000006c NetInit -000009f4 g F .text 00000150 SysCtlClockSet -00000d9c g F .text 00000104 GPIOPadConfigSet -00005290 g F .text 00000020 TimerInit -20001062 g O .bss 00000642 uip_buf -00000610 g F .text 00000050 FlashClear -00004d98 g F .text 00000024 uip_send -200016a4 g O .bss 00000002 uip_slen -00000130 g F .text 00000028 FileFirmwareUpdateStartedHook -00000fb4 g F .text 00000030 UARTEnable - - + +bin/openblt_ek_lm3s6965.elf: file format elf32-littlearm +bin/openblt_ek_lm3s6965.elf +architecture: arm, flags 0x00000112: +EXEC_P, HAS_SYMS, D_PAGED +start address 0x00000000 + +Program Header: + LOAD off 0x00010000 vaddr 0x00000000 paddr 0x00000000 align 2**16 + filesz 0x00006f58 memsz 0x00006f58 flags r-x + LOAD off 0x00020000 vaddr 0x20000000 paddr 0x00006f58 align 2**16 + filesz 0x000001dc memsz 0x00002098 flags rw- +private flags = 5000200: [Version5 EABI] [soft-float ABI] + +Sections: +Idx Name Size VMA LMA File off Algn + 0 .text 00006f58 00000000 00000000 00010000 2**2 + CONTENTS, ALLOC, LOAD, READONLY, CODE + 1 .data 000001dc 20000000 00006f58 00020000 2**2 + CONTENTS, ALLOC, LOAD, DATA + 2 .bss 00001ebc 200001dc 00007134 000201dc 2**2 + ALLOC + 3 .ARM.attributes 00000029 00000000 00000000 000201dc 2**0 + CONTENTS, READONLY + 4 .comment 0000006e 00000000 00000000 00020205 2**0 + CONTENTS, READONLY + 5 .debug_info 0000fa5d 00000000 00000000 00020273 2**0 + CONTENTS, READONLY, DEBUGGING + 6 .debug_abbrev 00002551 00000000 00000000 0002fcd0 2**0 + CONTENTS, READONLY, DEBUGGING + 7 .debug_aranges 00000f88 00000000 00000000 00032221 2**0 + CONTENTS, READONLY, DEBUGGING + 8 .debug_ranges 00000da8 00000000 00000000 000331a9 2**0 + CONTENTS, READONLY, DEBUGGING + 9 .debug_macro 0000aad3 00000000 00000000 00033f51 2**0 + CONTENTS, READONLY, DEBUGGING + 10 .debug_line 00007355 00000000 00000000 0003ea24 2**0 + CONTENTS, READONLY, DEBUGGING + 11 .debug_str 00028394 00000000 00000000 00045d79 2**0 + CONTENTS, READONLY, DEBUGGING + 12 .debug_frame 00002c58 00000000 00000000 0006e110 2**2 + CONTENTS, READONLY, DEBUGGING + 13 .debug_loc 0000b842 00000000 00000000 00070d68 2**0 + CONTENTS, READONLY, DEBUGGING +SYMBOL TABLE: +00000000 l d .text 00000000 .text +20000000 l d .data 00000000 .data +200001dc l d .bss 00000000 .bss +00000000 l d .ARM.attributes 00000000 .ARM.attributes +00000000 l d .comment 00000000 .comment +00000000 l d .debug_info 00000000 .debug_info +00000000 l d .debug_abbrev 00000000 .debug_abbrev +00000000 l d .debug_aranges 00000000 .debug_aranges +00000000 l d .debug_ranges 00000000 .debug_ranges +00000000 l d .debug_macro 00000000 .debug_macro +00000000 l d .debug_line 00000000 .debug_line +00000000 l d .debug_str 00000000 .debug_str +00000000 l d .debug_frame 00000000 .debug_frame +00000000 l d .debug_loc 00000000 .debug_loc +00000000 l df *ABS* 00000000 vectors.c +00000000 l df *ABS* 00000000 crtstuff.c +00006f54 l O .text 00000000 __EH_FRAME_BEGIN__ +000000f0 l F .text 00000000 __do_global_dtors_aux +200001dc l .bss 00000000 completed.8603 +200001d8 l O .data 00000000 __do_global_dtors_aux_fini_array_entry +00000114 l F .text 00000000 frame_dummy +200001e0 l .bss 00000000 object.8608 +200001d4 l O .data 00000000 __frame_dummy_init_array_entry +00000000 l df *ABS* 00000000 main.c +0000015c l F .text 00000024 Init +00000000 l df *ABS* 00000000 hooks.c +000065f8 l O .text 0000001b firmwareFilename +200001f8 l O .bss 0000022c logfile +00000000 l df *ABS* 00000000 cstart.c +000002c6 l F .text 00000000 zero_loop +00000000 l df *ABS* 00000000 mmc.c +000002f0 l F .text 00000010 power_off +00000300 l F .text 00000058 send_initial_clock_train +00000358 l F .text 0000008c power_on +000003e4 l F .text 00000024 xchg_spi +00000408 l F .text 00000028 wait_ready +00000430 l F .text 00000018 deselect +00000448 l F .text 0000002c select +00000474 l F .text 00000082 send_cmd +000004f8 l F .text 0000000e rcvr_spi_m +00000508 l F .text 0000004e rcvr_datablock +00000558 l F .text 0000005a xmit_datablock +000005b4 l F .text 00000044 set_max_speed +20000424 l O .bss 00000004 CardType +20000000 l O .data 00000001 Stat +00000000 l df *ABS* 00000000 netdev.c +00000000 l df *ABS* 00000000 ssi.c +00000c90 l F .text 00000038 SSIBaseValid +00000000 l df *ABS* 00000000 sysctl.c +00000e54 l F .text 000003f8 SysCtlPeripheralValid +00006638 l O .text 0000006c g_pulXtals +000066bc l O .text 0000000c g_pulRCGCRegs +000066c8 l O .text 0000000c g_pulSRCRRegs +00000000 l df *ABS* 00000000 flashlib.c +00000000 l df *ABS* 00000000 ethernet.c +0000187c l F .text 0000008a EthernetPacketGetInternal +00001908 l F .text 0000007c EthernetPacketPutInternal +00000000 l df *ABS* 00000000 gpio.c +00001c28 l F .text 00000124 GPIOBaseValid +00000000 l df *ABS* 00000000 uartlib.c +00001ff0 l F .text 00000068 UARTBaseValid +00000000 l df *ABS* 00000000 xcp.c +00002248 l F .text 0000001e XcpComputeChecksum +00002268 l F .text 0000000c XcpProtectResources +00002274 l F .text 00000014 XcpSetCtoError +00002288 l F .text 0000001c XcpCmdDisconnect +000022a4 l F .text 00000020 XcpCmdGetStatus +000022c4 l F .text 0000000a XcpCmdSynch +000022d0 l F .text 0000002c XcpCmdGetId +000022fc l F .text 00000018 XcpCmdSetMta +00002314 l F .text 00000028 XcpCmdBuildCheckSum +0000233c l F .text 0000000a XcpCmdProgramPrepare +00002348 l F .text 00000028 XcpCmdProgramStart +00002370 l F .text 00000050 XcpCmdConnect +000023c0 l F .text 00000040 XcpCmdUpload +00002400 l F .text 00000040 XcpCmdShortUpload +00002440 l F .text 00000040 XcpCmdProgramMax +00002480 l F .text 0000005c XcpCmdProgram +000024dc l F .text 00000028 XcpCmdProgramClear +00002504 l F .text 00000018 XcpCmdProgramReset +0000251c l F .text 0000000a XcpTransmitPacket +0000673c l O .text 00000008 xcpStationId +20000428 l O .bss 0000004c xcpInfo +00000000 l df *ABS* 00000000 net.c +00002644 l F .text 000000d4 NetServerTask +20000474 l O .bss 00000004 ARPTimerTimeOut +20000478 l O .bss 00000004 periodicTimerTimeOut +00000000 l df *ABS* 00000000 com.c +20000001 l O .data 00000001 comActiveInterface +2000047c l O .bss 00000040 xcpCtoReqPacket.4513 +00000000 l df *ABS* 00000000 backdoor.c +200004bc l O .bss 00000001 backdoorOpen +200004c0 l O .bss 00000004 backdoorOpenTime +00000000 l df *ABS* 00000000 boot.c +00000000 l df *ABS* 00000000 cop.c +00000000 l df *ABS* 00000000 file.c +00002994 l F .text 0000003c FileLibLongToIntString +000029d0 l F .text 0000002a FileLibByteNibbleToChar +000029fc l F .text 00000020 FileLibByteToHexString +00002a1c l F .text 00000058 FileLibHexStringToByte +200004c4 l O .bss 00000040 loggingStr +20000504 l O .bss 00000001 firmwareUpdateState +20000508 l O .bss 00000008 eraseInfo +20000510 l O .bss 00000458 fatFsObjects +20000968 l O .bss 00000184 lineParseObject +00000000 l df *ABS* 00000000 assert.c +00000000 l df *ABS* 00000000 uart.c +000030d4 l F .text 00000028 UartTransmitByte +000030fc l F .text 00000020 UartReceiveByte +20000aec l O .bss 00000004 xcpCtoRxStartTime.4734 +20000af0 l O .bss 00000041 xcpCtoReqPacket.4731 +20000b31 l O .bss 00000001 xcpCtoRxLength.4732 +20000b32 l O .bss 00000001 xcpCtoRxInProgress.4733 +00000000 l df *ABS* 00000000 nvm.c +00000000 l df *ABS* 00000000 cpu.c +00000000 l df *ABS* 00000000 flash.c +000032c8 l F .text 00000048 FlashGetSector +00003310 l F .text 00000038 FlashGetSectorBaseAddr +00003348 l F .text 00000038 FlashGetSectorSize +00003380 l F .text 00000026 FlashInitBlock +000033a8 l F .text 0000005c FlashWriteBlock +00003404 l F .text 0000003c FlashSwitchBlock +00003440 l F .text 0000007a FlashAddToBlock +000034bc l F .text 0000005e FlashEraseSectors +0000692c l O .text 000000c0 flashLayout +20000b34 l O .bss 00000204 bootBlockInfo +20000d38 l O .bss 00000204 blockInfo +00000000 l df *ABS* 00000000 timer.c +20000f3c l O .bss 00000004 millisecond_counter +00000000 l df *ABS* 00000000 cpu_comp.c +00000000 l df *ABS* 00000000 ff.c +000036fc l F .text 0000000a ld_word +00003708 l F .text 00000016 ld_dword +00003720 l F .text 00000008 st_word +00003728 l F .text 00000014 st_dword +0000373c l F .text 00000012 mem_cpy +00003750 l F .text 0000000a mem_set +0000375c l F .text 0000001e mem_cmp +0000377c l F .text 00000010 chk_chr +0000378c l F .text 00000018 clust2sect +000037a4 l F .text 00000024 ld_clust +000037c8 l F .text 00000024 st_clust +000037ec l F .text 0000008c pick_lfn +00003878 l F .text 00000070 put_lfn +000038e8 l F .text 000000a0 gen_numname +00003988 l F .text 0000001c sum_sfn +000039a4 l F .text 00000052 get_ldnumber +000039f8 l F .text 00000034 validate +00003a2c l F .text 00000054 sync_window +00003a80 l F .text 00000034 move_window +00003ab4 l F .text 00000060 check_fs +00003b14 l F .text 000002d4 find_volume +00003de8 l F .text 000000d0 get_fat +00003eb8 l F .text 000000b2 dir_sdi +00003f6c l F .text 0000010c put_fat +00004078 l F .text 000000ce create_chain +00004148 l F .text 0000007c remove_chain +000041c4 l F .text 00000126 dir_next +000042ec l F .text 0000004c dir_alloc +00004338 l F .text 000000c4 dir_read +000043fc l F .text 00000050 dir_remove +0000444c l F .text 00000228 create_name +00004674 l F .text 000000e2 get_fileinfo +00004758 l F .text 000000ac cmp_lfn +00004804 l F .text 000000e8 dir_find +000048ec l F .text 0000008c follow_path +00004978 l F .text 0000013c dir_register +00004ab4 l F .text 0000008c sync_fs +00005020 l F .text 0000004a putc_bfd +20000f40 l O .bss 00000200 LfnBuf +20001140 l O .bss 00000002 Fsid +00006a00 l O .text 00000080 ExCvt +00006a80 l O .text 0000000d LfnOfs +20001144 l O .bss 00000004 FatFs +00000000 l df *ABS* 00000000 unicode.c +00006a90 l O .text 000000bc cvt2.4380 +00006b4c l O .text 00000100 Tbl +00006c4c l O .text 000001f2 cvt1.4379 +00000000 l df *ABS* 00000000 uip.c +00005510 l F .text 0000003a chksum +000055a8 l F .text 00000030 uip_add_rcv_nxt +00005694 l F .text 0000003c upper_layer_chksum +20001148 l O .bss 00000002 tmp16 +2000114a l O .bss 00000002 ipid +2000114c l O .bss 00000004 iss +20001150 l O .bss 00000002 lastport +20001152 l O .bss 00000001 c +00000000 l df *ABS* 00000000 uip_arp.c +000061a0 l F .text 00000104 uip_arp_update +2000115a l O .bss 00000001 i +2000115b l O .bss 00000001 tmpage +2000115c l O .bss 00000060 arp_table +00006e40 l O .text 00000006 broadcast_ethaddr +200011bc l O .bss 00000001 c +200011bd l O .bss 00000001 arptime +200011c0 l O .bss 00000004 ipaddr +00000000 l df *ABS* 00000000 locale.c +00006544 l F .text 00000018 __get_current_locale +00000000 l df *ABS* 00000000 mbtowc_r.c +00000000 l df *ABS* 00000000 memcpy-stub.c +00000000 l df *ABS* 00000000 memset.c +00000000 l df *ABS* 00000000 wctomb_r.c +00000000 l df *ABS* 00000000 /opt/gcc-arm-none-eabi-5_4-2016q3/bin/../lib/gcc/arm-none-eabi/5.4.1/armv7-m/crti.o +00000000 l df *ABS* 00000000 /opt/gcc-arm-none-eabi-5_4-2016q3/bin/../lib/gcc/arm-none-eabi/5.4.1/armv7-m/crtn.o +00000000 l df *ABS* 00000000 ctype_.c +00000000 l df *ABS* 00000000 crtstuff.c +00006f54 l O .text 00000000 __FRAME_END__ +00000000 l df *ABS* 00000000 impure.c +20000004 l O .data 00000060 impure_data +00000000 l df *ABS* 00000000 +00000000 l *UND* 00000000 __bss_start__ +00000000 l *UND* 00000000 __libc_fini_array +00000000 l *UND* 00000000 __bss_end__ +00000000 l *UND* 00000000 __call_exitprocs +00000000 l *UND* 00000000 software_init_hook +200001d8 l .data 00000000 __init_array_end +00000000 l *UND* 00000000 hardware_init_hook +00000000 l *UND* 00000000 atexit +200001d4 l .data 00000000 __preinit_array_end +00000000 l *UND* 00000000 __stack +200001d4 l .data 00000000 __init_array_start +00000000 l *UND* 00000000 _exit +200001d4 l .data 00000000 __preinit_array_start +00002830 g F .text 00000020 ComInit +00003534 g F .text 00000058 FlashWrite +0000539c g F .text 00000054 f_gets +000030cc g F .text 00000008 AssertFailure +00001f88 g F .text 00000034 GPIOPinTypeSSI +000002a4 g F .text 00000040 reset_handler +00000e2c g F .text 00000028 SSIDataGet +000036c8 g F .text 0000001c TimerUpdate +00002554 g F .text 00000010 XcpPacketTransmitted +00002850 g F .text 00000038 ComTask +00000da4 g F .text 00000024 SSIEnable +00001360 g F .text 00000008 SysCtlDelay +200011c4 g O .bss 00000002 uip_len +20001154 g O .bss 00000006 uip_ethaddr +0000554c g F .text 0000005c uip_add32 +00002954 g F .text 00000020 BootInit +00002b34 g F .text 0000003a FileSrecVerifyChecksum +0000655c g F .text 00000014 __locale_ctype_ptr +00002934 g F .text 00000020 BackDoorInit +00000cc8 g F .text 000000dc SSIConfigSetExpClk +00002990 g F .text 00000002 CopService +00006f58 g .text 00000000 _etext +0000124c g F .text 000000a4 SysCtlPeripheralReset +000036f4 g F .text 00000004 CpuIrqDisable +0000547c g F .text 00000094 ff_wtoupper +00001efc g F .text 00000024 GPIOPinWrite +00000c40 g F .text 00000034 netdev_read +000056dc g F .text 00000a9c uip_process +00003690 g F .text 00000006 FlashGetUserProgBaseAddress +00006594 g F .text 00000016 memcpy +00002cbc g F .text 00000410 FileTask +000021a8 g F .text 00000028 UARTSpaceAvail +00003698 g F .text 0000000c TimerReset +000005f8 g F .text 00000160 disk_initialize +200011c8 g O .bss 00000004 uip_sappdata +00000b14 g F .text 00000018 netdev_init +200011cc g O .bss 00000004 uip_acc32 +00005674 g F .text 00000020 uip_ipchksum +000021fc g F .text 0000002c UARTCharPutNonBlocking +00002974 g F .text 00000018 BootTask +000035bc g F .text 0000004c FlashWriteChecksum +0000288c g F .text 0000002c ComTransmitPacket +00001984 g F .text 00000030 EthernetInitExpClk +00000758 g F .text 00000014 disk_status +00002b70 g F .text 0000014c FileSrecParseLine +00005634 g F .text 00000034 uip_listen +00000c74 g F .text 0000001c netdev_send +000008a0 g F .text 00000274 disk_ioctl +00002ab4 g F .text 00000030 FileHandleFirmwareUpdateRequest +00001b00 g F .text 00000050 EthernetPacketPut +000012f0 g F .text 00000070 SysCtlPeripheralEnable +200011d0 g O .bss 00000001 uip_flags +00000200 g F .text 00000044 FileFirmwareUpdateCompletedHook +00002544 g F .text 00000010 XcpIsConnected +000052e0 g F .text 000000bc f_unlink +000065d4 g F .text 00000000 _init +00003230 g F .text 00000008 NvmInit +0000351c g F .text 00000018 FlashInit +00003250 g F .text 00000008 NvmGetUserProgBaseAddress +20001898 g .bss 00000000 _ebss +000053f0 g F .text 00000050 f_puts +00000800 g *ABS* 00000000 __STACKSIZE__ +0000014c g F .text 00000010 UnusedISR +00001aac g F .text 00000054 EthernetPacketGetNonBlocking +00002888 g F .text 00000002 ComFree +00001f20 g F .text 00000034 GPIOPinTypeEthernetLED +00000000 w *UND* 00000000 __sf_fake_stderr +00000000 w *UND* 00000000 __deregister_frame_info +0000311c g F .text 00000024 UartInit +00003240 g F .text 00000008 NvmErase +00000b2c g F .text 00000114 netdev_init_mac +000021d0 g F .text 0000002c UARTCharGetNonBlocking +00000dec g F .text 00000040 SSIDataPut +200001dc g .bss 00000000 _bss +00005108 g F .text 00000024 f_close +00002564 g F .text 000000e0 XcpPacketReceived +000056d0 g F .text 0000000a uip_tcpchksum +0000326c g F .text 00000008 CpuInit +00004d10 g F .text 0000016c f_read +00003650 g F .text 00000040 FlashDone +200011d4 g O .bss 00000004 uip_appdata +200011d8 g O .bss 00000004 uip_conn +200011dc g O .bss 00000068 uip_conns +0000173c g F .text 000000d8 FlashProgram +00002528 g F .text 0000001c XcpInit +00002a74 g F .text 0000002c FileInit +00001b88 g F .text 00000028 EthernetIntStatus +000063e4 g F .text 00000160 uip_arp_out +00000000 w *UND* 00000000 __sf_fake_stdin +0000358c g F .text 0000002e FlashErase +000065aa g F .text 00000010 memset +00000244 g F .text 00000018 FileFirmwareUpdateErrorHook +00000180 g F .text 00000010 main +0000506c g F .text 0000009c f_sync +000014e0 g F .text 00000204 SysCtlClockGet +00002ae4 g F .text 00000050 FileSrecGetLineType +00002088 g F .text 00000038 UARTDisable +000065ba g F .text 0000001a __ascii_wctomb +00003258 g F .text 00000014 NvmDone +00001a6c g F .text 00000040 EthernetEnable +00004b40 g F .text 00000058 f_mount +00003140 g F .text 00000050 UartTransmitPacket +00003248 g F .text 00000008 NvmVerifyChecksum +000032a8 g F .text 00000020 CpuMemCopy +000065e0 g F .text 00000000 _fini +0000512c g F .text 00000168 f_lseek +00006304 g F .text 000000e0 uip_arp_arpin +000028d0 g F .text 00000018 ComGetActiveInterfaceMaxTxLen +00003190 g F .text 000000a0 UartReceivePacket +000001d0 g F .text 00000008 FileGetFirmwareFilenameHook +000036f8 g F .text 00000004 CpuIrqEnable +00001a0c g F .text 00000060 EthernetMACAddrSet +20000064 g O .data 00000004 _impure_ptr +000062a4 g F .text 00000060 uip_arp_timer +20001244 g O .bss 00000002 uip_listenports +20001248 g O .bss 00000004 uip_draddr +00006570 g F .text 00000024 __ascii_mbtowc +20000000 g .data 00000000 _data +00001be4 g F .text 00000044 EthernetPHYRead +00005294 g F .text 0000004c f_stat +0000298c g F .text 00000002 CopInit +00000dc8 g F .text 00000024 SSIDisable +00003238 g F .text 00000008 NvmWrite +00003274 g F .text 00000034 CpuStartUserProgram +20002098 g .bss 00000000 _estack +000019b4 g F .text 00000058 EthernetConfigSet +00003608 g F .text 00000048 FlashVerifyChecksum +00002784 g F .text 0000003c NetTransmitPacket +200001dc g .data 00000000 _edata +00002aa0 g F .text 00000014 FileIsIdle +00005668 g F .text 0000000a htons +00004e7c g F .text 000001a4 f_write +00000000 g O .text 000000f0 _vectab +00001814 g F .text 00000068 FlashUserGet +00001fbc g F .text 00000034 GPIOPinTypeUART +00004b98 g F .text 00000178 f_open +000007f4 g F .text 000000ac disk_write +00001f54 g F .text 00000034 GPIOPinTypeGPIOOutput +0000025c g F .text 00000048 FileFirmwareUpdateLogHook +000028e8 g F .text 00000008 ComIsConnected +00000000 w *UND* 00000000 __sf_fake_stdout +00001b50 g F .text 00000038 EthernetIntDisable +00006e50 g O .text 00000101 _ctype_ +00001bb0 g F .text 00000034 EthernetIntClear +00000190 g F .text 00000040 FileIsFirmwareUpdateRequestedHook +00002228 g F .text 00000020 UARTBusy +000055d8 g F .text 0000005c uip_init +000028b8 g F .text 00000018 ComGetActiveInterfaceMaxRxLen +000027c0 g F .text 0000000a NetReceivePacket +00001d4c g F .text 00000064 GPIODirModeSet +0000076c g F .text 00000088 disk_read +000028f0 g F .text 00000044 BackDoorCheck +20001898 g .bss 00000000 _stack +2000124c g O .bss 00000004 uip_netmask +20001250 g O .bss 00000004 uip_hostaddr +00005440 g F .text 0000003c ff_convert +000036e4 g F .text 00000010 TimerGet +000027cc g F .text 00000064 NetApp +00000000 w *UND* 00000000 _Jv_RegisterClasses +000020c0 g F .text 000000e8 UARTConfigSetExpClk +00002718 g F .text 0000006c NetInit +00001368 g F .text 00000178 SysCtlClockSet +00001db0 g F .text 0000014c GPIOPadConfigSet +000036a4 g F .text 00000024 TimerInit +00000000 w *UND* 00000000 __register_frame_info +20001254 g O .bss 00000642 uip_buf +20000068 g O .data 0000016c __global_locale +000016e4 g F .text 00000058 FlashClear +00006178 g F .text 00000028 uip_send +20001896 g O .bss 00000002 uip_slen +000001d8 g F .text 00000028 FileFirmwareUpdateStartedHook +00002058 g F .text 00000030 UARTEnable + + diff --git a/Target/Demo/ARMCM3_LM3S_EK_LM3S6965_GCC/Boot/makefile b/Target/Demo/ARMCM3_LM3S_EK_LM3S6965_GCC/Boot/makefile index 6ea71b0f..6827865d 100644 --- a/Target/Demo/ARMCM3_LM3S_EK_LM3S6965_GCC/Boot/makefile +++ b/Target/Demo/ARMCM3_LM3S_EK_LM3S6965_GCC/Boot/makefile @@ -1,11 +1,11 @@ #**************************************************************************************** -#| Description: Makefile for LM3S using CodeSourcery GNU GCC compiler toolset +#| Description: Makefile for GNU ARM Embedded toolchain. #| File Name: makefile #| #|--------------------------------------------------------------------------------------- #| C O P Y R I G H T #|--------------------------------------------------------------------------------------- -#| Copyright (c) 2012 by Feaser http://www.feaser.com All rights reserved +#| Copyright (c) 2017 by Feaser http://www.feaser.com All rights reserved #| #|--------------------------------------------------------------------------------------- #| L I C E N S E @@ -25,174 +25,134 @@ #**************************************************************************************** SHELL = sh -#|---------------------------------------------------------------------------------------| -#| Configure project name | -#|---------------------------------------------------------------------------------------| +#|--------------------------------------------------------------------------------------| +#| Configure project name | +#|--------------------------------------------------------------------------------------| PROJ_NAME=openblt_ek_lm3s6965 -#|---------------------------------------------------------------------------------------| -#| Speficy project source files | -#|---------------------------------------------------------------------------------------| -PROJ_FILES= \ -blt_conf.h \ -hooks.c \ -main.c \ -vectors.c \ -cstart.c \ -./lib/inc/hw_ethernet.h \ -./lib/inc/hw_flash.h \ -./lib/inc/hw_gpio.h \ -./lib/inc/hw_ints.h \ -./lib/inc/hw_memmap.h \ -./lib/inc/hw_nvic.h \ -./lib/inc/hw_sysctl.h \ -./lib/inc/hw_types.h \ -./lib/inc/hw_uart.h \ -./lib/inc/hw_ssi.h \ -./lib/driverlib/ethernet.c \ -./lib/driverlib/ethernet.h \ -./lib/driverlib/cpulib.c \ -./lib/driverlib/flashlib.c \ -./lib/driverlib/gpio.h \ -./lib/driverlib/sysctl.c \ -./lib/driverlib/uartlib.h \ -./lib/driverlib/cpulib.h \ -./lib/driverlib/flashlib.h \ -./lib/driverlib/interrupt.c \ -./lib/driverlib/sysctl.h \ -./lib/driverlib/debug.h \ -./lib/driverlib/gpio.c \ -./lib/driverlib/interrupt.h \ -./lib/driverlib/uartlib.c \ -./lib/driverlib/pin_map.h \ -./lib/driverlib/ssi.c \ -./lib/driverlib/ssi.h \ -./lib/fatfs/ffconf.h \ -./lib/fatfs/mmc.c \ -./lib/uip/clock-arch.c \ -./lib/uip/clock-arch.h \ -./lib/uip/netdev.c \ -./lib/uip/netdev.h \ -./lib/uip/uip-conf.h \ -../../../Source/boot.c \ -../../../Source/boot.h \ -../../../Source/com.c \ -../../../Source/com.h \ -../../../Source/xcp.c \ -../../../Source/xcp.h \ -../../../Source/backdoor.c \ -../../../Source/backdoor.h \ -../../../Source/cop.c \ -../../../Source/cop.h \ -../../../Source/file.c \ -../../../Source/file.h \ -../../../Source/net.c \ -../../../Source/net.h \ -../../../Source/assert.c \ -../../../Source/assert.h \ -../../../Source/cpu.h \ -../../../Source/uart.h \ -../../../Source/nvm.h \ -../../../Source/timer.h \ -../../../Source/plausibility.h \ -../../../Source/third_party/fatfs/src/diskio.h \ -../../../Source/third_party/fatfs/src/ff.c \ -../../../Source/third_party/fatfs/src/ff.h \ -../../../Source/third_party/fatfs/src/integer.h \ -../../../Source/third_party/fatfs/src/option/unicode.c \ -../../../Source/third_party/uip/uip/clock.h \ -../../../Source/third_party/uip/uip/lc-addrlabels.h \ -../../../Source/third_party/uip/uip/lc-switch.h \ -../../../Source/third_party/uip/uip/lc.h \ -../../../Source/third_party/uip/uip/pt.h \ -../../../Source/third_party/uip/uip/uip-fw.h \ -../../../Source/third_party/uip/uip/uip-neighbor.h \ -../../../Source/third_party/uip/uip/uip-split.h \ -../../../Source/third_party/uip/uip/uip.c \ -../../../Source/third_party/uip/uip/uip.h \ -../../../Source/third_party/uip/uip/uip_arch.h \ -../../../Source/third_party/uip/uip/uip_arp.c \ -../../../Source/third_party/uip/uip/uip_arp.h \ -../../../Source/third_party/uip/uip/uip_timer.c \ -../../../Source/third_party/uip/uip/uip_timer.h \ -../../../Source/third_party/uip/uip/uiplib.c \ -../../../Source/third_party/uip/uip/uiplib.h \ -../../../Source/third_party/uip/uip/uipopt.h \ -../../../Source/ARMCM3_LM3S/types.h \ -../../../Source/ARMCM3_LM3S/cpu.c \ -../../../Source/ARMCM3_LM3S/uart.c \ -../../../Source/ARMCM3_LM3S/nvm.c \ -../../../Source/ARMCM3_LM3S/timer.c \ -../../../Source/ARMCM3_LM3S/flash.c \ -../../../Source/ARMCM3_LM3S/flash.h \ -../../../Source/ARMCM3_LM3S/GCC/cpu_comp.c +#|--------------------------------------------------------------------------------------| +#| Configure tool path | +#|--------------------------------------------------------------------------------------| +TOOL_PATH=/opt/gcc-arm-none-eabi-5_4-2016q3/bin/ -#|---------------------------------------------------------------------------------------| -#| Compiler binaries | -#|---------------------------------------------------------------------------------------| -CC = arm-none-eabi-gcc -LN = arm-none-eabi-gcc -OC = arm-none-eabi-objcopy -OD = arm-none-eabi-objdump -AS = arm-none-eabi-as -SZ = arm-none-eabi-size +#|--------------------------------------------------------------------------------------| +#| Collect project files | +#|--------------------------------------------------------------------------------------| +# Recursive wildcard function implementation. Example usages: +# $(call rwildcard, , *.c *.h) +# --> Returns all *.c and *.h files in the current directory and below +# $(call rwildcard, /lib/, *.c) +# --> Returns all *.c files in the /lib directory and below +rwildcard = $(strip $(foreach d,$(wildcard $1*),$(call rwildcard,$d/,$2) $(filter $(subst *,%,$2),$d))) + +# Collect all application files in the current directory and its subdirectories, but +# exclude flash-layout.c as this one is directly included in a source file, when used. +PROJ_FILES = $(filter-out flash_layout.c, $(call rwildcard, , *.c *.h *.S)) +# Collect bootloader core files +PROJ_FILES += $(wildcard ../../../Source/*.c) +PROJ_FILES += $(wildcard ../../../Source/*.h) +# Collect bootloader port files +PROJ_FILES += $(wildcard ../../../Source/ARMCM3_LM3S/*.c) +PROJ_FILES += $(wildcard ../../../Source/ARMCM3_LM3S/*.h) +# Collect bootloader port compiler specific files +PROJ_FILES += $(wildcard ../../../Source/ARMCM3_LM3S/GCC/*.c) +PROJ_FILES += $(wildcard ../../../Source/ARMCM3_LM3S/GCC/*.h) +# Collect FatFS third party library files +PROJ_FILES += $(wildcard ../../../Source/third_party/fatfs/src/*.c) +PROJ_FILES += $(wildcard ../../../Source/third_party/fatfs/src/*.h) +PROJ_FILES += ../../../Source/third_party/fatfs/src/option/unicode.c +# Collect UIP third party library files +PROJ_FILES += ../../../Source/third_party/uip/uip/clock.h +PROJ_FILES += ../../../Source/third_party/uip/uip/lc-addrlabels.h +PROJ_FILES += ../../../Source/third_party/uip/uip/lc-switch.h +PROJ_FILES += ../../../Source/third_party/uip/uip/lc.h +PROJ_FILES += ../../../Source/third_party/uip/uip/pt.h +PROJ_FILES += ../../../Source/third_party/uip/uip/uip-fw.h +PROJ_FILES += ../../../Source/third_party/uip/uip/uip-neighbor.h +PROJ_FILES += ../../../Source/third_party/uip/uip/uip-split.h +PROJ_FILES += ../../../Source/third_party/uip/uip/uip.c +PROJ_FILES += ../../../Source/third_party/uip/uip/uip.h +PROJ_FILES += ../../../Source/third_party/uip/uip/uip_arch.h +PROJ_FILES += ../../../Source/third_party/uip/uip/uip_arp.c +PROJ_FILES += ../../../Source/third_party/uip/uip/uip_arp.h +PROJ_FILES += ../../../Source/third_party/uip/uip/uip_timer.c +PROJ_FILES += ../../../Source/third_party/uip/uip/uip_timer.h +PROJ_FILES += ../../../Source/third_party/uip/uip/uiplib.c +PROJ_FILES += ../../../Source/third_party/uip/uip/uiplib.h +PROJ_FILES += ../../../Source/third_party/uip/uip/uipopt.h -#|---------------------------------------------------------------------------------------| -#| Extract file names | -#|---------------------------------------------------------------------------------------| -PROJ_ASRCS = $(filter %.s,$(foreach file,$(PROJ_FILES),$(notdir $(file)))) +#|--------------------------------------------------------------------------------------| +#| Toolchain binaries | +#|--------------------------------------------------------------------------------------| +RM = rm +CC = $(TOOL_PATH)arm-none-eabi-gcc +LN = $(TOOL_PATH)arm-none-eabi-gcc +OC = $(TOOL_PATH)arm-none-eabi-objcopy +OD = $(TOOL_PATH)arm-none-eabi-objdump +AS = $(TOOL_PATH)arm-none-eabi-gcc +SZ = $(TOOL_PATH)arm-none-eabi-size + + +#|--------------------------------------------------------------------------------------| +#| Filter project files +#|--------------------------------------------------------------------------------------| +PROJ_ASRCS = $(filter %.S,$(foreach file,$(PROJ_FILES),$(notdir $(file)))) PROJ_CSRCS = $(filter %.c,$(foreach file,$(PROJ_FILES),$(notdir $(file)))) PROJ_CHDRS = $(filter %.h,$(foreach file,$(PROJ_FILES),$(notdir $(file)))) -PROJ_CCMPL = $(patsubst %.c,%.cpl,$(PROJ_CSRCS)) -PROJ_ACMPL = $(patsubst %.s,%.cpl,$(PROJ_ASRCS)) -#|---------------------------------------------------------------------------------------| -#| Set important path variables | -#|---------------------------------------------------------------------------------------| +#|--------------------------------------------------------------------------------------| +#| Set important path variables | +#|--------------------------------------------------------------------------------------| VPATH = $(foreach path,$(sort $(foreach file,$(PROJ_FILES),$(dir $(file)))) $(subst \,/,$(OBJ_PATH)),$(path) :) OBJ_PATH = obj BIN_PATH = bin -INC_PATH = $(patsubst %,-I%,$(sort $(foreach file,$(filter %.h,$(PROJ_FILES)),$(dir $(file))))) -INC_PATH += -I. -I./lib -LIB_PATH = -L./ +INC_PATH = $(patsubst %/,%,$(patsubst %,-I%,$(sort $(foreach file,$(filter %.h,$(PROJ_FILES)),$(dir $(file)))))) +INC_PATH += -I./lib +LIB_PATH = -#|---------------------------------------------------------------------------------------| -#| Options for compiler binaries | -#|---------------------------------------------------------------------------------------| -CFLAGS = -g -mthumb -mcpu=cortex-m3 -Os -T memory.x -CFLAGS += -D PACK_STRUCT_END=__attribute\(\(packed\)\) -Wno-main -CFLAGS += -D ALIGN_STRUCT_END=__attribute\(\(aligned\(4\)\)\) -CFLAGS += -ffunction-sections -fdata-sections $(INC_PATH) -D DEBUG -D gcc -CFLAGS += -Wa,-adhlns="$(OBJ_PATH)/$(subst .o,.lst,$@)" -LFLAGS = -nostartfiles -Xlinker -M -Xlinker -Map=$(BIN_PATH)/$(PROJ_NAME).map -LFLAGS += $(LIB_PATH) -Xlinker --gc-sections -OFLAGS = -O binary -ODFLAGS = -x -SZFLAGS = -B -d +#|--------------------------------------------------------------------------------------| +#| Options for toolchain binaries | +#|--------------------------------------------------------------------------------------| +STDFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft -fno-strict-aliasing +STDFLAGS += -Wno-unused-but-set-variable -Wno-maybe-uninitialized +STDFLAGS += -fdata-sections -ffunction-sections -Wall -g3 +OPTFLAGS = -Og +CFLAGS = $(STDFLAGS) $(OPTFLAGS) +CFLAGS += -DDEBUG -Dgcc +CFLAGS += $(INC_PATH) +AFLAGS = $(CFLAGS) +LFLAGS = $(STDFLAGS) $(OPTFLAGS) +LFLAGS += -Wl,-script="memory.x" -Wl,-Map=$(BIN_PATH)/$(PROJ_NAME).map +LFLAGS += -specs=nano.specs -Wl,--gc-sections $(LIB_PATH) +OFLAGS = -O binary +ODFLAGS = -x +SZFLAGS = -B -d +RMFLAGS = -f -#|---------------------------------------------------------------------------------------| -#| Specify library files | -#|---------------------------------------------------------------------------------------| +#|--------------------------------------------------------------------------------------| +#| Specify library files | +#|--------------------------------------------------------------------------------------| LIBS = -#|---------------------------------------------------------------------------------------| -#| Define targets | -#|---------------------------------------------------------------------------------------| -AOBJS = $(patsubst %.s,%.o,$(PROJ_ASRCS)) +#|--------------------------------------------------------------------------------------| +#| Define targets | +#|--------------------------------------------------------------------------------------| +AOBJS = $(patsubst %.S,%.o,$(PROJ_ASRCS)) COBJS = $(patsubst %.c,%.o,$(PROJ_CSRCS)) -#|---------------------------------------------------------------------------------------| -#| Make ALL | -#|---------------------------------------------------------------------------------------| -all : $(BIN_PATH)/$(PROJ_NAME).bin +#|--------------------------------------------------------------------------------------| +#| Make ALL | +#|--------------------------------------------------------------------------------------| +.PHONY: all +all: $(BIN_PATH)/$(PROJ_NAME).bin $(BIN_PATH)/$(PROJ_NAME).bin : $(BIN_PATH)/$(PROJ_NAME).elf @@ -204,31 +164,32 @@ $(BIN_PATH)/$(PROJ_NAME).bin : $(BIN_PATH)/$(PROJ_NAME).elf $(BIN_PATH)/$(PROJ_NAME).elf : $(AOBJS) $(COBJS) @echo +++ Linking [$(notdir $@)] - @$(LN) $(CFLAGS) -o $@ $(patsubst %.o,$(OBJ_PATH)/%.o,$(^F)) $(LIBS) $(LFLAGS) + @$(LN) $(LFLAGS) -o $@ $(patsubst %.o,$(OBJ_PATH)/%.o,$(^F)) $(LIBS) -#|---------------------------------------------------------------------------------------| -#| Compile and assemble | -#|---------------------------------------------------------------------------------------| -$(AOBJS): %.o: %.s $(PROJ_CHDRS) +#|--------------------------------------------------------------------------------------| +#| Compile and assemble | +#|--------------------------------------------------------------------------------------| +$(AOBJS): %.o: %.S $(PROJ_CHDRS) @echo +++ Assembling [$(notdir $<)] - @$(AS) $(AFLAGS) $< -o $(OBJ_PATH)/$(@F) + @$(AS) $(AFLAGS) -c $< -o $(OBJ_PATH)/$(@F) $(COBJS): %.o: %.c $(PROJ_CHDRS) @echo +++ Compiling [$(notdir $<)] @$(CC) $(CFLAGS) -c $< -o $(OBJ_PATH)/$(@F) -#|---------------------------------------------------------------------------------------| -#| Make CLEAN | -#|---------------------------------------------------------------------------------------| -clean : +#|--------------------------------------------------------------------------------------| +#| Make CLEAN | +#|--------------------------------------------------------------------------------------| +.PHONY: clean +clean: @echo +++ Cleaning build environment - @cs-rm -f $(foreach file,$(AOBJS),$(OBJ_PATH)/$(file)) - @cs-rm -f $(foreach file,$(COBJS),$(OBJ_PATH)/$(file)) - @cs-rm -f $(patsubst %.o,%.lst,$(foreach file,$(COBJS),$(OBJ_PATH)/$(file))) - @cs-rm -f $(BIN_PATH)/$(PROJ_NAME).elf $(BIN_PATH)/$(PROJ_NAME).map - @cs-rm -f $(BIN_PATH)/$(PROJ_NAME).bin + @$(RM) $(RMFLAGS) $(foreach file,$(AOBJS),$(OBJ_PATH)/$(file)) + @$(RM) $(RMFLAGS) $(foreach file,$(COBJS),$(OBJ_PATH)/$(file)) + @$(RM) $(RMFLAGS) $(patsubst %.o,%.lst,$(foreach file,$(COBJS),$(OBJ_PATH)/$(file))) + @$(RM) $(RMFLAGS) $(BIN_PATH)/$(PROJ_NAME).elf $(BIN_PATH)/$(PROJ_NAME).map + @$(RM) $(RMFLAGS) $(BIN_PATH)/$(PROJ_NAME).srec @echo +++ Clean complete - \ No newline at end of file + diff --git a/Target/Demo/ARMCM3_LM3S_EK_LM3S6965_GCC/Boot/memory.x b/Target/Demo/ARMCM3_LM3S_EK_LM3S6965_GCC/Boot/memory.x index f9fc55fe..f88ab065 100644 --- a/Target/Demo/ARMCM3_LM3S_EK_LM3S6965_GCC/Boot/memory.x +++ b/Target/Demo/ARMCM3_LM3S_EK_LM3S6965_GCC/Boot/memory.x @@ -10,17 +10,60 @@ SECTIONS .text : { - KEEP(*(.isr_vector)) - *(.text*) - *(.rodata*) + KEEP(*(.isr_vector)) + *(.text*) + + KEEP(*(.init)) + KEEP(*(.fini)) + + /* .ctors */ + *crtbegin.o(.ctors) + *crtbegin?.o(.ctors) + *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors) + *(SORT(.ctors.*)) + *(.ctors) + + /* .dtors */ + *crtbegin.o(.dtors) + *crtbegin?.o(.dtors) + *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors) + *(SORT(.dtors.*)) + *(.dtors) + + *(.rodata*) + + KEEP(*(.eh_frame*)) _etext = .; } > FLASH .data : AT (ADDR(.text) + SIZEOF(.text)) { _data = .; - *(vtable) - *(.data*) + *(vtable) + *(.data*) + + . = ALIGN(4); + /* preinit data */ + PROVIDE_HIDDEN (__preinit_array_start = .); + KEEP(*(.preinit_array)) + PROVIDE_HIDDEN (__preinit_array_end = .); + + . = ALIGN(4); + /* init data */ + PROVIDE_HIDDEN (__init_array_start = .); + KEEP(*(SORT(.init_array.*))) + KEEP(*(.init_array)) + PROVIDE_HIDDEN (__init_array_end = .); + + + . = ALIGN(4); + /* finit data */ + PROVIDE_HIDDEN (__fini_array_start = .); + KEEP(*(SORT(.fini_array.*))) + KEEP(*(.fini_array)) + PROVIDE_HIDDEN (__fini_array_end = .); + + . = ALIGN(4); _edata = .; } > SRAM diff --git a/Target/Demo/ARMCM3_LM3S_EK_LM3S6965_GCC/Prog/bin/demoprog_ek_lm3s6965.elf b/Target/Demo/ARMCM3_LM3S_EK_LM3S6965_GCC/Prog/bin/demoprog_ek_lm3s6965.elf index c7b3ead4..18ed0ee8 100644 Binary files a/Target/Demo/ARMCM3_LM3S_EK_LM3S6965_GCC/Prog/bin/demoprog_ek_lm3s6965.elf and b/Target/Demo/ARMCM3_LM3S_EK_LM3S6965_GCC/Prog/bin/demoprog_ek_lm3s6965.elf differ diff --git a/Target/Demo/ARMCM3_LM3S_EK_LM3S6965_GCC/Prog/bin/demoprog_ek_lm3s6965.map b/Target/Demo/ARMCM3_LM3S_EK_LM3S6965_GCC/Prog/bin/demoprog_ek_lm3s6965.map index a0cd1e73..059e2ede 100644 --- a/Target/Demo/ARMCM3_LM3S_EK_LM3S6965_GCC/Prog/bin/demoprog_ek_lm3s6965.map +++ b/Target/Demo/ARMCM3_LM3S_EK_LM3S6965_GCC/Prog/bin/demoprog_ek_lm3s6965.map @@ -1,192 +1,233 @@ - -bin/demoprog_ek_lm3s6965.elf: file format elf32-littlearm -bin/demoprog_ek_lm3s6965.elf -architecture: arm, flags 0x00000112: -EXEC_P, HAS_SYMS, D_PAGED -start address 0x00008000 - -Program Header: - LOAD off 0x00008000 vaddr 0x00008000 paddr 0x00008000 align 2**15 - filesz 0x000031fc memsz 0x000031fc flags r-x - LOAD off 0x00010000 vaddr 0x20000000 paddr 0x20000000 align 2**15 - filesz 0x00000000 memsz 0x00000870 flags rw- -private flags = 5000202: [Version5 EABI] [soft-float ABI] [has entry point] - -Sections: -Idx Name Size VMA LMA File off Algn - 0 .text 000031fc 00008000 00008000 00008000 2**2 - CONTENTS, ALLOC, LOAD, READONLY, CODE - 1 .bss 00000870 20000000 20000000 00010000 2**2 - ALLOC - 2 .debug_info 00005e56 00000000 00000000 0000b1fc 2**0 - CONTENTS, READONLY, DEBUGGING - 3 .debug_abbrev 00001342 00000000 00000000 00011052 2**0 - CONTENTS, READONLY, DEBUGGING - 4 .debug_loc 00003173 00000000 00000000 00012394 2**0 - CONTENTS, READONLY, DEBUGGING - 5 .debug_aranges 00000818 00000000 00000000 00015507 2**0 - CONTENTS, READONLY, DEBUGGING - 6 .debug_ranges 00000718 00000000 00000000 00015d1f 2**0 - CONTENTS, READONLY, DEBUGGING - 7 .debug_line 000021a7 00000000 00000000 00016437 2**0 - CONTENTS, READONLY, DEBUGGING - 8 .debug_str 000018a2 00000000 00000000 000185de 2**0 - CONTENTS, READONLY, DEBUGGING - 9 .comment 00000030 00000000 00000000 00019e80 2**0 - CONTENTS, READONLY - 10 .ARM.attributes 00000033 00000000 00000000 00019eb0 2**0 - CONTENTS, READONLY - 11 .debug_frame 000014fc 00000000 00000000 00019ee4 2**2 - CONTENTS, READONLY, DEBUGGING -SYMBOL TABLE: -00008000 l d .text 00000000 .text -20000000 l d .bss 00000000 .bss -00000000 l d .debug_info 00000000 .debug_info -00000000 l d .debug_abbrev 00000000 .debug_abbrev -00000000 l d .debug_loc 00000000 .debug_loc -00000000 l d .debug_aranges 00000000 .debug_aranges -00000000 l d .debug_ranges 00000000 .debug_ranges -00000000 l d .debug_line 00000000 .debug_line -00000000 l d .debug_str 00000000 .debug_str -00000000 l d .comment 00000000 .comment -00000000 l d .ARM.attributes 00000000 .ARM.attributes -00000000 l d .debug_frame 00000000 .debug_frame -00000000 l df *ABS* 00000000 vectors.c -00000000 l df *ABS* 00000000 boot.c -20000000 l O .bss 00000004 xcpCtoRxStartTime.4457 -20000004 l O .bss 00000041 xcpCtoReqPacket.4454 -20000048 l O .bss 00000001 xcpCtoRxLength.4455 -20000049 l O .bss 00000001 xcpCtoRxInProgress.4456 -00000000 l df *ABS* 00000000 cstart.c -0000829c l F .text 00000000 zero_loop -00000000 l df *ABS* 00000000 led.c -2000004c l O .bss 00000004 timer_counter_last.4440 -20000050 l O .bss 00000001 led_toggle_state.4439 -00000000 l df *ABS* 00000000 net.c -20000054 l O .bss 00000004 ARPTimerTimeOut -20000058 l O .bss 00000004 periodicTimerTimeOut -00000000 l df *ABS* 00000000 main.c -2000005c l O .bss 00000004 assert_failure_line.4447 -00000000 l df *ABS* 00000000 time.c -20000060 l O .bss 00000004 millisecond_counter -00000000 l df *ABS* 00000000 netdev.c -00000000 l df *ABS* 00000000 ethernet.c -00008898 l F .text 00000096 EthernetPacketGetInternal -00008930 l F .text 00000086 EthernetPacketPutInternal -00000000 l df *ABS* 00000000 flash.c -00000000 l df *ABS* 00000000 gpio.c -00008db8 l F .text 0000008a GPIOBaseValid -00000000 l df *ABS* 00000000 sysctl.c -000090f4 l F .text 00000154 SysCtlPeripheralValid -0000b138 l O .text 0000005c g_pulXtals -0000b1ac l O .text 0000000c g_pulRCGCRegs -0000b1b8 l O .text 0000000c g_pulSRCRRegs -00000000 l df *ABS* 00000000 systick.c -00000000 l df *ABS* 00000000 uart.c -000097e0 l F .text 00000026 UARTBaseValid -00000000 l df *ABS* 00000000 uip.c -00009a04 l F .text 0000004c chksum -00009a50 l F .text 00000046 upper_layer_chksum -00009b18 l F .text 00000036 uip_add_rcv_nxt -20000064 l O .bss 00000002 tmp16 -20000066 l O .bss 00000002 ipid -20000068 l O .bss 00000004 iss -2000006c l O .bss 00000002 lastport -20000078 l O .bss 00000001 c -20000079 l O .bss 00000001 opt -00000000 l df *ABS* 00000000 uip_arp.c -0000abc4 l F .text 00000116 uip_arp_update -2000007a l O .bss 00000001 i -2000007b l O .bss 00000001 tmpage -2000007c l O .bss 00000060 arp_table -0000b1f4 l O .text 00000006 broadcast_ethaddr -200000dc l O .bss 00000001 c -200000dd l O .bss 00000001 arptime -200000e0 l O .bss 00000004 ipaddr -00000000 l df *ABS* 00000000 memset.c -00000000 l df *ABS* 00000000 -00000100 l *ABS* 00000000 __STACKSIZE__ -000085fc g F .text 0000000c __error__ -00008258 g F .text 00000060 reset_handler -0000930c g F .text 00000008 SysCtlDelay -200000e4 g O .bss 00000002 uip_len -20000070 g O .bss 00000006 uip_ethaddr -00009a98 g F .text 0000007e uip_add32 -0000b1fc g .text 00000000 _etext -00009248 g F .text 00000068 SysCtlPeripheralReset -00008fe0 g F .text 00000030 GPIOPinWrite -0000881c g F .text 00000052 netdev_read -00009bf4 g F .text 00000fc4 uip_process -200000e8 g O .bss 00000004 uip_sappdata -00008670 g F .text 00000024 netdev_init -200000ec g O .bss 00000004 uip_acc32 -00009b50 g F .text 0000002c uip_ipchksum -000089b8 g F .text 0000003a EthernetInitExpClk -00009bc0 g F .text 00000032 uip_listen -00008870 g F .text 00000028 netdev_send -00008ba0 g F .text 00000076 EthernetPacketPut -000092b0 g F .text 00000046 SysCtlPeripheralEnable -200000f0 g O .bss 00000001 uip_flags -00008248 g F .text 0000000e BootActivate -000092f8 g F .text 00000012 SysCtlReset -20000770 g .bss 00000000 _ebss -0000866c g F .text 00000002 UnusedISR -00008b24 g F .text 0000007a EthernetPacketGetNonBlocking -000082c4 g F .text 0000003a LedInit -0000865c g F .text 00000010 TimeISRHandler -000090a8 g F .text 0000004c GPIOPinTypeEthernetLED -00008444 g F .text 0000015c NetTask -00008694 g F .text 00000188 netdev_init_mac -000099cc g F .text 00000036 UARTCharGetNonBlocking -20000000 g .bss 00000000 _bss -00009b7c g F .text 00000010 uip_tcpchksum -200000f4 g O .bss 00000004 uip_appdata -000097b4 g F .text 0000002a SysTickPeriodSet -200000f8 g O .bss 00000004 uip_conn -200000fc g O .bss 0000001e uip_conns -00008c68 g F .text 00000032 EthernetIntStatus -0000ae74 g F .text 000001d6 uip_arp_out -0000b04c g F .text 0000009e memset -000085a0 g F .text 0000005c main -000094d0 g F .text 000002ba SysCtlClockGet -00009844 g F .text 00000044 UARTDisable -00008adc g F .text 00000048 EthernetEnable -000080f4 g F .text 00000050 BootComInit -0000ad34 g F .text 00000140 uip_arp_arpin -00008608 g F .text 00000046 TimeInit -00008a64 g F .text 00000076 EthernetMACAddrSet -0000acdc g F .text 00000058 uip_arp_timer -2000011c g O .bss 00000002 uip_listenports -20000120 g O .bss 00000004 uip_draddr -20000000 g .text 00000000 _data -00008ce4 g F .text 0000004c EthernetPHYRead -00008300 g F .text 0000007a LedToggle -20000870 g .bss 00000000 _estack -000089f4 g F .text 0000006e EthernetConfigSet -20000000 g .text 00000000 _edata -0000abb8 g F .text 0000000a htons -00008000 g O .text 000000f4 _vectab -00008d30 g F .text 00000086 FlashUserGet -0000905c g F .text 0000004c GPIOPinTypeUART -00009010 g F .text 0000004c GPIOPinTypeGPIOOutput -00008c18 g F .text 0000004e EthernetIntDisable -00008144 g F .text 00000104 BootComCheckActivationRequest -00008c9c g F .text 00000048 EthernetIntClear -00008650 g F .text 0000000c TimeGet -00009b8c g F .text 00000032 uip_init -00008e44 g F .text 0000006c GPIODirModeSet -20000770 g .bss 00000000 _stack -20000124 g O .bss 00000004 uip_netmask -0000978c g F .text 00000012 SysTickEnable -20000128 g O .bss 00000004 uip_hostaddr -0000840c g F .text 00000038 NetApp -000097a0 g F .text 00000012 SysTickIntEnable -00009888 g F .text 00000142 UARTConfigSetExpClk -0000837c g F .text 00000090 NetInit -00009314 g F .text 000001ba SysCtlClockSet -00008eb0 g F .text 0000012e GPIOPadConfigSet -2000012c g O .bss 00000642 uip_buf -2000076e g O .bss 00000002 uip_slen -00009808 g F .text 0000003c UARTEnable - - + +bin/demoprog_ek_lm3s6965.elf: file format elf32-littlearm +bin/demoprog_ek_lm3s6965.elf +architecture: arm, flags 0x00000112: +EXEC_P, HAS_SYMS, D_PAGED +start address 0x00008000 + +Program Header: + LOAD off 0x00000000 vaddr 0x00000000 paddr 0x00000000 align 2**16 + filesz 0x0000a728 memsz 0x0000a728 flags r-x + LOAD off 0x00010000 vaddr 0x20000000 paddr 0x0000a728 align 2**16 + filesz 0x00000008 memsz 0x00000b8c flags rw- +private flags = 5000200: [Version5 EABI] [soft-float ABI] + +Sections: +Idx Name Size VMA LMA File off Algn + 0 .text 00002728 00008000 00008000 00008000 2**2 + CONTENTS, ALLOC, LOAD, READONLY, CODE + 1 .data 00000008 20000000 0000a728 00010000 2**2 + CONTENTS, ALLOC, LOAD, DATA + 2 .bss 00000b84 20000008 0000a730 00010008 2**2 + ALLOC + 3 .ARM.attributes 00000029 00000000 00000000 00010008 2**0 + CONTENTS, READONLY + 4 .comment 0000006e 00000000 00000000 00010031 2**0 + CONTENTS, READONLY + 5 .debug_info 000065fb 00000000 00000000 0001009f 2**0 + CONTENTS, READONLY, DEBUGGING + 6 .debug_abbrev 00001381 00000000 00000000 0001669a 2**0 + CONTENTS, READONLY, DEBUGGING + 7 .debug_aranges 00000838 00000000 00000000 00017a1b 2**0 + CONTENTS, READONLY, DEBUGGING + 8 .debug_ranges 00000738 00000000 00000000 00018253 2**0 + CONTENTS, READONLY, DEBUGGING + 9 .debug_macro 00008af2 00000000 00000000 0001898b 2**0 + CONTENTS, READONLY, DEBUGGING + 10 .debug_line 0000337a 00000000 00000000 0002147d 2**0 + CONTENTS, READONLY, DEBUGGING + 11 .debug_str 00023b31 00000000 00000000 000247f7 2**0 + CONTENTS, READONLY, DEBUGGING + 12 .debug_frame 00001540 00000000 00000000 00048328 2**2 + CONTENTS, READONLY, DEBUGGING + 13 .debug_loc 00003dac 00000000 00000000 00049868 2**0 + CONTENTS, READONLY, DEBUGGING +SYMBOL TABLE: +00008000 l d .text 00000000 .text +20000000 l d .data 00000000 .data +20000008 l d .bss 00000000 .bss +00000000 l d .ARM.attributes 00000000 .ARM.attributes +00000000 l d .comment 00000000 .comment +00000000 l d .debug_info 00000000 .debug_info +00000000 l d .debug_abbrev 00000000 .debug_abbrev +00000000 l d .debug_aranges 00000000 .debug_aranges +00000000 l d .debug_ranges 00000000 .debug_ranges +00000000 l d .debug_macro 00000000 .debug_macro +00000000 l d .debug_line 00000000 .debug_line +00000000 l d .debug_str 00000000 .debug_str +00000000 l d .debug_frame 00000000 .debug_frame +00000000 l d .debug_loc 00000000 .debug_loc +00000000 l df *ABS* 00000000 vectors.c +00000000 l df *ABS* 00000000 crtstuff.c +0000a724 l O .text 00000000 __EH_FRAME_BEGIN__ +000080f4 l F .text 00000000 __do_global_dtors_aux +20000008 l .bss 00000000 completed.8603 +20000004 l O .data 00000000 __do_global_dtors_aux_fini_array_entry +00008118 l F .text 00000000 frame_dummy +2000000c l .bss 00000000 object.8608 +20000000 l O .data 00000000 __frame_dummy_init_array_entry +00000000 l df *ABS* 00000000 time.c +20000024 l O .bss 00000004 millisecond_counter +00000000 l df *ABS* 00000000 net.c +20000028 l O .bss 00000004 ARPTimerTimeOut +2000002c l O .bss 00000004 periodicTimerTimeOut +00000000 l df *ABS* 00000000 boot.c +00008314 l F .text 00000038 BootComUartInit +0000834c l F .text 00000020 UartReceiveByte +0000837c l F .text 00000094 BootComUartCheckActivationRequest +20000030 l O .bss 00000004 xcpCtoRxStartTime.4565 +20000034 l O .bss 00000041 xcpCtoReqPacket.4562 +20000075 l O .bss 00000001 xcpCtoRxLength.4563 +20000076 l O .bss 00000001 xcpCtoRxInProgress.4564 +00000000 l df *ABS* 00000000 main.c +0000841c l F .text 00000018 Init +20000078 l O .bss 00000004 assert_failure_line.4555 +00000000 l df *ABS* 00000000 cstart.c +0000847e l F .text 00000000 zero_loop +00000000 l df *ABS* 00000000 led.c +2000007c l O .bss 00000004 timer_counter_last.4548 +20000080 l O .bss 00000001 led_toggle_state.4547 +00000000 l df *ABS* 00000000 netdev.c +00000000 l df *ABS* 00000000 sysctl.c +0000869c l F .text 000001f8 SysCtlPeripheralValid +0000a614 l O .text 0000005c g_pulXtals +0000a688 l O .text 0000000c g_pulRCGCRegs +0000a694 l O .text 0000000c g_pulSRCRRegs +00000000 l df *ABS* 00000000 uart.c +00008ca4 l F .text 0000002c UARTBaseValid +00000000 l df *ABS* 00000000 ethernet.c +00008e4c l F .text 0000008a EthernetPacketGetInternal +00008ed8 l F .text 0000007c EthernetPacketPutInternal +00000000 l df *ABS* 00000000 gpio.c +000091f8 l F .text 000000dc GPIOBaseValid +00000000 l df *ABS* 00000000 flash.c +00000000 l df *ABS* 00000000 systick.c +00000000 l df *ABS* 00000000 uip.c +000095f0 l F .text 0000003a chksum +00009688 l F .text 00000030 uip_add_rcv_nxt +00009774 l F .text 0000003c upper_layer_chksum +20000082 l O .bss 00000002 tmp16 +20000084 l O .bss 00000002 ipid +20000088 l O .bss 00000004 iss +2000008c l O .bss 00000002 lastport +2000008e l O .bss 00000001 c +00000000 l df *ABS* 00000000 uip_arp.c +0000a258 l F .text 00000104 uip_arp_update +20000096 l O .bss 00000001 i +20000097 l O .bss 00000001 tmpage +20000098 l O .bss 00000060 arp_table +0000a71c l O .text 00000006 broadcast_ethaddr +200000f8 l O .bss 00000001 c +200000f9 l O .bss 00000001 arptime +200000fc l O .bss 00000004 ipaddr +00000000 l df *ABS* 00000000 /opt/gcc-arm-none-eabi-5_4-2016q3/bin/../lib/gcc/arm-none-eabi/5.4.1/armv7-m/crti.o +00000000 l df *ABS* 00000000 /opt/gcc-arm-none-eabi-5_4-2016q3/bin/../lib/gcc/arm-none-eabi/5.4.1/armv7-m/crtn.o +00000000 l df *ABS* 00000000 crtstuff.c +0000a724 l O .text 00000000 __FRAME_END__ +00000000 l df *ABS* 00000000 +00000000 l *UND* 00000000 __bss_start__ +00000000 l *UND* 00000000 __libc_fini_array +00000000 l *UND* 00000000 __sf_fake_stderr +00000000 l *UND* 00000000 __bss_end__ +00000000 l *UND* 00000000 __call_exitprocs +00000000 l *UND* 00000000 software_init_hook +00000000 l *UND* 00000000 __sf_fake_stdin +20000004 l .data 00000000 __init_array_end +00000000 l *UND* 00000000 hardware_init_hook +00000000 l *UND* 00000000 atexit +20000000 l .data 00000000 __preinit_array_end +00000000 l *UND* 00000000 __stack +00000000 l *UND* 00000000 __sf_fake_stdout +20000000 l .data 00000000 __init_array_start +00000000 l *UND* 00000000 _exit +20000000 l .data 00000000 __preinit_array_start +00008450 g F .text 0000000c __error__ +0000845c g F .text 00000040 reset_handler +00008934 g F .text 00000008 SysCtlDelay +20000100 g O .bss 00000002 uip_len +20000090 g O .bss 00000006 uip_ethaddr +0000962c g F .text 0000005c uip_add32 +00008150 g F .text 0000000c TimeSet +0000a728 g .text 00000000 _etext +00008894 g F .text 00000058 SysCtlPeripheralReset +00009488 g F .text 00000024 GPIOPinWrite +00008648 g F .text 00000038 netdev_read +000097bc g F .text 00000a9c uip_process +20000104 g O .bss 00000004 uip_sappdata +0000851c g F .text 00000018 netdev_init +20000108 g O .bss 00000004 uip_acc32 +00009754 g F .text 00000020 uip_ipchksum +00008f54 g F .text 00000030 EthernetInitExpClk +00009714 g F .text 00000034 uip_listen +00008680 g F .text 0000001c netdev_send +000090d0 g F .text 00000050 EthernetPacketPut +000088ec g F .text 00000038 SysCtlPeripheralEnable +2000010c g O .bss 00000001 uip_flags +0000a5fc g F .text 00000000 _init +00008374 g F .text 00000008 BootActivate +00008924 g F .text 00000010 SysCtlReset +2000078c g .bss 00000000 _ebss +00000400 g *ABS* 00000000 __STACKSIZE__ +00008418 g F .text 00000002 UnusedISR +0000907c g F .text 00000054 EthernetPacketGetNonBlocking +000084a8 g F .text 00000028 LedInit +00008190 g F .text 00000010 TimeISRHandler +00009514 g F .text 00000034 GPIOPinTypeEthernetLED +0000823c g F .text 000000d8 NetTask +00000000 w *UND* 00000000 __deregister_frame_info +00008534 g F .text 00000114 netdev_init_mac +00008e20 g F .text 0000002c UARTCharGetNonBlocking +20000008 g .bss 00000000 _bss +000097b0 g F .text 0000000a uip_tcpchksum +20000110 g O .bss 00000004 uip_appdata +000095d0 g F .text 00000020 SysTickPeriodSet +20000114 g O .bss 00000004 uip_conn +20000118 g O .bss 0000001e uip_conns +00009158 g F .text 00000028 EthernetIntStatus +0000a49c g F .text 00000160 uip_arp_out +00008434 g F .text 0000001c main +00008aa0 g F .text 00000204 SysCtlClockGet +00008d00 g F .text 00000038 UARTDisable +0000903c g F .text 00000040 EthernetEnable +0000836c g F .text 00000008 BootComInit +0000a608 g F .text 00000000 _fini +0000a3bc g F .text 000000e0 uip_arp_arpin +0000815c g F .text 00000028 TimeInit +00008fdc g F .text 00000060 EthernetMACAddrSet +0000a35c g F .text 00000060 uip_arp_timer +20000138 g O .bss 00000002 uip_listenports +2000013c g O .bss 00000004 uip_draddr +20000000 g .data 00000000 _data +000091b4 g F .text 00000044 EthernetPHYRead +000084d0 g F .text 0000004c LedToggle +20000b8c g .bss 00000000 _estack +00008f84 g F .text 00000058 EthernetConfigSet +20000008 g .data 00000000 _edata +00009748 g F .text 0000000a htons +00008000 g O .text 000000f4 _vectab +00009548 g F .text 00000068 FlashUserGet +000094e0 g F .text 00000034 GPIOPinTypeUART +000094ac g F .text 00000034 GPIOPinTypeGPIOOutput +00009120 g F .text 00000038 EthernetIntDisable +00008410 g F .text 00000008 BootComCheckActivationRequest +00009180 g F .text 00000034 EthernetIntClear +00008184 g F .text 0000000c TimeGet +000096b8 g F .text 0000005c uip_init +000092d4 g F .text 00000060 GPIODirModeSet +2000078c g .bss 00000000 _stack +20000140 g O .bss 00000004 uip_netmask +000095b0 g F .text 00000010 SysTickEnable +20000144 g O .bss 00000004 uip_hostaddr +0000820c g F .text 00000030 NetApp +00000000 w *UND* 00000000 _Jv_RegisterClasses +000095c0 g F .text 00000010 SysTickIntEnable +00008d38 g F .text 000000e8 UARTConfigSetExpClk +000081a0 g F .text 0000006c NetInit +0000893c g F .text 00000164 SysCtlClockSet +00009334 g F .text 00000154 GPIOPadConfigSet +00000000 w *UND* 00000000 __register_frame_info +20000148 g O .bss 00000642 uip_buf +2000078a g O .bss 00000002 uip_slen +00008cd0 g F .text 00000030 UARTEnable + + diff --git a/Target/Demo/ARMCM3_LM3S_EK_LM3S6965_GCC/Prog/bin/demoprog_ek_lm3s6965.srec b/Target/Demo/ARMCM3_LM3S_EK_LM3S6965_GCC/Prog/bin/demoprog_ek_lm3s6965.srec index 8de48112..8d6081af 100644 --- a/Target/Demo/ARMCM3_LM3S_EK_LM3S6965_GCC/Prog/bin/demoprog_ek_lm3s6965.srec +++ b/Target/Demo/ARMCM3_LM3S_EK_LM3S6965_GCC/Prog/bin/demoprog_ek_lm3s6965.srec @@ -1,802 +1,630 @@ S020000062696E2F64656D6F70726F675F656B5F6C6D3373363936352E7372656358 -S113800070080020598200006D8600006D86000013 -S11380106D8600006D8600006D8600006D86000090 -S11380206D8600006D8600006D8600006D86000080 -S11380306D8600006D8600006D8600005D86000080 -S11380406D8600006D8600006D8600006D86000060 -S11380506D8600006D8600006D8600006D86000050 -S11380606D8600006D8600006D8600006D86000040 -S11380706D8600006D8600006D8600006D86000030 -S11380806D8600006D8600006D8600006D86000020 -S11380906D8600006D8600006D8600006D86000010 -S11380A06D8600006D8600006D8600006D86000000 -S11380B06D8600006D8600006D8600006D860000F0 -S11380C06D8600006D8600006D8600006D860000E0 -S11380D06D8600006D8600006D8600006D860000D0 -S11380E06D8600006D8600006D8600006D860000C0 -S11380F0EE11AA5510B50120C1F2000049F2B124D5 -S1138100C0F20004A0470120C2F20000A0474FF0D3 -S11381104020032149F25D03C0F20003984749F26D -S1138120D143C0F20003984701464FF44040C4F2E3 -S113813000004FF46142602349F68904C0F2000450 -S1138140A04710BD10B540F24903C2F200031B78EA -S113815053BB4FF44040C4F2000049F6CD13C0F2C3 -S113816000039847B0F1FF3F6DD040F20403C2F220 -S11381700003187010F0FF0F65D048F25163C0F28D -S11381800003984740F20003C2F20003186040F273 -S11381904903C2F2000301221A7040F24803C2F2FA -S11381A0000300221A7010BD40F24803C2F200031B -S11381B01B785C1C4FF44040C4F2000049F6CD1318 -S11381C0C0F200039847B0F1FF3F2FD040F2040300 -S11381D0C2F20003185540F24802C2F200021178BC -S11381E00131C9B211701B788B422CD140F2490382 -S11381F0C2F2000300221A7040F20403C2F2000328 -S11382005B78FF2B1FD140F20403C2F200039B787A -S1138210CBB949F2F923C0F20003984710BD40F2EC -S11382204903C2F2000300221A7010BD48F25163E0 -S1138230C0F20003984740F20003C2F200031B6837 -S113824064339842EBD810BD08B549F2F923C0F263 -S11382500003984708BD00BF10B517498D4640F28A -S11382600002C2F2000240F20003C2F200039A428A -S113827010D2131D0F4CE41A24F003040434002319 -S113828010464BF2FC11C0F200015A581A50043344 -S1138290A342FAD109480A494FF000028842B8BF04 -S11382A040F8042BFADB48F2A153C0F200039847CC -S11382B010BD00BF03000020700800200000002053 -S11382C07007002010B52020C2F2000049F2B1234B -S11382D0C0F2000398474FF4A044C4F202042046BD -S11382E0012149F21103C0F20003984720460121FD -S11382F0002248F6E173C0F20003984710BD00BFA6 -S113830010B548F25163C0F200039847044640F2A6 -S11383104C03C2F200031B68C31AB3F5FA7F2BD3D4 -S113832040F25003C2F200031B7883B940F25003B9 -S1138330C2F2000301221A704FF4A040C4F20200FA -S1138340114648F6E173C0F2000398470FE040F28B -S11383505003C2F2000300221A704FF4A040C4F28A -S11383600200012148F6E173C0F20003984740F28D -S11383704C03C2F200031C6010BD00BF10B548F2EC -S11383807163C0F20003984748F25164C0F20004DC -S1138390A04740F25803C2F2000300F5FA701860D7 -S11383A0A04740F25403C2F2000300F51C50103001 -S11383B0186049F68D33C0F20003984740F2281341 -S11383C0C2F200034FF6A9621A8043F61371598072 -S11383D040F22413C2F200034FF6FF71198000210A -S11383E0598040F22013C2F200031A8040F21312A3 -S11383F05A804EF6030049F6C133C0F20003984791 -S113840048F29563C0F20003984710BD08B540F2E6 -S1138410F003C2F200031B7813F0400F11D113F0E4 -S1138420020F0ED040F2F403C2F200031B681A7963 -S1138430FF2A06D15B7923B948F24923C0F200032D -S1138440984708BD10B548F61D03C0F200039847CD -S1138450002853D040F2E402C2F20002108040F23D -S11384602C13C2F200039C894FF400604AF6B9331E -S1138470C0F20003984784421CD1012049F6F53329 -S1138480C0F20003984740F2E403C2F200031B88E1 -S1138490A3B34AF67563C0F20003984748F6710324 -S11384A0C0F20003984740F2E403C2F20003002242 -S11384B01A8023E040F22C13C2F200039C8940F698 -S11384C006004AF6B933C0F200039847844215D136 -S11384D04AF63553C0F20003984740F2E403C2F26F -S11384E000031B8853B148F67103C0F20003984798 -S11384F040F2E403C2F2000300221A8048F25163FE -S1138500C0F20003984740F25803C2F200031B680C -S113851098422BD340F25802C2F2000203F5FA73D8 -S1138520136040F2F803C2F2000340F2FC02C2F20C -S113853000021A60022049F6F533C0F2000398479E -S113854040F2E403C2F200031B887BB14AF6756370 -S1138550C0F20003984748F67103C0F2000398473D -S113856040F2E403C2F2000300221A8048F251638D -S1138570C0F20003984740F25403C2F200031B68A0 -S113858098420CD340F25402C2F2000203F51C5389 -S1138590103313604AF6DD43C0F20003984710BD60 -S11385A008B54FF46070C0F2C01049F21533C0F240 -S11385B00003984748F2C523C0F20003984748F2E5 -S11385C00963C0F20003984748F27D33C0F2000308 -S11385D0984748F2F503C0F20003984748F2013681 -S11385E0C0F2000648F24545C0F2000548F24514C1 -S11385F0C0F20004B047A847A047FBE740F25C0381 -S1138600C2F200031960FEE708B549F2D143C0F293 -S11386100003984744F6D353C1F26203A3FB00203E -S1138620800949F2B573C0F20003984749F28D738B -S1138630C0F20003984749F2A173C0F200039847BF -S113864040F26003C2F2000300221A6008BD00BFBA -S113865040F26003C2F200031868704740F26003FE -S1138660C2F200031A6801321A607047FEE700BFC5 -S113867010B54FF4A044C2F21004204649F2B123CD -S1138680C0F200039847204649F24923C0F2000390 -S1138690984710BD2DE9F04385B02020C2F20000B8 -S11386A049F2B123C0F2000398474FF4A040C4F24A -S11386B002000C2149F2A903C0F2000398474FF4C9 -S11386C00044C4F2040420467F2148F61943C0F252 -S11386D0000398472046002148F66943C0F200038E -S11386E098470146204648F69D43C0F20003984748 -S11386F049F2D143C0F2000398470146204648F6A8 -S1138700B913C0F2000398472046162148F6F51322 -S1138710C0F200039847204648F6DD23C0F2000368 -S113872098472046012148F6E543C0F200039847E4 -S1138730044648F25163C0F20003984700F59C5781 -S113874008374FF40048C4F204084FF0010948F612 -S1138750E546C0F2000648F25165C0F2000506E0A5 -S113876040464946B0470446A847874202D914F018 -S1138770040FF5D008238DF8083000238DF8093054 -S113878027238DF80A3069238DF80B305B238DF88D -S11387900C3045238DF80D3001A8694648F6315355 -S11387A0C0F200039847019BB3F1FF3F13D0009A36 -S11387B0B2F1FF3F0FD08DF80830190A8DF8091077 -S11387C01B0C8DF80A308DF80B20130A8DF80C3031 -S11387D0120C8DF80D204FF40040C4F2040002A9DD -S11387E048F66523C0F20003984740F27003C2F2D2 -S11387F000039DF808201A709DF809205A709DF80E -S11388000A209A709DF80B20DA709DF80C201A71DA -S11388109DF80D205A7105B0BDE8F08338B54FF4CA -S11388200044C4F204042046002148F66943C0F21F -S11388300003984705462046294648F69D43C0F262 -S11388400003984715F0010F0FD04FF40040C4F215 -S1138850040040F22C11C2F2000140F2426248F6D8 -S11388602533C0F20003984738BD002038BD00BF4F -S113887008B540F2E403C2F200034FF40040C4F22E -S1138880040040F22C11C2F200011A8848F6A13308 -S1138890C0F20003984708BD2DE9F001844600F1B9 -S11388A0100403691FFA83F8180C08701B0E4B7030 -S11388B0A8F106009042B4BF074617463E1F012E9A -S11388C006DD02232568CD500433B342FADD00E00F -S11388D002239F421DDDDCF81050FE1E9E4209D18A -S11388E08D5539442B0A01F8023C2D0C01F8015C2A -S11388F07B1C0EE0BE1E9E4206D18D5539442D0AC6 -S113890001F8015CBB1C04E07E1E9E4204BF8D5531 -S1138910FB1CA8F102018B4203DA256804338B4265 -S1138920FBDB9042C8BF4042BDE8F001704700BF86 -S113893070B440F2FE739A42C8BF504239DCA2F1CF -S11389400E030C7843EA04434C7843EA046300F1D1 -S113895010060361151F012D06DD0223CC58346077 -S11389600433AB42FADD00E0022393421ED0D41E4E -S11389709C420BD10C5D114411F8025C11F8013CCE -S11389801B0443EA0523234303610FE0941E9C4226 -S113899007D10B5D114411F8011C43EA0123036163 -S11389A004E0541E9C4204BF0B5D036101238363F6 -S11389B0104670BC704700BF38B504460D464FF4EE -S11389C00042C4F20402904209D04BF2EC00C0F21F -S11389D000004E2148F2FD52C0F2000290474CF6CE -S11389E06B23C6F65F33A3FB0523C3F347536362CC -S11389F038BD00BF38B504460D464FF40043C4F2F9 -S1138A000403984209D04BF2EC00C0F20000952117 -S1138A1048F2FD53C0F20003984725F4873333F03E -S1138A20160209D04BF2EC00C0F20000992148F282 -S1138A30FD53C0F200039847E36823F01603EAB23B -S1138A401343E360A36823F00E03C5F30722134323 -S1138A50A360E36B23F00103C5F307451D43E563FE -S1138A6038BD00BF30B583B005460C464FF4004313 -S1138A70C4F2040398420AD04BF2EC00C0F20000A6 -S1138A804FF4817148F2FD53C0F20003984754B982 -S1138A904BF2EC00C0F2000040F2031148F2FD5327 -S1138AA0C0F20003984723788DF8043063788DF87A -S1138AB00530A3788DF80630E3788DF80730019BF4 -S1138AC06B610023019323798DF8043063798DF869 -S1138AD00530019BAB6103B030BD00BF10B5044647 -S1138AE04FF40043C4F2040398420AD04BF2EC0062 -S1138AF0C0F200004FF4AC7148F2FD53C0F2000321 -S1138B009847A36843F01003A360A36843F00103EC -S1138B10A360E36843F00103E360A36843F0100338 -S1138B20A36010BD70B504460E4615464FF40043CD -S1138B30C4F2040398420AD04BF2EC00C0F20000E5 -S1138B4040F27F2148F2FD53C0F20003984756B922 -S1138B504BF2EC00C0F200004FF4207148F2FD53D8 -S1138B60C0F200039847002D0ADC4BF2EC00C0F27F -S1138B70000040F2812148F2FD53C0F200039847FF -S1138B80636B13F03F0F08D0204631462A4648F65F -S1138B909903C0F20003984770BD002070BD00BF68 -S1138BA070B504460E4615464FF40043C4F2040360 -S1138BB098420AD04BF2EC00C0F2000040F28E3131 -S1138BC048F2FD53C0F20003984756B94BF2EC004B -S1138BD0C0F2000040F28F3148F2FD53C0F20003AE -S1138BE09847002D0ADC4BF2EC00C0F200004FF471 -S1138BF0647148F2FD53C0F200039847A36B13F06D -S1138C00010FFBD1204631462A4648F63113C0F203 -S1138C100003984770BD00BF38B504460D464FF4B5 -S1138C200043C4F2040398420AD04BF2EC00C0F2B1 -S1138C30000040F2354148F2FD53C0F2000398476A -S1138C4035F07F030AD04BF2EC00C0F200004FF481 -S1138C50876148F2FD53C0F200039847636823EA32 -S1138C600505656038BD00BF38B504460D464FF4B0 -S1138C700043C4F2040398420AD04BF2EC00C0F261 -S1138C8000004FF48B6148F2FD53C0F20003984793 -S1138C9020680DB16368184038BD00BF38B504467C -S1138CA00D464FF40043C4F2040398420AD04BF239 -S1138CB0EC00C0F2000040F28D4148F2FD53C0F2D6 -S1138CC00003984735F07F030AD04BF2EC00C0F262 -S1138CD000004FF4926148F2FD53C0F2000398473C -S1138CE0256038BD38B504460D464FF40043C4F240 -S1138CF0040398420AD04BF2EC00C0F2000040F2A8 -S1138D00DC4148F2FD53C0F20003984704F120030C -S1138D10226A12F0010FF9D1ED00EDB245F0010520 -S1138D201D601A6812F0010FFBD1206B80B238BDB0 -S1138D3038B50C46054650B94BF20810C0F2000095 -S1138D4040F26B2148F2FD53C0F20003984754B936 -S1138D504BF20810C0F200004FF41B7148F2FD53AF -S1138D60C0F2000398474FF46043C4F20F031B683A -S1138D7013F0E04F19D04FF46043C4F20F031A68A4 -S1138D800023C7F2FF031340B3F1805F10D04EF20B -S1138D90E013C4F20F031B682B604EF2E413C4F219 -S1138DA00F031B682360002038BD4FF0FF3038BD2F -S1138DB04FF0FF3038BD00BF20F480534FF4004221 -S1138DC0C4F20502934218BFB3F1402F31D04FF4DF -S1138DD0C041C4F200014FF42042C4F205029342A0 -S1138DE018BF8B4227D04FF48041C4F202014FF4E4 -S1138DF04042C4F20502934218BF8B421DD04FF487 -S1138E00C041C4F202014FF46042C4F2050293422D -S1138E1018BF8B4213D04FF45042C4F20302002314 -S1138E20C4F20603984218BF904214BF00200120E8 -S1138E3070470120704701207047012070470120CE -S1138E40704700BF70B504460E46154648F6B95340 -S1138E50C0F20003984748B94BF22010C0F200005A -S1138E60E42148F2FD53C0F200039847022D09D9CA -S1138E704BF22010C0F20000E62148F2FD53C0F28C -S1138E800003984715F0010F04F58063D4F800241B -S1138E9014BF3243B2431A6015F0020F04F5846321 -S1138EA0D4F8202414BF164322EA06061E6070BDBF -S1138EB0F8B504460D4617461E4648F6B953C0F2A7 -S1138EC00003984750B94BF22010C0F200004FF451 -S1138ED0DD7148F2FD53C0F20003984727F0080201 -S1138EE07B1E042A18BF012B0AD94BF22010C0F2B2 -S1138EF000004FF4DF7148F2FD53C0F200039847BD -S1138F00A6F10803052B0BD956B14BF22010C0F281 -S1138F10000040F2C51148F2FD53C0F20003984727 -S1138F2017F0010F04F5A063D4F8002514BF2A43F9 -S1138F30AA431A6017F0020F04F20453D4F804256C -S1138F4014BF2A43AA431A6017F0040F04F5A1635F -S1138F50D4F8082514BF2A43AA431A6017F0080F4F -S1138F6004F5A363D4F8182514BF2A43AA431A604E -S1138F7016F0010F04F20C53D4F80C2514BF2A4345 -S1138F80AA431A6016F0020F04F5A263D4F8102560 -S1138F9014BF2A43AA431A6016F0040F04F21453B0 -S1138FA0D4F8142514BF2A43AA431A6016F0080FF4 -S1138FB004F21C53D4F81C2514BF2A43AA431A6094 -S1138FC02EB904F5A563D4F82825154305E004F566 -S1138FD0A563D4F8282522EA05051D60F8BD00BF65 -S1138FE070B504460D46164648F6B953C0F2000360 -S1138FF0984750B94BF22010C0F200004FF4517161 -S113900048F2FD53C0F20003984744F8256070BD50 -S113901038B505460C4648F6B953C0F200039847E4 -S113902050B94BF22010C0F2000040F2044148F263 -S1139030FD53C0F20003984728462146012248F612 -S11390404563C0F2000398472846214601220823BD -S113905048F6B164C0F20004A04738BD38B50546EF -S11390600C4648F6B953C0F20003984750B94BF286 -S11390702010C0F2000040F21F5148F2FD53C0F22C -S11390800003984728462146022248F64563C0F269 -S113909000039847284621460122082348F6B16474 -S11390A0C0F20004A04738BD38B505460C4648F662 -S11390B0B953C0F20003984750B94BF22010C0F2E4 -S11390C0000040F2C65148F2FD53C0F20003984735 -S11390D028462146022248F64563C0F20003984719 -S11390E0284621460422082348F6B164C0F200044D -S11390F0A04738BD30B420F08053A3F58012013A64 -S11391004FF48071C0F210018B4218BF012A98BF3E -S1139110012040F297804FF40071C0F210014FF427 -S11391208062C0F21002934218BF8B4208BF012034 -S113913000F088804FF4A041C2F2100100F16042B7 -S1139140013A884218BF012A98BF01207AD9042223 -S1139150C2F20002904208BF012073D01022C2F272 -S11391600002904208BF01206CD02022C2F200020B -S1139170904208BF012065D020F480148021C2F2FF -S113918000014FF48072C2F20002944218BF8B4275 -S113919008BF012056D020F00052B0F1102F18BFA4 -S11391A0402A08BF01204DD04FF48041C1F2000194 -S11391B08C4208BF012045D0B0F1101F08BF012028 -S11391C040D04FF48075C1F200054FF40071C1F234 -S11391D00001884218BFA84208BF012032D01025E0 -S11391E0C1F200052021C1F200018A4218BFAA423F -S11391F008BF012026D00821C1F2100188421CD0EA -S113920000F170410139012917D90421C1F200018B -S11392108C4214D0B0F1202F13D00121C2F21001DE -S113922088420ED04FF48050C0F21000834218BF21 -S1139230082A14BF0020012004E0012002E00120DC -S113924000E0012030BC704710B582B0044649F2FA -S1139250F503C0F20003984750B94BF29410C0F2E2 -S1139260000040F2B91148F2FD53C0F200039847E0 -S11392704BF2B813C0F20003220F53F822201368F4 -S1139280A1B2C4F3044401FA04F423431360002399 -S11392900193019B0F2B05D8019B01330193019B83 -S11392A00F2BF9D9136823EA0404146002B010BD2B -S11392B010B5044649F2F503C0F20003984750B9CB -S11392C04BF29410C0F200004FF4FC7148F2FD53CD -S11392D0C0F2000398474BF2AC13C0F20003220F14 -S11392E053F822301A68A1B2C4F3044401FA04F416 -S11392F014431C6010BD00BF4EF60C53CEF20003A5 -S11393000422C0F2FA521A60FEE700BF01387FF46B -S1139310FDAF704770B504464FF46043C4F20F03C9 -S11393201B6813F0E04F0BD04FF46043C4F20F03FB -S11393301A680023C7F2FF031340B3F1805F02D120 -S1139340002CC0F2C3804EF26002C4F20F02116816 -S11393504EF27003C4F20F031E6821F4800545F435 -S1139360006546F400601560186011F0020F02D029 -S113937014F0020F05D011F0010F24D014F0010FE6 -S113938021D164F003031D404EF26003C4F20F03C5 -S11393901D60002804DA06F03003302B04D00BE003 -S11393A005F03003302B07D14FF4805049F20D33D0 -S11393B0C0F20003984706E04FF4002049F20D3351 -S11393C0C0F20003984725F45F5525F0300543F2B9 -S11393D0F07323401D434DF68F73C7F6FF7333407C -S11393E043F4006242F23003C8F200032340134303 -S11393F004F008024EF25801C4F20F014020086044 -S113940053EAC2060AD54EF27003C4F20F031E607B -S11394104EF26003C4F20F031D6009E04EF26003D4 -S1139420C4F20F031D604EF27003C4F20F031E60FA -S1139430102049F20D32C0F20002904725F0F86086 -S113944020F003000323C0F2C0732340184326F026 -S1139450FC5604F0FC510E4314F0804F1FBF40F43F -S1139460800026F480050023C4F240031ABF234081 -S11394701D4326F0804514F4006F17D14EF25003BB -S1139480C4F20F031B6813F0400F0BD147F6FF73B0 -S11394904EF25001C4F20F010A6812F0400F01D1DC -S11394A0013BF9D120F4006025F400654EF260031D -S11394B0C4F20F0318604EF27003C4F20F031D6070 -S11394C0102049F20D33C0F20003984770BD00BF6D -S11394D030B44EF26003C4F20F0319684EF2700305 -S11394E0C4F20F031A68002AB4BF02F0700301F03B -S11394F03003202B71D003D87BB1102B16D037E169 -S1139500602B00F0C180702B00F0BB80302B08BFB3 -S113951003F5EA4300F0CF802AE14BF23813C0F29E -S11395200003C1F3841053F82030C4E04FF46043C7 -S1139530C4F20F031B6813F0E04F04BF4EF2C013D4 -S1139540C0F2E40300F0B7804FF46043C4F20F03A9 -S113955018680023C7F2FF030340B3F1805F00F0F3 -S113956096804FF46043C4F20F0318680023C7F2D7 -S1139570FF0303400020C1F20100834208D14FF4ED -S11395806043C4F20F031B689BB2022B00F084807B -S11395904FF46043C4F20F0318680023C7F2FF03BB -S11395A003400020C1F2030083421CBF4FF4105358 -S11395B0C0F2F4037FD14FF46043C4F20F031C687C -S11395C0A4B24FF4D853C0F2B7034FF41050C0F212 -S11395D0F400002C18BF03466DE04FF46043C4F25E -S11395E00F031B6813F0E04F04BF43F67003C0F28F -S11395F0390360D04FF46043C4F20F0318680023AA -S1139600C7F2FF030340B3F1805F4AD04FF46043D5 -S1139610C4F20F0318680023C7F2FF0303400020BD -S1139620C1F20100834207D14FF46043C4F20F0337 -S11396301B689BB2022B39D04FF46043C4F20F0372 -S113964018680023C7F2FF0303400020C1F203009F -S113965083421CBF4FF41063C0F23D032BD14FF47F -S11396606043C4F20F031C68A4B24CF2C063C0F29E -S11396702D034FF41060C0F23D00002C18BF0346C8 -S113968019E04FF4004316E04FF4800313E04EF268 -S1139690C013C0F2E4030EE04FF4D853C0F2B70392 -S11396A009E043F67003C0F2390304E04CF2C063EE -S11396B0C0F22D03FFE7002A03DA12F4006F03D08F -S11396C058E011F4006F5AD14EF26400C4F20F0056 -S11396D000684FF46044C4F20F04246814F0E04FAF -S11396E00BD04FF46044C4F20F0425680024C7F281 -S11396F0FF042C40B4F1805F0AD1C0F34814023453 -S113970004FB03F300F01F040234B3FBF4F309E099 -S1139710C0F3481404FB03F300F01F040134640095 -S1139720B3FBF4F310F4804F18BF5B0810F4004F40 -S113973018BF9B08002AA8BF41F4800112DA12F076 -S1139740804F09D012F4006F06D15B00C2F3865239 -S11397500132B3FBF2F016E0C2F3C5500130B3FBA3 -S1139760F0F010E0C1F3C3500130B3FBF0F00AE0B5 -S1139770002008E011F4800FE1D1184603E011F451 -S1139780800FEFD1184630BC704700BF4EF2100373 -S1139790CEF200031A6842F005021A60704700BF57 -S11397A04EF21003CEF200031A6842F002021A606D -S11397B0704700BF10B5441EB4F1807F09D34BF24B -S11397C0C410C0F20000D02148F2FD53C0F20003DF -S11397D098474EF21403CEF200031C6010BD00BF84 -S11397E020F480524FF44043C4F200039A4208D05C -S11397F04FF46043C4F20003984214BF00200120D8 -S113980070470120704700BF10B5044649F2E17368 -S1139810C0F20003984750B94BF2DC10C0F20000CC -S11398204FF4CF7148F2FD53C0F200039847E36A46 -S113983043F01003E362236B43F4407343F00103EA -S1139840236310BD10B5044649F2E173C0F200036E -S1139850984750B94BF2DC10C0F200004FF4DF71AE -S113986048F2FD53C0F200039847A36913F0080FB0 -S1139870FBD1E36A23F01003E362236B23F4407308 -S113988023F00103236310BDF8B504460E461546C4 -S11398901F4649F2E172C0F20002904750B94BF200 -S11398A0DC10C0F2000040F20D1148F2FD53C0F28A -S11398B00003984755B94BF2DC10C0F200004FF496 -S11398C0877148F2FD53C0F2000398474FF4604299 -S11398D0C4F20F02136813F0E04F08BF102340D006 -S11398E04FF46043C4F20F031A680023C7F2FF0366 -S11398F01340B3F1805F08BF102332D04FF46043AC -S1139900C4F20F031A680023C7F2FF0313400022B6 -S1139910C1F20102934209D14FF46043C4F20F0330 -S11399201B689BB2022B08BF10231AD04FF460436C -S1139930C4F20F031A680023C7F2FF031340002286 -S1139940C1F20302934218BF08230AD14FF46043C3 -S1139950C4F20F031B689BB2002B0CBF1023082317 -S1139960FFE705FB03F3B3420AD94BF2DC10C0F264 -S1139970000040F20F1148F2FD53C0F20003984773 -S1139980204649F64502C0F200029047B6EB051F97 -S1139990236B3DBF43F0200323636D0823F02003B2 -S11399A028BF2363F600B6FBF5F50135EB096362C6 -S11399B0C5F34505A562E7620023A361204649F685 -S11399C00903C0F200039847F8BD00BF10B5044670 -S11399D049F2E173C0F20003984750B94BF2DC102E -S11399E0C0F2000040F2094148F2FD53C0F2000306 -S11399F09847A36913F0100F0CBF20684FF0FF3095 -S1139A0010BD00BF30B4013A8D18A94214D20B46E0 -S1139A101C785A7802EB042292B2104480B282423B -S1139A2084BF013080B202339D42F1D8CB432B4432 -S1139A3023F0010302331944A94207D10B781B0216 -S1139A40184480B2834284BF013080B230BC704776 -S1139A5070B540F22C14C2F20004667C143E237CE0 -S1139A6006EB0326B6B2304480B204F11A01082290 -S1139A7049F60525C0F20005A84704F12201324643 -S1139A80A847034620B1000A40EA032080B270BD13 -S1139A904FF6FF7070BD00BF70B4C4780C44E4B2DC -S1139AA040F2EC03C2F20003DC700D0A82782A440F -S1139AB0D2B29A7046785E700078187095420DD9CB -S1139AC00136F6B240F2EC03C2F200035E702EB926 -S1139AD040F2EC03C2F2000301301870C9B28C42A8 -S1139AE017DA0132D2B240F2EC03C2F200039A70E8 -S1139AF07AB940F2EC03C2F200035A780132D2B2CE -S1139B005A7032B940F2EC03C2F200031A780132FF -S1139B101A7070BC704700BF10B5014640F2F804DB -S1139B20C2F200042068083049F69923C0F2000309 -S1139B309847226840F2EC03C2F2000319781172CC -S1139B405978517299789172DB78D37210BD00BF45 -S1139B5008B500200849142249F60523C0F2000381 -S1139B609847034620B1000A40EA032080B208BDAA -S1139B704FF6FF7008BD00BF3A01002008B506206B -S1139B8049F65123C0F20003984708BD40F21C1364 -S1139B90C2F2000300221A8040F2FC03C2F2000366 -S1139BA05A7640F27803C2F2000301221A7040F29E -S1139BB06C03C2F200034FF480621A80704700BF46 -S1139BC040F27803C2F2000300221A7040F21C1320 -S1139BD0C2F200031B882BB940F21C13C2F200032B -S1139BE01880704740F27803C2F2000301221A7011 -S1139BF0704700BF38B540F2F803C2F200031C6896 -S1139C0040F2F403C2F20003AD4A1A6040F2E803E2 -S1139C10C2F200031A60032816D1637E03F00F0317 -S1139C20032B40F0AE87238A002B40F0AA8740F232 -S1139C30F003C2F2000308221A7048F20D43C0F286 -S1139C400003984700F0CCBD022840F0A78040F202 -S1139C506803C2F20003DA780132D2B2DA70C2B910 -S1139C6040F26803C2F200039A780132D2B29A70C9 -S1139C707AB940F26803C2F200035A780132D2B2D0 -S1139C805A7032B940F26803C2F200031A78013202 -S1139C901A7040F2E403C2F2000300221A8040F278 -S1139CA06E73C2F200031A80637E03F0FD02052A7C -S1139CB009D1A37E0133DBB2A376782B04BF002342 -S1139CC0637600F05EBF002B00F05B87228A002AD7 -S1139CD052D0A27E511EA176002A40F05287E27E25 -S1139CE0082A05D0591EC9B2012917D8052A15D149 -S1139CF00023637640F2F003C2F2000380221A705C -S1139D0048F20D43C0F20003984740F22C13C2F20C -S1139D100003142283F82F2000F0AABE042A9DBF5A -S1139D2003219140C9B23021A1760132E27603F0D9 -S1139D300F03013B072B00F22487DFE813F06D02C9 -S1139D4008001000D8042207D8042207D80440F2DF -S1139D502C13C2F20003002283F82F2063E240F2A6 -S1139D60F003C2F2000304221A7048F20D43C0F259 -S1139D700003984700F085BD03F00F03032B40F068 -S1139D80008740F2F003C2F2000308221A7048F27E -S1139D900D43C0F20003984700F022BD40F22C139B -S1139DA0C2F200039B7B452B40F0EB8640F22C1360 -S1139DB0C2F20003197C5A7C02EB012040F2E40356 -S1139DC0C2F200031B88984200F3DB8684B240F29F -S1139DD0E403C2F200031C8040F22C13C2F200031D -S1139DE01B7D13F03F0F40F0CC8640F22C13C2F2DF -S1139DF000035B7D002B40F0C48640F22813C2F2BE -S1139E0000031D882DB940F22813C2F200035B88B9 -S1139E10A3B140F22C13C2F20003DB8BAB4240F03F -S1139E20B08640F22C12C2F2000240F22813C2F2B1 -S1139E300003128C5B889A4240F0A38649F65133A2 -S1139E40C0F2000398474FF6FF73984240F099869A -S1139E5040F22C13C2F20003DB7D062B32D0012B1F -S1139E6040F08F8640F22C13C2F2000393F82230A4 -S1139E70082B40F0868640F22C13C2F20003002225 -S1139E8083F822209A8C4FF6F6739A4240F22C13F0 -S1139E90C2F200038CBF093208329A8440F22C13B8 -S1139EA0C2F200035A8BDA839A8B1A845D8340F2E0 -S1139EB02812C2F2000252889A8300F05BBE00BFEF -S1139EC06201002049F67D33C0F2000398474FF643 -S1139ED0FF73984240F0558640F2FC03C2F200033F -S1139EE0597E81B340F22C12C2F2000240F2FC030C -S1139EF0C2F20003928C9B889A4224D140F22C1225 -S1139F00C2F2000240F2FC03C2F20003528CDB886E -S1139F109A4218D140F22C12C2F2000240F2FC0321 -S1139F20C2F20003528B1B889A420CD140F22C12CD -S1139F30C2F2000240F2FC03C2F20003928B5B887F -S1139F409A4200F0918140F22C13C2F2000393F87C -S1139F502F3003F03F03022B1CD140F22C13C2F22A -S1139F6000039A8C40F26403C2F200031A8040F2A8 -S1139F707803C2F200030021197040F21C13C2F2EC -S1139F8000031B8893427BD040F27803C2F20003A3 -S1139F9001221A7040F22C13C2F2000393F82F30FE -S1139FA013F0040F40F0ED8540F22C13C2F20003CD -S1139FB0142283F82F2040F2E402C2F20002282186 -S1139FC01180502283F82E2093F8295093F82D20E5 -S1139FD083F8292093F8284093F82C2083F828202C -S1139FE083F82C4093F8270093F82B2083F827203C -S1139FF083F82B0093F8262040F27801C2F2000186 -S113A0000A7093F82A1083F8261083F82A20691C12 -S113A010C9B283F82D10C1B9611CC9B240F22C1326 -S113A020C2F2000383F82C1079B9411CC9B240F282 -S113A0302C13C2F2000383F82B1031B940F22C1315 -S113A040C2F20003013283F82A2040F22C13C2F238 -S113A0500003598C40F26402C2F2000211809A8C0F -S113A0605A8499845A8BDA839A8B1A8440F2281280 -S113A070C2F200021188598352889A8300F047BDC6 -S113A08040F2FC03C2F200035B7E23B1072B40F0D5 -S113A0908C8500F082BD40F2F801C2F2000140F26A -S113A0A0FC03C2F200030B600321997619760021A8 -S113A0B099750420D875D9769A8040F22C14C2F28E -S113A0C00004628CDA80628B1A80A28B5A80012091 -S113A0D0587640F26802C2F200021178197351787E -S113A0E0597391789973D278DA73188294F8292085 -S113A0F0DA7294F828209A7294F827205A7294F805 -S113A10026201A7249F61933C0F20003984794F8CE -S113A1102E3003F0F002502A7ADD1B095C1FA400E4 -S113A12040F27903C2F200031A78002340F22C11A2 -S113A130C2F200015AE0CA1892F8362072B940F20D -S113A1407801C2F200010B7040F27903C2F20003FD -S113A1501A7040F2FC04C2F200045DE0012A02D14C -S113A1600133DBB242E0022A2BD10D1895F83750A7 -S113A170042D26D140F27802C2F20002137040F29C -S113A1807903C2F2000302221A7040F22C13C2F2C5 -S113A1900003034493F8382093F8393043EA022249 -S113A1A040F26403C2F200031A8040F20A639A4246 -S113A1B038BF134640F2FC04C2F200046382A38257 -S113A1C02AE0084490F8370070B940F27801C2F2EE -S113A1D000010B7040F27903C2F200031A7040F2DE -S113A1E0FC04C2F2000417E00344DBB21846A342A5 -S113A1F0A1DB40F27801C2F200010B7040F2790356 -S113A200C2F200031A7040F2FC04C2F2000403E03C -S113A21040F2FC04C2F2000440F22C13C2F2000328 -S113A220102283F82F2040F22C13C2F2000393F87B -S113A2302F2042F0020283F82F20022283F83620D6 -S113A240042283F83720062283F838200A2283F870 -S113A250392040F2E402C2F200022C211180602273 -S113A26083F82E2000F011BC40F2F803C2F2000380 -S113A27040F2FC02C2F200021A6040F2F003C2F2A1 -S113A280000300221A7040F22C13C2F2000393F868 -S113A2902F3013F0040F11D040F2FC03C2F200037C -S113A2A05A7640F2F003C2F2000320221A7048F2F8 -S113A2B00D43C0F20003984700F063BC40F22C1237 -S113A2C0C2F2000292F82E000009800040F27802E7 -S113A2D0C2F200021070143C201A80B240F2E40270 -S113A2E0C2F20002108001F00F01022903D103F031 -S113A2F03F02122A1DD010B913F0030F19D040F2F7 -S113A3002C11C2F2000140F2FC02C2F20002C98C1C -S113A3101289914240F0A18340F22C11C2F2000153 -S113A32040F2FC02C2F20002098D5289914240F0CF -S113A330948313F0100F7AD040F2FC03C2F20003AE -S113A340198A002973D003F10C0049F69923C0F24D -S113A3500003984740F22C13C2F2000393F82A40FA -S113A36040F2EC03C2F200031B78A3425FD140F237 -S113A3702C13C2F2000393F82B0040F2EC03C2F258 -S113A38000035B78834252D140F22C13C2F20003E3 -S113A39093F82C1040F2EC03C2F200039B788B423A -S113A3A045D140F22C13C2F2000393F82D2040F261 -S113A3B0EC03C2F20003DB78934238D140F2FC0391 -S113A3C0C2F200031C7358739973DA73DB7E03BB08 -S113A3D040F2FC03C2F20003987D197E9A7E891A2A -S113A3E0A1EBD001C9B2CAB20844C0B2987512F048 -S113A3F0800F1CBF4A42D2B240F2FC03C2F20003F7 -S113A400D97DA1EB91010A44D2B2DA7502EBD002F4 -S113A4101A7640F2F003C2F2000301221A7040F2ED -S113A420FC03C2F200031A7E9A7600221A8240F2DA -S113A430FC03C2F200035A7E02F00F03013B072B18 -S113A44000F29F83DFE813F00800400013016F025D -S113A450C202F7020903540240F2F003C2F20003FD -S113A4601B7813F0010F00F08C8340F2FC03C2F25E -S113A470000303225A7640F2F002C2F200024021A5 -S113A480117000221A8240F2E403C2F20003188819 -S113A49050B140F2F003C2F2000342221A7049F6AE -S113A4A01933C0F20003984740F26E73C2F20003FE -S113A4B000221A8048F20D43C0F20003984740F28C -S113A4C0FC04C2F200048BE140F2F003C2F2000388 -S113A4D01B7813F0010F00F0B78040F22C13C2F286 -S113A4E0000393F82F3003F03F03122B40F0AC80AD -S113A4F040F22C13C2F2000393F82E3003F0F00262 -S113A500502A6DDD1B095C1FA40040F27903C2F2DE -S113A51000031A78002340F22C11C2F2000152E029 -S113A520CA1892F8362052B940F27801C2F20001FA -S113A5300B7040F27903C2F200031A7050E0012A52 -S113A54002D10133DBB23EE0022A2BD10D1895F87B -S113A5503750042D26D140F27802C2F20002137063 -S113A56040F27903C2F2000302221A7040F22C1363 -S113A570C2F20003034493F8382093F8393043EAD5 -S113A580022240F26403C2F200031A8040F20A631A -S113A5909A4228BF1A4640F2FC03C2F200035A82D0 -S113A5A09A821DE0084490F8370050B940F27801CF -S113A5B0C2F200010B7040F27903C2F200031A7078 -S113A5C00EE00344DBB21846A342A9DB40F2780153 -S113A5D0C2F200010B7040F27903C2F200031A7058 -S113A5E040F2FC04C2F200040323637640F22C130D -S113A5F0C2F2000393F82620227293F82720627295 -S113A60093F82820A27293F82930E372012049F6C6 -S113A6101933C0F20003984740F2F003C2F200037A -S113A62042221A700022228240F2E403C2F20003A2 -S113A6301A8040F26E73C2F200031A8048F20D438E -S113A640C0F200039847CBE040F2F003C2F20003EB -S113A65020221A7048F20D43C0F20003984740F2DA -S113A660F803C2F200031B6800225A7692E440F217 -S113A6702C13C2F2000393F82F3013F0010F3ED0D5 -S113A68012F0100F3BD140F2FC03C2F200031B8A0C -S113A690002B40F0768240F2E404C2F200042088E9 -S113A6A0013080B249F61933C0F20003984740F2F2 -S113A6B0F003C2F200031A7842F0100119702388E3 -S113A6C033B140F2F003C2F2000342F012021A70F6 -S113A6D048F20D43C0F20003984740F2FC04C2F272 -S113A6E0000401232382082363760023E37640F2E7 -S113A6F02C13C2F20003112283F82F20B8E113F0C7 -S113A700200F18D040F22C13C2F2000393F8340047 -S113A710000293F8351040F2F403C2F2000340EA59 -S113A72001051C682C441C6040F2E403C2F20003DF -S113A7301888411B198040F2E403C2F20003188810 -S113A74078B112F0100F0CD140F2F003C2F2000302 -S113A7501A7842F002021A7049F61933C0F2000363 -S113A760984740F22C13C2F2000393F8302093F878 -S113A770313003EB02239BB240F26402C2F20002C6 -S113A780138040F2FC02C2F20002928A934200D883 -S113A79023B940F26403C2F200031A8040F2FC03BE -S113A7A0C2F2000340F26402C2F2000212885A822A -S113A7B040F2F003C2F200031B7813F0030F00F021 -S113A7C0E08140F26E73C2F2000300221A8048F264 -S113A7D00D43C0F20003984740F2FC04C2F20004A7 -S113A7E040F2F003C2F200031B7813F0200F0ED0E6 -S113A7F040F26E73C2F2000300221A80627640F2C5 -S113A8002C13C2F20003142283F82F2030E113F03A -S113A810100F12D040F26E73C2F2000300221A80AD -S113A8200123238204236376E27640F22C13C2F2DE -S113A8300003112283F82F201AE140F26E72C2F253 -S113A84000021288DAB113F0010F1CBF0023238227 -S113A85001D1218A71B9618A8A4282BF40F26E7342 -S113A860C2F20003198040F26E73C2F200031B8827 -S113A870238204E040F26E73C2F2000319800023C5 -S113A880E37640F2F403C2F2000340F2E802C2F2BB -S113A890000212681A6040F26E73C2F200031B8851 -S113A8A07BB1238A6BB140F2E402C2F20002283386 -S113A8B0138040F22C13C2F20003182283F82F20D5 -S113A8C0DCE040F2F003C2F200031B7813F0020F45 -S113A8D000F0578140F2E403C2F2000328221A80F8 -S113A8E040F22C13C2F20003102283F82F20C5E09B -S113A8F040F2F003C2F200031B7813F0010F00F0E2 -S113A900408140F2FC03C2F2000300225A7640F276 -S113A910F003C2F2000310221A7048F20D43C0F291 -S113A920000398472DE140F2E403C2F200031888C3 -S113A93020B149F61933C0F20003984740F22C13B2 -S113A940C2F2000393F82F3013F0010F25D040F228 -S113A950F003C2F200031B7813F0010F40F2FC0372 -S113A960C2F200031FBF07225A7600229A7612BF52 -S113A9701A8206225A76012049F61933C0F20003DE -S113A980984740F2F003C2F2000310221A7048F212 -S113A9900D43C0F2000398475FE040F2F003C2F2B7 -S113A9A000031B7813F0010F08D040F2FC03C2F23D -S113A9B0000305225A7600221A82E2E040F2E40300 -S113A9C0C2F200031B88002B47D1DAE040F2E40313 -S113A9D0C2F20003188820B149F61933C0F200030B -S113A9E0984740F22C13C2F2000393F82F3013F06F -S113A9F0010F19D040F2FC03C2F2000307225A7679 -S113AA0000229A76012049F61933C0F200039847D0 -S113AA1040F2F003C2F2000310221A7048F20D4310 -S113AA20C0F20003984718E040F2E403C2F20003C6 -S113AA301B8893B9A5E040F2F003C2F200031B782F -S113AA4013F0010F00F09D8040F2FC03C2F20003FA -S113AA5007225A7600229A7693E040F22C13C2F22F -S113AA600003102283F82F2040F2FC04C2F20004F9 -S113AA7040F2E403C2F2000328221A8040F22C13AD -S113AA80C2F20003502283F82E20227A40F22C13C3 -S113AA90C2F2000383F82A20627A83F82B20A27A78 -S113AAA083F82C20E27A83F82D20227B83F8262059 -S113AAB0627B83F82720A27B83F82820E27B83F83B -S113AAC029200622DA75A2885A84E2889A8440F200 -S113AAD02812C2F200021188598352889A8322886C -S113AAE0DA8362881A84637E13F0100F40F22C1309 -S113AAF0C2F200031DBF002283F8312083F8302006 -S113AB00062202BF83F830200A2283F8312040F263 -S113AB102C14C2F200044023A37540F2E403C2F2F1 -S113AB2000031B881A0A22746374002584F83550C4 -S113AB3084F83450658649F67D33C0F200039847A3 -S113AB40C04360864523A373E5736575257540F29C -S113AB506603C2F200031A88013292B21A80130A01 -S113AB60A374E274258349F65133C0F20003984775 -S113AB70C043208340F2F003C2F2000300221A70A3 -S113AB8038BD40F2E403C2F2000300221A8040F20E -S113AB90F003C2F200031A7038BD40F27803C2F227 -S113ABA0000301211970FFF776BA40F27803C2F26C -S113ABB0000301221A70E4E7030A43EA002080B28A -S113ABC0704700BF2DE9F00340F27A03C2F200039C -S113ABD04FF0000C83F800C040F27C05C2F200057F -S113ABE02B4601221F461C88CCB15E88BEB1B0F84A -S113ABF00080A04513D14488B44210D140F27A03B6 -S113AC00C2F2000383F800C0086878608B883B8137 -S113AC1040F2DD03C2F200031B78BB725AE0541CFD -S113AC20E4B20C33092C02D094462246DAE72B46D0 -S113AC3000221E461C884CB95C883CB940F27A0359 -S113AC40C2F200031A70082A36D104E00132D2B2EB -S113AC500C33082AEDD1002340F2DD02C2F20002D7 -S113AC601678B0461F4699465FFA83FCAA7AC2EB6F -S113AC700804BC42C2BFC2EB0602E146D7B20133AC -S113AC800C35082BF0D140F27B03C2F200031F7095 -S113AC9040F2DC03C2F2000383F8009040F27A032E -S113ACA0C2F2000383F8009040F27C03C2F2000376 -S113ACB009EB490903EB89060268334643F8042B80 -S113ACC00A6872608A889A8040F2DD03C2F2000347 -S113ACD01B78B372BDE8F003704700BFF0B440F2D4 -S113ACE0DD03C2F200031E780136F6B21E7040F294 -S113ACF07C03C2F200030122002740F27A04C2F26C -S113AD00000458881988014389B259B1997A711A93 -S113AD10772907DD194601F8017B5F70013101F8DD -S113AD20017B0F7022700132D2B20C33092AE8D1B0 -S113AD30F0BC704738B540F2E403C2F200031B884C -S113AD40292B06D840F2E403C2F2000300221A8041 -S113AD5038BD40F2E403C2F2000300221A8040F23C -S113AD602C13C2F200039B8AB3F5807F03D0B3F5A2 -S113AD70007F5CD038BD40F22C12C2F2000240F2D7 -S113AD802813C2F20003D28C1B889A426FD140F27E -S113AD902C12C2F2000240F22813C2F20003128DF8 -S113ADA05B889A4263D1324CA51F204629464AF655 -S113ADB0C533C0F200039847A4F11C03002204F831 -S113ADC0082C022204F8072C54F8062C626034F88C -S113ADD0022C228140F27002C2F20002106844F890 -S113ADE0060C928824F8022C44F8160C24F8122C31 -S113ADF0626844F81C2C228924F8182C9A8B6281EE -S113AE006288A28140F22812C2F20002118899835A -S113AE1052886280082204F8102C062204F80F2CB1 -S113AE2040F2E403C2F200032A221A8038BD40F241 -S113AE302C12C2F2000240F22813C2F20003D28C98 -S113AE401B889A4213D140F22C12C2F2000240F243 -S113AE502813C2F20003128D5B889A4207D1044979 -S113AE60084606394AF6C533C0F20003984738BD90 -S113AE704801002038B540F22C13C2F20003D98BEC -S113AE808AB24FF6FF739A4215D140F22C13C2F2E4 -S113AE900003188C4FF6FF7398420CD140F22C1328 -S113AEA0C2F200034BF2F412C0F200021068186000 -S113AEB092889A80B0E040F22813C2F200031B8803 -S113AEC05A4040F22413C2F200031B881A4212D1E2 -S113AED040F22C13C2F200031A8C90B240F22813F1 -S113AEE0C2F200035B88584040F22413C2F200030C -S113AEF05B8818420CD040F2E003C2F2000340F237 -S113AF002012C2F200021188198052885A8005E08A -S113AF1040F2E003C2F2000319805A8040F2E003D9 -S113AF20C2F2000318885D8840F27C03C2F2000379 -S113AF3000221C46198881420AD15988A94207D1A6 -S113AF4040F27A03C2F200031A70082A5BD109E0C6 -S113AF500132D2B20C33082AEBD140F27A03C2F2A6 -S113AF6000031A7040F22C14C2F200042046FF21A0 -S113AF7006224BF24D03C0F200039847002384F8E5 -S113AF80203084F8213084F8223084F8233084F887 -S113AF90243084F8253040F27002C2F200021168B5 -S113AFA0C4F8061092886281C4F81610628340F2D5 -S113AFB0E002C2F200021188E1845288228540F244 -S113AFC02812C2F200021188A1835288E2832375F9 -S113AFD001226275A373E273082222746374062348 -S113AFE0A3740423E37422730623637340F2F4030B -S113AFF0C2F2000336341C6040F2E403C2F20003E0 -S113B0002A221A8038BD40F22C13C2F2000354F8ED -S113B010040F1860A2889A8040F22C13C2F2000335 -S113B02040F27002C2F200021168C3F8061092885E -S113B0305A8108221A7300225A7340F2E403C2F2BE -S113B04000031A880E321A8038BD00BF8307F0B49B -S113B05048D0541E002A43D0CDB2034602E0002C4F -S113B0603ED0144603F8015B13F0030F04F1FF32E2 -S113B070F5D1032C2DD9CDB20F2C45EA052545EA8F -S113B080054518D9A4F1100703F110061A463F0923 -S113B09006EB07161560103242F80C5C42F8085CA7 -S113B0A042F8045CB242F5D104F00F040137032CDA -S113B0B003EB07130DD91E462246043A46F8045BF7 -S113B0C0032AFAD8221F04F0030422F003020432F4 -S113B0D013442CB1C9B21C4403F8011BA342FBD195 -S113B0E0F0BC704714460346C3E700BF6C69622F87 -S113B0F06472697665726C69622F65746865726ED4 -S113B10065742E63000000006C69622F64726976B6 -S113B11065726C69622F666C6173682E630000004F -S113B1206C69622F6472697665726C69622F6770EC -S113B130696F2E630000000040420F0000201C00D5 -S113B14080841E0000802500999E3600004038004F -S113B15000093D0000803E0000004B00404B4C00C5 -S113B16000204E00808D5B0000C05D0000807000F8 -S113B17000127A0000007D0080969800001BB70042 -S113B1800080BB00C0E8CE00647ADA000024F4003A -S113B1900000FA006C69622F6472697665726C69EA -S113B1A0622F73797363746C2E63000000E10F40A7 -S113B1B004E10F4008E10F4040E00F4044E00F403D -S113B1C048E00F406C69622F6472697665726C693D -S113B1D0622F7379737469636B2E63006C69622FD9 -S113B1E06472697665726C69622F756172742E631C -S10FB1F000000000FFFFFFFFFFFF000055 +S11380008C0B00205D84000019840000198400009A +S113801019840000198400001984000019840000E8 +S113802019840000198400001984000019840000D8 +S11380301984000019840000198400009181000053 +S113804019840000198400001984000019840000B8 +S113805019840000198400001984000019840000A8 +S11380601984000019840000198400001984000098 +S11380701984000019840000198400001984000088 +S11380801984000019840000198400001984000078 +S11380901984000019840000198400001984000068 +S11380A01984000019840000198400001984000058 +S11380B01984000019840000198400001984000048 +S11380C01984000019840000198400001984000038 +S11380D01984000019840000198400001984000028 +S11380E01984000019840000198400001984000018 +S11380F0EE11AA5510B5054C237833B9044B13B1CE +S11381000448AFF300800123237010BD0800002051 +S11381100000000024A70000084B10B51BB108495B +S11381200848AFF300800848036803B910BD074B43 +S1138130002BFBD0BDE81040184700BF0000000032 +S11381400C00002024A7000008000020000000000C +S1138150014B1860704700BF2400002008B500F0F0 +S11381609FFC074BA3FB0030800901F031FA01F0BA +S11381701FFA01F025FA0020FFF7EAFF08BD00BF4F +S1138180D34D6210014B1868704700BF24000020D3 +S1138190024A136801331360704700BF24000020B3 +S11381A008B500F0BBF9FFF7EDFF00F5FA70124BCC +S11381B01860FFF7E7FF00F51C5010300F4B1860F4 +S11381C001F07AFA0E4B4FF6A9621A8043F6137146 +S11381D059800C4B4FF6FF711980002159800A4BCE +S11381E01A8040F213125A804EF6030001F092FAFC +S11381F000F0A0F908BD00BF2C00002028000020DA +S113820044010020400100203C01002008B5094B36 +S11382101B7813F0400F0BD113F0020F08D0064B5C +S11382201B681A79FF2A03D15B790BB900F0A2F815 +S113823008BD00BF0C0100201001002010B500F0A3 +S113824003FA48B32D4A10802D4B9C894FF40060EB +S113825001F07AFA84420DD1012001F0AFFA274BE4 +S11382601B88CBB102F01AF900F00AFA0022234B62 +S11382701A8011E0224B9C8940F6060001F064FA52 +S1138280844209D102F09AF81C4B1B8823B100F0F8 +S1138290F7F90022194B1A80FFF774FF194B1B687A +S11382A098421CD303F5FA73164A1360002414E0B1 +S11382B0C4EB04135A00144B1344144A13600220F1 +S11382C001F07CFA0D4B1B8833B102F0E7F800F0A3 +S11382D0D7F90022094B1A800134002CE8D0FFF7AB +S11382E051FF0B4B1B68984206D303F51C53103304 +S11382F0074A136002F032F810BD00BF00010020ED +S1138300480100202C000020180100201401002046 +S11383102800002008B50A4800F0E8FA094800F0EF +S1138320E5FA03214FF0402001F0DAF800F0B8FB41 +S113833060234FF461420146034800F0FDFC08BD90 +S1138340010000100100002000C0004010B50446E8 +S1138350054800F065FDB0F1FF3F02D02070012018 +S113836010BD002010BD00BF00C0004008B5FFF7DD +S1138370D1FF08BD08B500F0D5FA08BD08B5204BFB +S11383801B789BB91F48FFF7E1FF012837D11D4B2C +S11383901B78002B33D0FFF7F5FE1B4B186001222E +S11383A0174B1A700022194B1A7008BD174B1B7813 +S11383B0013314481844FFF7C9FF012815D1134AA3 +S11383C013780133DBB213700E4A1278934216D13C +S11383D000220B4B1A700B4B5B78FF2B0FD1094B10 +S11383E09B7863B9FFF7C6FF08BDFFF7CBFE064BCA +S11383F01B686433984202D90022014B1A7008BDED +S11384007600002034000020300000207500002099 +S113841008B5FFF7B3FF08BDFEE700BF08B5044881 +S113842000F08CFA00F040F8FFF798FE08BD00BF9A +S11384308003C00108B5FFF7F1FFFFF7B1FEFFF7B6 +S113844095FF00F045F8FFF7F9FEFFF7E1FFF8E7C5 +S1138450014B1960FEE700BF7800002008B50F4902 +S11384608D460B4B0B4A03E0116819600433043248 +S113847009498B42F8D30A480A494FF0000288425E +S1138480B8BF40F8042BFADBFFF7D4FF08BD00BFE8 +S11384900000002028A70000080000208C0B00200A +S11384A0080000208C07002010B5074800F01EFAD1 +S11384B0064C0121204600F0F9FF0022012120464C +S11384C000F0E2FF10BD00BF200000200050024079 +S11384D010B5FFF757FE0E4B1B68C31AB3F5FA7FAE +S11384E014D304460B4B1B783BB90121094B19707B +S11384F00A46094800F0C8FF06E00022054B1A703E +S11385000121054800F0C0FF014B1C6010BD00BFF5 +S11385107C000020800000200050024010B5044C74 +S1138520204600F0E3F9204600F0B4F910BD00BF86 +S11385300050102030B585B03F4800F0D7F90C2129 +S11385403E4800F0E7FF3E4C7F21204600F0E8FD66 +S11385500021204600F000FE0146204600F010FEF7 +S113856000F09EFA0146204600F0F4FC1621204655 +S113857000F008FD204600F061FD0121204600F0D6 +S113858019FE0446FFF7FEFD00F59C55083508E08A +S113859001212B4800F00EFE0446FFF7F3FD85424F +S11385A002D914F0040FF3D008238DF80830002307 +S11385B08DF8093027238DF80A3069238DF80B30A4 +S11385C05B238DF80C3045238DF80D30694601A8E6 +S11385D000F0BAFF019BB3F1FF3F13D0009AB2F150 +S11385E0FF3F0FD08DF80830190A8DF809101B0CC5 +S11385F08DF80A308DF80B20130A8DF80C30120C0C +S11386008DF80D2002A90E4800F0E8FC9DF8082022 +S11386100C4B1A709DF809205A709DF80A209A7024 +S11386209DF80B20DA709DF80C201A719DF80D202E +S11386305A7105B030BD00BF200000200050024038 +S1138640008004409000002038B50B4D00212846DE +S113865000F082FD04460146284600F091FD14F026 +S1138660010F06D040F242620449284600F006FD9C +S113867038BD002038BD00BF008004404801002000 +S113868008B5034B1A880349034800F021FD08BDCF +S1138690000100204801002000800440A0F5801360 +S11386A0013B012B40F28F80714B984200F08D808A +S11386B003F58073984200F08A8003F500739842B2 +S11386C000F0878003F18053A3F54073984200F0D3 +S11386D0828003F5807398427FD003F5007398423B +S11386E07DD003F5705398427BD003F11023984258 +S11386F079D0604B984278D00133984277D00233D6 +S1138700984276D00433984275D00833984274D096 +S11387101033984273D02033984272D04033984239 +S113872071D08033984270D0402870D0B0F1102FAF +S11387306FD0514B98426ED003F57D2398426CD094 +S113874003F18053A3F57063984268D04B4B984271 +S113875067D0703B984266D0B0F1101F65D0484B8B +S1138760984264D003F58073984262D0A3F5F873FD +S1138770984260D0103398425FD003F1005398427E +S11387805DD0404B98425CD0013398425BD00233B9 +S113879098425AD00433984259D03B4B984258D00F +S11387A00133984257D00233984256D0B0F1202F6B +S11387B055D0364B984254D0082854D0344B984264 +S11387C053D10120704701207047012070470120D8 +S11387D07047012070470120704701207047012035 +S11387E07047012070470120704701207047012025 +S11387F07047012070470120704701207047012015 +S11388007047012070470120704701207047012004 +S113881070470120704701207047012070470120F4 +S113882070470120704701207047012070470120E4 +S113883070470120704701207047012070470120D4 +S113884070470120704701207047012070470120C4 +S113885070470120704701207047012070470120B4 +S1138860704701207047012070470020704700BF07 +S113887000011000010000200040001080000030C2 +S11388800001001001001010010000100100102070 +S11388900010100010B582B00446FFF7FFFE20B9A7 +S11388A040F2B9110F48FFF7D3FD220F0E4B53F8D6 +S11388B022201168A3B2C4F3044403FA04F441EA85 +S11388C0040313600023019302E0019B013301932D +S11388D0019B0F2BF9D9136823EA0404146002B036 +S11388E010BD00BF70A6000094A6000010B5044699 +S11388F0FFF7D4FE20B94FF4FC710848FFF7A8FD38 +S1138900220F074B53F822100868A2B2C4F30443A1 +S113891002FA03F303430B6010BD00BF70A600000E +S113892088A60000014A024B1A60FEE70400FA051B +S11389300CED00E001387FF4FDAF704770B54E4B8D +S11389401B6813F0E04F06D04B4B1A684B4B134097 +S1138950B3F1805F02D10028C0F28C8004464849FC +S11389600B68484A166823F4800545F4006546F40C +S113897000600D60106013F0020F02D014F0020FBB +S113898005D013F0010F1ED014F0010F1BD164F0B9 +S113899003031D403A4B1D60002805DA06F07003FE +S11389A0302B07D0702B05D0002808DB05F03003EE +S11389B0302B04D14FF48050FFF7BCFF03E04FF499 +S11389C00020FFF7B7FF25F45F5525F0300543F28B +S11389D0F07323401D432C4B334043F400622B4B74 +S11389E023401343E20002F040024020284908607B +S11389F053EA020604D5234B1E60103B1D6003E0BE +S1138A001F4B1D6010331E601020FFF793FF25F0ED +S1138A10F86525F003051F4A2240154326F0FC5152 +S1138A2004F0FC530B4314F0804F07D045F4800549 +S1138A3023F4800318492140194301E023F08041C5 +S1138A4014F4006F07D00EE0144A126812F0400FBD +S1138A5005D1013B01E04FF40043002BF4D125F490 +S1138A60006521F40061064B1D601033196010206D +S1138A70FFF760FF70BD00BF00E00F400000FF7013 +S1138A8060E00F4070E00F408FDFFF7F30200080F8 +S1138A9058E00F400300C0070000404050E00F4082 +S1138AA030B4724B1B68724A1168002902DA01F073 +S1138AB0700201E003F03002202A3AD003D862B1F8 +S1138AC0102A10D0CFE0602A5BD0702A56D0302A0A +S1138AD040F0C98047F2305069E0C3F3841265481E +S1138AE050F8220063E0644A126812F0E04F4BD061 +S1138AF0614A1068614A0240B2F1805F46D05E4A22 +S1138B0010685E4A02405E48824204D15A4A1268A2 +S1138B1092B2022A3CD0584A1068584A0240594836 +S1138B20824237D1544A126892B2002A34D056484D +S1138B303DE0514A126812F0E04F2FD04E4A1068BF +S1138B404E4A0240B2F1805F2AD04B4A10684B4A29 +S1138B5002404B48824204D1474A126892B2022A28 +S1138B6020D0454A1068454A0240464882421BD1FB +S1138B70414A126892B2CAB1444818E04FF4004026 +S1138B8015E04FF4800012E0414810E040480EE048 +S1138B9040480CE03C480AE03E4808E03E4806E015 +S1138BA03D4804E03D4802E0384800E03B480029E5 +S1138BB002DA11F4006F04D000292FDB13F4006FE4 +S1138BC02CD1374A1468643A126812F0E04F06D088 +S1138BD0294A1568294A2A40B2F1805F0AD1C4F3B0 +S1138BE04812023202FB00F004F01F020232B0FB12 +S1138BF0F2F009E0C4F3481202FB00F004F01F0293 +S1138C0001325200B0FBF2F014F4804F00D040085F +S1138C1014F4004F00D0800843F4800313F4800F51 +S1138C2022D0002919DA11F0804F10D0002902DA7D +S1138C3011F4006F04D0002909DB13F4006F06D18E +S1138C404000C1F386530133B0FBF3F00CE0C1F3F1 +S1138C50C5530133B0FBF3F006E0C3F3C353013350 +S1138C60B0FBF3F000E0002030BC704760E00F4040 +S1138C7070E00F4014A6000000E00F400000FF70F9 +S1138C8000000110000003100024F40000093D005E +S1138C90C0E1E400001BB70070383900C0C62D00E5 +S1138CA064E00F40094B984209D003F58053984281 +S1138CB007D003F58053984205D101207047012065 +S1138CC07047012070470020704700BF00C000407B +S1138CD010B50446FFF7E6FF20B94FF4CF710748FB +S1138CE0FFF7B6FBE36A43F01003E362236B43F43C +S1138CF0407343F00103236310BD00BFA0A600002E +S1138D0010B50446FFF7CEFF20B94FF4DF710948D0 +S1138D10FFF79EFBA36913F0080FFBD1E36A23F06E +S1138D201003E362236B23F4407323F001032363F2 +S1138D3010BD00BFA0A60000F8B505460C461646B7 +S1138D401F46FFF7AFFF20B940F20D112F48FFF780 +S1138D507FFB26B94FF487712C48FFF779FB2C4B26 +S1138D601B6813F0E04F1FD0294B1A68294B13409E +S1138D70B3F1805F1AD0264B1A68264B1340264A5B +S1138D80934204D1224B1B689BB2022B10D0204B80 +S1138D901A68204B1340214A93420BD11C4B1B6889 +S1138DA09BB24BB1082308E0102306E0102304E033 +S1138DB0102302E0082300E0102306FB03F3A34280 +S1138DC004D940F20F111148FFF742FB2846FFF780 +S1138DD097FFB4EB061F05D22B6B43F020032B63E4 +S1138DE0760803E02B6B23F020032B63E400B4FB31 +S1138DF0F6F40134E3096B62C4F34504AC62EF6238 +S1138E000023AB612846FFF763FFF8BDA0A600006E +S1138E1000E00F400000FF7000000110000003108C +S1138E2010B50446FFF73EFF20B940F20941064859 +S1138E30FFF70EFBA36913F0100F01D1206810BDDA +S1138E404FF0FF3010BD00BFA0A60000F0B586466D +S1138E5000F1100503699FB2C3F3074008701B0EAD +S1138E604B70B81F06469042A8BF1646022302E084 +S1138E702C68CC500433341FA342F9DDB34223DA07 +S1138E80DEF81040A6F1030E73450BD103F1010E79 +S1138E90CC549E1C4FEA142C01F80EC0240C8C55A3 +S1138EA0043311E0A6F1020E734505D15E1CCC54C7 +S1138EB0240A8C55043307E0013EB34204D1CC5458 +S1138EC0043301E029680433B91E8B42FADB904273 +S1138ED000DD4042F0BD00BF40F2FE739A4201DD66 +S1138EE05042704730B4A2F10E030C7843EA0443B5 +S1138EF04C7843EA046300F110050361022302E0A5 +S1138F00CC582C600433141FA342F9DD93421CD0C7 +S1138F10D41EA3420AD15D1CCC5C02334D5D44EAED +S1138F200524CB5C44EA034303610EE0941EA34290 +S1138F3006D15C1CCB5C095D43EA0123036104E0B8 +S1138F40541EA34201D1CB5C036101238363104609 +S1138F5030BC704738B505460C46074B984203D0E1 +S1138F604E210648FFF774FA054BA3FB0434C4F3FF +S1138F7047546C6238BD00BF00800440B8A60000AE +S1138F806BCA5F6B38B505460C46124B984203D04A +S1138F9095211148FFF75CFA24F4873323F0160374 +S1138FA01BB199210C48FFF753FAEB6823F0160222 +S1138FB0E3B21343EB60AB6823F00E02C4F3072360 +S1138FC01343AB60EB6B23F00103C4F307441C436E +S1138FD0EC6338BD00800440B8A6000030B583B00F +S1138FE005460C46134B984204D04FF48171124845 +S1138FF0FFF72EFA24B940F203110F48FFF728FABD +S113900023788DF8043063788DF80530A3788DF8D3 +S11390100630E3788DF80730019B6B6100230193E0 +S113902023798DF8043063798DF80530019BAB61A9 +S113903003B030BD00800440B8A6000010B504465B +S11390400C4B984204D04FF4AC710B48FFF700FA74 +S1139050A36843F01003A360A36843F00103A36073 +S1139060E36843F00103E360A36843F01003A360E3 +S113907010BD00BF00800440B8A6000070B50446CF +S11390800D461646104B984204D040F27F210F48FB +S1139090FFF7DEF925B94FF420710C48FFF7D8F932 +S11390A0002E04DC40F281210848FFF7D1F9636BFC +S11390B013F03F0F05D0324629462046FFF7C6FE7F +S11390C070BD002070BD00BF00800440B8A6000041 +S11390D070B504460D4616460F4B984204D040F234 +S11390E08E310E48FFF7B4F925B940F28F310B48A1 +S11390F0FFF7AEF9002E04DC4FF464710748FFF764 +S1139100A7F9A36B13F0010FFBD132462946204681 +S1139110FFF7E2FE70BD00BF00800440B8A6000067 +S113912038B504460D460A4B984204D040F2354106 +S11391300848FFF78DF935F07F0304D04FF48761B9 +S11391400448FFF785F9616821EA0501616038BDCB +S113915000800440B8A6000038B504460D46064B0E +S1139160984204D04FF48B610448FFF771F92068EA +S11391700DB16368184038BD00800440B8A60000F3 +S113918038B504460D46094B984204D040F28D414F +S11391900748FFF75DF935F07F0304D04FF492617F +S11391A00348FFF755F9256038BD00BF008004402F +S11391B0B8A6000038B504460D460D4B984204D0BD +S11391C040F2DC410B48FFF743F904F12003226A23 +S11391D012F0010FF9D1ED00EDB245F001051D606B +S11391E01A6812F0010FFBD1206B80B238BD00BFAA +S11391F000800440B8A60000B0F1402F44D0344BA6 +S1139200984243D0A3F5A623984241D003F5A8235E +S113921098423FD0A3F5A62398423DD003F5A82356 +S113922098423BD0A3F5A623984239D003F5A8234E +S1139230984237D0A3F55C33984235D003F56033B8 +S1139240984233D0A3F55C33984231D003F56033B0 +S113925098422FD0A3F55C3398422DD003F56033A8 +S113926098422BD0A3F55C33984229D003F56033A0 +S1139270984227D0A3F50833984225D003F50C3340 +S1139280984223D101207047012070470120704784 +S1139290012070470120704701207047012070476A +S11392A0012070470120704701207047012070475A +S11392B0012070470120704701207047012070474A +S11392C0012070470120704701207047002070473B +S11392D00080054070B505460C461646FFF78CFF26 +S11392E018B9E4211248FFF7B3F8022E03D9E62196 +S11392F00F48FFF7ADF805F5806316F0010F03D0B2 +S1139300D5F80024224303E0D5F8002422EA04021D +S11393101A6005F5846316F0020F03D0D5F82024F3 +S1139320144303E0D5F8202422EA04041C6070BD31 +S1139330D4A60000F8B504460D4617461E46FFF7AE +S11393405BFF20B94FF4DD714E48FFF781F87B1EB7 +S1139350012B08D9042F06D00C2F04D04FF4DF7151 +S11393604848FFF775F8082E0FD00A2E0DD00C2EA2 +S11393700BD0092E09D00B2E07D00D2E05D026B107 +S113938040F2C5113F48FFF763F804F5A06317F0F6 +S1139390010F03D0D4F800252A4303E0D4F80025B4 +S11393A022EA05021A6004F2045317F0020F03D0F4 +S11393B0D4F804252A4303E0D4F8042522EA05025C +S11393C01A6004F5A16317F0040F03D0D4F808253C +S11393D02A4303E0D4F8082522EA05021A6004F5BA +S11393E0A36317F0080F03D0D4F818252A4303E029 +S11393F0D4F8182522EA05021A6004F20C5316F078 +S1139400010F03D0D4F80C252A4303E0D4F80C252B +S113941022EA05021A6004F5A26316F0020F03D0D3 +S1139420D4F810252A4303E0D4F8102522EA0502D3 +S11394301A6004F2145316F0040F03D0D4F8142560 +S11394402A4303E0D4F8142522EA05021A6004F240 +S11394501C5316F0080F03D0D4F81C252A4303E04C +S1139460D4F81C2522EA05021A6004F5A5631EB986 +S1139470D4F82825154303E0D4F8282522EA050565 +S11394801D60F8BDD4A6000070B504460D4616460E +S1139490FFF7B2FE20B94FF451710348FEF7D8FF2D +S11394A044F8256070BD00BFD4A6000038B504465A +S11394B00D46FFF7A1FE20B940F204410748FEF72C +S11394C0C7FF012229462046FFF704FF0823012293 +S11394D029462046FFF72EFF38BD00BFD4A6000062 +S11394E038B504460D46FFF787FE20B940F21F51F8 +S11394F00748FEF7ADFF022229462046FFF7EAFEA1 +S11395000823012229462046FFF714FF38BD00BF77 +S1139510D4A6000038B504460D46FFF76DFE20B909 +S113952040F2C6510748FEF793FF0222294620461F +S1139530FFF7D0FE0823042229462046FFF7FAFE4F +S113954038BD00BFD4A6000038B50C46054620B986 +S113955040F26B211148FEF77BFF24B94FF41B71D5 +S11395600E48FEF775FF0E4B1B6813F0E04F0ED04C +S11395700B4B1A680B4B1340B3F1805F0AD00A4BB4 +S11395801B682B60094B1B682360002038BD4FF01B +S1139590FF3038BD4FF0FF3038BD00BFECA60000EF +S11395A000E00F400000FF70E0E10F40E4E10F40F5 +S11395B0024A136843F005031360704710E000E0AB +S11395C0024A136843F002031360704710E000E09E +S11395D010B5441EB4F1807F03D3D0210248FEF7B6 +S11395E037FF024B1C6010BD04A7000014E000E02C +S11395F010B4013A0A440BE00C784B7803EB0423D3 +S11396009BB2184480B2834201D9013080B2023146 +S11396109142F1D307D10B781B02184480B28342E4 +S113962001D9013080B210BC704700BF70B4C57856 +S11396300D44EDB2134CE57083780E0A3344DBB26B +S1139640A37042786270007820709CB2A64206D95A +S11396500132D2B20B4C62700AB901302070C9B227 +S11396608D420CDA0133DBB2064A93703BB953786E +S11396700133DBB2537013B913780133137070BC28 +S1139680704700BF0801002010B5094C236801464B +S113969003F10800FFF7CAFF2368064A117819721C +S11396A05178597291789972D278DA7210BD00BFEC +S11396B014010020080100200022124B1A7006E059 +S11396C00021114A22F8131001330E4A13700D4B76 +S11396D01B78002BF4D000220A4B1A7009E0C3EB6C +S11396E003114A0009490A44002151760133054A0D +S11396F01370044B1B78002BF1D04FF48062044BA1 +S11397001A8070478E0000203801002018010020C4 +S11397108C00002000220A4B1A700BE01946094AFB +S113972032F813201AB9074B23F81100704701339C +S1139730034A1370024B1B78002BEFD0704700BF15 +S11397408E00002038010020030A43EA002080B282 +S1139750704700BF08B5142205490020FFF748FFF1 +S113976010B1FFF7F1FF08BD4FF6FF7008BD00BF51 +S11397705601002038B50D4D2C7C6B7C03EB042482 +S1139780143CA4B22044082205F11A0180B2FFF768 +S11397902FFF224605F12201FFF72AFF10B1FFF740 +S11397A0D3FF38BD4FF6FF7038BD00BF480100201D +S11397B008B50620FFF7DEFF08BD00BF70B5934B68 +S11397C01C68934B934A1360934A136003280FD188 +S11397D0637E03F00F03032B40F02F85238A002BB5 +S11397E040F02B8508228D4B1A70FEF70FFDEAE33B +S11397F0022879D18A4AD3780133DBB2D37063B9B2 +S113980093780133DBB293703BB953780133DBB205 +S1139810537013B91378013313700023814A1380F2 +S1139820814A1380637E072B01D0052B0AD1A37EC6 +S11398300133DBB2A376782B40F0FF8400236376F8 +S113984000F0FBBC002B00F0F884228A002A40D0F0 +S1139850A27E511EA176002A40F0EF84E27E082AFF +S113986005D0591EC9B201290ED8052A0CD10023EE +S113987063768022694B1A70FEF7C8FC14226B4B86 +S113988083F82F2000F05BBC042A03D80321914005 +S1139890C9B200E03021A1760132E27603F00F0371 +S11398A0013B072B00F2C984DFE813F0BE01080076 +S11398B00D003803C7043803C704380300225B4B88 +S11398C083F82F20B4E10422544B1A70FEF79EFC57 +S11398D0AEE303F00F03032B40F0AF8408224F4B99 +S11398E01A70FEF793FC6EE3504B9B7B452B40F0C4 +S11398F0A4844E4A157C537C03EB0521494A128803 +S1139900914200F39A848DB2464B1D80474B1B7DD8 +S113991013F03F0F40F09184444B5B7D002B40F0EB +S11399208C84434B1C880CB95B885BB13F4BDB8B4D +S11399309C4240F082843D4B1A8C3D4B5B889A429A +S113994040F07B84FFF706FF4FF6FF73984240F028 +S11399507484364BDB7D062B23D0012B40F06D84C1 +S1139960324B93F82230082B40F067842F4B0022AF +S113997083F822209B8C4FF6F672934203D9093365 +S11399802A4A938402E00833284A9384274B5A8B4B +S1139990DA839A8B1A845C83254A52889A8300F06E +S11399A048BCFFF705FF4FF6FF73984240F045842B +S11399B0204C17E0617EA1B11C4B9A8CA3889A427B +S11399C00FD11A4B5A8CE3889A420AD1174B5A8BFF +S11399D023889A4205D1154B9A8B63889A4200F0EA +S11399E041811E34134B9C42E4D9104B93F82F3021 +S11399F003F03F03022B2FD10C4B9B8C99B20E4AE0 +S1139A00138000220D4B1A7022E000BF14010020C5 +S1139A107E01002010010020040100200C01002020 +S1139A2088000020000100208A070020480100204F +S1139A304401002018010020820000208E00002034 +S1139A40924A32F8132091425BD00133904A13704A +S1139A508F4B1B78002BF3D08E4B93F82F3013F0E1 +S1139A60040F40F0EA838B4B142283F82F20282123 +S1139A70894A1180502283F82E2093F8290093F804 +S1139A802D2083F8292093F8281093F82C2083F8AC +S1139A90282083F82C1093F8272093F82B4083F880 +S1139AA0274083F82B2093F82640794D2C7093F8A7 +S1139AB02A5083F8265083F82A400130C0B283F834 +S1139AC02D0068B94B1CDBB2724981F82C303BB9CC +S1139AD0531CDBB281F82B3013B9013481F82A40CE +S1139AE06C4B5A8C6D490A80998C59849A845A8B90 +S1139AF0DA839A8B1A846A4A1188598352889A8322 +S1139B006FE30024624B1C701CE019461E2265485A +S1139B1002FB0302527E1AB91E2404FB010415E061 +S1139B20072A0CD13CB11E225E4902FB0312917E2E +S1139B30A27E914203D95B4A1E2404FB0324013311 +S1139B40534A1370524B1B78002BDED0002C00F0CC +S1139B507483554B1C600323A37623760023A375DB +S1139B600422E275E3764B4DAB8CA3806B8CE380CF +S1139B706B8B2380AB8B6380012060764B4B1A7810 +S1139B8022735A7862739A78A273DB78E373208223 +S1139B9095F82930E37295F82830A37295F82730A8 +S1139BA0637295F826302372FFF76EFD95F82E0048 +S1139BB000F0F003502B37DD0022354B1A702BE0F8 +S1139BC003F13602334DAA5C72B3012A03D1013387 +S1139BD02F4A137020E0022A16D103F137022D4DCB +S1139BE0AA5C042A10D101F13803EA5C39316B5CB8 +S1139BF043EA0222294B1A8040F20A63934228BFA7 +S1139C0013466382A3820FE003F1370221498A5C81 +S1139C1052B113441E4A13701D4B1B781946020996 +S1139C20053AB3EB820FCBDB10221A4B83F82F20BB +S1139C30184B93F82F2042F0020283F82F200222BF +S1139C4083F83620042283F83720062283F838204C +S1139C500A2283F839202C210F4A1180602283F8CC +S1139C602E2073E2104B1C600022114B1A70094B1A +S1139C7093F82F2012F0040F1CD0002363762022C7 +S1139C800B4B1A70FEF7C2FAD7E200BF380100206E +S1139C908E000020480100200001002082000020E6 +S1139CA04401002018010020140100208800002035 +S1139CB00C0100209C4B93F82E301B099B009B4801 +S1139CC00370EB1A143B9BB29948038001F00F0117 +S1139CD0022903D102F03F0112290FD013B912F067 +S1139CE0030F0BD0904BD98C2389994240F02382E7 +S1139CF08D4B198D6389994240F01D8212F0100F2B +S1139D0047D0218A002944D004F10C00FFF78EFCCF +S1139D10854B93F82A30874A1078834239D1824B95 +S1139D2093F82B3051788B4233D17F4B93F82C30FE +S1139D30927893422DD17C4B93F82D507D4BDB7858 +S1139D409D4226D120736173A273E373E37ECBB982 +S1139D50237EA27E9A1AD2B2A17DA2EBD102D2B204 +S1139D6053B21144C9B2A175002B01DA524253B265 +S1139D70E07DA3EB9002D2B20244D3B2E37503EBCD +S1139D80D103237601226C4B1A70237EA376002321 +S1139D902382617E01F00F03013B072B00F24D8209 +S1139DA0DFE813F00800230096007301A201BE014E +S1139DB0C9016501604B1B7813F0010F00F03D826F +S1139DC00323637640225C4B1A7000232382584B92 +S1139DD0188820B14222584B1A70FFF755FC002214 +S1139DE0564B1A80FEF712FAEDE0534B1B7813F032 +S1139DF0010F63D04C4B93F82F3003F03F03122B29 +S1139E005CD1494B93F82E0000F0F003502B37DD62 +S1139E100022464B1A702BE003F13602424DAA5C35 +S1139E2072B3012A03D10133404A137020E0022A9D +S1139E3016D103F137023C4DAA5C042A10D101F17A +S1139E403803EA5C39316B5C43EA02223C4B1A80EA +S1139E5040F20A63934228BF13466382A3820FE051 +S1139E6003F1370230498A5C52B113442F4A13700C +S1139E702E4B1B7819460209053AB3EB820FCBDB54 +S1139E8003236376284B93F82620227293F8272025 +S1139E90627293F82820A27293F82930E3720120A9 +S1139EA0FFF7F2FB4222244B1A7000232382204A3C +S1139EB01380224A1380FEF7A9F984E020221E4B66 +S1139EC01A70FEF7A3F91F4B1B6800225A76C3E5EC +S1139ED0154B93F82F3013F0010F35D011F0100FFC +S1139EE032D1238A002B40F0A881114D28880130FB +S1139EF080B2FFF7C9FB104A137843F010031370C4 +S1139F002A881AB143F002030B4A1370FEF77EF954 +S1139F1001232382082363760023E3761122024B74 +S1139F2083F82F200BE100BF480100208E000020A1 +S1139F3000010020080100200C0100208A070020F5 +S1139F40820000201401002013F0200F10D0994843 +S1139F5090F834301A0290F8353043EA0200964DF6 +S1139F602E6830442860954813430288D31A03802E +S1139F70924B188848B111F0100F06D1904A13780B +S1139F8043F002031370FFF77FFB8A4A92F8301004 +S1139F9092F8313003EB01239BB28A4A1380A28AE0 +S1139FA0934200D80BB9874B1A80864B1B88638277 +S1139FB0834B1B7813F0030F00F03F810022824B88 +S1139FC01A80FEF723F97E4B1B7813F0200F08D07C +S1139FD000237D4A138063761422764B83F82F2066 +S1139FE0ADE013F0100F0CD00023774A1380012248 +S1139FF0228204226276E37611226E4B83F82F20AC +S113A0009DE0714A12888AB113F0010F01D0002338 +S113A0102382238A43B9638A9A4201D96A4A138004 +S113A020694B1B88238201E0674A13800023E3768F +S113A030664B1A68604B1A60634B1B884BB1238ACA +S113A0403BB128335D4A138018225A4B83F82F20E2 +S113A05078E05B4B1B7813F0020F00F0EE802822AF +S113A060564B1A801022534B83F82F206AE0544B2E +S113A0701B7813F0010F00F0E080002363761022B8 +S113A0804F4B1A70FEF7C2F8D7E04C4B188808B152 +S113A090FFF7FAFA474B93F82F3013F0010F15D05E +S113A0A0474B1B7813F0010F05D007236376002379 +S113A0B0A376238201E0062363760120FFF7E4FA06 +S113A0C010223F4B1A70FEF7A1F834E03C4B1B788A +S113A0D013F0010F04D00523637600232382ACE040 +S113A0E0364B1B883BBBA8E0344B188808B1FFF7FC +S113A0F0CBFA304B93F82F3013F0010F0CD0072319 +S113A10063760023A3760120FFF7BEFA10222C4BBE +S113A1101A70FEF77BF80EE0284B1B885BB98CE0C5 +S113A120274B1B7813F0010F00F087800723637619 +S113A1300023A37681E010221E4B83F82F202822CF +S113A1401E4B1A8050221B4B83F82E20227A194B67 +S113A15083F82A20627A83F82B20A27A83F82C20B1 +S113A160E27A83F82D20227B83F82620627B83F811 +S113A1702720A27B83F82820E27B83F8292006226B +S113A180DA75A2885A84E2889A84114A118859831C +S113A19052889A832288DA8362881A84637E13F051 +S113A1A0100F17D0034B002283F8312083F830209E +S113A1B017E000BF4801002010010020000100202A +S113A1C00C010020820000208A07002004010020E6 +S113A1D0440100201C4B062283F830200A2283F815 +S113A1E03120194C4023A375184B1B881A0A22747A +S113A1F06374002584F8355084F8345084F8325060 +S113A20084F83350FFF7D4FAC04360864523A37320 +S113A210E573657525750E4A138801339BB2138067 +S113A2201A0AA274E37425766576FFF793FAC0439D +S113A23020830022074B1A7070BD0023034A138049 +S113A240044A137070BD00BF4801002000010020C3 +S113A250840000200C010020F0B400223A4B1A7054 +S113A2601EE03A4D5A001A4494002E192C5BA4B1F6 +S113A27003EB4305AA00354D2A4452886AB1058888 +S113A280AC420AD14488A24207D10C687460898820 +S113A29031812F4A1278B27254E001332A4A137082 +S113A2A0294B1B78072BDCD90022274B1A700FE0AF +S113A2B0264D5A001A4494002E192A5B2AB903EB3E +S113A2C04304A2002A44528832B101331E4A137057 +S113A2D01D4B1B78072BEBD9082B28D100231D4AD3 +S113A2E013701D4A1370184A137013E0184A147837 +S113A2F003EB4305AA00154D2A44927AA61A154D7C +S113A3002D78AE4203DD134A1670134A13700133DD +S113A3100D4A13700C4B1B78072BE7D90E4B1B7897 +S113A320094A137003EB43039A00084E164402686B +S113A330334643F8042B0A6872608A889A80044B77 +S113A3401B78B372F0BC7047960000209800002080 +S113A350F900002097000020F800002010B4144BEE +S113A3601C780134E4B21C700022124B1A7019E0FC +S113A37011485A001A4491004218415A52880A431B +S113A3800DD003EB43018A000244927AA21A772A81 +S113A39005DD03EB43018A0000200749885001339F +S113A3A0044A1370034B1B78072BE1D910BC704788 +S113A3B0F9000020960000209800002010B5324BD0 +S113A3C01B88292B03D800222F4B1A8010BD002292 +S113A3D02D4B1A802D4B9B8AB3F5807F03D0B3F5A8 +S113A3E0007F3FD010BD294BDA8C294B1B889A4241 +S113A3F049D1264B1A8D264B5B889A4243D1254C72 +S113A4002146A01DFFF728FF002204F8022C022297 +S113A41004F8012C2168C4F80A10A188E1811E49BE +S113A420086820608988A18044F8100C24F80C1C6A +S113A430D4F80A1044F8161CE28924F8122CE28895 +S113A440228222896282124A1188E1805288228102 +S113A450082204F80A2C062204F8092C2A220A4BA2 +S113A4601A8010BD094BDA8C094B1B889A420AD119 +S113A470064B1A8D064B5B889A4204D10548014667 +S113A4800630FFF7E9FE10BD00010020480100205E +S113A490440100205E0100209000002030B44C4BA9 +S113A4A0D98B8AB24FF6FF739A420CD1484B188C61 +S113A4B04FF6FF73984206D1454B464A1068186020 +S113A4C092889A8072E0444B1B8844480088534029 +S113A4D0184209D13E4B1A8C94B23F4B5B883F48DB +S113A4E040886340184206D03D4B3E4A118819808B +S113A4F052885A8002E03A4B19805A8000223A4B23 +S113A5001A7016E039485A001A4491004518344A22 +S113A5101488425A944209D1314A508803EB4301CA +S113A5208A0032490A445288904206D001332E4AA6 +S113A53013702D4B1B78072BE4D9082B30D1244BF7 +S113A5404FF0FF321A609A8000221A629A842849D6 +S113A5500868C3F8060089885981C3F8160059832E +S113A5601F490888D884498819851B490888988315 +S113A5704988D9831A75012159759A73D9730821A9 +S113A58019745A7406229A740422DA74197306220E +S113A5905A733633174A13602A22174B1A8014E071 +S113A5A00B4B55F8042F1A60AA889A80084B104A5E +S113A5B01168C3F8061092885A8108221A7300227F +S113A5C05A730D4A13880E33138030BC704700BF92 +S113A5D0480100201CA70000440100204001002085 +S113A5E0FC0000203C010020960000209800002080 +S113A5F0900000201001002000010020F8B500BFE9 +S113A600F8BC08BC9E467047F8B500BFF8BC08BC4F +S113A6109E46704740420F0000201C0080841E00AC +S113A62000802500999E36000040380000093D0056 +S113A63000803E0000004B00404B4C0000204E00C8 +S113A640808D5B0000C05D000080700000127A0005 +S113A65000007D0080969800001BB7000080BB00BE +S113A660C0E8CE00647ADA000024F4000000FA00A6 +S113A6706C69622F6472697665726C69622F737992 +S113A6807363746C2E63000000E10F4004E10F401B +S113A69008E10F4040E00F4044E00F4048E00F4025 +S113A6A06C69622F6472697665726C69622F756178 +S113A6B072742E63000000006C69622F6472697604 +S113A6C065726C69622F65746865726E65742E6359 +S113A6D0000000006C69622F6472697665726C69AF +S113A6E0622F6770696F2E63000000006C69622F2F +S113A6F06472697665726C69622F666C6173682E28 +S113A700630000006C69622F6472697665726C691B +S113A710622F7379737469636B2E6300FFFFFFFF0D +S10BA720FFFF0000000000002F +S10BA72819810000F580000016 S90380007C diff --git a/Target/Demo/ARMCM3_LM3S_EK_LM3S6965_GCC/Prog/makefile b/Target/Demo/ARMCM3_LM3S_EK_LM3S6965_GCC/Prog/makefile index d7a4ab00..bee79bda 100644 --- a/Target/Demo/ARMCM3_LM3S_EK_LM3S6965_GCC/Prog/makefile +++ b/Target/Demo/ARMCM3_LM3S_EK_LM3S6965_GCC/Prog/makefile @@ -1,11 +1,11 @@ #**************************************************************************************** -#| Description: Makefile for LM3S using CodeSourcery GNU GCC compiler toolset +#| Description: Makefile for GNU ARM Embedded toolchain. #| File Name: makefile #| #|--------------------------------------------------------------------------------------- #| C O P Y R I G H T #|--------------------------------------------------------------------------------------- -#| Copyright (c) 2012 by Feaser http://www.feaser.com All rights reserved +#| Copyright (c) 2017 by Feaser http://www.feaser.com All rights reserved #| #|--------------------------------------------------------------------------------------- #| L I C E N S E @@ -25,190 +25,120 @@ #**************************************************************************************** SHELL = sh -#|---------------------------------------------------------------------------------------| -#| Configure project name | -#|---------------------------------------------------------------------------------------| +#|--------------------------------------------------------------------------------------| +#| Configure project name | +#|--------------------------------------------------------------------------------------| PROJ_NAME=demoprog_ek_lm3s6965 -#|---------------------------------------------------------------------------------------| -#| Speficy project source files | -#|---------------------------------------------------------------------------------------| -PROJ_FILES= \ -boot.c \ -boot.h \ -cstart.c \ -header.h \ -led.c \ -led.h \ -net.c \ -net.h \ -main.c \ -time.c \ -time.h \ -vectors.c \ -lib/uip/clock-arch.c \ -lib/uip/clock-arch.h \ -lib/uip/netdev.c \ -lib/uip/netdev.h \ -lib/uip/uip-conf.h \ -lib/inc/asmdefs.h \ -lib/inc/hw_adc.h \ -lib/inc/hw_comp.h \ -lib/inc/hw_epi.h \ -lib/inc/hw_ethernet.h \ -lib/inc/hw_flash.h \ -lib/inc/hw_gpio.h \ -lib/inc/hw_hibernate.h \ -lib/inc/hw_i2c.h \ -lib/inc/hw_i2s.h \ -lib/inc/hw_ints.h \ -lib/inc/hw_memmap.h \ -lib/inc/hw_nvic.h \ -lib/inc/hw_pwm.h \ -lib/inc/hw_qei.h \ -lib/inc/hw_ssi.h \ -lib/inc/hw_sysctl.h \ -lib/inc/hw_timer.h \ -lib/inc/hw_types.h \ -lib/inc/hw_uart.h \ -lib/inc/hw_udma.h \ -lib/inc/hw_usb.h \ -lib/inc/hw_watchdog.h \ -lib/inc/lm3s6965.h \ -lib/driverlib/adc.c \ -lib/driverlib/adc.h \ -lib/driverlib/comp.c \ -lib/driverlib/comp.h \ -lib/driverlib/cpu.c \ -lib/driverlib/cpu.h \ -lib/driverlib/debug.h \ -lib/driverlib/epi.c \ -lib/driverlib/epi.h \ -lib/driverlib/ethernet.c \ -lib/driverlib/ethernet.h \ -lib/driverlib/flash.c \ -lib/driverlib/flash.h \ -lib/driverlib/gpio.c \ -lib/driverlib/gpio.h \ -lib/driverlib/hibernate.c \ -lib/driverlib/hibernate.h \ -lib/driverlib/i2c.c \ -lib/driverlib/i2c.h \ -lib/driverlib/i2s.c \ -lib/driverlib/i2s.h \ -lib/driverlib/interrupt.c \ -lib/driverlib/interrupt.h \ -lib/driverlib/mpu.c \ -lib/driverlib/mpu.h \ -lib/driverlib/pin_map.h \ -lib/driverlib/pwm.c \ -lib/driverlib/pwm.h \ -lib/driverlib/qei.c \ -lib/driverlib/qei.h \ -lib/driverlib/rom.h \ -lib/driverlib/rom_map.h \ -lib/driverlib/ssi.c \ -lib/driverlib/ssi.h \ -lib/driverlib/sysctl.c \ -lib/driverlib/sysctl.h \ -lib/driverlib/systick.c \ -lib/driverlib/systick.h \ -lib/driverlib/timer.c \ -lib/driverlib/timer.h \ -lib/driverlib/uart.c \ -lib/driverlib/uart.h \ -lib/driverlib/udma.c \ -lib/driverlib/udma.h \ -lib/driverlib/usb.c \ -lib/driverlib/usb.h \ -lib/driverlib/watchdog.c \ -lib/driverlib/watchdog.h \ -../../../Source/third_party/uip/uip/clock.h \ -../../../Source/third_party/uip/uip/lc-addrlabels.h \ -../../../Source/third_party/uip/uip/lc-switch.h \ -../../../Source/third_party/uip/uip/lc.h \ -../../../Source/third_party/uip/uip/pt.h \ -../../../Source/third_party/uip/uip/uip-fw.c \ -../../../Source/third_party/uip/uip/uip-fw.h \ -../../../Source/third_party/uip/uip/uip-neighbor.h \ -../../../Source/third_party/uip/uip/uip-split.h \ -../../../Source/third_party/uip/uip/uip.c \ -../../../Source/third_party/uip/uip/uip.h \ -../../../Source/third_party/uip/uip/uiplib.c \ -../../../Source/third_party/uip/uip/uiplib.h \ -../../../Source/third_party/uip/uip/uipopt.h \ -../../../Source/third_party/uip/uip/uip_arch.h \ -../../../Source/third_party/uip/uip/uip_arp.c \ -../../../Source/third_party/uip/uip/uip_arp.h \ -../../../Source/third_party/uip/uip/uip_timer.c \ -../../../Source/third_party/uip/uip/uip_timer.h +#|--------------------------------------------------------------------------------------| +#| Configure tool path | +#|--------------------------------------------------------------------------------------| +TOOL_PATH=/opt/gcc-arm-none-eabi-5_4-2016q3/bin/ -#|---------------------------------------------------------------------------------------| -#| Compiler binaries | -#|---------------------------------------------------------------------------------------| -CC = arm-none-eabi-gcc -LN = arm-none-eabi-gcc -OC = arm-none-eabi-objcopy -OD = arm-none-eabi-objdump -AS = arm-none-eabi-as -SZ = arm-none-eabi-size +#|--------------------------------------------------------------------------------------| +#| Collect project files | +#|--------------------------------------------------------------------------------------| +# Recursive wildcard function implementation. Example usages: +# $(call rwildcard, , *.c *.h) +# --> Returns all *.c and *.h files in the current directory and below +# $(call rwildcard, /lib/, *.c) +# --> Returns all *.c files in the /lib directory and below +rwildcard = $(strip $(foreach d,$(wildcard $1*),$(call rwildcard,$d/,$2) $(filter $(subst *,%,$2),$d))) + +# Collect all application files in the current directory and its subdirectories +PROJ_FILES = $(call rwildcard, , *.c *.h *.S) +# Collect UIP third party library files +PROJ_FILES += ../../../Source/third_party/uip/uip/clock.h +PROJ_FILES += ../../../Source/third_party/uip/uip/lc-addrlabels.h +PROJ_FILES += ../../../Source/third_party/uip/uip/lc-switch.h +PROJ_FILES += ../../../Source/third_party/uip/uip/lc.h +PROJ_FILES += ../../../Source/third_party/uip/uip/pt.h +PROJ_FILES += ../../../Source/third_party/uip/uip/uip-fw.h +PROJ_FILES += ../../../Source/third_party/uip/uip/uip-neighbor.h +PROJ_FILES += ../../../Source/third_party/uip/uip/uip-split.h +PROJ_FILES += ../../../Source/third_party/uip/uip/uip.c +PROJ_FILES += ../../../Source/third_party/uip/uip/uip.h +PROJ_FILES += ../../../Source/third_party/uip/uip/uip_arch.h +PROJ_FILES += ../../../Source/third_party/uip/uip/uip_arp.c +PROJ_FILES += ../../../Source/third_party/uip/uip/uip_arp.h +PROJ_FILES += ../../../Source/third_party/uip/uip/uip_timer.c +PROJ_FILES += ../../../Source/third_party/uip/uip/uip_timer.h +PROJ_FILES += ../../../Source/third_party/uip/uip/uiplib.c +PROJ_FILES += ../../../Source/third_party/uip/uip/uiplib.h +PROJ_FILES += ../../../Source/third_party/uip/uip/uipopt.h -#|---------------------------------------------------------------------------------------| -#| Extract file names | -#|---------------------------------------------------------------------------------------| -PROJ_ASRCS = $(filter %.s,$(foreach file,$(PROJ_FILES),$(notdir $(file)))) +#|--------------------------------------------------------------------------------------| +#| Toolchain binaries | +#|--------------------------------------------------------------------------------------| +RM = rm +CC = $(TOOL_PATH)arm-none-eabi-gcc +LN = $(TOOL_PATH)arm-none-eabi-gcc +OC = $(TOOL_PATH)arm-none-eabi-objcopy +OD = $(TOOL_PATH)arm-none-eabi-objdump +AS = $(TOOL_PATH)arm-none-eabi-gcc +SZ = $(TOOL_PATH)arm-none-eabi-size + + +#|--------------------------------------------------------------------------------------| +#| Filter project files +#|--------------------------------------------------------------------------------------| +PROJ_ASRCS = $(filter %.S,$(foreach file,$(PROJ_FILES),$(notdir $(file)))) PROJ_CSRCS = $(filter %.c,$(foreach file,$(PROJ_FILES),$(notdir $(file)))) PROJ_CHDRS = $(filter %.h,$(foreach file,$(PROJ_FILES),$(notdir $(file)))) -PROJ_CCMPL = $(patsubst %.c,%.cpl,$(PROJ_CSRCS)) -PROJ_ACMPL = $(patsubst %.s,%.cpl,$(PROJ_ASRCS)) -#|---------------------------------------------------------------------------------------| -#| Set important path variables | -#|---------------------------------------------------------------------------------------| +#|--------------------------------------------------------------------------------------| +#| Set important path variables | +#|--------------------------------------------------------------------------------------| VPATH = $(foreach path,$(sort $(foreach file,$(PROJ_FILES),$(dir $(file)))) $(subst \,/,$(OBJ_PATH)),$(path) :) OBJ_PATH = obj BIN_PATH = bin -INC_PATH = $(patsubst %,-I%,$(sort $(foreach file,$(filter %.h,$(PROJ_FILES)),$(dir $(file))))) -INC_PATH += -I. -I./lib +INC_PATH = $(patsubst %/,%,$(patsubst %,-I%,$(sort $(foreach file,$(filter %.h,$(PROJ_FILES)),$(dir $(file)))))) +INC_PATH += -I./lib LIB_PATH = -#|---------------------------------------------------------------------------------------| -#| Options for compiler binaries | -#|---------------------------------------------------------------------------------------| -CFLAGS = -g -mthumb -mcpu=cortex-m3 -mlong-calls -O1 -T memory.x -CFLAGS += -D PACK_STRUCT_END=__attribute\(\(packed\)\) -D sprintf=usprintf -Wno-main -CFLAGS += -D ALIGN_STRUCT_END=__attribute\(\(aligned\(4\)\)\) -D snprintf=usnprintf -CFLAGS += -D printf=uipprintf -ffunction-sections -fdata-sections $(INC_PATH) -CFLAGS += -D DEBUG -D gcc -LFLAGS = -nostartfiles -Xlinker -M -Xlinker -Map=$(BIN_PATH)/$(PROJ_NAME).map -LFLAGS += $(LIB_PATH) -Xlinker --gc-sections -OFLAGS = -O srec -ODFLAGS = -x -SZFLAGS = -B -d +#|--------------------------------------------------------------------------------------| +#| Options for toolchain binaries | +#|--------------------------------------------------------------------------------------| +STDFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft -fno-strict-aliasing +STDFLAGS += -Wno-unused-but-set-variable -Wno-maybe-uninitialized +STDFLAGS += -fdata-sections -ffunction-sections -Wall -g3 +OPTFLAGS = -Og +CFLAGS = $(STDFLAGS) $(OPTFLAGS) +CFLAGS += -DDEBUG -Dgcc +CFLAGS += $(INC_PATH) +AFLAGS = $(CFLAGS) +LFLAGS = $(STDFLAGS) $(OPTFLAGS) +LFLAGS += -Wl,-script="memory.x" -Wl,-Map=$(BIN_PATH)/$(PROJ_NAME).map +LFLAGS += -specs=nano.specs -Wl,--gc-sections $(LIB_PATH) +OFLAGS = -O srec +ODFLAGS = -x +SZFLAGS = -B -d +RMFLAGS = -f -#|---------------------------------------------------------------------------------------| -#| Specify library files | -#|---------------------------------------------------------------------------------------| +#|--------------------------------------------------------------------------------------| +#| Specify library files | +#|--------------------------------------------------------------------------------------| LIBS = -#|---------------------------------------------------------------------------------------| -#| Define targets | -#|---------------------------------------------------------------------------------------| -AOBJS = $(patsubst %.s,%.o,$(PROJ_ASRCS)) +#|--------------------------------------------------------------------------------------| +#| Define targets | +#|--------------------------------------------------------------------------------------| +AOBJS = $(patsubst %.S,%.o,$(PROJ_ASRCS)) COBJS = $(patsubst %.c,%.o,$(PROJ_CSRCS)) -#|---------------------------------------------------------------------------------------| -#| Make ALL | -#|---------------------------------------------------------------------------------------| -all : $(BIN_PATH)/$(PROJ_NAME).srec +#|--------------------------------------------------------------------------------------| +#| Make ALL | +#|--------------------------------------------------------------------------------------| +.PHONY: all +all: $(BIN_PATH)/$(PROJ_NAME).srec $(BIN_PATH)/$(PROJ_NAME).srec : $(BIN_PATH)/$(PROJ_NAME).elf @@ -220,31 +150,32 @@ $(BIN_PATH)/$(PROJ_NAME).srec : $(BIN_PATH)/$(PROJ_NAME).elf $(BIN_PATH)/$(PROJ_NAME).elf : $(AOBJS) $(COBJS) @echo +++ Linking [$(notdir $@)] - @$(LN) $(CFLAGS) -o $@ $(patsubst %.o,$(OBJ_PATH)/%.o,$(^F)) $(LIBS) $(LFLAGS) + @$(LN) $(LFLAGS) -o $@ $(patsubst %.o,$(OBJ_PATH)/%.o,$(^F)) $(LIBS) -#|---------------------------------------------------------------------------------------| -#| Compile and assemble | -#|---------------------------------------------------------------------------------------| -$(AOBJS): %.o: %.s $(PROJ_CHDRS) +#|--------------------------------------------------------------------------------------| +#| Compile and assemble | +#|--------------------------------------------------------------------------------------| +$(AOBJS): %.o: %.S $(PROJ_CHDRS) @echo +++ Assembling [$(notdir $<)] - @$(AS) $(AFLAGS) $< -o $(OBJ_PATH)/$(@F) + @$(AS) $(AFLAGS) -c $< -o $(OBJ_PATH)/$(@F) $(COBJS): %.o: %.c $(PROJ_CHDRS) @echo +++ Compiling [$(notdir $<)] @$(CC) $(CFLAGS) -c $< -o $(OBJ_PATH)/$(@F) -#|---------------------------------------------------------------------------------------| -#| Make CLEAN | -#|---------------------------------------------------------------------------------------| -clean : +#|--------------------------------------------------------------------------------------| +#| Make CLEAN | +#|--------------------------------------------------------------------------------------| +.PHONY: clean +clean: @echo +++ Cleaning build environment - @cs-rm -f $(foreach file,$(AOBJS),$(OBJ_PATH)/$(file)) - @cs-rm -f $(foreach file,$(COBJS),$(OBJ_PATH)/$(file)) - @cs-rm -f $(patsubst %.o,%.lst,$(foreach file,$(COBJS),$(OBJ_PATH)/$(file))) - @cs-rm -f $(BIN_PATH)/$(PROJ_NAME).elf $(BIN_PATH)/$(PROJ_NAME).map - @cs-rm -f $(BIN_PATH)/$(PROJ_NAME).srec + @$(RM) $(RMFLAGS) $(foreach file,$(AOBJS),$(OBJ_PATH)/$(file)) + @$(RM) $(RMFLAGS) $(foreach file,$(COBJS),$(OBJ_PATH)/$(file)) + @$(RM) $(RMFLAGS) $(patsubst %.o,%.lst,$(foreach file,$(COBJS),$(OBJ_PATH)/$(file))) + @$(RM) $(RMFLAGS) $(BIN_PATH)/$(PROJ_NAME).elf $(BIN_PATH)/$(PROJ_NAME).map + @$(RM) $(RMFLAGS) $(BIN_PATH)/$(PROJ_NAME).srec @echo +++ Clean complete - \ No newline at end of file + diff --git a/Target/Demo/ARMCM3_LM3S_EK_LM3S6965_GCC/Prog/memory.x b/Target/Demo/ARMCM3_LM3S_EK_LM3S6965_GCC/Prog/memory.x index 9bb1ade9..8c8fa1b6 100644 --- a/Target/Demo/ARMCM3_LM3S_EK_LM3S6965_GCC/Prog/memory.x +++ b/Target/Demo/ARMCM3_LM3S_EK_LM3S6965_GCC/Prog/memory.x @@ -6,21 +6,64 @@ MEMORY SECTIONS { - __STACKSIZE__ = 256; + __STACKSIZE__ = 1024; .text : { - KEEP(*(.isr_vector)) - *(.text*) - *(.rodata*) + KEEP(*(.isr_vector)) + *(.text*) + + KEEP(*(.init)) + KEEP(*(.fini)) + + /* .ctors */ + *crtbegin.o(.ctors) + *crtbegin?.o(.ctors) + *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors) + *(SORT(.ctors.*)) + *(.ctors) + + /* .dtors */ + *crtbegin.o(.dtors) + *crtbegin?.o(.dtors) + *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors) + *(SORT(.dtors.*)) + *(.dtors) + + *(.rodata*) + + KEEP(*(.eh_frame*)) _etext = .; } > FLASH .data : AT (ADDR(.text) + SIZEOF(.text)) { _data = .; - *(vtable) - *(.data*) + *(vtable) + *(.data*) + + . = ALIGN(4); + /* preinit data */ + PROVIDE_HIDDEN (__preinit_array_start = .); + KEEP(*(.preinit_array)) + PROVIDE_HIDDEN (__preinit_array_end = .); + + . = ALIGN(4); + /* init data */ + PROVIDE_HIDDEN (__init_array_start = .); + KEEP(*(SORT(.init_array.*))) + KEEP(*(.init_array)) + PROVIDE_HIDDEN (__init_array_end = .); + + + . = ALIGN(4); + /* finit data */ + PROVIDE_HIDDEN (__fini_array_start = .); + KEEP(*(SORT(.fini_array.*))) + KEEP(*(.fini_array)) + PROVIDE_HIDDEN (__fini_array_end = .); + + . = ALIGN(4); _edata = .; } > SRAM @@ -33,5 +76,6 @@ SECTIONS _stack = .; . = ALIGN(MAX(_stack + __STACKSIZE__ , .), 4); _estack = .; + } > SRAM } diff --git a/Target/Demo/ARMCM3_LM3S_EK_LM3S8962_GCC/Boot/bin/openblt_ek_lm3s8962.bin b/Target/Demo/ARMCM3_LM3S_EK_LM3S8962_GCC/Boot/bin/openblt_ek_lm3s8962.bin index 9b0b764c..269a626a 100644 Binary files a/Target/Demo/ARMCM3_LM3S_EK_LM3S8962_GCC/Boot/bin/openblt_ek_lm3s8962.bin and b/Target/Demo/ARMCM3_LM3S_EK_LM3S8962_GCC/Boot/bin/openblt_ek_lm3s8962.bin differ diff --git a/Target/Demo/ARMCM3_LM3S_EK_LM3S8962_GCC/Boot/bin/openblt_ek_lm3s8962.elf b/Target/Demo/ARMCM3_LM3S_EK_LM3S8962_GCC/Boot/bin/openblt_ek_lm3s8962.elf index fb42601d..aeb19d93 100644 Binary files a/Target/Demo/ARMCM3_LM3S_EK_LM3S8962_GCC/Boot/bin/openblt_ek_lm3s8962.elf and b/Target/Demo/ARMCM3_LM3S_EK_LM3S8962_GCC/Boot/bin/openblt_ek_lm3s8962.elf differ diff --git a/Target/Demo/ARMCM3_LM3S_EK_LM3S8962_GCC/Boot/bin/openblt_ek_lm3s8962.map b/Target/Demo/ARMCM3_LM3S_EK_LM3S8962_GCC/Boot/bin/openblt_ek_lm3s8962.map index 5ed81570..1d290fbb 100644 --- a/Target/Demo/ARMCM3_LM3S_EK_LM3S8962_GCC/Boot/bin/openblt_ek_lm3s8962.map +++ b/Target/Demo/ARMCM3_LM3S_EK_LM3S8962_GCC/Boot/bin/openblt_ek_lm3s8962.map @@ -1,194 +1,256 @@ - -bin/openblt_ek_lm3s8962.elf: file format elf32-littlearm -bin/openblt_ek_lm3s8962.elf -architecture: arm, flags 0x00000112: -EXEC_P, HAS_SYMS, D_PAGED -start address 0x00000000 - -Program Header: - LOAD off 0x00008000 vaddr 0x00000000 paddr 0x00000000 align 2**15 - filesz 0x00001e90 memsz 0x00001e90 flags r-x - LOAD off 0x00010000 vaddr 0x20000000 paddr 0x00001e90 align 2**15 - filesz 0x00000001 memsz 0x00000cf0 flags rw- -private flags = 5000200: [Version5 EABI] [soft-float ABI] - -Sections: -Idx Name Size VMA LMA File off Algn - 0 .text 00001e90 00000000 00000000 00008000 2**2 - CONTENTS, ALLOC, LOAD, READONLY, CODE - 1 .data 00000001 20000000 00001e90 00010000 2**0 - CONTENTS, ALLOC, LOAD, DATA - 2 .bss 00000cec 20000004 00001e94 00010001 2**2 - ALLOC - 3 .debug_info 00007e62 00000000 00000000 00010001 2**0 - CONTENTS, READONLY, DEBUGGING - 4 .debug_abbrev 00001cb7 00000000 00000000 00017e63 2**0 - CONTENTS, READONLY, DEBUGGING - 5 .debug_aranges 00000938 00000000 00000000 00019b1a 2**0 - CONTENTS, READONLY, DEBUGGING - 6 .debug_ranges 00000890 00000000 00000000 0001a452 2**0 - CONTENTS, READONLY, DEBUGGING - 7 .debug_line 00002b0c 00000000 00000000 0001ace2 2**0 - CONTENTS, READONLY, DEBUGGING - 8 .debug_str 00001d89 00000000 00000000 0001d7ee 2**0 - CONTENTS, READONLY, DEBUGGING - 9 .comment 00000030 00000000 00000000 0001f577 2**0 - CONTENTS, READONLY - 10 .ARM.attributes 00000033 00000000 00000000 0001f5a7 2**0 - CONTENTS, READONLY - 11 .debug_frame 000019b4 00000000 00000000 0001f5dc 2**2 - CONTENTS, READONLY, DEBUGGING - 12 .debug_loc 00004a3c 00000000 00000000 00020f90 2**0 - CONTENTS, READONLY, DEBUGGING -SYMBOL TABLE: -00000000 l d .text 00000000 .text -20000000 l d .data 00000000 .data -20000004 l d .bss 00000000 .bss -00000000 l d .debug_info 00000000 .debug_info -00000000 l d .debug_abbrev 00000000 .debug_abbrev -00000000 l d .debug_aranges 00000000 .debug_aranges -00000000 l d .debug_ranges 00000000 .debug_ranges -00000000 l d .debug_line 00000000 .debug_line -00000000 l d .debug_str 00000000 .debug_str -00000000 l d .comment 00000000 .comment -00000000 l d .ARM.attributes 00000000 .ARM.attributes -00000000 l d .debug_frame 00000000 .debug_frame -00000000 l d .debug_loc 00000000 .debug_loc -00000000 l df *ABS* 00000000 vectors.c -00000000 l df *ABS* 00000000 main.c -00000000 l df *ABS* 00000000 cstart.c -00000160 l F .text 00000000 zero_loop -00000000 l df *ABS* 00000000 flashlib.c -00000000 l df *ABS* 00000000 sysctl.c -000002a8 l F .text 000000e4 SysCtlPeripheralValid -00001c78 l O .text 0000005c g_pulXtals -00001cf0 l O .text 0000000c g_pulRCGCRegs -00000000 l df *ABS* 00000000 interrupt.c -00000000 l df *ABS* 00000000 gpio.c -000007c4 l F .text 00000040 GPIOBaseValid -00000000 l df *ABS* 00000000 uartlib.c -000009c0 l F .text 00000020 UARTBaseValid -00000000 l df *ABS* 00000000 canlib.c -00000b8c l F .text 00000020 CANBaseValid -00000bac l F .text 0000002c CANIntNumberGet -00000bd8 l F .text 00000018 CANRegWrite -00000bf0 l F .text 00000064 CANRegRead -00000000 l df *ABS* 00000000 boot.c -00000000 l df *ABS* 00000000 com.c -00001d62 l O .text 00000003 CSWTCH.8 -20000004 l O .bss 00000040 xcpCtoReqPacket.4167 -20000000 l O .data 00000001 comActiveInterface -00001d65 l O .text 00000003 CSWTCH.10 -00000000 l df *ABS* 00000000 xcp.c -0000131c l F .text 00000014 XcpSetCtoError -00001d68 l O .text 00000008 xcpStationId -20000044 l O .bss 0000004c xcpInfo -00000000 l df *ABS* 00000000 backdoor.c -20000090 l O .bss 00000001 backdoorOpen -20000094 l O .bss 00000004 backdoorOpenTime -00000000 l df *ABS* 00000000 cop.c -00000000 l df *ABS* 00000000 assert.c -00000000 l df *ABS* 00000000 cpu.c -00000000 l df *ABS* 00000000 uart.c -20000098 l O .bss 00000001 xcpCtoRxInProgress.4366 -2000009c l O .bss 00000004 xcpCtoRxStartTime.4367 -200000a0 l O .bss 00000041 xcpCtoReqPacket.4364 -200000e1 l O .bss 00000001 xcpCtoRxLength.4365 -00000000 l df *ABS* 00000000 can.c -00000000 l df *ABS* 00000000 nvm.c -00000000 l df *ABS* 00000000 timer.c -200000e4 l O .bss 00000004 millisecond_counter -00000000 l df *ABS* 00000000 flash.c -00001904 l F .text 00000034 FlashGetSector -00001938 l F .text 0000004c FlashWriteBlock -00001984 l F .text 00000050 FlashSwitchBlock -000019d4 l F .text 00000080 FlashAddToBlock -00001db8 l O .text 000000d8 flashLayout -200000e8 l O .bss 00000204 bootBlockInfo -200002ec l O .bss 00000204 blockInfo -00000000 l df *ABS* 00000000 cpu_comp.c -00000000 l df *ABS* 00000000 -00000800 l *ABS* 00000000 __STACKSIZE__ -00001248 g F .text 00000020 ComInit -00001a6c g F .text 00000048 FlashWrite -000015e0 g F .text 00000008 AssertFailure -00001858 g F .text 0000002c CanReceivePacket -0000013c g F .text 00000044 reset_handler -00000c54 g F .text 00000098 CANInit -000018d8 g F .text 0000001c TimerUpdate -0000135c g F .text 00000010 XcpPacketTransmitted -00001268 g F .text 0000003c ComTask -000003c4 g F .text 00000008 SysCtlDelay -00001214 g F .text 0000001e BootInit -00000cec g F .text 0000002c CANEnable -000015bc g F .text 00000020 BackDoorInit -000015de g F .text 00000002 CopService -00001e90 g .text 00000000 _etext -00001c4a g F .text 00000004 CpuIrqDisable -00001c44 g F .text 00000006 FlashGetUserProgBaseAddress -00000b14 g F .text 00000024 UARTSpaceAvail -000018cc g F .text 0000000c TimerReset -00000b60 g F .text 0000002c UARTCharPutNonBlocking -00001232 g F .text 00000016 BootTask -00001b84 g F .text 00000044 FlashWriteChecksum -000012a8 g F .text 00000030 ComTransmitPacket -0000038c g F .text 00000038 SysCtlPeripheralEnable -0000134c g F .text 00000010 XcpIsConnected -00001884 g F .text 00000004 NvmInit -00001a54 g F .text 00000018 FlashInit -00001894 g F .text 00000004 NvmGetUserProgBaseAddress -200004f0 g .bss 00000000 _ebss -00000130 g F .text 0000000c UnusedISR -000012a4 g F .text 00000002 ComFree -00001640 g F .text 00000028 UartInit -0000188c g F .text 00000004 NvmErase -00000b38 g F .text 00000028 UARTCharGetNonBlocking -20000004 g .bss 00000000 _bss -0000136c g F .text 00000218 XcpPacketReceived -000015e8 g F .text 00000004 CpuInit -00001c10 g F .text 00000034 FlashDone -00000df4 g F .text 0000007c CANStatusGet -00001804 g F .text 00000054 CanTransmitPacket -000001d0 g F .text 000000d8 FlashProgram -00001330 g F .text 0000001c XcpInit -00001ab4 g F .text 000000d0 FlashErase -000000f0 g F .text 00000040 main -00000508 g F .text 000001ac SysCtlClockGet -00000a10 g F .text 00000034 UARTDisable -00001898 g F .text 00000012 NvmDone -00001668 g F .text 0000006c UartTransmitPacket -00001890 g F .text 00000004 NvmVerifyChecksum -00001058 g F .text 000001bc CANMessageGet -00001620 g F .text 0000001e CpuMemCopy -00000958 g F .text 00000034 GPIOPinTypeCAN -000012f8 g F .text 00000020 ComGetActiveInterfaceMaxTxLen -000016d4 g F .text 00000090 UartReceivePacket -00001c4e g F .text 00000004 CpuIrqEnable -0000073c g F .text 00000088 IntDisable -20000000 g .data 00000000 _data -000015dc g F .text 00000002 CopInit -00001764 g F .text 000000a0 CanInit -00001888 g F .text 00000004 NvmWrite -000015ec g F .text 00000034 CpuStartUserProgram -00000d18 g F .text 000000dc CANBitTimingSet -20000cf0 g .bss 00000000 _estack -00001bc8 g F .text 00000048 FlashVerifyChecksum -20000001 g .data 00000000 _edata -00000000 g O .text 000000f0 _vectab -0000098c g F .text 00000034 GPIOPinTypeUART -00001318 g F .text 00000004 ComIsConnected -000006b4 g F .text 00000088 IntEnable -000012d8 g F .text 00000020 ComGetActiveInterfaceMaxRxLen -00000804 g F .text 00000054 GPIODirModeSet -00001584 g F .text 00000038 BackDoorCheck -200004f0 g .bss 00000000 _stack -000018f4 g F .text 00000010 TimerGet -00000e70 g F .text 000001e8 CANMessageSet -00000a44 g F .text 000000d0 UARTConfigSetExpClk -000003cc g F .text 0000013c SysCtlClockSet -00000858 g F .text 00000100 GPIOPadConfigSet -000018ac g F .text 00000020 TimerInit -0000018c g F .text 00000044 FlashClear -000009e0 g F .text 00000030 UARTEnable - - + +bin/openblt_ek_lm3s8962.elf: file format elf32-littlearm +bin/openblt_ek_lm3s8962.elf +architecture: arm, flags 0x00000112: +EXEC_P, HAS_SYMS, D_PAGED +start address 0x00000000 + +Program Header: + LOAD off 0x00010000 vaddr 0x00000000 paddr 0x00000000 align 2**16 + filesz 0x00002514 memsz 0x00002514 flags r-x + LOAD off 0x00020000 vaddr 0x20000000 paddr 0x00002514 align 2**16 + filesz 0x0000000c memsz 0x00000d10 flags rw- +private flags = 5000200: [Version5 EABI] [soft-float ABI] + +Sections: +Idx Name Size VMA LMA File off Algn + 0 .text 00002514 00000000 00000000 00010000 2**2 + CONTENTS, ALLOC, LOAD, READONLY, CODE + 1 .data 0000000c 20000000 00002514 00020000 2**2 + CONTENTS, ALLOC, LOAD, DATA + 2 .bss 00000d04 2000000c 00002520 0002000c 2**2 + ALLOC + 3 .ARM.attributes 00000029 00000000 00000000 0002000c 2**0 + CONTENTS, READONLY + 4 .comment 0000006e 00000000 00000000 00020035 2**0 + CONTENTS, READONLY + 5 .debug_info 00007bd6 00000000 00000000 000200a3 2**0 + CONTENTS, READONLY, DEBUGGING + 6 .debug_abbrev 0000174a 00000000 00000000 00027c79 2**0 + CONTENTS, READONLY, DEBUGGING + 7 .debug_aranges 00000a18 00000000 00000000 000293c3 2**0 + CONTENTS, READONLY, DEBUGGING + 8 .debug_ranges 000008b8 00000000 00000000 00029ddb 2**0 + CONTENTS, READONLY, DEBUGGING + 9 .debug_macro 000083f9 00000000 00000000 0002a693 2**0 + CONTENTS, READONLY, DEBUGGING + 10 .debug_line 00003c87 00000000 00000000 00032a8c 2**0 + CONTENTS, READONLY, DEBUGGING + 11 .debug_str 00020952 00000000 00000000 00036713 2**0 + CONTENTS, READONLY, DEBUGGING + 12 .debug_frame 000019e8 00000000 00000000 00057068 2**2 + CONTENTS, READONLY, DEBUGGING + 13 .debug_loc 00004d6b 00000000 00000000 00058a50 2**0 + CONTENTS, READONLY, DEBUGGING +SYMBOL TABLE: +00000000 l d .text 00000000 .text +20000000 l d .data 00000000 .data +2000000c l d .bss 00000000 .bss +00000000 l d .ARM.attributes 00000000 .ARM.attributes +00000000 l d .comment 00000000 .comment +00000000 l d .debug_info 00000000 .debug_info +00000000 l d .debug_abbrev 00000000 .debug_abbrev +00000000 l d .debug_aranges 00000000 .debug_aranges +00000000 l d .debug_ranges 00000000 .debug_ranges +00000000 l d .debug_macro 00000000 .debug_macro +00000000 l d .debug_line 00000000 .debug_line +00000000 l d .debug_str 00000000 .debug_str +00000000 l d .debug_frame 00000000 .debug_frame +00000000 l d .debug_loc 00000000 .debug_loc +00000000 l df *ABS* 00000000 vectors.c +00000000 l df *ABS* 00000000 crtstuff.c +00002510 l O .text 00000000 __EH_FRAME_BEGIN__ +000000f0 l F .text 00000000 __do_global_dtors_aux +2000000c l .bss 00000000 completed.8603 +20000008 l O .data 00000000 __do_global_dtors_aux_fini_array_entry +00000114 l F .text 00000000 frame_dummy +20000010 l .bss 00000000 object.8608 +20000004 l O .data 00000000 __frame_dummy_init_array_entry +00000000 l df *ABS* 00000000 main.c +0000015c l F .text 00000038 Init +00000000 l df *ABS* 00000000 cstart.c +000001c6 l F .text 00000000 zero_loop +00000000 l df *ABS* 00000000 sysctl.c +000001f0 l F .text 000001f8 SysCtlPeripheralValid +000022e8 l O .text 0000005c g_pulXtals +0000235c l O .text 0000000c g_pulRCGCRegs +00000000 l df *ABS* 00000000 flashlib.c +00000000 l df *ABS* 00000000 interrupt.c +00000000 l df *ABS* 00000000 canlib.c +000009d0 l F .text 0000002c CANBaseValid +000009fc l F .text 0000002c CANIntNumberGet +00000a28 l F .text 0000001a CANRegWrite +00000a44 l F .text 0000002e CANDataRegWrite +00000a74 l F .text 00000068 CANRegRead +00000adc l F .text 0000002e CANDataRegRead +00000000 l df *ABS* 00000000 gpio.c +000010f4 l F .text 000000dc GPIOBaseValid +00000000 l df *ABS* 00000000 uartlib.c +000013ec l F .text 0000002c UARTBaseValid +00000000 l df *ABS* 00000000 xcp.c +000015e8 l F .text 0000001e XcpComputeChecksum +00001608 l F .text 0000000c XcpProtectResources +00001614 l F .text 00000014 XcpSetCtoError +00001628 l F .text 0000001c XcpCmdDisconnect +00001644 l F .text 00000020 XcpCmdGetStatus +00001664 l F .text 0000000a XcpCmdSynch +00001670 l F .text 0000002c XcpCmdGetId +0000169c l F .text 00000018 XcpCmdSetMta +000016b4 l F .text 00000028 XcpCmdBuildCheckSum +000016dc l F .text 0000000a XcpCmdProgramPrepare +000016e8 l F .text 00000028 XcpCmdProgramStart +00001710 l F .text 00000044 XcpCmdConnect +00001754 l F .text 00000040 XcpCmdUpload +00001794 l F .text 00000040 XcpCmdShortUpload +000017d4 l F .text 00000040 XcpCmdProgramMax +00001814 l F .text 0000005c XcpCmdProgram +00001870 l F .text 00000028 XcpCmdProgramClear +00001898 l F .text 00000018 XcpCmdProgramReset +000018b0 l F .text 0000000a XcpTransmitPacket +000023e8 l O .text 00000008 xcpStationId +20000028 l O .bss 0000004c xcpInfo +00000000 l df *ABS* 00000000 com.c +20000074 l O .bss 00000040 xcpCtoReqPacket.4275 +20000000 l O .data 00000001 comActiveInterface +00000000 l df *ABS* 00000000 backdoor.c +200000b4 l O .bss 00000001 backdoorOpen +200000b8 l O .bss 00000004 backdoorOpenTime +00000000 l df *ABS* 00000000 boot.c +00000000 l df *ABS* 00000000 cop.c +00000000 l df *ABS* 00000000 assert.c +00000000 l df *ABS* 00000000 uart.c +00001b48 l F .text 00000028 UartTransmitByte +00001b70 l F .text 00000020 UartReceiveByte +200000bc l O .bss 00000004 xcpCtoRxStartTime.4475 +200000c0 l O .bss 00000041 xcpCtoReqPacket.4472 +20000101 l O .bss 00000001 xcpCtoRxLength.4473 +20000102 l O .bss 00000001 xcpCtoRxInProgress.4474 +00000000 l df *ABS* 00000000 nvm.c +00000000 l df *ABS* 00000000 cpu.c +00000000 l df *ABS* 00000000 flash.c +00001d3c l F .text 00000048 FlashGetSector +00001d84 l F .text 00000038 FlashGetSectorBaseAddr +00001dbc l F .text 00000038 FlashGetSectorSize +00001df4 l F .text 00000026 FlashInitBlock +00001e1c l F .text 0000005c FlashWriteBlock +00001e78 l F .text 0000003c FlashSwitchBlock +00001eb4 l F .text 0000007a FlashAddToBlock +00001f30 l F .text 0000005e FlashEraseSectors +00002414 l O .text 000000d8 flashLayout +20000104 l O .bss 00000204 bootBlockInfo +20000308 l O .bss 00000204 blockInfo +00000000 l df *ABS* 00000000 can.c +0000210c l F .text 00000074 CanSetBittiming +00000000 l df *ABS* 00000000 timer.c +2000050c l O .bss 00000004 millisecond_counter +00000000 l df *ABS* 00000000 cpu_comp.c +00000000 l df *ABS* 00000000 /opt/gcc-arm-none-eabi-5_4-2016q3/bin/../lib/gcc/arm-none-eabi/5.4.1/armv7-m/crti.o +00000000 l df *ABS* 00000000 /opt/gcc-arm-none-eabi-5_4-2016q3/bin/../lib/gcc/arm-none-eabi/5.4.1/armv7-m/crtn.o +00000000 l df *ABS* 00000000 crtstuff.c +00002510 l O .text 00000000 __FRAME_END__ +00000000 l df *ABS* 00000000 +00000000 l *UND* 00000000 __bss_start__ +00000000 l *UND* 00000000 __libc_fini_array +00000000 l *UND* 00000000 __sf_fake_stderr +00000000 l *UND* 00000000 __bss_end__ +00000000 l *UND* 00000000 __call_exitprocs +00000000 l *UND* 00000000 software_init_hook +00000000 l *UND* 00000000 __sf_fake_stdin +20000008 l .data 00000000 __init_array_end +00000000 l *UND* 00000000 hardware_init_hook +00000000 l *UND* 00000000 atexit +20000004 l .data 00000000 __preinit_array_end +00000000 l *UND* 00000000 __stack +00000000 l *UND* 00000000 __sf_fake_stdout +20000004 l .data 00000000 __init_array_start +00000000 l *UND* 00000000 _exit +20000004 l .data 00000000 __preinit_array_start +000019d8 g F .text 00000020 ComInit +00001fa8 g F .text 00000058 FlashWrite +00001b40 g F .text 00000008 AssertFailure +00002230 g F .text 00000030 CanReceivePacket +000001a4 g F .text 00000040 reset_handler +00000b0c g F .text 0000009c CANInit +00002290 g F .text 0000001c TimerUpdate +000018e8 g F .text 00000010 XcpPacketTransmitted +000019f8 g F .text 00000038 ComTask +00000420 g F .text 00000008 SysCtlDelay +00001b08 g F .text 0000001c BootInit +00000ba8 g F .text 0000002c CANEnable +00001ae8 g F .text 00000020 BackDoorInit +00001b3c g F .text 00000002 CopService +00002514 g .text 00000000 _etext +000022bc g F .text 00000004 CpuIrqDisable +00002104 g F .text 00000006 FlashGetUserProgBaseAddress +00001568 g F .text 00000028 UARTSpaceAvail +00002260 g F .text 0000000c TimerReset +000015bc g F .text 0000002c UARTCharPutNonBlocking +00001b24 g F .text 00000014 BootTask +00002030 g F .text 0000004c FlashWriteChecksum +00001a34 g F .text 0000002c ComTransmitPacket +000003e8 g F .text 00000038 SysCtlPeripheralEnable +000018d8 g F .text 00000010 XcpIsConnected +000022c4 g F .text 00000000 _init +00001ca4 g F .text 00000008 NvmInit +00001f90 g F .text 00000018 FlashInit +00001cc4 g F .text 00000008 NvmGetUserProgBaseAddress +20000510 g .bss 00000000 _ebss +00000800 g *ABS* 00000000 __STACKSIZE__ +0000014c g F .text 00000010 UnusedISR +00001a30 g F .text 00000002 ComFree +00000000 w *UND* 00000000 __deregister_frame_info +00001b90 g F .text 00000024 UartInit +00001cb4 g F .text 00000008 NvmErase +00001590 g F .text 0000002c UARTCharGetNonBlocking +2000000c g .bss 00000000 _bss +000018f8 g F .text 000000e0 XcpPacketReceived +00001ce0 g F .text 00000008 CpuInit +000020c4 g F .text 00000040 FlashDone +00000cb0 g F .text 0000008c CANStatusGet +000021d8 g F .text 00000058 CanTransmitPacket +000007e4 g F .text 000000d4 FlashProgram +000018bc g F .text 0000001c XcpInit +00002000 g F .text 0000002e FlashErase +00000194 g F .text 00000010 main +0000058c g F .text 00000204 SysCtlClockGet +00001448 g F .text 00000038 UARTDisable +00001ccc g F .text 00000014 NvmDone +00001bb4 g F .text 00000050 UartTransmitPacket +00001cbc g F .text 00000008 NvmVerifyChecksum +00000f38 g F .text 000001bc CANMessageGet +00001d1c g F .text 00000020 CpuMemCopy +00001384 g F .text 00000034 GPIOPinTypeCAN +000022d0 g F .text 00000000 _fini +00001a84 g F .text 00000024 ComGetActiveInterfaceMaxTxLen +00001c04 g F .text 000000a0 UartReceivePacket +000022c0 g F .text 00000004 CpuIrqEnable +00000944 g F .text 0000008c IntDisable +20000000 g .data 00000000 _data +00001b38 g F .text 00000002 CopInit +00002180 g F .text 00000058 CanInit +00001cac g F .text 00000008 NvmWrite +00001ce8 g F .text 00000034 CpuStartUserProgram +00000bd4 g F .text 000000dc CANBitTimingSet +20000d10 g .bss 00000000 _estack +0000207c g F .text 00000048 FlashVerifyChecksum +2000000c g .data 00000000 _edata +00000000 g O .text 000000f0 _vectab +000013b8 g F .text 00000034 GPIOPinTypeUART +00001aa8 g F .text 00000008 ComIsConnected +000008b8 g F .text 0000008c IntEnable +00001a60 g F .text 00000024 ComGetActiveInterfaceMaxRxLen +000011d0 g F .text 00000060 GPIODirModeSet +00001ab0 g F .text 00000038 BackDoorCheck +20000510 g .bss 00000000 _stack +000022ac g F .text 00000010 TimerGet +00000000 w *UND* 00000000 _Jv_RegisterClasses +00000d3c g F .text 000001fc CANMessageSet +00001480 g F .text 000000e8 UARTConfigSetExpClk +00000428 g F .text 00000164 SysCtlClockSet +00001230 g F .text 00000154 GPIOPadConfigSet +0000226c g F .text 00000024 TimerInit +00000000 w *UND* 00000000 __register_frame_info +00000790 g F .text 00000054 FlashClear +00001418 g F .text 00000030 UARTEnable + + diff --git a/Target/Demo/ARMCM3_LM3S_EK_LM3S8962_GCC/Boot/makefile b/Target/Demo/ARMCM3_LM3S_EK_LM3S8962_GCC/Boot/makefile index a93d3cec..5ebde5d1 100644 --- a/Target/Demo/ARMCM3_LM3S_EK_LM3S8962_GCC/Boot/makefile +++ b/Target/Demo/ARMCM3_LM3S_EK_LM3S8962_GCC/Boot/makefile @@ -1,11 +1,11 @@ #**************************************************************************************** -#| Description: Makefile for LM3S using CodeSourcery GNU GCC compiler toolset +#| Description: Makefile for GNU ARM Embedded toolchain. #| File Name: makefile #| #|--------------------------------------------------------------------------------------- #| C O P Y R I G H T #|--------------------------------------------------------------------------------------- -#| Copyright (c) 2012 by Feaser http://www.feaser.com All rights reserved +#| Copyright (c) 2017 by Feaser http://www.feaser.com All rights reserved #| #|--------------------------------------------------------------------------------------- #| L I C E N S E @@ -25,138 +25,111 @@ #**************************************************************************************** SHELL = sh -#|---------------------------------------------------------------------------------------| -#| Configure project name | -#|---------------------------------------------------------------------------------------| +#|--------------------------------------------------------------------------------------| +#| Configure project name | +#|--------------------------------------------------------------------------------------| PROJ_NAME=openblt_ek_lm3s8962 -#|---------------------------------------------------------------------------------------| -#| Speficy project source files | -#|---------------------------------------------------------------------------------------| -PROJ_FILES= \ -blt_conf.h \ -hooks.c \ -main.c \ -vectors.c \ -cstart.c \ -./lib/inc/hw_flash.h \ -./lib/inc/hw_gpio.h \ -./lib/inc/hw_ints.h \ -./lib/inc/hw_memmap.h \ -./lib/inc/hw_nvic.h \ -./lib/inc/hw_sysctl.h \ --./lib/inc/hw_types.h \ -./lib/inc/hw_uart.h \ -./lib/inc/hw_can.h \ -./lib/driverlib/cpulib.c \ -./lib/driverlib/flashlib.c \ -./lib/driverlib/gpio.h \ -./lib/driverlib/sysctl.c \ -./lib/driverlib/uartlib.h \ -./lib/driverlib/canlib.h \ -./lib/driverlib/cpulib.h \ -./lib/driverlib/flashlib.h \ -./lib/driverlib/interrupt.c \ -./lib/driverlib/sysctl.h \ -./lib/driverlib/debug.h \ -./lib/driverlib/gpio.c \ -./lib/driverlib/interrupt.h \ -./lib/driverlib/uartlib.c \ -./lib/driverlib/canlib.c \ -../../../Source/boot.c \ -../../../Source/boot.h \ -../../../Source/com.c \ -../../../Source/com.h \ -../../../Source/xcp.c \ -../../../Source/xcp.h \ -../../../Source/backdoor.c \ -../../../Source/backdoor.h \ -../../../Source/cop.c \ -../../../Source/cop.h \ -../../../Source/assert.c \ -../../../Source/assert.h \ -../../../Source/cpu.h \ -../../../Source/uart.h \ -../../../Source/can.h \ -../../../Source/nvm.h \ -../../../Source/timer.h \ -../../../Source/plausibility.h \ -../../../Source/ARMCM3_LM3S/types.h \ -../../../Source/ARMCM3_LM3S/cpu.c \ -../../../Source/ARMCM3_LM3S/uart.c \ -../../../Source/ARMCM3_LM3S/can.c \ -../../../Source/ARMCM3_LM3S/nvm.c \ -../../../Source/ARMCM3_LM3S/timer.c \ -../../../Source/ARMCM3_LM3S/flash.c \ -../../../Source/ARMCM3_LM3S/flash.h \ -../../../Source/ARMCM3_LM3S/GCC/cpu_comp.c +#|--------------------------------------------------------------------------------------| +#| Configure tool path | +#|--------------------------------------------------------------------------------------| +TOOL_PATH=/opt/gcc-arm-none-eabi-5_4-2016q3/bin/ -#|---------------------------------------------------------------------------------------| -#| Compiler binaries | -#|---------------------------------------------------------------------------------------| -CC = arm-none-eabi-gcc -LN = arm-none-eabi-gcc -OC = arm-none-eabi-objcopy -OD = arm-none-eabi-objdump -AS = arm-none-eabi-as -SZ = arm-none-eabi-size +#|--------------------------------------------------------------------------------------| +#| Collect project files | +#|--------------------------------------------------------------------------------------| +# Recursive wildcard function implementation. Example usages: +# $(call rwildcard, , *.c *.h) +# --> Returns all *.c and *.h files in the current directory and below +# $(call rwildcard, /lib/, *.c) +# --> Returns all *.c files in the /lib directory and below +rwildcard = $(strip $(foreach d,$(wildcard $1*),$(call rwildcard,$d/,$2) $(filter $(subst *,%,$2),$d))) + +# Collect all application files in the current directory and its subdirectories, but +# exclude flash-layout.c as this one is directly included in a source file, when used. +PROJ_FILES = $(filter-out flash_layout.c, $(call rwildcard, , *.c *.h *.S)) +# Collect bootloader core files +PROJ_FILES += $(wildcard ../../../Source/*.c) +PROJ_FILES += $(wildcard ../../../Source/*.h) +# Collect bootloader port files +PROJ_FILES += $(wildcard ../../../Source/ARMCM3_LM3S/*.c) +PROJ_FILES += $(wildcard ../../../Source/ARMCM3_LM3S/*.h) +# Collect bootloader port compiler specific files +PROJ_FILES += $(wildcard ../../../Source/ARMCM3_LM3S/GCC/*.c) +PROJ_FILES += $(wildcard ../../../Source/ARMCM3_LM3S/GCC/*.h) -#|---------------------------------------------------------------------------------------| -#| Extract file names | -#|---------------------------------------------------------------------------------------| -PROJ_ASRCS = $(filter %.s,$(foreach file,$(PROJ_FILES),$(notdir $(file)))) +#|--------------------------------------------------------------------------------------| +#| Toolchain binaries | +#|--------------------------------------------------------------------------------------| +RM = rm +CC = $(TOOL_PATH)arm-none-eabi-gcc +LN = $(TOOL_PATH)arm-none-eabi-gcc +OC = $(TOOL_PATH)arm-none-eabi-objcopy +OD = $(TOOL_PATH)arm-none-eabi-objdump +AS = $(TOOL_PATH)arm-none-eabi-gcc +SZ = $(TOOL_PATH)arm-none-eabi-size + + +#|--------------------------------------------------------------------------------------| +#| Filter project files +#|--------------------------------------------------------------------------------------| +PROJ_ASRCS = $(filter %.S,$(foreach file,$(PROJ_FILES),$(notdir $(file)))) PROJ_CSRCS = $(filter %.c,$(foreach file,$(PROJ_FILES),$(notdir $(file)))) PROJ_CHDRS = $(filter %.h,$(foreach file,$(PROJ_FILES),$(notdir $(file)))) -PROJ_CCMPL = $(patsubst %.c,%.cpl,$(PROJ_CSRCS)) -PROJ_ACMPL = $(patsubst %.s,%.cpl,$(PROJ_ASRCS)) -#|---------------------------------------------------------------------------------------| -#| Set important path variables | -#|---------------------------------------------------------------------------------------| +#|--------------------------------------------------------------------------------------| +#| Set important path variables | +#|--------------------------------------------------------------------------------------| VPATH = $(foreach path,$(sort $(foreach file,$(PROJ_FILES),$(dir $(file)))) $(subst \,/,$(OBJ_PATH)),$(path) :) OBJ_PATH = obj BIN_PATH = bin -INC_PATH = $(patsubst %,-I%,$(sort $(foreach file,$(filter %.h,$(PROJ_FILES)),$(dir $(file))))) -INC_PATH += -I. -I./lib -LIB_PATH = -L./ +INC_PATH = $(patsubst %/,%,$(patsubst %,-I%,$(sort $(foreach file,$(filter %.h,$(PROJ_FILES)),$(dir $(file)))))) +INC_PATH += -I./lib +LIB_PATH = -#|---------------------------------------------------------------------------------------| -#| Options for compiler binaries | -#|---------------------------------------------------------------------------------------| -CFLAGS = -g -mthumb -mcpu=cortex-m3 -Os -T memory.x -CFLAGS += -D PACK_STRUCT_END=__attribute\(\(packed\)\) -Wno-main -CFLAGS += -D ALIGN_STRUCT_END=__attribute\(\(aligned\(4\)\)\) -CFLAGS += -ffunction-sections -fdata-sections $(INC_PATH) -D DEBUG -D gcc -CFLAGS += -Wa,-adhlns="$(OBJ_PATH)/$(subst .o,.lst,$@)" -LFLAGS = -nostartfiles -Xlinker -M -Xlinker -Map=$(BIN_PATH)/$(PROJ_NAME).map -LFLAGS += $(LIB_PATH) -Xlinker --gc-sections -OFLAGS = -O binary -ODFLAGS = -x -SZFLAGS = -B -d +#|--------------------------------------------------------------------------------------| +#| Options for toolchain binaries | +#|--------------------------------------------------------------------------------------| +STDFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft -fno-strict-aliasing +STDFLAGS += -Wno-unused-but-set-variable +STDFLAGS += -fdata-sections -ffunction-sections -Wall -g3 +OPTFLAGS = -Og +CFLAGS = $(STDFLAGS) $(OPTFLAGS) +CFLAGS += -DDEBUG -Dgcc +CFLAGS += $(INC_PATH) +AFLAGS = $(CFLAGS) +LFLAGS = $(STDFLAGS) $(OPTFLAGS) +LFLAGS += -Wl,-script="memory.x" -Wl,-Map=$(BIN_PATH)/$(PROJ_NAME).map +LFLAGS += -specs=nano.specs -Wl,--gc-sections $(LIB_PATH) +OFLAGS = -O binary +ODFLAGS = -x +SZFLAGS = -B -d +RMFLAGS = -f -#|---------------------------------------------------------------------------------------| -#| Specify library files | -#|---------------------------------------------------------------------------------------| +#|--------------------------------------------------------------------------------------| +#| Specify library files | +#|--------------------------------------------------------------------------------------| LIBS = -#|---------------------------------------------------------------------------------------| -#| Define targets | -#|---------------------------------------------------------------------------------------| -AOBJS = $(patsubst %.s,%.o,$(PROJ_ASRCS)) +#|--------------------------------------------------------------------------------------| +#| Define targets | +#|--------------------------------------------------------------------------------------| +AOBJS = $(patsubst %.S,%.o,$(PROJ_ASRCS)) COBJS = $(patsubst %.c,%.o,$(PROJ_CSRCS)) -#|---------------------------------------------------------------------------------------| -#| Make ALL | -#|---------------------------------------------------------------------------------------| -all : $(BIN_PATH)/$(PROJ_NAME).bin +#|--------------------------------------------------------------------------------------| +#| Make ALL | +#|--------------------------------------------------------------------------------------| +.PHONY: all +all: $(BIN_PATH)/$(PROJ_NAME).bin $(BIN_PATH)/$(PROJ_NAME).bin : $(BIN_PATH)/$(PROJ_NAME).elf @@ -168,31 +141,32 @@ $(BIN_PATH)/$(PROJ_NAME).bin : $(BIN_PATH)/$(PROJ_NAME).elf $(BIN_PATH)/$(PROJ_NAME).elf : $(AOBJS) $(COBJS) @echo +++ Linking [$(notdir $@)] - @$(LN) $(CFLAGS) -o $@ $(patsubst %.o,$(OBJ_PATH)/%.o,$(^F)) $(LIBS) $(LFLAGS) + @$(LN) $(LFLAGS) -o $@ $(patsubst %.o,$(OBJ_PATH)/%.o,$(^F)) $(LIBS) -#|---------------------------------------------------------------------------------------| -#| Compile and assemble | -#|---------------------------------------------------------------------------------------| -$(AOBJS): %.o: %.s $(PROJ_CHDRS) +#|--------------------------------------------------------------------------------------| +#| Compile and assemble | +#|--------------------------------------------------------------------------------------| +$(AOBJS): %.o: %.S $(PROJ_CHDRS) @echo +++ Assembling [$(notdir $<)] - @$(AS) $(AFLAGS) $< -o $(OBJ_PATH)/$(@F) + @$(AS) $(AFLAGS) -c $< -o $(OBJ_PATH)/$(@F) $(COBJS): %.o: %.c $(PROJ_CHDRS) @echo +++ Compiling [$(notdir $<)] @$(CC) $(CFLAGS) -c $< -o $(OBJ_PATH)/$(@F) -#|---------------------------------------------------------------------------------------| -#| Make CLEAN | -#|---------------------------------------------------------------------------------------| -clean : +#|--------------------------------------------------------------------------------------| +#| Make CLEAN | +#|--------------------------------------------------------------------------------------| +.PHONY: clean +clean: @echo +++ Cleaning build environment - @cs-rm -f $(foreach file,$(AOBJS),$(OBJ_PATH)/$(file)) - @cs-rm -f $(foreach file,$(COBJS),$(OBJ_PATH)/$(file)) - @cs-rm -f $(patsubst %.o,%.lst,$(foreach file,$(COBJS),$(OBJ_PATH)/$(file))) - @cs-rm -f $(BIN_PATH)/$(PROJ_NAME).elf $(BIN_PATH)/$(PROJ_NAME).map - @cs-rm -f $(BIN_PATH)/$(PROJ_NAME).bin + @$(RM) $(RMFLAGS) $(foreach file,$(AOBJS),$(OBJ_PATH)/$(file)) + @$(RM) $(RMFLAGS) $(foreach file,$(COBJS),$(OBJ_PATH)/$(file)) + @$(RM) $(RMFLAGS) $(patsubst %.o,%.lst,$(foreach file,$(COBJS),$(OBJ_PATH)/$(file))) + @$(RM) $(RMFLAGS) $(BIN_PATH)/$(PROJ_NAME).elf $(BIN_PATH)/$(PROJ_NAME).map + @$(RM) $(RMFLAGS) $(BIN_PATH)/$(PROJ_NAME).srec @echo +++ Clean complete - \ No newline at end of file + diff --git a/Target/Demo/ARMCM3_LM3S_EK_LM3S8962_GCC/Boot/memory.x b/Target/Demo/ARMCM3_LM3S_EK_LM3S8962_GCC/Boot/memory.x index a4d45592..9964d4fc 100644 --- a/Target/Demo/ARMCM3_LM3S_EK_LM3S8962_GCC/Boot/memory.x +++ b/Target/Demo/ARMCM3_LM3S_EK_LM3S8962_GCC/Boot/memory.x @@ -10,17 +10,60 @@ SECTIONS .text : { - KEEP(*(.isr_vector)) - *(.text*) - *(.rodata*) + KEEP(*(.isr_vector)) + *(.text*) + + KEEP(*(.init)) + KEEP(*(.fini)) + + /* .ctors */ + *crtbegin.o(.ctors) + *crtbegin?.o(.ctors) + *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors) + *(SORT(.ctors.*)) + *(.ctors) + + /* .dtors */ + *crtbegin.o(.dtors) + *crtbegin?.o(.dtors) + *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors) + *(SORT(.dtors.*)) + *(.dtors) + + *(.rodata*) + + KEEP(*(.eh_frame*)) _etext = .; } > FLASH .data : AT (ADDR(.text) + SIZEOF(.text)) { _data = .; - *(vtable) - *(.data*) + *(vtable) + *(.data*) + + . = ALIGN(4); + /* preinit data */ + PROVIDE_HIDDEN (__preinit_array_start = .); + KEEP(*(.preinit_array)) + PROVIDE_HIDDEN (__preinit_array_end = .); + + . = ALIGN(4); + /* init data */ + PROVIDE_HIDDEN (__init_array_start = .); + KEEP(*(SORT(.init_array.*))) + KEEP(*(.init_array)) + PROVIDE_HIDDEN (__init_array_end = .); + + + . = ALIGN(4); + /* finit data */ + PROVIDE_HIDDEN (__fini_array_start = .); + KEEP(*(SORT(.fini_array.*))) + KEEP(*(.fini_array)) + PROVIDE_HIDDEN (__fini_array_end = .); + + . = ALIGN(4); _edata = .; } > SRAM diff --git a/Target/Demo/ARMCM3_LM3S_EK_LM3S8962_GCC/Prog/bin/demoprog_ek_lm3s8962.elf b/Target/Demo/ARMCM3_LM3S_EK_LM3S8962_GCC/Prog/bin/demoprog_ek_lm3s8962.elf index 307d3a22..2bbac9ac 100644 Binary files a/Target/Demo/ARMCM3_LM3S_EK_LM3S8962_GCC/Prog/bin/demoprog_ek_lm3s8962.elf and b/Target/Demo/ARMCM3_LM3S_EK_LM3S8962_GCC/Prog/bin/demoprog_ek_lm3s8962.elf differ diff --git a/Target/Demo/ARMCM3_LM3S_EK_LM3S8962_GCC/Prog/bin/demoprog_ek_lm3s8962.map b/Target/Demo/ARMCM3_LM3S_EK_LM3S8962_GCC/Prog/bin/demoprog_ek_lm3s8962.map index 8bf7f891..1e8353ea 100644 --- a/Target/Demo/ARMCM3_LM3S_EK_LM3S8962_GCC/Prog/bin/demoprog_ek_lm3s8962.map +++ b/Target/Demo/ARMCM3_LM3S_EK_LM3S8962_GCC/Prog/bin/demoprog_ek_lm3s8962.map @@ -1,132 +1,182 @@ - -bin/demoprog_ek_lm3s8962.elf: file format elf32-littlearm -bin/demoprog_ek_lm3s8962.elf -architecture: arm, flags 0x00000112: -EXEC_P, HAS_SYMS, D_PAGED -start address 0x00004000 - -Program Header: - LOAD off 0x00000000 vaddr 0x00000000 paddr 0x00000000 align 2**15 - filesz 0x00005c3c memsz 0x00005c3c flags r-x - LOAD off 0x00008000 vaddr 0x20000000 paddr 0x20000000 align 2**15 - filesz 0x00000000 memsz 0x0000045c flags rw- -private flags = 5000202: [Version5 EABI] [soft-float ABI] [has entry point] - -Sections: -Idx Name Size VMA LMA File off Algn - 0 .text 00001c3c 00004000 00004000 00004000 2**2 - CONTENTS, ALLOC, LOAD, READONLY, CODE - 1 .bss 0000045c 20000000 20000000 00008000 2**2 - ALLOC - 2 .debug_info 00005517 00000000 00000000 00005c3c 2**0 - CONTENTS, READONLY, DEBUGGING - 3 .debug_abbrev 00000da5 00000000 00000000 0000b153 2**0 - CONTENTS, READONLY, DEBUGGING - 4 .debug_loc 00002f2b 00000000 00000000 0000bef8 2**0 - CONTENTS, READONLY, DEBUGGING - 5 .debug_aranges 000006c0 00000000 00000000 0000ee23 2**0 - CONTENTS, READONLY, DEBUGGING - 6 .debug_ranges 00000630 00000000 00000000 0000f4e3 2**0 - CONTENTS, READONLY, DEBUGGING - 7 .debug_line 00001aaf 00000000 00000000 0000fb13 2**0 - CONTENTS, READONLY, DEBUGGING - 8 .debug_str 00001536 00000000 00000000 000115c2 2**0 - CONTENTS, READONLY, DEBUGGING - 9 .comment 00000030 00000000 00000000 00012af8 2**0 - CONTENTS, READONLY - 10 .ARM.attributes 00000033 00000000 00000000 00012b28 2**0 - CONTENTS, READONLY - 11 .debug_frame 000011fc 00000000 00000000 00012b5c 2**2 - CONTENTS, READONLY, DEBUGGING -SYMBOL TABLE: -00004000 l d .text 00000000 .text -20000000 l d .bss 00000000 .bss -00000000 l d .debug_info 00000000 .debug_info -00000000 l d .debug_abbrev 00000000 .debug_abbrev -00000000 l d .debug_loc 00000000 .debug_loc -00000000 l d .debug_aranges 00000000 .debug_aranges -00000000 l d .debug_ranges 00000000 .debug_ranges -00000000 l d .debug_line 00000000 .debug_line -00000000 l d .debug_str 00000000 .debug_str -00000000 l d .comment 00000000 .comment -00000000 l d .ARM.attributes 00000000 .ARM.attributes -00000000 l d .debug_frame 00000000 .debug_frame -00000000 l df *ABS* 00000000 vectors.c -00000000 l df *ABS* 00000000 boot.c -20000000 l O .bss 00000041 xcpCtoReqPacket.4538 -20000044 l O .bss 00000001 xcpCtoRxInProgress.4540 -20000045 l O .bss 00000001 xcpCtoRxLength.4539 -20000048 l O .bss 00000004 xcpCtoRxStartTime.4541 -00000000 l df *ABS* 00000000 cstart.c -000043ac l F .text 00000000 zero_loop -00000000 l df *ABS* 00000000 led.c -2000004c l O .bss 00000004 timer_counter_last.4520 -20000050 l O .bss 00000001 led_toggle_state.4519 -00000000 l df *ABS* 00000000 main.c -20000054 l O .bss 00000004 assert_failure_line.4527 -00000000 l df *ABS* 00000000 time.c -20000058 l O .bss 00000004 millisecond_counter -00000000 l df *ABS* 00000000 can.c -00004548 l F .text 00000024 CANBaseValid -0000456c l F .text 00000032 CANIntNumberGet -000045a0 l F .text 0000001e CANRegWrite -000045c0 l F .text 00000094 CANRegRead -00000000 l df *ABS* 00000000 gpio.c -00004e10 l F .text 0000008a GPIOBaseValid -00000000 l df *ABS* 00000000 interrupt.c -00000000 l df *ABS* 00000000 sysctl.c -0000529c l F .text 00000154 SysCtlPeripheralValid -00005b8c l O .text 0000005c g_pulXtals -00005c00 l O .text 0000000c g_pulRCGCRegs -00000000 l df *ABS* 00000000 systick.c -00000000 l df *ABS* 00000000 uart.c -00005920 l F .text 00000026 UARTBaseValid -00000000 l df *ABS* 00000000 -00000400 l *ABS* 00000000 __STACKSIZE__ -000044d4 g F .text 0000000c __error__ -00004368 g F .text 00000060 reset_handler -00004654 g F .text 000000e0 CANInit -0000544c g F .text 00000008 SysCtlDelay -00004734 g F .text 00000044 CANEnable -00005c3c g .text 00000000 _etext -00005038 g F .text 00000030 GPIOPinWrite -000053f0 g F .text 00000046 SysCtlPeripheralEnable -00005438 g F .text 00000012 SysCtlReset -2000005c g .bss 00000000 _ebss -00004544 g F .text 00000002 UnusedISR -000043d4 g F .text 0000003a LedInit -00004534 g F .text 00000010 TimeISRHandler -00005b0c g F .text 00000036 UARTCharGetNonBlocking -20000000 g .bss 00000000 _bss -000058f4 g F .text 0000002a SysTickPeriodSet -000048ac g F .text 000000b0 CANStatusGet -0000448c g F .text 00000048 main -00005610 g F .text 000002ba SysCtlClockGet -00005984 g F .text 00000044 UARTDisable -00004bf4 g F .text 0000021a CANMessageGet -00005068 g F .text 0000004c GPIOPinTypeCAN -000040f4 g F .text 0000011e BootComInit -000044e0 g F .text 00000046 TimeInit -000051f4 g F .text 000000a8 IntDisable -20000000 g .text 00000000 _data -00004410 g F .text 0000007a LedToggle -00004778 g F .text 00000132 CANBitTimingSet -2000045c g .bss 00000000 _estack -20000000 g .text 00000000 _edata -00004000 g O .text 000000f4 _vectab -00005100 g F .text 0000004c GPIOPinTypeUART -000050b4 g F .text 0000004c GPIOPinTypeGPIOOutput -0000514c g F .text 000000a8 IntEnable -00004214 g F .text 00000154 BootComCheckActivationRequest -00004528 g F .text 0000000c TimeGet -00004e9c g F .text 0000006c GPIODirModeSet -2000005c g .bss 00000000 _stack -000058cc g F .text 00000012 SysTickEnable -000058e0 g F .text 00000012 SysTickIntEnable -0000495c g F .text 00000296 CANMessageSet -000059c8 g F .text 00000142 UARTConfigSetExpClk -00005454 g F .text 000001ba SysCtlClockSet -00004f08 g F .text 0000012e GPIOPadConfigSet -00005948 g F .text 0000003c UARTEnable - - + +bin/demoprog_ek_lm3s8962.elf: file format elf32-littlearm +bin/demoprog_ek_lm3s8962.elf +architecture: arm, flags 0x00000112: +EXEC_P, HAS_SYMS, D_PAGED +start address 0x00004000 + +Program Header: + LOAD off 0x00000000 vaddr 0x00000000 paddr 0x00000000 align 2**16 + filesz 0x000058f0 memsz 0x000058f0 flags r-x + LOAD off 0x00010000 vaddr 0x20000000 paddr 0x000058f0 align 2**16 + filesz 0x00000008 memsz 0x00000480 flags rw- +private flags = 5000200: [Version5 EABI] [soft-float ABI] + +Sections: +Idx Name Size VMA LMA File off Algn + 0 .text 000018f0 00004000 00004000 00004000 2**2 + CONTENTS, ALLOC, LOAD, READONLY, CODE + 1 .data 00000008 20000000 000058f0 00010000 2**2 + CONTENTS, ALLOC, LOAD, DATA + 2 .bss 00000478 20000008 000058f8 00010008 2**2 + ALLOC + 3 .ARM.attributes 00000029 00000000 00000000 00010008 2**0 + CONTENTS, READONLY + 4 .comment 0000006e 00000000 00000000 00010031 2**0 + CONTENTS, READONLY + 5 .debug_info 00005af4 00000000 00000000 0001009f 2**0 + CONTENTS, READONLY, DEBUGGING + 6 .debug_abbrev 00000d80 00000000 00000000 00015b93 2**0 + CONTENTS, READONLY, DEBUGGING + 7 .debug_aranges 00000708 00000000 00000000 00016913 2**0 + CONTENTS, READONLY, DEBUGGING + 8 .debug_ranges 00000648 00000000 00000000 0001701b 2**0 + CONTENTS, READONLY, DEBUGGING + 9 .debug_macro 0000742a 00000000 00000000 00017663 2**0 + CONTENTS, READONLY, DEBUGGING + 10 .debug_line 000025ea 00000000 00000000 0001ea8d 2**0 + CONTENTS, READONLY, DEBUGGING + 11 .debug_str 0001e461 00000000 00000000 00021077 2**0 + CONTENTS, READONLY, DEBUGGING + 12 .debug_frame 000012e4 00000000 00000000 0003f4d8 2**2 + CONTENTS, READONLY, DEBUGGING + 13 .debug_loc 00003b22 00000000 00000000 000407bc 2**0 + CONTENTS, READONLY, DEBUGGING +SYMBOL TABLE: +00004000 l d .text 00000000 .text +20000000 l d .data 00000000 .data +20000008 l d .bss 00000000 .bss +00000000 l d .ARM.attributes 00000000 .ARM.attributes +00000000 l d .comment 00000000 .comment +00000000 l d .debug_info 00000000 .debug_info +00000000 l d .debug_abbrev 00000000 .debug_abbrev +00000000 l d .debug_aranges 00000000 .debug_aranges +00000000 l d .debug_ranges 00000000 .debug_ranges +00000000 l d .debug_macro 00000000 .debug_macro +00000000 l d .debug_line 00000000 .debug_line +00000000 l d .debug_str 00000000 .debug_str +00000000 l d .debug_frame 00000000 .debug_frame +00000000 l d .debug_loc 00000000 .debug_loc +00000000 l df *ABS* 00000000 vectors.c +00000000 l df *ABS* 00000000 crtstuff.c +000058ec l O .text 00000000 __EH_FRAME_BEGIN__ +000040f4 l F .text 00000000 __do_global_dtors_aux +20000008 l .bss 00000000 completed.8603 +20000004 l O .data 00000000 __do_global_dtors_aux_fini_array_entry +00004118 l F .text 00000000 frame_dummy +2000000c l .bss 00000000 object.8608 +20000000 l O .data 00000000 __frame_dummy_init_array_entry +00000000 l df *ABS* 00000000 time.c +20000024 l O .bss 00000004 millisecond_counter +00000000 l df *ABS* 00000000 boot.c +000041a0 l F .text 00000038 BootComUartInit +000041d8 l F .text 00000074 CanSetBittiming +0000424c l F .text 0000005c BootComCanInit +000042a8 l F .text 00000020 UartReceiveByte +000042dc l F .text 00000094 BootComUartCheckActivationRequest +00004370 l F .text 00000040 BootComCanCheckActivationRequest +20000028 l O .bss 00000001 xcpCtoRxLength.4647 +20000029 l O .bss 00000001 xcpCtoRxInProgress.4648 +2000002c l O .bss 00000004 xcpCtoRxStartTime.4649 +20000030 l O .bss 00000041 xcpCtoReqPacket.4646 +00000000 l df *ABS* 00000000 main.c +000043c0 l F .text 00000018 Init +20000074 l O .bss 00000004 assert_failure_line.4635 +00000000 l df *ABS* 00000000 cstart.c +0000441a l F .text 00000000 zero_loop +00000000 l df *ABS* 00000000 led.c +20000078 l O .bss 00000004 timer_counter_last.4628 +2000007c l O .bss 00000001 led_toggle_state.4627 +00000000 l df *ABS* 00000000 sysctl.c +000044b8 l F .text 000001f8 SysCtlPeripheralValid +000057f4 l O .text 0000005c g_pulXtals +00005868 l O .text 0000000c g_pulRCGCRegs +00000000 l df *ABS* 00000000 uart.c +00004a68 l F .text 0000002c UARTBaseValid +00000000 l df *ABS* 00000000 interrupt.c +00000000 l df *ABS* 00000000 gpio.c +00004d28 l F .text 000000dc GPIOBaseValid +00000000 l df *ABS* 00000000 can.c +00005078 l F .text 0000002c CANBaseValid +000050a4 l F .text 0000002c CANIntNumberGet +000050d0 l F .text 0000001a CANRegWrite +000050ec l F .text 0000002e CANDataRegWrite +0000511c l F .text 00000068 CANRegRead +00005184 l F .text 0000002e CANDataRegRead +00000000 l df *ABS* 00000000 systick.c +00000000 l df *ABS* 00000000 /opt/gcc-arm-none-eabi-5_4-2016q3/bin/../lib/gcc/arm-none-eabi/5.4.1/armv7-m/crti.o +00000000 l df *ABS* 00000000 /opt/gcc-arm-none-eabi-5_4-2016q3/bin/../lib/gcc/arm-none-eabi/5.4.1/armv7-m/crtn.o +00000000 l df *ABS* 00000000 crtstuff.c +000058ec l O .text 00000000 __FRAME_END__ +00000000 l df *ABS* 00000000 +00000000 l *UND* 00000000 __bss_start__ +00000000 l *UND* 00000000 __libc_fini_array +00000000 l *UND* 00000000 __sf_fake_stderr +00000000 l *UND* 00000000 __bss_end__ +00000000 l *UND* 00000000 __call_exitprocs +00000000 l *UND* 00000000 software_init_hook +00000000 l *UND* 00000000 __sf_fake_stdin +20000004 l .data 00000000 __init_array_end +00000000 l *UND* 00000000 hardware_init_hook +00000000 l *UND* 00000000 atexit +20000000 l .data 00000000 __preinit_array_end +00000000 l *UND* 00000000 __stack +00000000 l *UND* 00000000 __sf_fake_stdout +20000000 l .data 00000000 __init_array_start +00000000 l *UND* 00000000 _exit +20000000 l .data 00000000 __preinit_array_start +000043ec g F .text 0000000c __error__ +000043f8 g F .text 00000040 reset_handler +000051b4 g F .text 0000009c CANInit +000046f8 g F .text 00000008 SysCtlDelay +00005250 g F .text 0000002c CANEnable +00004150 g F .text 0000000c TimeSet +000058f0 g .text 00000000 _etext +00004fb8 g F .text 00000024 GPIOPinWrite +000046b0 g F .text 00000038 SysCtlPeripheralEnable +000057dc g F .text 00000000 _init +000042d4 g F .text 00000008 BootActivate +000046e8 g F .text 00000010 SysCtlReset +2000007d g .bss 00000000 _ebss +00000400 g *ABS* 00000000 __STACKSIZE__ +000043bc g F .text 00000002 UnusedISR +00004444 g F .text 00000028 LedInit +00004190 g F .text 00000010 TimeISRHandler +00000000 w *UND* 00000000 __deregister_frame_info +00004be4 g F .text 0000002c UARTCharGetNonBlocking +20000008 g .bss 00000000 _bss +000057bc g F .text 00000020 SysTickPeriodSet +00005358 g F .text 0000008c CANStatusGet +000043d8 g F .text 00000014 main +00004864 g F .text 00000204 SysCtlClockGet +00004ac4 g F .text 00000038 UARTDisable +000055e0 g F .text 000001bc CANMessageGet +00004fdc g F .text 00000034 GPIOPinTypeCAN +000042c8 g F .text 0000000c BootComInit +000057e8 g F .text 00000000 _fini +0000415c g F .text 00000028 TimeInit +00004c9c g F .text 0000008c IntDisable +20000000 g .data 00000000 _data +0000446c g F .text 0000004c LedToggle +0000527c g F .text 000000dc CANBitTimingSet +20000480 g .bss 00000000 _estack +20000008 g .data 00000000 _edata +00004000 g O .text 000000f4 _vectab +00005044 g F .text 00000034 GPIOPinTypeUART +00005010 g F .text 00000034 GPIOPinTypeGPIOOutput +00004c10 g F .text 0000008c IntEnable +000043b0 g F .text 0000000c BootComCheckActivationRequest +00004184 g F .text 0000000c TimeGet +00004e04 g F .text 00000060 GPIODirModeSet +2000007d g .bss 00000000 _stack +0000579c g F .text 00000010 SysTickEnable +00000000 w *UND* 00000000 _Jv_RegisterClasses +000057ac g F .text 00000010 SysTickIntEnable +000053e4 g F .text 000001fc CANMessageSet +00004afc g F .text 000000e8 UARTConfigSetExpClk +00004700 g F .text 00000164 SysCtlClockSet +00004e64 g F .text 00000154 GPIOPadConfigSet +00000000 w *UND* 00000000 __register_frame_info +00004a94 g F .text 00000030 UARTEnable + + diff --git a/Target/Demo/ARMCM3_LM3S_EK_LM3S8962_GCC/Prog/bin/demoprog_ek_lm3s8962.srec b/Target/Demo/ARMCM3_LM3S_EK_LM3S8962_GCC/Prog/bin/demoprog_ek_lm3s8962.srec index 4527095c..a9cc15ef 100644 --- a/Target/Demo/ARMCM3_LM3S_EK_LM3S8962_GCC/Prog/bin/demoprog_ek_lm3s8962.srec +++ b/Target/Demo/ARMCM3_LM3S_EK_LM3S8962_GCC/Prog/bin/demoprog_ek_lm3s8962.srec @@ -1,454 +1,402 @@ S020000062696E2F64656D6F70726F675F656B5F6C6D3373383936322E7372656359 -S11340005C0400206943000045450000454500006C -S11340104545000045450000454500004545000074 -S11340204545000045450000454500004545000064 -S11340304545000045450000454500003545000064 -S11340404545000045450000454500004545000044 -S11340504545000045450000454500004545000034 -S11340604545000045450000454500004545000024 -S11340704545000045450000454500004545000014 -S11340804545000045450000454500004545000004 -S113409045450000454500004545000045450000F4 -S11340A045450000454500004545000045450000E4 -S11340B045450000454500004545000045450000D4 -S11340C045450000454500004545000045450000C4 -S11340D045450000454500004545000045450000B4 -S11340E045450000454500004545000045450000A4 -S11340F0EE11AA55F0B587B00120C1F2000045F2D7 -S1134100F134C0F20004A0470120C2F20000A0472D -S11341104FF04020032145F20113C0F200039847F9 -S113412045F21163C0F20003984701464FF4404042 -S1134130C4F200004FF46142602345F6C915C0F291 -S11341400005A8470820C2F20000A0474FF4E04051 -S1134150C4F20000032145F26903C0F2000398474A -S11341604FF48070C0F21000A0470020C4F2040095 -S113417044F25563C0F200039847042303931026C6 -S1134180019640F2A460082735463B46741CE218A9 -S1134190B0FBF2F14139C9B20A2918D8B5FBF2F1E2 -S11341A002FB01F1102912D102930196032B98BF4F -S11341B003931023B3FBF2F204920020C4F2040030 -S11341C001A944F27973C0F20003984704E0013B6B -S11341D0DDD16438013ED8D10024C4F20404204661 -S11341E044F23573C0F20003984740F267630193C9 -S11341F003F5CC730293082303930493204601210F -S113420001AA022344F65D14C0F20004A04707B0DB -S1134210F0BD00BF10B588B040F24403C2F2000301 -S11342201B7853BB4FF44040C4F2000045F60D33F5 -S1134230C0F200039847B0F1FF3F5FD040F20003A3 -S1134240C2F20003187010F0FF0F57D044F2295344 -S1134250C0F20003984740F24803C2F2000318601A -S113426040F24403C2F2000301221A7040F24503F3 -S1134270C2F2000300221A7040E040F24503C2F289 -S113428000031B785C1C4FF44040C4F2000045F668 -S11342900D33C0F200039847B0F1FF3F54D040F211 -S11342A00003C2F20003185540F24502C2F20002B4 -S11342B011780131C9B211701B788B421ED140F2C2 -S11342C04403C2F2000300221A7040F20003C2F257 -S11342D000035B78FF2B11D140F20003C2F200030C -S11342E09B785BB945F23943C0F20003984705E077 -S11342F040F24403C2F2000300221A700020C4F208 -S11343000400022144F6AD03C0F20003984710F004 -S1134310010F27D001AB07930020C4F20400012150 -S113432003AA0B4644F6F534C0F20004A0479DF8F6 -S11343300430FF2B16D19DF805309BB945F2394363 -S1134340C0F2000398470DE044F22953C0F2000381 -S1134350984740F24803C2F200031B686433984252 -S1134360C6D8CBE708B010BD10B517498D4640F24A -S11343700002C2F2000240F20003C2F200039A42B9 -S113438010D2131D0F4CE41A24F003040434002348 -S1134390104645F63C41C0F200015A581A50043305 -S11343A0A342FAD109480A494FF000028842B8BF33 -S11343B040F8042BFADB44F28D43C0F20003984723 -S11343C010BD00BF030000205C040020000000209A -S11343D05C00002010B52020C2F2000045F2F13349 -S11343E0C0F2000398474FF4A044C4F202042046EC -S11343F0012145F2B503C0F200039847204601218C -S1134400002245F23903C0F20003984710BD00BFF3 -S113441010B544F22953C0F200039847044640F211 -S11344204C03C2F200031B68C31AB3F5FA7F2BD303 -S113443040F25003C2F200031B7883B940F25003E8 -S1134440C2F2000301221A704FF4A040C4F2020029 -S1134450114645F23903C0F2000398470FE040F2D9 -S11344605003C2F2000300221A704FF4A040C4F2B9 -S11344700200012145F23903C0F20003984740F2DB -S11344804C03C2F200031C6010BD00BF08B54FF41A -S11344906070C0F2C01045F25543C0F20003984763 -S11344A044F2D533C0F20003984744F2E143C0F22A -S11344B00003984744F2F503C0F20003984744F21E -S11344C01145C0F2000544F21524C0F20004A847C7 -S11344D0A047FCE740F25403C2F200031960FEE770 -S11344E008B545F21163C0F20003984744F6D3536C -S11344F0C1F26203A3FB0020800945F6F503C0F274 -S11345000003984745F6CD03C0F20003984745F6EB -S1134510E103C0F20003984740F25803C2F20003DB -S113452000221A6008BD00BF40F25803C2F2000323 -S11345301868704740F25803C2F200031A68013247 -S11345401A607047FEE700BF20F480520023C4F2D3 -S113455004039A4208D04FF40053C4F2040398426F -S113456014BF002001207047012070474FF480538E -S1134570C4F20403984210D04FF40053C4F204036D -S1134580984208D00023C4F2040398420CBF372099 -S11345904FF0FF307047392070473820704700BF14 -S11345A082B0016000230193019B042B05DC019B75 -S11345B001330193019B042BF9DD02B0704700BF66 -S11345C070B582B0044620F47F6020F00F0044F2FE -S11345D06D53C0F2000398470546B0F1FF3F10D178 -S11345E045F64430C0F20000F92144F2D543C0F24C -S11345F0000398474EF20413CEF200031B68002612 -S113460011E04EF20413CEF200031B68A0F1300255 -S1134610012101FA02F212EA030604D045F2F5136D -S1134620C0F20003984723680023019301990429E9 -S113463005DC019B01330193019B042BF9DD246804 -S11346402EB1284645F24D13C0F200039847204688 -S113465002B070BD2DE9F843804644F24953C0F2DC -S11346600003984750B945F64430C0F2000040F2C8 -S1134670D91144F2D543C0F20003984740460121C2 -S113468044F2A153C0F20003984708F1200544F214 -S1134690C156C0F200062C462846B04710F4004F1D -S11346A0F9D108F124094846B02144F2A155C0F2D9 -S11346B00005A84708F134000021A84708F1380094 -S11346C00021A847012644F2C155C0F2000544F276 -S11346D0A157C0F200072046A84710F4004FFAD1B2 -S11346E020463146B8470136212EF4D148460C21E4 -S11346F044F2A153C0F200039847012644F2C15585 -S1134700C0F2000544F2A157C0F200072046A847B2 -S113471010F4004FFAD120463146B8470136212E15 -S1134720F4D108F1040044F2C153C0F200039847E5 -S1134730BDE8F88310B5044644F24953C0F20003BF -S1134740984750B945F64430C0F2000040F23A218F -S113475044F2D543C0F200039847204644F2C153C3 -S1134760C0F20003984720F00101204644F2A1530F -S1134770C0F20003984710BDF8B505460C4644F254 -S11347804953C0F20003984750B945F64430C0F28B -S113479000004FF4597144F2D543C0F20003984726 -S11347A054B945F64430C0F2000040F2653144F299 -S11347B0D543C0F2000398472368023B0E2B0AD965 -S11347C045F64430C0F2000040F26B3144F2D54368 -S11347D0C0F2000398476368013B072B0AD945F6EA -S11347E04430C0F200004FF45C7144F2D543C0F28F -S11347F000039847A368013B032B0AD945F64430CC -S1134800C0F2000040F2753144F2D543C0F2000317 -S11348109847E368013BB3F5806F0AD345F644300B -S1134820C0F2000040F27B3144F2D543C0F20003F1 -S11348309847284644F2C153C0F2000398470746FC -S1134840284647F0410144F2A156C0F20006B047A1 -S11348506368591E090301F4E0412368013B1B020C -S113486003F470631943E368013B03F03F03194306 -S1134870A368013B9B01DBB205F10C001943B0476F -S1134880E168013905F11800C1F38311B04717F04D -S1134890010F0CBF27F0400127F04101284644F2E4 -S11348A0A153C0F200039847F8BD00BF70B5054698 -S11348B00C4644F24953C0F20003984750B945F6F8 -S11348C04430C0F2000040F2925144F2D543C0F2A9 -S11348D000039847032C3ED8DFE804F00213212F8D -S11348E00435284644F2C153C0F2000398470446F5 -S11348F028466FF01F0144F2A153C0F20003984709 -S11349002AE005F5807044F2C156C0F20006B047B3 -S1134910044605F58270B04744EA00441CE005F5FE -S1134920907044F2C156C0F20006B047044605F543 -S11349309270B04744EA00440EE005F5B07044F2CA -S1134940C156C0F20006B047044605F5B270B04740 -S113495044EA004400E00024204670BD2DE9F04FF5 -S113496089B0054602911646984644F24953C0F26E -S11349700003984750B945F64430C0F2000040F2B5 -S11349805F6144F2D543C0F200039847DDF8089014 -S113499009F1FF331F2B0AD945F64430C0F2000059 -S11349A04FF4CC6144F2D543C0F200039847B8F108 -S11349B0040F0AD945F64430C0F2000040F26661A3 -S11349C044F2D543C0F20003984705F1200744F2AE -S11349D0C159C0F200094C46B9463846A04710F404 -S11349E0004FF9D13C463268B2F5006F3ABFB36864 -S11349F0C3F3800C4FF0010CB8F1040F00F2F68001 -S1134A00DFE808F003371119290001214FF48077FA -S1134A104FF4005E4FF00009CDF80490CDF80C90EF -S1134A204FF093082DE000210F468E46019103912B -S1134A304FF0930825E000214FF480574FF4005EB7 -S1134A4041F6FF79CDF8049009F56049CDF80C9052 -S1134A504FF0D30815E001214FF490574FF4005E56 -S1134A604FF00009CDF80490CDF80C904FF0930866 -S1134A7007E000214FF480778E46019103914FF0B7 -S1134A809308B36813F0080F17D0BCF1000F08D0D7 -S1134A9070681FFA80F9CDF80C90C0F30C400190B7 -S1134AA00BE07068800041F6FC7900EA0909CDF852 -S1134AB004904FF00009CDF80C9003F0280028284A -S1134AC002BFDDF8049049F40049CDF8049003F0E6 -S1134AD01800182802BFDDF8049049F48049CDF885 -S1134AE0049013F0380F1CBF47F480574FF0D308DD -S1134AF048F02008CDF81480BCF1000F0BD01FFA49 -S1134B0082F9CDF81890C2F30C4242F4404242EAD2 -S1134B100E0207920BE09200C2F30C0242F4004230 -S1134B2042EA0E0207924FF00009CDF81890F2689D -S1134B3002F00F0947EA090913F4007F04BF49F0A2 -S1134B4080091FFA89F913F0010F18BF49F40069AD -S1134B5013F0020F18BF49F48069F1B1D6F810B010 -S1134B6005F13C089246002A17DD0127002644F28D -S1134B70A150C0F20000049040461BF80610BA454C -S1134B802EDD02361BF8073041EA0321049A9047D0 -S1134B9008F104080237B245EEDC05F1240005995A -S1134BA044F2A156C0F20006B04705F1280003996B -S1134BB0B04705F12C000199B04705F13000069982 -S1134BC0B04705F134000799B04705F1380049466C -S1134BD0B0472046DDF8089009F03F01B04705E0F2 -S1134BE044F2A153C0F200039847D6E709B0BDE8E8 -S1134BF0F08F00BF2DE9F04F83B006468A46154674 -S1134C001C4644F24952C0F20002904750B945F69E -S1134C104430C0F2000040F2C17144F2D543C0F206 -S1134C20000398470AF1FF331F2B0AD945F6443095 -S1134C30C0F2000040F2C27144F2D543C0F2000356 -S1134C40984706F1840B5846002C14BF7B2173212E -S1134C5044F2A157C0F20007B84706F180040AF0F5 -S1134C603F0A20465146B84744F2C157C0F20007F4 -S1134C702046B84710F4004FFAD106F1880044F2F8 -S1134C80C157C0F20007B847019006F18C00B8473D -S1134C90814606F19000B847009006F19400B847A9 -S1134CA0804606F19800B8470023AB6083B213F442 -S1134CB0807F03D118F4005F03D104E018F4005F8F -S1134CC001D14022AA601FFA88F818F480421FBF5D -S1134CD0C8F30C08009FB9B241EA08411FBF29601C -S1134CE0A96841F00401A96004BFC8F38A012960DE -S1134CF013F4804F1EBFA96841F48071A96013F4B6 -S1134D00805F31D09AB1C9F30C02019FB9B241EA74 -S1134D1002426A606FF060418A4203D1AA6812F0CD -S1134D20400F13D1AA6842F00802AA600EE0C9F34A -S1134D308A026A6040F2FF718A4203D1AA6812F0C3 -S1134D40400F03D1AA6842F00802AA6019F4004F88 -S1134D501EBFAA6842F02802AA6019F4804F1EBF41 -S1134D60AA6842F01802AA6013F4006F1EBFAA6872 -S1134D7042F00102AA6013F4806F1EBFAB6843F0D7 -S1134D800203AB6010F4004F04BF0023EB603BD080 -S1134D9000F00F00E860AB6813F0400F1CD12F69DE -S1134DA000979C368146B8B14FF00108002744F2C1 -S1134DB0C153C0F2000301933046019B9847009B06 -S1134DC0D855C14508DD0237000A03F80800043647 -S1134DD008F10208B945EFDC5846042144F2A15613 -S1134DE0C0F20006B04720465146B04744F2C156CF -S1134DF0C0F200062046B04710F4004FFAD1AB6869 -S1134E0043F08003AB60FFE703B0BDE8F08F00BF61 -S1134E1020F480534FF40042C4F20502934218BFB9 -S1134E20B3F1402F31D04FF4C041C4F200014FF42C -S1134E302042C4F20502934218BF8B4227D04FF49C -S1134E408041C4F202014FF44042C4F2050293428D -S1134E5018BF8B421DD04FF4C041C4F202014FF47D -S1134E606042C4F20502934218BF8B4213D04FF440 -S1134E705042C4F203020023C4F20603984218BF4E -S1134E80904214BF00200120704701207047012088 -S1134E907047012070470120704700BF70B5044679 -S1134EA00E46154644F61163C0F20003984748B90C -S1134EB045F65830C0F20000E42144F2D543C0F274 -S1134EC000039847022D09D945F65830C0F2000076 -S1134ED0E62144F2D543C0F20003984715F0010FD0 -S1134EE004F58063D4F8002414BF3243B2431A603B -S1134EF015F0020F04F58463D4F8202414BF16437C -S1134F0022EA06061E6070BDF8B504460D46174633 -S1134F101E4644F61163C0F20003984750B945F6A3 -S1134F205830C0F200004FF4DD7144F2D543C0F2B2 -S1134F300003984727F008027B1E042A18BF012BA0 -S1134F400AD945F65830C0F200004FF4DF7144F23C -S1134F50D543C0F200039847A6F10803052B0BD9EB -S1134F6056B145F65830C0F2000040F2C51144F283 -S1134F70D543C0F20003984717F0010F04F5A0636E -S1134F80D4F8002514BF2A43AA431A6017F0020F6D -S1134F9004F20453D4F8042514BF2A43AA431A6024 -S1134FA017F0040F04F5A163D4F8082514BF2A43AD -S1134FB0AA431A6017F0080F04F5A363D4F8182560 -S1134FC014BF2A43AA431A6016F0010F04F20C53CB -S1134FD0D4F80C2514BF2A43AA431A6016F0020F12 -S1134FE004F5A263D4F8102514BF2A43AA431A6017 -S1134FF016F0040F04F21453D4F8142514BF2A43F2 -S1135000AA431A6016F0080F04F21C53D4F81C25A6 -S113501014BF2A43AA431A602EB904F5A563D4F831 -S11350202825154305E004F5A563D4F8282522EACC -S113503005051D60F8BD00BF70B504460D46164653 -S113504044F61163C0F20003984750B945F658304E -S1135050C0F200004FF4517144F2D543C0F2000392 -S1135060984744F8256070BD38B505460C4644F6AB -S11350701163C0F20003984750B945F65830C0F2A6 -S113508000004FF4647144F2D543C0F20003984722 -S113509028462146022244F69D63C0F20003984745 -S11350A0284621460422082344F60974C0F2000469 -S11350B0A04738BD38B505460C4644F61163C0F226 -S11350C00003984750B945F65830C0F2000040F24A -S11350D0044144F2D543C0F20003984728462146D0 -S11350E0012244F69D63C0F20003984728462146F6 -S11350F00122082344F60974C0F20004A04738BD15 -S113510038B505460C4644F61163C0F200039847CF -S113511050B945F65830C0F2000040F21F5144F235 -S1135120D543C0F20003984728462146022244F69C -S11351309D63C0F2000398472846214601220823B4 -S113514044F60974C0F20004A04738BD10B5044603 -S113515046280AD945F67030C0F200004FF4D571E4 -S113516044F2D543C0F200039847042C08D14EF60C -S11351702453CEF200031A6842F480321A6010BD40 -S1135180052C08D14EF62453CEF200031A6842F4DB -S113519000321A6010BD062C08D14EF62453CEF20C -S11351A000031A6842F480221A6010BD0F2C08D143 -S11351B04EF21003CEF200031A6842F002021A60A3 -S11351C010BDA4F110031F2B08D8012202FA03F327 -S11351D04FF46142CEF20002136010BD2F2C08D9A7 -S11351E0303C012303FA04F44EF20413CEF200031C -S11351F01C6010BD10B5044646280AD945F6703027 -S1135200C0F200004FF4F77144F2D543C0F200033A -S11352109847042C08D14EF62453CEF200031A68A2 -S113522022F480321A6010BD052C08D14EF62453A6 -S1135230CEF200031A6822F400321A6010BD062C64 -S113524008D14EF62453CEF200031A6822F48022C9 -S11352501A6010BD0F2C08D14EF21003CEF20003D9 -S11352601A6822F002021A6010BDA4F110031F2B69 -S113527008D8012202FA03F34EF28012CEF20002A1 -S1135280136010BD2F2C08D9303C012303FA04F419 -S11352904EF28413CEF200031C6010BD30B420F033 -S11352A08053A3F58012013A4FF48071C0F21001CB -S11352B08B4218BF012A98BF012040F297804FF417 -S11352C00071C0F210014FF48062C0F210029342E8 -S11352D018BF8B4208BF012000F088804FF4A04122 -S11352E0C2F2100100F16042013A884218BF012A5B -S11352F098BF01207AD90422C2F20002904208BF6A -S1135300012073D01022C2F20002904208BF012093 -S11353106CD02022C2F20002904208BF012065D066 -S113532020F480148021C2F200014FF48072C2F292 -S11353300002944218BF8B4208BF012056D020F0CF -S11353400052B0F1102F18BF402A08BF01204DD0E1 -S11353504FF48041C1F200018C4208BF012045D0C6 -S1135360B0F1101F08BF012040D04FF48075C1F286 -S113537000054FF40071C1F20001884218BFA84231 -S113538008BF012032D01025C1F200052021C1F24E -S113539000018A4218BFAA4208BF012026D0082172 -S11353A0C1F2100188421CD000F170410139012979 -S11353B017D90421C1F200018C4214D0B0F1202F7E -S11353C013D00121C2F2100188420ED04FF4805054 -S11353D0C0F21000834218BF082A14BF0020012025 -S11353E004E0012002E0012000E0012030BC70470D -S11353F010B5044645F29D23C0F20003984750B906 -S113540045F6E830C0F200004FF4FC7144F2D54395 -S1135410C0F20003984745F60043C0F20003220F90 -S113542053F822301A68A1B2C4F3044401FA04F414 -S113543014431C6010BD00BF4EF60C53CEF20003A3 -S11354400422C0F2FA521A60FEE700BF01387FF46A -S1135450FDAF704770B504464FF46043C4F20F03C8 -S11354601B6813F0E04F0BD04FF46043C4F20F03FA -S11354701A680023C7F2FF031340B3F1805F02D11F -S1135480002CC0F2C3804EF26002C4F20F02116815 -S11354904EF27003C4F20F031E6821F4800545F434 -S11354A0006546F400601560186011F0020F02D028 -S11354B014F0020F05D011F0010F24D014F0010FE5 -S11354C021D164F003031D404EF26003C4F20F03C4 -S11354D01D60002804DA06F03003302B04D00BE002 -S11354E005F03003302B07D14FF4805045F24D4383 -S11354F0C0F20003984706E04FF4002045F24D4304 -S1135500C0F20003984725F45F5525F0300543F2B7 -S1135510F07323401D434DF68F73C7F6FF7333407A -S113552043F4006242F23003C8F200032340134301 -S113553004F008024EF25801C4F20F014020086042 -S113554053EAC2060AD54EF27003C4F20F031E607A -S11355504EF26003C4F20F031D6009E04EF26003D3 -S1135560C4F20F031D604EF27003C4F20F031E60F9 -S1135570102045F24D42C0F20002904725F0F86039 -S113558020F003000323C0F2C0732340184326F025 -S1135590FC5604F0FC510E4314F0804F1FBF40F43E -S11355A0800026F480050023C4F240031ABF234080 -S11355B01D4326F0804514F4006F17D14EF25003BA -S11355C0C4F20F031B6813F0400F0BD147F6FF73AF -S11355D04EF25001C4F20F010A6812F0400F01D1DB -S11355E0013BF9D120F4006025F400654EF260031C -S11355F0C4F20F0318604EF27003C4F20F031D606F -S1135600102045F24D43C0F20003984770BD00BF1F -S113561030B44EF26003C4F20F0319684EF2700303 -S1135620C4F20F031A68002AB4BF02F0700301F039 -S11356303003202B71D003D87BB1102B16D037E167 -S1135640602B00F0C180702B00F0BB80302B08BFB2 -S113565003F5EA4300F0CF802AE145F68C33C0F22B -S11356600003C1F3841053F82030C4E04FF46043C6 -S1135670C4F20F031B6813F0E04F04BF4EF2C013D3 -S1135680C0F2E40300F0B7804FF46043C4F20F03A8 -S113569018680023C7F2FF030340B3F1805F00F0F2 -S11356A096804FF46043C4F20F0318680023C7F2D6 -S11356B0FF0303400020C1F20100834208D14FF4EC -S11356C06043C4F20F031B689BB2022B00F084807A -S11356D04FF46043C4F20F0318680023C7F2FF03BA -S11356E003400020C1F2030083421CBF4FF4105357 -S11356F0C0F2F4037FD14FF46043C4F20F031C687B -S1135700A4B24FF4D853C0F2B7034FF41050C0F210 -S1135710F400002C18BF03466DE04FF46043C4F25C -S11357200F031B6813F0E04F04BF43F67003C0F28D -S1135730390360D04FF46043C4F20F0318680023A8 -S1135740C7F2FF030340B3F1805F4AD04FF46043D4 -S1135750C4F20F0318680023C7F2FF0303400020BC -S1135760C1F20100834207D14FF46043C4F20F0336 -S11357701B689BB2022B39D04FF46043C4F20F0371 -S113578018680023C7F2FF0303400020C1F203009E -S113579083421CBF4FF41063C0F23D032BD14FF47E -S11357A06043C4F20F031C68A4B24CF2C063C0F29D -S11357B02D034FF41060C0F23D00002C18BF0346C7 -S11357C019E04FF4004316E04FF4800313E04EF267 -S11357D0C013C0F2E4030EE04FF4D853C0F2B70391 -S11357E009E043F67003C0F2390304E04CF2C063ED -S11357F0C0F22D03FFE7002A03DA12F4006F03D08E -S113580058E011F4006F5AD14EF26400C4F20F0054 -S113581000684FF46044C4F20F04246814F0E04FAD -S11358200BD04FF46044C4F20F0425680024C7F27F -S1135830FF042C40B4F1805F0AD1C0F34814023451 -S113584004FB03F300F01F040234B3FBF4F309E098 -S1135850C0F3481404FB03F300F01F040134640094 -S1135860B3FBF4F310F4804F18BF5B0810F4004F3F -S113587018BF9B08002AA8BF41F4800112DA12F075 -S1135880804F09D012F4006F06D15B00C2F3865238 -S11358900132B3FBF2F016E0C2F3C5500130B3FBA2 -S11358A0F0F010E0C1F3C3500130B3FBF0F00AE0B4 -S11358B0002008E011F4800FE1D1184603E011F450 -S11358C0800FEFD1184630BC704700BF4EF2100372 -S11358D0CEF200031A6842F005021A60704700BF56 -S11358E04EF21003CEF200031A6842F002021A606C -S11358F0704700BF10B5441EB4F1807F09D345F64C -S11359000C40C0F20000D02144F2D543C0F20003A1 -S113591098474EF21403CEF200031C6010BD00BF82 -S113592020F480524FF44043C4F200039A4208D05A -S11359304FF46043C4F20003984214BF00200120D6 -S113594070470120704700BF10B5044645F6211387 -S1135950C0F20003984750B945F62440C0F2000055 -S11359604FF4CF7144F2D543C0F200039847E36A81 -S113597043F01003E362236B43F4407343F00103E9 -S1135980236310BD10B5044645F62113C0F200038D -S1135990984750B945F62440C0F200004FF4DF7137 -S11359A044F2D543C0F200039847A36913F0080FEB -S11359B0FBD1E36A23F01003E362236B23F4407307 -S11359C023F00103236310BDF8B504460E461546C3 -S11359D01F4645F62112C0F20002904750B945F621 -S11359E02440C0F2000040F20D1144F2D543C0F24D -S11359F00003984755B945F62440C0F200004FF41F -S1135A00877144F2D543C0F2000398474FF46042D3 -S1135A10C4F20F02136813F0E04F08BF102340D004 -S1135A204FF46043C4F20F031A680023C7F2FF0364 -S1135A301340B3F1805F08BF102332D04FF46043AA -S1135A40C4F20F031A680023C7F2FF0313400022B5 -S1135A50C1F20102934209D14FF46043C4F20F032F -S1135A601B689BB2022B08BF10231AD04FF460436B -S1135A70C4F20F031A680023C7F2FF031340002285 -S1135A80C1F20302934218BF08230AD14FF46043C2 -S1135A90C4F20F031B689BB2002B0CBF1023082316 -S1135AA0FFE705FB03F3B3420AD945F62440C0F2ED -S1135AB0000040F20F1144F2D543C0F200039847AE -S1135AC0204645F68512C0F200029047B6EB051F4A -S1135AD0236B3DBF43F0200323636D0823F02003B1 -S1135AE028BF2363F600B6FBF5F50135EB096362C5 -S1135AF0C5F34505A562E7620023A361204645F688 -S1135B004913C0F200039847F8BD00BF10B504461E -S1135B1045F62113C0F20003984750B945F62440D6 -S1135B20C0F2000040F2094144F2D543C0F2000340 -S1135B309847A36913F0100F0CBF20684FF0FF3093 -S1135B4010BD00BF6C69622F6472697665726C69FE -S1135B50622F63616E2E63006C69622F64726976D2 -S1135B6065726C69622F6770696F2E6300000000B4 -S1135B706C69622F6472697665726C69622F696EF2 -S1135B80746572727570742E6300000040420F00D9 -S1135B9000201C0080841E0000802500999E360091 -S1135BA00040380000093D0000803E0000004B002A -S1135BB0404B4C0000204E00808D5B0000C05D0017 -S1135BC00080700000127A0000007D00809698002A -S1135BD0001BB7000080BB00C0E8CE00647ADA0086 -S1135BE00024F4000000FA006C69622F6472697684 -S1135BF065726C69622F73797363746C2E63000031 -S1135C0000E10F4004E10F4008E10F406C69622F8E -S1135C106472697665726C69622F737973746963EF -S1135C206B2E63006C69622F6472697665726C69AD -S10F5C30622F756172742E630000000086 +S113400080040020F9430000BD430000BD430000CC +S1134010BD430000BD430000BD430000BD4300009C +S1134020BD430000BD430000BD430000BD4300008C +S1134030BD430000BD430000BD43000091410000AA +S1134040BD430000BD430000BD430000BD4300006C +S1134050BD430000BD430000BD430000BD4300005C +S1134060BD430000BD430000BD430000BD4300004C +S1134070BD430000BD430000BD430000BD4300003C +S1134080BD430000BD430000BD430000BD4300002C +S1134090BD430000BD430000BD430000BD4300001C +S11340A0BD430000BD430000BD430000BD4300000C +S11340B0BD430000BD430000BD430000BD430000FC +S11340C0BD430000BD430000BD430000BD430000EC +S11340D0BD430000BD430000BD430000BD430000DC +S11340E0BD430000BD430000BD430000BD430000CC +S11340F0EE11AA5510B5054C237833B9044B13B10E +S11341000448AFF300800123237010BD0800002091 +S113411000000000EC580000084B10B51BB1084922 +S11341200848AFF300800848036803B910BD074B83 +S1134130002BFBD0BDE81040184700BF0000000072 +S11341400C000020EC5800000800002000000000D3 +S1134150014B1860704700BF2400002008B500F030 +S113416081FB074BA3FB0030800901F027FB01F022 +S113417015FB01F01BFB0020FFF7EAFF08BD00BFA1 +S1134180D34D6210014B1868704700BF2400002013 +S1134190024A136801331360704700BF24000020F3 +S11341A008B50A4800F084FA094800F081FA0321AE +S11341B04FF0402000F046FF00F054FB60234FF422 +S11341C061420146034800F099FC08BD010000105B +S11341D00100002000C0004000B585B00423029314 +S11341E01023009329E00823019321E0642300FBBA +S11341F0033381180131B3FBF1F3DBB2413BDBB292 +S11342000A2B13D81023B3FBF1F301FB03F3102B98 +S11342100CD1032A00D802921023B3FBF1F10391CD +S11342206946094801F02AF8012009E0013A01929F +S1134230019A002ADAD10138009000980028D2D1DE +S113424005B05DF804FB00BF0000044010B586B063 +S1134250114800F02DFA0321104800F0BFFE104869 +S113426000F026FA0F4C204600F0A4FFFFF7B4FF3D +S1134270204600F0EDFF40F26763019340F2FF73C4 +S11342800293082303930493022301AA01212046E5 +S113429001F0A8F806B010BD08000020007000402E +S11342A0000110000000044010B50446054800F069 +S11342B099FCB0F1FF3F02D02070012010BD002016 +S11342C010BD00BF00C0004008B5FFF769FFFFF74D +S11342D0BDFF08BD08B500F007FA08BD08B5204BBE +S11342E01B789BB91F48FFF7DFFF012837D11D4B0F +S11342F01B78002B33D0FFF745FF1B4B18600122BE +S1134300174B1A700022194B1A7008BD174B1B78F3 +S1134310013314481844FFF7C7FF012815D1134A85 +S113432013780133DBB213700E4A1278934216D11C +S113433000220B4B1A700B4B5B78FF2B0FD1094BF0 +S11343409B7863B9FFF7C6FF08BDFFF71BFF064B59 +S11343501B686433984202D90022014B1A7008BDCD +S113436029000020300000202C000020280000201C +S113437000B589B002210D4800F0EEFF10F0010FE6 +S113438010D001AB0793012303AA1946074801F093 +S113439027F99DF80430FF2B04D19DF805300BB9A3 +S11343A0FFF798FF09B05DF804FB00BF000004406C +S11343B008B5FFF793FFFFF7DBFF08BDFEE700BF7B +S11343C008B5044800F09CF900F03CF8FFF7C6FE7D +S11343D008BD00BF8003C00108B5FFF7F1FFFFF778 +S11343E073FF00F043F8FFF7E3FFFAE7014B1960AE +S11343F0FEE700BF7400002008B50F498D460B4B43 +S11344000B4A03E0116819600433043209498B42F2 +S1134410F8D30A480A494FF000028842B8BF40F86E +S1134420042BFADBFFF7D8FF08BD00BF0000002013 +S1134430F05800000800002080040020080000203C +S11344407D00002010B5074800F032F9064C012128 +S1134450204600F0DDFD00220121204600F0ACFDE5 +S113446010BD00BF200000200050024010B5FFF72F +S113447089FE0E4B1B68C31AB3F5FA7F14D30446A6 +S11344800B4B1B783BB90121094B19700A460948AB +S113449000F092FD06E00022054B1A700121054848 +S11344A000F08AFD014B1C6010BD00BF78000020A5 +S11344B07C00002000500240A0F58013013B012B3A +S11344C040F28F80714B984200F08D8003F5807329 +S11344D0984200F08A8003F50073984200F08780C8 +S11344E003F18053A3F54073984200F0828003F5F2 +S11344F0807398427FD003F5007398427DD003F512 +S1134500705398427BD003F11023984279D0604BCA +S1134510984278D00133984277D00233984276D0CB +S11345200433984275D00833984274D010339842BB +S113453073D02033984272D04033984271D0803384 +S1134540984270D0402870D0B0F1102F6FD0514BEA +S113455098426ED003F57D2398426CD003F18053CA +S1134560A3F57063984268D04B4B984267D0703B78 +S1134570984266D0B0F1101F65D0484B984264D081 +S113458003F58073984262D0A3F5F873984260D023 +S1134590103398425FD003F1005398425DD0404BF2 +S11345A098425CD0013398425BD0023398425AD08F +S11345B00433984259D03B4B984258D00133984227 +S11345C057D00233984256D0B0F1202F55D0364BF5 +S11345D0984254D0082854D0344B984253D10120E7 +S11345E07047012070470120704701207047012067 +S11345F07047012070470120704701207047012057 +S11346007047012070470120704701207047012046 +S11346107047012070470120704701207047012036 +S11346207047012070470120704701207047012026 +S11346307047012070470120704701207047012016 +S11346407047012070470120704701207047012006 +S113465070470120704701207047012070470120F6 +S113466070470120704701207047012070470120E6 +S113467070470120704701207047012070470120D6 +S11346807047012070470020704700BF00011000F0 +S113469001000020004000108000003000010010E4 +S11346A00100101001000010010010200010100083 +S11346B010B50446FFF700FF20B94FF4FC71084819 +S11346C0FFF794FE220F074B53F822100868A2B29A +S11346D0C4F3044302FA03F303430B6010BD00BFA9 +S11346E05058000068580000014A024B1A60FEE767 +S11346F00400FA050CED00E001387FF4FDAF7047CB +S113470070B54E4B1B6813F0E04F06D04B4B1A6844 +S11347104B4B1340B3F1805F02D10028C0F28C8070 +S1134720044648490B68484A166823F4800545F452 +S1134730006546F400600D60106013F0020F02D0B3 +S113474014F0020F05D013F0010F1ED014F0010F66 +S11347501BD164F003031D403A4B1D60002805DAA9 +S113476006F07003302B07D0702B05D0002808DB2F +S113477005F03003302B04D14FF48050FFF7BCFF19 +S113478003E04FF40020FFF7B7FF25F45F5525F051 +S1134790300543F2F07323401D432C4B334043F464 +S11347A000622B4B23401343E20002F040024020FE +S11347B02849086053EA020604D5234B1E60103BC7 +S11347C01D6003E01F4B1D6010331E601020FFF7B7 +S11347D093FF25F0F86525F003051F4A2240154391 +S11347E026F0FC5104F0FC530B4314F0804F07D027 +S11347F045F4800523F4800318492140194301E05E +S113480023F0804114F4006F07D00EE0144A1268BC +S113481012F0400F05D1013B01E04FF40043002B9F +S1134820F4D125F4006521F40061064B1D601033BA +S113483019601020FFF760FF70BD00BF00E00F405B +S11348400000FF7060E00F4070E00F408FDFFF7FDB +S11348503020008058E00F400300C00700004040B3 +S113486050E00F4030B4724B1B68724A1168002943 +S113487002DA01F0700201E003F03002202A3AD09B +S113488003D862B1102A10D0CFE0602A5BD0702A1E +S113489056D0302A40F0C98047F2305069E0C3F363 +S11348A08412654850F8220063E0644A126812F0EA +S11348B0E04F4BD0614A1068614A0240B2F1805F18 +S11348C046D05E4A10685E4A02405E48824204D185 +S11348D05A4A126892B2022A3CD0584A1068584A7E +S11348E002405948824237D1544A126892B2002A8F +S11348F034D056483DE0514A126812F0E04F2FD0B0 +S11349004E4A10684E4A0240B2F1805F2AD04B4AA8 +S113491010684B4A02404B48824204D1474A12680D +S113492092B2022A20D0454A1068454A02404648BD +S113493082421BD1414A126892B2CAB1444818E07B +S11349404FF4004015E04FF4800012E0414810E0BD +S113495040480EE040480CE03C480AE03E4808E08D +S11349603E4806E03D4804E03D4802E0384800E0A7 +S11349703B48002902DA11F4006F04D000292FDB30 +S113498013F4006F2CD1374A1468643A126812F099 +S1134990E04F06D0294A1568294A2A40B2F1805FBF +S11349A00AD1C4F34812023202FB00F004F01F02E1 +S11349B00232B0FBF2F009E0C4F3481202FB00F04B +S11349C004F01F0201325200B0FBF2F014F4804FE5 +S11349D000D0400814F4004F00D0800843F4800352 +S11349E013F4800F22D0002919DA11F0804F10D06F +S11349F0002902DA11F4006F04D0002909DB13F452 +S1134A00006F06D14000C1F386530133B0FBF3F0CD +S1134A100CE0C1F3C5530133B0FBF3F006E0C3F37C +S1134A20C3530133B0FBF3F000E0002030BC704707 +S1134A3060E00F4070E00F40F457000000E00F40CA +S1134A400000FF7000000110000003100024F400B7 +S1134A5000093D00C0E1E400001BB70070383900D4 +S1134A60C0C62D0064E00F40094B984209D003F5FD +S1134A708053984207D003F58053984205D1012012 +S1134A80704701207047012070470020704700BF25 +S1134A9000C0004010B50446FFF7E6FF20B94FF40C +S1134AA0CF710748FFF7A2FCE36A43F01003E36207 +S1134AB0236B43F4407343F00103236310BD00BF31 +S1134AC07458000010B50446FFF7CEFF20B94FF428 +S1134AD0DF710948FFF78AFCA36913F0080FFBD1C3 +S1134AE0E36A23F01003E362236B23F4407323F09F +S1134AF00103236310BD00BF74580000F8B50546D8 +S1134B000C4616461F46FFF7AFFF20B940F20D11C1 +S1134B102F48FFF76BFC26B94FF487712C48FFF739 +S1134B2065FC2C4B1B6813F0E04F1FD0294B1A680F +S1134B30294B1340B3F1805F1AD0264B1A68264BD9 +S1134B401340264A934204D1224B1B689BB2022B8A +S1134B5010D0204B1A68204B1340214A93420BD1AA +S1134B601C4B1B689BB24BB1082308E0102306E0E2 +S1134B70102304E0102302E0082300E0102306FBC6 +S1134B8003F3A34204D940F20F111148FFF72EFC9E +S1134B902846FFF797FFB4EB061F05D22B6B43F0B3 +S1134BA020032B63760803E02B6B23F020032B6395 +S1134BB0E400B4FBF6F40134E3096B62C4F3450486 +S1134BC0AC62EF620023AB612846FFF763FFF8BDD8 +S1134BD07458000000E00F400000FF700000011056 +S1134BE00000031010B50446FFF73EFF20B940F261 +S1134BF009410648FFF7FAFBA36913F0100F01D12E +S1134C00206810BD4FF0FF3010BD00BF7458000085 +S1134C1010B50446462804D94FF4D5711A48FFF755 +S1134C20E5FB042C05D1194A136843F4803313605F +S1134C3010BD052C05D1154A136843F400331360E5 +S1134C4010BD062C05D1114A136843F48023136068 +S1134C5010BD0F2C05D10E4A136843F002031360F4 +S1134C6010BDA4F110031F2B05D8012202FA03F38F +S1134C70084A136010BD2F2C05D9303C012303FAD8 +S1134C8004F4054B1C6010BD8C58000024ED00E0BA +S1134C9010E000E000E100E004E100E010B50446AB +S1134CA0462804D94FF4F7711A48FFF79FFB042CE8 +S1134CB005D1194A136823F48033136010BD052C01 +S1134CC005D1154A136823F40033136010BD062C74 +S1134CD005D1114A136823F48023136010BD0F2CEF +S1134CE005D10E4A136823F00203136010BDA4F12A +S1134CF010031F2B05D8012202FA03F3084A13609C +S1134D0010BD2F2C05D9303C012303FA04F4054BC4 +S1134D101C6010BD8C58000024ED00E010E000E0A1 +S1134D2080E100E084E100E0B0F1402F44D0344B56 +S1134D30984243D0A3F5A623984241D003F5A82373 +S1134D4098423FD0A3F5A62398423DD003F5A8236B +S1134D5098423BD0A3F5A623984239D003F5A82363 +S1134D60984237D0A3F55C33984235D003F56033CD +S1134D70984233D0A3F55C33984231D003F56033C5 +S1134D8098422FD0A3F55C3398422DD003F56033BD +S1134D9098422BD0A3F55C33984229D003F56033B5 +S1134DA0984227D0A3F50833984225D003F50C3355 +S1134DB0984223D101207047012070470120704799 +S1134DC0012070470120704701207047012070477F +S1134DD0012070470120704701207047012070476F +S1134DE0012070470120704701207047012070475F +S1134DF00120704701207047012070470020704750 +S1134E000080054070B505460C461646FFF78CFF3A +S1134E1018B9E4211248FFF7E9FA022E03D9E62172 +S1134E200F48FFF7E3FA05F5806316F0010F03D08E +S1134E30D5F80024224303E0D5F8002422EA040232 +S1134E401A6005F5846316F0020F03D0D5F8202408 +S1134E50144303E0D5F8202422EA04041C6070BD46 +S1134E60A8580000F8B504460D4617461E46FFF73D +S1134E705BFF20B94FF4DD714E48FFF7B7FA7B1E94 +S1134E80012B08D9042F06D00C2F04D04FF4DF7166 +S1134E904848FFF7ABFA082E0FD00A2E0DD00C2E7F +S1134EA00BD0092E09D00B2E07D00D2E05D026B11C +S1134EB040F2C5113F48FFF799FA04F5A06317F0D3 +S1134EC0010F03D0D4F800252A4303E0D4F80025C9 +S1134ED022EA05021A6004F2045317F0020F03D009 +S1134EE0D4F804252A4303E0D4F8042522EA050271 +S1134EF01A6004F5A16317F0040F03D0D4F8082551 +S1134F002A4303E0D4F8082522EA05021A6004F5CE +S1134F10A36317F0080F03D0D4F818252A4303E03D +S1134F20D4F8182522EA05021A6004F20C5316F08C +S1134F30010F03D0D4F80C252A4303E0D4F80C2540 +S1134F4022EA05021A6004F5A26316F0020F03D0E8 +S1134F50D4F810252A4303E0D4F8102522EA0502E8 +S1134F601A6004F2145316F0040F03D0D4F8142575 +S1134F702A4303E0D4F8142522EA05021A6004F255 +S1134F801C5316F0080F03D0D4F81C252A4303E061 +S1134F90D4F81C2522EA05021A6004F5A5631EB99B +S1134FA0D4F82825154303E0D4F8282522EA05057A +S1134FB01D60F8BDA858000070B504460D4616469D +S1134FC0FFF7B2FE20B94FF451710348FFF70EFA10 +S1134FD044F8256070BD00BFA858000038B50446E9 +S1134FE00D46FFF7A1FE20B94FF464710748FFF79F +S1134FF0FDF9022229462046FFF704FF0823042274 +S113500029462046FFF72EFF38BD00BFA8580000F0 +S113501038B504460D46FFF787FE20B940F2044137 +S11350200748FFF7E3F9012229462046FFF7EAFE85 +S11350300823012229462046FFF714FF38BD00BF8C +S1135040A858000038B504460D46FFF76DFE20B998 +S113505040F21F510748FFF7C9F9022229462046AA +S1135060FFF7D0FE0823012229462046FFF7FAFE67 +S113507038BD00BFA8580000094B984209D003F579 +S11350808053984207D003F58053984205D10120FC +S1135090704701207047012070470020704700BF0F +S11350A000000440094B98420ED003F58053984207 +S11350B005D0A3F50053984203D137207047392017 +S11350C070474FF0FF30704738207047001004409D +S11350D082B001600023019302E0019B013301933C +S11350E0019B042BF9DD02B0704700BFF8B50746F9 +S11350F00846154600240DE0631C395D9D4204DD1D +S11351000234FB5C41EA032100E01C46061DFFF764 +S1135110DFFF3046AC42EFDBF8BD00BF70B582B0B4 +S1135120044620F47F6020F00F00FFF7BBFF054624 +S1135130B0F1FF3F03D1F9211048FFF757F9104BA5 +S11351401968A5F13003012202FA03F311EA0306F8 +S113515002D02846FFF7A2FD23680023019302E052 +S1135160019B01330193019B042BF9DD246816B1E3 +S11351702846FFF74DFD204602B070BDC058000020 +S113518004E100E0F8B507460846154600240DE0A2 +S1135190061DFFF7C3FF631C38559D4204DD02342E +S11351A0C0F30720F85400E01C463046AC42EFDB65 +S11351B0F8BD00BFF8B50646FFF75EFF20B940F220 +S11351C0D9112248FFF712F901213046FFF780FF79 +S11351D006F120042046FFF7A1FF10F4004FF7D199 +S11351E006F12407B0213846FFF772FF002106F1CB +S11351F03400FFF76DFF002106F13800FFF768FF68 +S113520001250AE02046FFF789FF10F4004FF9D189 +S113521029462046FFF75CFF0135202DF2DD0C21E5 +S11352203846FFF755FF01250AE02046FFF776FFD1 +S113523010F4004FF9D129462046FFF749FF013504 +S1135240202DF2DD301DFFF769FFF8BDC0580000C6 +S113525010B50446FFF710FF20B940F23A21064882 +S1135260FFF7C4F82046FFF759FF20F0010120465C +S1135270FFF72EFF10BD00BFC058000070B50546F3 +S11352800C46FFF7F9FE20B94FF459713148FFF786 +S1135290ADF824B940F265312E48FFF7A7F823682A +S11352A0023B0E2B04D940F26B312A48FFF79EF8DB +S11352B06368013B072B04D94FF45C712548FFF761 +S11352C095F8A368013B032B04D940F275312148BA +S11352D0FFF78CF8E368013BB3F5806F04D340F229 +S11352E07B311C48FFF782F82846FFF717FF064674 +S11352F040F041012846FFF7EBFE616801390903DC +S113530001F4E0412268013A120202F4706211438E +S1135310A368013B9B01DBB20B43E168013901F057 +S11353203F01194305F10C00FFF7D2FEE168013992 +S1135330C1F3831105F11800FFF7CAFE26F04001FE +S113534016F0010F01D026F041012846FFF7C0FEF8 +S113535070BD00BFC058000038B505460C46FFF7C5 +S11353608BFE20B940F292511D48FFF73FF8032C01 +S113537032D8DFE804F0020D192504352846FFF77A +S1135380CDFE04466FF01F012846FFF7A1FE24E07E +S113539005F58070FFF7C2FE044605F58270FFF73D +S11353A0BDFE44EA004418E005F59070FFF7B6FE30 +S11353B0044605F59270FFF7B1FE44EA00440CE0A0 +S11353C005F5B070FFF7AAFE044605F5B270FFF7C5 +S11353D0A5FE44EA004400E00024204638BD00BF96 +S11353E0C05800002DE9F04F83B005468B46914626 +S11353F01E46FFF741FE20B940F25F617748FEF791 +S1135400F5FF0BF1FF331F2B04D94FF4CC61734824 +S1135410FEF7ECFF042E04D940F266616F48FEF7F4 +S1135420E5FF05F120042046FFF778FE10F4004F55 +S1135430F7D1D9F80030B3F5006F07D2D9F80820B6 +S113544012F0040F05D04FF0010E04E04FF0010EEE +S113545001E04FF0000E042E00F2BD80DFE806F0FC +S113546003300F17240001204FF480774FF40056C7 +S11354704FF00008CDF800804FF0930A28E0002098 +S113548007460646804600904FF0930A20E000202D +S11354904FF480574FF4005641F6FF784FF6FF72F1 +S11354A000924FF0D30A13E001204FF490574FF4C9 +S11354B000564FF00008CDF800804FF0930A07E043 +S11354C000204FF480770646804600904FF0930A00 +S11354D0D9F8081011F0080F16D0BEF1000F09D04A +S11354E0D9F804200192BDF804200092019AC2F375 +S11354F00C4809E0D9F804204FEA8208C8F30C08E4 +S11355001FFA88F80022009201F02802282A01D10B +S113551048F4004801F01802182A01D148F48048E0 +S113552011F0380F03D047F480574AF0400A4AF08C +S1135530200ABEF1000F07D09AB20192C3F30C43C4 +S11355401E4346F4404607E09B00C3F30C031E438E +S113555046F4004600230193D9F80C2002F00F030F +S11355601F4311F4007F02D147F08007BFB211F04E +S1135570010F01D047F4006711F0020F01D047F486 +S1135580806728B105F13C01D9F81000FFF7AEFDA2 +S1135590514605F12400FFF79BFD009905F1280011 +S11355A0FFF796FD414605F12C00FFF791FD0199A7 +S11355B005F13000FFF78CFD314605F13400FFF7AB +S11355C087FD394605F13800FFF782FD0BF03F01F6 +S11355D02046FFF77DFD03B0BDE8F08FC058000002 +S11355E02DE9F04F83B00646884615461C46FFF762 +S11355F043FD20B940F2C1716648FEF7F7FE08F199 +S1135600FF331F2B04D940F2C2716248FEF7EEFE4D +S11356100CB9732100E07B2106F1840B5846FFF797 +S113562057FD06F1800408F03F0841462046FFF785 +S11356304FFD2046FFF772FD10F4004FF9D106F13B +S11356408800FFF76BFD019006F18C00FFF766FD03 +S1135650824606F19000FFF761FD814606F1940051 +S1135660FFF75CFD074606F19800FFF757FD00239E +S1135670AB6083B213F4807202D117F4005F03D1DC +S113568022B117F4005F01D14022AA6017F48042CE +S11356900CD0414901EA07471FFA89F949EA07078B +S11356A02F60A96841F00401A96002E0C7F38A07EA +S11356B02F6013F4804F03D0A96841F48071A9606E +S11356C013F4805F31D09AB1334A02EA0A41BDF83B +S11356D004200A436A606FF060418A4203D1AA68D9 +S11356E012F0400F13D1AA6842F00802AA600EE03B +S11356F0CAF38A026A6040F2FF718A4203D1AA683F +S113570012F0400F03D1AA6842F00802AA601AF40A +S1135710004F03D0AA6842F02802AA601AF4804F0E +S113572003D0AA6842F01802AA6013F4006F03D0F1 +S1135730AA6842F00102AA6013F4806F03D0AB6838 +S113574043F00203AB6010F4004F1ED000F00F02D0 +S1135750EA60AB6813F0400F04D106F19C0128699C +S1135760FFF710FD04215846FFF7B2FC41462046DE +S1135770FFF7AEFC2046FFF7D1FC10F4004FF9D13F +S1135780AB6843F08003AB6001E00023EB6003B03F +S1135790BDE8F08FC05800000000FF1F024A1368E4 +S11357A043F005031360704710E000E0024A1368F9 +S11357B043F002031360704710E000E010B5441E8C +S11357C0B4F1807F03D3D0210248FEF70FFE024BD1 +S11357D01C6010BDD458000014E000E0F8B500BF10 +S11357E0F8BC08BC9E467047F8B500BFF8BC08BCBE +S11357F09E46704740420F0000201C0080841E001B +S113580000802500999E36000040380000093D00C4 +S113581000803E0000004B00404B4C0000204E0036 +S1135820808D5B0000C05D000080700000127A0073 +S113583000007D0080969800001BB7000080BB002C +S1135840C0E8CE00647ADA000024F4000000FA0014 +S11358506C69622F6472697665726C69622F737900 +S11358607363746C2E63000000E10F4004E10F4089 +S113587008E10F406C69622F6472697665726C6925 +S1135880622F756172742E63000000006C69622FD0 +S11358906472697665726C69622F696E746572727E +S11358A07570742E630000006C69622F64726976EF +S11358B065726C69622F6770696F2E630000000067 +S11358C06C69622F6472697665726C69622F6361B8 +S11358D06E2E63006C69622F6472697665726C69FE +S11358E0622F7379737469636B2E63000000000088 +S10B58F019410000F54000001D S9034000BC diff --git a/Target/Demo/ARMCM3_LM3S_EK_LM3S8962_GCC/Prog/makefile b/Target/Demo/ARMCM3_LM3S_EK_LM3S8962_GCC/Prog/makefile index ef3066db..082ed0e2 100644 --- a/Target/Demo/ARMCM3_LM3S_EK_LM3S8962_GCC/Prog/makefile +++ b/Target/Demo/ARMCM3_LM3S_EK_LM3S8962_GCC/Prog/makefile @@ -1,11 +1,11 @@ #**************************************************************************************** -#| Description: Makefile for LM3S using CodeSourcery GNU GCC compiler toolset +#| Description: Makefile for GNU ARM Embedded toolchain. #| File Name: makefile #| #|--------------------------------------------------------------------------------------- #| C O P Y R I G H T #|--------------------------------------------------------------------------------------- -#| Copyright (c) 2012 by Feaser http://www.feaser.com All rights reserved +#| Copyright (c) 2017 by Feaser http://www.feaser.com All rights reserved #| #|--------------------------------------------------------------------------------------- #| L I C E N S E @@ -25,167 +25,101 @@ #**************************************************************************************** SHELL = sh -#|---------------------------------------------------------------------------------------| -#| Configure project name | -#|---------------------------------------------------------------------------------------| +#|--------------------------------------------------------------------------------------| +#| Configure project name | +#|--------------------------------------------------------------------------------------| PROJ_NAME=demoprog_ek_lm3s8962 -#|---------------------------------------------------------------------------------------| -#| Speficy project source files | -#|---------------------------------------------------------------------------------------| -PROJ_FILES= \ -boot.c \ -boot.h \ -cstart.c \ -header.h \ -led.c \ -led.h \ -main.c \ -time.c \ -time.h \ -vectors.c \ -lib/inc/asmdefs.h \ -lib/inc/hw_adc.h \ -lib/inc/hw_comp.h \ -lib/inc/hw_epi.h \ -lib/inc/hw_ethernet.h \ -lib/inc/hw_flash.h \ -lib/inc/hw_gpio.h \ -lib/inc/hw_hibernate.h \ -lib/inc/hw_i2c.h \ -lib/inc/hw_i2s.h \ -lib/inc/hw_ints.h \ -lib/inc/hw_memmap.h \ -lib/inc/hw_nvic.h \ -lib/inc/hw_pwm.h \ -lib/inc/hw_qei.h \ -lib/inc/hw_ssi.h \ -lib/inc/hw_sysctl.h \ -lib/inc/hw_timer.h \ -lib/inc/hw_types.h \ -lib/inc/hw_uart.h \ -lib/inc/hw_can.h \ -lib/inc/hw_udma.h \ -lib/inc/hw_usb.h \ -lib/inc/hw_watchdog.h \ -lib/inc/lm3s6965.h \ -lib/driverlib/adc.c \ -lib/driverlib/adc.h \ -lib/driverlib/can.c \ -lib/driverlib/can.h \ -lib/driverlib/comp.c \ -lib/driverlib/comp.h \ -lib/driverlib/cpu.c \ -lib/driverlib/cpu.h \ -lib/driverlib/debug.h \ -lib/driverlib/epi.c \ -lib/driverlib/epi.h \ -lib/driverlib/ethernet.c \ -lib/driverlib/ethernet.h \ -lib/driverlib/flash.c \ -lib/driverlib/flash.h \ -lib/driverlib/gpio.c \ -lib/driverlib/gpio.h \ -lib/driverlib/hibernate.c \ -lib/driverlib/hibernate.h \ -lib/driverlib/i2c.c \ -lib/driverlib/i2c.h \ -lib/driverlib/i2s.c \ -lib/driverlib/i2s.h \ -lib/driverlib/interrupt.c \ -lib/driverlib/interrupt.h \ -lib/driverlib/mpu.c \ -lib/driverlib/mpu.h \ -lib/driverlib/pin_map.h \ -lib/driverlib/pwm.c \ -lib/driverlib/pwm.h \ -lib/driverlib/qei.c \ -lib/driverlib/qei.h \ -lib/driverlib/rom.h \ -lib/driverlib/rom_map.h \ -lib/driverlib/ssi.c \ -lib/driverlib/ssi.h \ -lib/driverlib/sysctl.c \ -lib/driverlib/sysctl.h \ -lib/driverlib/systick.c \ -lib/driverlib/systick.h \ -lib/driverlib/timer.c \ -lib/driverlib/timer.h \ -lib/driverlib/uart.c \ -lib/driverlib/uart.h \ -lib/driverlib/udma.c \ -lib/driverlib/udma.h \ -lib/driverlib/usb.c \ -lib/driverlib/usb.h \ -lib/driverlib/watchdog.c \ -lib/driverlib/watchdog.h +#|--------------------------------------------------------------------------------------| +#| Configure tool path | +#|--------------------------------------------------------------------------------------| +TOOL_PATH=/opt/gcc-arm-none-eabi-5_4-2016q3/bin/ -#|---------------------------------------------------------------------------------------| -#| Compiler binaries | -#|---------------------------------------------------------------------------------------| -CC = arm-none-eabi-gcc -LN = arm-none-eabi-gcc -OC = arm-none-eabi-objcopy -OD = arm-none-eabi-objdump -AS = arm-none-eabi-as -SZ = arm-none-eabi-size +#|--------------------------------------------------------------------------------------| +#| Collect project files | +#|--------------------------------------------------------------------------------------| +# Recursive wildcard function implementation. Example usages: +# $(call rwildcard, , *.c *.h) +# --> Returns all *.c and *.h files in the current directory and below +# $(call rwildcard, /lib/, *.c) +# --> Returns all *.c files in the /lib directory and below +rwildcard = $(strip $(foreach d,$(wildcard $1*),$(call rwildcard,$d/,$2) $(filter $(subst *,%,$2),$d))) + +# Collect all application files in the current directory and its subdirectories +PROJ_FILES = $(call rwildcard, , *.c *.h *.S) -#|---------------------------------------------------------------------------------------| -#| Extract file names | -#|---------------------------------------------------------------------------------------| -PROJ_ASRCS = $(filter %.s,$(foreach file,$(PROJ_FILES),$(notdir $(file)))) +#|--------------------------------------------------------------------------------------| +#| Toolchain binaries | +#|--------------------------------------------------------------------------------------| +RM = rm +CC = $(TOOL_PATH)arm-none-eabi-gcc +LN = $(TOOL_PATH)arm-none-eabi-gcc +OC = $(TOOL_PATH)arm-none-eabi-objcopy +OD = $(TOOL_PATH)arm-none-eabi-objdump +AS = $(TOOL_PATH)arm-none-eabi-gcc +SZ = $(TOOL_PATH)arm-none-eabi-size + + +#|--------------------------------------------------------------------------------------| +#| Filter project files +#|--------------------------------------------------------------------------------------| +PROJ_ASRCS = $(filter %.S,$(foreach file,$(PROJ_FILES),$(notdir $(file)))) PROJ_CSRCS = $(filter %.c,$(foreach file,$(PROJ_FILES),$(notdir $(file)))) PROJ_CHDRS = $(filter %.h,$(foreach file,$(PROJ_FILES),$(notdir $(file)))) -PROJ_CCMPL = $(patsubst %.c,%.cpl,$(PROJ_CSRCS)) -PROJ_ACMPL = $(patsubst %.s,%.cpl,$(PROJ_ASRCS)) -#|---------------------------------------------------------------------------------------| -#| Set important path variables | -#|---------------------------------------------------------------------------------------| +#|--------------------------------------------------------------------------------------| +#| Set important path variables | +#|--------------------------------------------------------------------------------------| VPATH = $(foreach path,$(sort $(foreach file,$(PROJ_FILES),$(dir $(file)))) $(subst \,/,$(OBJ_PATH)),$(path) :) OBJ_PATH = obj BIN_PATH = bin -INC_PATH = $(patsubst %,-I%,$(sort $(foreach file,$(filter %.h,$(PROJ_FILES)),$(dir $(file))))) -INC_PATH += -I. -I./lib +INC_PATH = $(patsubst %/,%,$(patsubst %,-I%,$(sort $(foreach file,$(filter %.h,$(PROJ_FILES)),$(dir $(file)))))) +INC_PATH += -I./lib LIB_PATH = -#|---------------------------------------------------------------------------------------| -#| Options for compiler binaries | -#|---------------------------------------------------------------------------------------| -CFLAGS = -g -mthumb -mcpu=cortex-m3 -mlong-calls -O1 -T memory.x -CFLAGS += -D PACK_STRUCT_END=__attribute\(\(packed\)\) -D sprintf=usprintf -Wno-main -CFLAGS += -D ALIGN_STRUCT_END=__attribute\(\(aligned\(4\)\)\) -D snprintf=usnprintf -CFLAGS += -D printf=uipprintf -ffunction-sections -fdata-sections $(INC_PATH) -CFLAGS += -D DEBUG -D gcc -LFLAGS = -nostartfiles -Xlinker -M -Xlinker -Map=$(BIN_PATH)/$(PROJ_NAME).map -LFLAGS += $(LIB_PATH) -Xlinker --gc-sections -OFLAGS = -O srec -ODFLAGS = -x -SZFLAGS = -B -d +#|--------------------------------------------------------------------------------------| +#| Options for toolchain binaries | +#|--------------------------------------------------------------------------------------| +STDFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft -fno-strict-aliasing +STDFLAGS += -Wno-unused-but-set-variable +STDFLAGS += -fdata-sections -ffunction-sections -Wall -g3 +OPTFLAGS = -Og +CFLAGS = $(STDFLAGS) $(OPTFLAGS) +CFLAGS += -DDEBUG -Dgcc +CFLAGS += $(INC_PATH) +AFLAGS = $(CFLAGS) +LFLAGS = $(STDFLAGS) $(OPTFLAGS) +LFLAGS += -Wl,-script="memory.x" -Wl,-Map=$(BIN_PATH)/$(PROJ_NAME).map +LFLAGS += -specs=nano.specs -Wl,--gc-sections $(LIB_PATH) +OFLAGS = -O srec +ODFLAGS = -x +SZFLAGS = -B -d +RMFLAGS = -f -#|---------------------------------------------------------------------------------------| -#| Specify library files | -#|---------------------------------------------------------------------------------------| +#|--------------------------------------------------------------------------------------| +#| Specify library files | +#|--------------------------------------------------------------------------------------| LIBS = -#|---------------------------------------------------------------------------------------| -#| Define targets | -#|---------------------------------------------------------------------------------------| -AOBJS = $(patsubst %.s,%.o,$(PROJ_ASRCS)) +#|--------------------------------------------------------------------------------------| +#| Define targets | +#|--------------------------------------------------------------------------------------| +AOBJS = $(patsubst %.S,%.o,$(PROJ_ASRCS)) COBJS = $(patsubst %.c,%.o,$(PROJ_CSRCS)) -#|---------------------------------------------------------------------------------------| -#| Make ALL | -#|---------------------------------------------------------------------------------------| -all : $(BIN_PATH)/$(PROJ_NAME).srec +#|--------------------------------------------------------------------------------------| +#| Make ALL | +#|--------------------------------------------------------------------------------------| +.PHONY: all +all: $(BIN_PATH)/$(PROJ_NAME).srec $(BIN_PATH)/$(PROJ_NAME).srec : $(BIN_PATH)/$(PROJ_NAME).elf @@ -197,31 +131,32 @@ $(BIN_PATH)/$(PROJ_NAME).srec : $(BIN_PATH)/$(PROJ_NAME).elf $(BIN_PATH)/$(PROJ_NAME).elf : $(AOBJS) $(COBJS) @echo +++ Linking [$(notdir $@)] - @$(LN) $(CFLAGS) -o $@ $(patsubst %.o,$(OBJ_PATH)/%.o,$(^F)) $(LIBS) $(LFLAGS) + @$(LN) $(LFLAGS) -o $@ $(patsubst %.o,$(OBJ_PATH)/%.o,$(^F)) $(LIBS) -#|---------------------------------------------------------------------------------------| -#| Compile and assemble | -#|---------------------------------------------------------------------------------------| -$(AOBJS): %.o: %.s $(PROJ_CHDRS) +#|--------------------------------------------------------------------------------------| +#| Compile and assemble | +#|--------------------------------------------------------------------------------------| +$(AOBJS): %.o: %.S $(PROJ_CHDRS) @echo +++ Assembling [$(notdir $<)] - @$(AS) $(AFLAGS) $< -o $(OBJ_PATH)/$(@F) + @$(AS) $(AFLAGS) -c $< -o $(OBJ_PATH)/$(@F) $(COBJS): %.o: %.c $(PROJ_CHDRS) @echo +++ Compiling [$(notdir $<)] @$(CC) $(CFLAGS) -c $< -o $(OBJ_PATH)/$(@F) -#|---------------------------------------------------------------------------------------| -#| Make CLEAN | -#|---------------------------------------------------------------------------------------| -clean : +#|--------------------------------------------------------------------------------------| +#| Make CLEAN | +#|--------------------------------------------------------------------------------------| +.PHONY: clean +clean: @echo +++ Cleaning build environment - @cs-rm -f $(foreach file,$(AOBJS),$(OBJ_PATH)/$(file)) - @cs-rm -f $(foreach file,$(COBJS),$(OBJ_PATH)/$(file)) - @cs-rm -f $(patsubst %.o,%.lst,$(foreach file,$(COBJS),$(OBJ_PATH)/$(file))) - @cs-rm -f $(BIN_PATH)/$(PROJ_NAME).elf $(BIN_PATH)/$(PROJ_NAME).map - @cs-rm -f $(BIN_PATH)/$(PROJ_NAME).srec + @$(RM) $(RMFLAGS) $(foreach file,$(AOBJS),$(OBJ_PATH)/$(file)) + @$(RM) $(RMFLAGS) $(foreach file,$(COBJS),$(OBJ_PATH)/$(file)) + @$(RM) $(RMFLAGS) $(patsubst %.o,%.lst,$(foreach file,$(COBJS),$(OBJ_PATH)/$(file))) + @$(RM) $(RMFLAGS) $(BIN_PATH)/$(PROJ_NAME).elf $(BIN_PATH)/$(PROJ_NAME).map + @$(RM) $(RMFLAGS) $(BIN_PATH)/$(PROJ_NAME).srec @echo +++ Clean complete - \ No newline at end of file + diff --git a/Target/Demo/ARMCM3_LM3S_EK_LM3S8962_GCC/Prog/memory.x b/Target/Demo/ARMCM3_LM3S_EK_LM3S8962_GCC/Prog/memory.x index 4a91bbc5..e322fa8d 100644 --- a/Target/Demo/ARMCM3_LM3S_EK_LM3S8962_GCC/Prog/memory.x +++ b/Target/Demo/ARMCM3_LM3S_EK_LM3S8962_GCC/Prog/memory.x @@ -10,17 +10,60 @@ SECTIONS .text : { - KEEP(*(.isr_vector)) - *(.text*) - *(.rodata*) + KEEP(*(.isr_vector)) + *(.text*) + + KEEP(*(.init)) + KEEP(*(.fini)) + + /* .ctors */ + *crtbegin.o(.ctors) + *crtbegin?.o(.ctors) + *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors) + *(SORT(.ctors.*)) + *(.ctors) + + /* .dtors */ + *crtbegin.o(.dtors) + *crtbegin?.o(.dtors) + *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors) + *(SORT(.dtors.*)) + *(.dtors) + + *(.rodata*) + + KEEP(*(.eh_frame*)) _etext = .; } > FLASH .data : AT (ADDR(.text) + SIZEOF(.text)) { _data = .; - *(vtable) - *(.data*) + *(vtable) + *(.data*) + + . = ALIGN(4); + /* preinit data */ + PROVIDE_HIDDEN (__preinit_array_start = .); + KEEP(*(.preinit_array)) + PROVIDE_HIDDEN (__preinit_array_end = .); + + . = ALIGN(4); + /* init data */ + PROVIDE_HIDDEN (__init_array_start = .); + KEEP(*(SORT(.init_array.*))) + KEEP(*(.init_array)) + PROVIDE_HIDDEN (__init_array_end = .); + + + . = ALIGN(4); + /* finit data */ + PROVIDE_HIDDEN (__fini_array_start = .); + KEEP(*(SORT(.fini_array.*))) + KEEP(*(.fini_array)) + PROVIDE_HIDDEN (__fini_array_end = .); + + . = ALIGN(4); _edata = .; } > SRAM @@ -33,5 +76,6 @@ SECTIONS _stack = .; . = ALIGN(MAX(_stack + __STACKSIZE__ , .), 4); _estack = .; + } > SRAM }