Refs #225. Added 29-bit CAN identifier support to the STM32F4 port.

git-svn-id: https://svn.code.sf.net/p/openblt/code/trunk@299 5dc33758-31d5-4daf-9ae8-b24bf3d40d73
This commit is contained in:
Frank Voorburg 2017-07-14 09:12:04 +00:00
parent 944765d2b5
commit aee52e76f8
33 changed files with 9101 additions and 9862 deletions

View File

@ -7,8 +7,8 @@ start address 0x08000000
Program Header:
LOAD off 0x00008000 vaddr 0x08000000 paddr 0x08000000 align 2**15
filesz 0x0000a1a0 memsz 0x0000a1a0 flags r-x
LOAD off 0x00018000 vaddr 0x20000000 paddr 0x0800a1a0 align 2**15
filesz 0x0000a1b8 memsz 0x0000a1b8 flags r-x
LOAD off 0x00018000 vaddr 0x20000000 paddr 0x0800a1b8 align 2**15
filesz 0x000000ec memsz 0x000000ec flags rw-
LOAD off 0x00018100 vaddr 0x20000100 paddr 0x0800a300 align 2**15
filesz 0x00000000 memsz 0x00003564 flags rw-
@ -16,31 +16,31 @@ private flags = 5000202: [Version5 EABI] [soft-float ABI] [has entry point]
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 0000a1a0 08000000 08000000 00008000 2**2
0 .text 0000a1b8 08000000 08000000 00008000 2**2
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .data 000000ec 20000000 0800a1a0 00018000 2**2
1 .data 000000ec 20000000 0800a1b8 00018000 2**2
CONTENTS, ALLOC, LOAD, DATA
2 .bss 00003564 20000100 0800a300 00018100 2**7
ALLOC
3 .debug_info 00020b3d 00000000 00000000 000180ec 2**0
3 .debug_info 00020b4b 00000000 00000000 000180ec 2**0
CONTENTS, READONLY, DEBUGGING
4 .debug_abbrev 00005463 00000000 00000000 00038c29 2**0
4 .debug_abbrev 00005472 00000000 00000000 00038c37 2**0
CONTENTS, READONLY, DEBUGGING
5 .debug_loc 0000ffde 00000000 00000000 0003e08c 2**0
5 .debug_loc 0000ffda 00000000 00000000 0003e0a9 2**0
CONTENTS, READONLY, DEBUGGING
6 .debug_aranges 000015a0 00000000 00000000 0004e06a 2**0
6 .debug_aranges 000015a0 00000000 00000000 0004e083 2**0
CONTENTS, READONLY, DEBUGGING
7 .debug_ranges 00001460 00000000 00000000 0004f60a 2**0
7 .debug_ranges 00001460 00000000 00000000 0004f623 2**0
CONTENTS, READONLY, DEBUGGING
8 .debug_line 00007d1e 00000000 00000000 00050a6a 2**0
8 .debug_line 00007d25 00000000 00000000 00050a83 2**0
CONTENTS, READONLY, DEBUGGING
9 .debug_str 0000745f 00000000 00000000 00058788 2**0
9 .debug_str 00007467 00000000 00000000 000587a8 2**0
CONTENTS, READONLY, DEBUGGING
10 .comment 00000030 00000000 00000000 0005fbe7 2**0
10 .comment 00000030 00000000 00000000 0005fc0f 2**0
CONTENTS, READONLY
11 .ARM.attributes 00000033 00000000 00000000 0005fc17 2**0
11 .ARM.attributes 00000033 00000000 00000000 0005fc3f 2**0
CONTENTS, READONLY
12 .debug_frame 00003780 00000000 00000000 0005fc4c 2**2
12 .debug_frame 00003780 00000000 00000000 0005fc74 2**2
CONTENTS, READONLY, DEBUGGING
SYMBOL TABLE:
08000000 l d .text 00000000 .text
@ -58,7 +58,7 @@ SYMBOL TABLE:
00000000 l d .debug_frame 00000000 .debug_frame
00000000 l df *ABS* 00000000 vectors.c
00000000 l df *ABS* 00000000 hooks.c
08009874 l O .text 00000020 firmwareFilename
0800988c l O .text 00000020 firmwareFilename
20000100 l O .bss 0000022c logfile
00000000 l df *ABS* 00000000 main.c
00000000 l df *ABS* 00000000 usbd_bulk.c
@ -148,13 +148,13 @@ SYMBOL TABLE:
08005d1c l F .text 00000046 putc_bfd
20000410 l O .bss 00000200 LfnBuf
20000610 l O .bss 00000002 Fsid
08009920 l O .text 00000080 ExCvt
080099a0 l O .text 0000000d LfnOfs
08009938 l O .text 00000080 ExCvt
080099b8 l O .text 0000000d LfnOfs
20000614 l O .bss 00000004 FatFs
00000000 l df *ABS* 00000000 unicode.c
080099b0 l O .text 000000bc cvt2.4272
08009a6c l O .text 00000100 Tbl
08009b6c l O .text 000001f2 cvt1.4271
080099c8 l O .text 000000bc cvt2.4272
08009a84 l O .text 00000100 Tbl
08009b84 l O .text 000001f2 cvt1.4271
00000000 l df *ABS* 00000000 uip.c
08006248 l F .text 0000004c chksum
08006294 l F .text 00000042 upper_layer_chksum
@ -170,7 +170,7 @@ SYMBOL TABLE:
2000062e l O .bss 00000001 i
2000062f l O .bss 00000001 tmpage
20000630 l O .bss 00000060 arp_table
08009d60 l O .text 00000006 broadcast_ethaddr
08009d78 l O .text 00000006 broadcast_ethaddr
20000690 l O .bss 00000001 c
20000691 l O .bss 00000001 arptime
20000694 l O .bss 00000004 ipaddr
@ -183,7 +183,7 @@ SYMBOL TABLE:
200006dc l O .bss 00000004 periodicTimerTimeOut
00000000 l df *ABS* 00000000 xcp.c
08007bd4 l F .text 00000016 XcpSetCtoError
08009d68 l O .text 00000008 xcpStationId
08009d80 l O .text 00000008 xcpStationId
200006e0 l O .bss 0000004c xcpInfo
00000000 l df *ABS* 00000000 backdoor.c
2000072c l O .bss 00000001 backdoorOpen
@ -201,27 +201,27 @@ SYMBOL TABLE:
20000bd8 l O .bss 00000184 lineParseObject
00000000 l df *ABS* 00000000 assert.c
00000000 l df *ABS* 00000000 can.c
08009f5c l O .text 00000024 canTiming
08009f74 l O .text 00000024 canTiming
00000000 l df *ABS* 00000000 cpu.c
00000000 l df *ABS* 00000000 flash.c
08008c18 l F .text 00000044 FlashGetSector
08008c5c l F .text 00000078 FlashWriteBlock
08008cd4 l F .text 00000062 FlashSwitchBlock
08008d38 l F .text 00000084 FlashAddToBlock
08009f80 l O .text 00000030 flashSectorNumToMask
08009fb0 l O .text 0000006c flashLayout
08008c30 l F .text 00000044 FlashGetSector
08008c74 l F .text 00000078 FlashWriteBlock
08008cec l F .text 00000062 FlashSwitchBlock
08008d50 l F .text 00000084 FlashAddToBlock
08009f98 l O .text 00000030 flashSectorNumToMask
08009fc8 l O .text 0000006c flashLayout
20000d5c l O .bss 00000204 bootBlockInfo
20000f60 l O .bss 00000204 blockInfo
00000000 l df *ABS* 00000000 uart.c
08008fcc l F .text 00000042 UartTransmitByte
08009010 l F .text 0000002c UartReceiveByte
08008fe4 l F .text 00000042 UartTransmitByte
08009028 l F .text 0000002c UartReceiveByte
20001164 l O .bss 00000001 xcpCtoRxLength.7780
20001168 l O .bss 00000041 xcpCtoReqPacket.7779
200011ac l O .bss 00000001 xcpCtoRxInProgress.7781
200011b0 l O .bss 00000004 xcpCtoRxStartTime.7782
00000000 l df *ABS* 00000000 usb.c
080091bc l F .text 0000007c UsbFifoMgrWrite
08009238 l F .text 00000076 UsbFifoMgrRead
080091d4 l F .text 0000007c UsbFifoMgrWrite
08009250 l F .text 00000076 UsbFifoMgrRead
200011b4 l O .bss 00000004 fifoCtrlFree
200011b8 l O .bss 00000030 fifoCtrl
200011e8 l O .bss 00000041 fifoPipeBulkOUT
@ -236,14 +236,14 @@ SYMBOL TABLE:
200018ec l O .bss 00000004 millisecond_counter
00000000 l df *ABS* 00000000 cpu_comp.c
00000000 l df *ABS* 00000000 cstart.c
0800970c l F .text 00000000 zero_loop
08009724 l F .text 00000000 zero_loop
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__
08007824 g F .text 00000030 ComInit
08008dd8 g F .text 00000050 FlashWrite
08008df0 g F .text 00000050 FlashWrite
2000006c g O .data 00000012 USBD_DeviceDesc
080004f0 g F .text 0000001e USBD_USR_ProductStrDescriptor
080060b0 g F .text 0000004e f_gets
@ -253,12 +253,12 @@ SYMBOL TABLE:
080005ac g F .text 0000000a USBD_USR_DeviceConnected
080036e0 g F .text 00000012 ETH_FlushTransmitFIFO
08008914 g F .text 00000008 AssertFailure
08008b2c g F .text 00000088 CanReceivePacket
08008b2c g F .text 000000a0 CanReceivePacket
2000009c g O .data 00000004 USBD_DCD_INT_fops
080096c8 g F .text 00000058 reset_handler
080096e0 g F .text 00000058 reset_handler
08003c84 g F .text 00000028 GPIO_PinAFConfig
080017ec g F .text 0000009a DCD_Init
08009674 g F .text 00000022 TimerUpdate
0800968c g F .text 00000022 TimerUpdate
08007c1c g F .text 00000010 XcpPacketTransmitted
080004c4 g F .text 0000000a usbd_bulk_get_rx_buffer_ptr
08003234 g F .text 0000009e ETH_StructInit
@ -283,22 +283,22 @@ SYMBOL TABLE:
08003e18 g F .text 00000024 RCC_AHB1PeriphResetCmd
080040b8 g F .text 0000000c USART_GetFlagStatus
0800802c g F .text 00000002 CopService
0800a1a0 g .text 00000000 _etext
0800a1b8 g .text 00000000 _etext
20000334 g O .bss 00000004 USBD_ep_status
080096c0 g F .text 00000004 CpuIrqDisable
080096d8 g F .text 00000004 CpuIrqDisable
08002e3c g F .text 0000019a SD_WriteBlock
20000080 g O .data 0000001c USR_cb
080061a0 g F .text 000000a6 ff_wtoupper
08001a0c g F .text 00000014 DCD_DevDisconnect
080039b0 g F .text 00000050 netdev_read
08006420 g F .text 00000f1e uip_process
08008fc0 g F .text 0000000a FlashGetUserProgBaseAddress
08008fd8 g F .text 0000000a FlashGetUserProgBaseAddress
0800059c g F .text 00000008 USBD_USR_DeviceSuspended
0800321c g F .text 00000018 ETH_DeInit
0800972c g F .text 000000a6 memcpy
08009744 g F .text 000000a6 memcpy
080083b4 g F .text 00000560 FileTask
08000dc0 g F .text 00000138 USBD_StdEPReq
08009664 g F .text 0000000e TimerReset
0800967c g F .text 0000000e TimerReset
08003068 g F .text 00000038 disk_initialize
20002794 g O .bss 00000004 uip_sappdata
08000190 g F .text 00000002 UsbLeaveLowPowerModeHook
@ -314,7 +314,7 @@ SYMBOL TABLE:
0800780c g F .text 00000018 BootTask
08001a20 g F .text 0000055e USBD_OTG_ISR_Handler
08003024 g F .text 0000002c SD_GetState
08008eb4 g F .text 00000058 FlashWriteChecksum
08008ecc g F .text 00000058 FlashWriteChecksum
08002a70 g F .text 00000084 SD_EnableWideBusOperation
08003df4 g F .text 00000024 RCC_APB2PeriphClockCmd
08003f04 g F .text 0000000e SDIO_GetCommandResponse
@ -344,16 +344,16 @@ SYMBOL TABLE:
08005fe8 g F .text 000000c8 f_unlink
0800018c g F .text 00000002 UsbEnterLowPowerModeHook
0800366c g F .text 00000026 ETH_MACTransmissionCmd
08009600 g F .text 00000008 NvmInit
08008dbc g F .text 0000001a FlashInit
08009618 g F .text 00000008 NvmInit
08008dd4 g F .text 0000001a FlashInit
08003a8c g F .text 00000012 FLASH_Lock
08009620 g F .text 00000008 NvmGetUserProgBaseAddress
08009638 g F .text 00000008 NvmGetUserProgBaseAddress
20002e64 g .bss 00000000 _ebss
0800179c g F .text 0000000c USB_OTG_ReadDevAllInEPItr
08001720 g F .text 00000034 USB_OTG_EPSetStall
08006100 g F .text 00000052 f_puts
08000510 g F .text 0000001e USBD_USR_ManufacturerStrDescriptor
080096ac g F .text 00000012 UnusedISR
080096c4 g F .text 00000012 UnusedISR
080005a4 g F .text 00000008 USBD_USR_DeviceResumed
08003eac g F .text 0000000c SDIO_ClockCmd
080078f8 g F .text 00000008 ComFree
@ -364,13 +364,13 @@ SYMBOL TABLE:
08003344 g F .text 00000068 ETH_WritePHYRegister
080015fc g F .text 00000122 USB_OTG_EP0StartXfer
080009b4 g F .text 0000001e USBD_CtlReceiveStatus
0800903c g F .text 0000003e UartInit
08009054 g F .text 0000003e UartInit
08000678 g F .text 00000018 USB_OTG_BSP_uDelay
08001264 g F .text 0000000c USB_OTG_InitDevSpeed
080014cc g F .text 0000012e USB_OTG_EPStartXfer
08009594 g F .text 0000006c UsbReceivePipeBulkOUT
080095ac g F .text 0000006c UsbReceivePipeBulkOUT
08003cac g F .text 000000da RCC_GetClocksFreq
08009610 g F .text 00000008 NvmErase
08009628 g F .text 00000008 NvmErase
08000194 g F .text 00000018 CpuUserProgramStartHook
08000a18 g F .text 0000001a USBD_CtlError
0800398c g F .text 00000022 netdev_init_mac
@ -382,13 +382,13 @@ SYMBOL TABLE:
08003aac g F .text 00000054 FLASH_GetStatus
08007c2c g F .text 00000388 XcpPacketReceived
080063ac g F .text 0000000a uip_tcpchksum
08008bb4 g F .text 00000008 CpuInit
08008bcc g F .text 00000008 CpuInit
08003aa0 g F .text 0000000c FLASH_ClearFlag
08003b00 g F .text 00000038 FLASH_WaitForLastOperation
0800371c g F .text 00000026 ETH_DMAReceptionCmd
08000590 g F .text 00000002 USBD_USR_Init
080059f0 g F .text 0000017c f_read
08008f74 g F .text 0000004c FlashDone
08008f8c g F .text 0000004c FlashDone
08001780 g F .text 0000000c USB_OTG_ReadDevAllOutEp_itr
08002b20 g F .text 00000172 SD_Init
08001248 g F .text 00000010 USB_OTG_IsDeviceMode
@ -399,7 +399,7 @@ SYMBOL TABLE:
080036d0 g F .text 00000010 ETH_GetSoftwareResetStatus
08001754 g F .text 0000002a USB_OTG_EPClearStall
200018f0 g O .bss 00000040 USB_Rx_Buffer
080093a0 g F .text 0000007a UsbTransmitPacket
080093b8 g F .text 0000007a UsbTransmitPacket
08002af4 g F .text 0000002c SD_SelectDeselect
08008a84 g F .text 000000a8 CanTransmitPacket
08000188 g F .text 00000002 UsbConnectHook
@ -412,12 +412,12 @@ SYMBOL TABLE:
08000920 g F .text 00000018 USBD_SetCfg
08008130 g F .text 00000034 FileInit
08003f60 g F .text 0000000e SDIO_ReadData
080092b0 g F .text 000000d8 UsbInit
080092c8 g F .text 000000d8 UsbInit
0800761c g F .text 000001d0 uip_arp_out
08009388 g F .text 00000016 UsbFree
08008e28 g F .text 0000008a FlashErase
080093a0 g F .text 00000016 UsbFree
08008e40 g F .text 0000008a FlashErase
080004d0 g F .text 0000000e USBD_USR_DeviceDescriptor
080097d4 g F .text 0000009e memset
080097ec g F .text 0000009e memset
0800027c g F .text 00000020 FileFirmwareUpdateErrorHook
080002fc g F .text 000000dc main
08003b38 g F .text 0000006e FLASH_EraseSector
@ -426,11 +426,11 @@ SYMBOL TABLE:
080012c0 g F .text 0000011e USB_OTG_CoreInitDev
08001184 g F .text 0000004e USB_OTG_FlushTxFifo
080081b0 g F .text 0000004c FileSrecGetLineType
08009628 g F .text 00000012 NvmDone
08009640 g F .text 00000012 NvmDone
080057f0 g F .text 0000007a f_mount
0800907c g F .text 00000066 UartTransmitPacket
08009618 g F .text 00000008 NvmVerifyChecksum
08008bf8 g F .text 0000001e CpuMemCopy
08009094 g F .text 00000066 UartTransmitPacket
08009630 g F .text 00000008 NvmVerifyChecksum
08008c10 g F .text 0000001e CpuMemCopy
08003f14 g F .text 0000001a SDIO_GetResponse
20000068 g O .data 00000004 USBD_LangIDDesc
08001174 g F .text 0000000e USB_OTG_DisableGlobalInt
@ -444,9 +444,9 @@ SYMBOL TABLE:
08003fa0 g F .text 0000000a SYSCFG_ETH_MediaInterfaceConfig
080074e8 g F .text 00000134 uip_arp_arpin
0800797c g F .text 0000001c ComGetActiveInterfaceMaxTxLen
080090e4 g F .text 000000d8 UartReceivePacket
080090fc g F .text 000000d8 UartReceivePacket
080001ec g F .text 0000000a FileGetFirmwareFilenameHook
080096c4 g F .text 00000004 CpuIrqEnable
080096dc g F .text 00000004 CpuIrqEnable
080005b8 g F .text 0000000a USBD_USR_DeviceDisconnected
08000674 g F .text 00000002 USB_OTG_BSP_EnableInterrupt
08002c94 g F .text 000001a6 SD_ReadBlock
@ -463,13 +463,13 @@ SYMBOL TABLE:
08008028 g F .text 00000002 CopInit
08002368 g F .text 0000002c SD_Detect
0800891c g F .text 00000168 CanInit
08009608 g F .text 00000008 NvmWrite
08008bbc g F .text 0000003a CpuStartUserProgram
08009620 g F .text 00000008 NvmWrite
08008bd4 g F .text 0000003a CpuStartUserProgram
08000ef8 g F .text 0000004c USBD_GetString
20003664 g .bss 00000000 _estack
080040a8 g F .text 00000008 USART_SendData
0800941c g F .text 000000c8 UsbReceivePacket
08008f0c g F .text 00000068 FlashVerifyChecksum
08009434 g F .text 000000c8 UsbReceivePacket
08008f24 g F .text 00000068 FlashVerifyChecksum
08007a14 g F .text 00000044 NetTransmitPacket
200000ec g .data 00000000 _edata
08008164 g F .text 00000014 FileIsIdle
@ -488,7 +488,7 @@ SYMBOL TABLE:
08007998 g F .text 00000008 ComIsConnected
08001400 g F .text 0000002a USB_OTG_EP0Activate
08000fe4 g F .text 00000026 USB_OTG_ReadPacket
0800a09c g O .text 00000101 _ctype_
0800a0b4 g O .text 00000101 _ctype_
080036f4 g F .text 00000026 ETH_DMATransmissionCmd
08003e78 g F .text 00000034 SDIO_Init
080001ac g F .text 0000003e FileIsFirmwareUpdateRequestedHook
@ -507,9 +507,9 @@ SYMBOL TABLE:
20000000 g O .data 00000020 usbd_bulk_CfgDesc
2000281c g O .bss 00000004 uip_hostaddr
08006154 g F .text 0000004a ff_convert
08009698 g F .text 00000012 TimerGet
080096b0 g F .text 00000012 TimerGet
08003ec4 g F .text 00000010 SDIO_GetPowerState
080094e4 g F .text 000000ae UsbTransmitPipeBulkIN
080094fc g F .text 000000ae UsbTransmitPipeBulkIN
20002780 g O .bss 00000010 EnetDmaTx
08007b64 g F .text 00000070 NetApp
2000004c g O .data 0000001c USR_desc
@ -517,7 +517,7 @@ SYMBOL TABLE:
08001488 g F .text 00000042 USB_OTG_EPDeactivate
08002614 g F .text 000001a4 SD_InitializeCards
08003c78 g F .text 0000000c GPIO_ReadInputDataBit
0800963c g F .text 00000028 TimerInit
08009654 g F .text 00000028 TimerInit
08003f70 g F .text 0000000e SDIO_WriteData
20002820 g O .bss 00000642 uip_buf
200000a0 g O .data 0000002c USBD_DCD_INT_cb

View File

@ -61,7 +61,8 @@
* in bits/second. Two CAN messages are reserved for communication with the host. The
* message identifier for sending data from the target to the host is configured with
* BOOT_COM_CAN_TXMSG_ID. The one for receiving data from the host is configured with
* BOOT_COM_CAN_RXMSG_ID. The maximum amount of data bytes in a message for data
* BOOT_COM_CAN_RXMSG_ID. Note that an extended 29-bit CAN identifier is configured by
* OR-ing with mask 0x80000000. The maximum amount of data bytes in a message for data
* transmission and reception is set through BOOT_COM_CAN_TX_MAX_DATA and
* BOOT_COM_CAN_RX_MAX_DATA, respectively. It is common for a microcontroller to have more
* than 1 CAN controller on board. The zero-based BOOT_COM_CAN_CHANNEL_INDEX selects the
@ -73,11 +74,11 @@
/** \brief Configure the desired CAN baudrate. */
#define BOOT_COM_CAN_BAUDRATE (500000)
/** \brief Configure CAN message ID target->host. */
#define BOOT_COM_CAN_TX_MSG_ID (0x7E1)
#define BOOT_COM_CAN_TX_MSG_ID (0x7E1 /*| 0x80000000*/)
/** \brief Configure number of bytes in the target->host CAN message. */
#define BOOT_COM_CAN_TX_MAX_DATA (8)
/** \brief Configure CAN message ID host->target. */
#define BOOT_COM_CAN_RX_MSG_ID (0x667)
#define BOOT_COM_CAN_RX_MSG_ID (0x667 /*| 0x80000000*/)
/** \brief Configure number of bytes in the host->target CAN message. */
#define BOOT_COM_CAN_RX_MAX_DATA (8)
/** \brief Select the desired CAN peripheral as a zero based index. */

View File

@ -7,8 +7,8 @@ start address 0x0800c000
Program Header:
LOAD off 0x00000000 vaddr 0x08008000 paddr 0x08008000 align 2**15
filesz 0x00007154 memsz 0x00007154 flags r-x
LOAD off 0x00008000 vaddr 0x20000000 paddr 0x0800f154 align 2**15
filesz 0x00007158 memsz 0x00007158 flags r-x
LOAD off 0x00008000 vaddr 0x20000000 paddr 0x0800f158 align 2**15
filesz 0x00000014 memsz 0x00000014 flags rw-
LOAD off 0x00008080 vaddr 0x20000080 paddr 0x0800f200 align 2**15
filesz 0x00000000 memsz 0x00001c9c flags rw-
@ -16,31 +16,31 @@ private flags = 5000202: [Version5 EABI] [soft-float ABI] [has entry point]
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 00003154 0800c000 0800c000 00004000 2**2
0 .text 00003158 0800c000 0800c000 00004000 2**2
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .data 00000014 20000000 0800f154 00008000 2**2
1 .data 00000014 20000000 0800f158 00008000 2**2
CONTENTS, ALLOC, LOAD, DATA
2 .bss 00001c9c 20000080 0800f200 00008080 2**7
ALLOC
3 .debug_info 000093d4 00000000 00000000 00008014 2**0
3 .debug_info 000093e9 00000000 00000000 00008014 2**0
CONTENTS, READONLY, DEBUGGING
4 .debug_abbrev 00001dac 00000000 00000000 000113e8 2**0
4 .debug_abbrev 00001dac 00000000 00000000 000113fd 2**0
CONTENTS, READONLY, DEBUGGING
5 .debug_loc 00003ba9 00000000 00000000 00013194 2**0
5 .debug_loc 00003bcf 00000000 00000000 000131a9 2**0
CONTENTS, READONLY, DEBUGGING
6 .debug_aranges 000009c0 00000000 00000000 00016d3d 2**0
6 .debug_aranges 000009c0 00000000 00000000 00016d78 2**0
CONTENTS, READONLY, DEBUGGING
7 .debug_ranges 000008b0 00000000 00000000 000176fd 2**0
7 .debug_ranges 000008b0 00000000 00000000 00017738 2**0
CONTENTS, READONLY, DEBUGGING
8 .debug_line 0000314b 00000000 00000000 00017fad 2**0
8 .debug_line 0000314e 00000000 00000000 00017fe8 2**0
CONTENTS, READONLY, DEBUGGING
9 .debug_str 00003846 00000000 00000000 0001b0f8 2**0
9 .debug_str 00003853 00000000 00000000 0001b136 2**0
CONTENTS, READONLY, DEBUGGING
10 .comment 00000030 00000000 00000000 0001e93e 2**0
10 .comment 00000030 00000000 00000000 0001e989 2**0
CONTENTS, READONLY
11 .ARM.attributes 00000033 00000000 00000000 0001e96e 2**0
11 .ARM.attributes 00000033 00000000 00000000 0001e9b9 2**0
CONTENTS, READONLY
12 .debug_frame 0000144c 00000000 00000000 0001e9a4 2**2
12 .debug_frame 0000144c 00000000 00000000 0001e9ec 2**2
CONTENTS, READONLY, DEBUGGING
SYMBOL TABLE:
0800c000 l d .text 00000000 .text
@ -63,9 +63,9 @@ SYMBOL TABLE:
200000c4 l O .bss 00000001 xcpCtoRxLength.7492
200000c5 l O .bss 00000001 xcpCtoRxInProgress.7493
200000c8 l O .bss 00000004 xcpCtoRxStartTime.7494
0800f128 l O .text 00000024 canTiming
0800f12c l O .text 00000024 canTiming
00000000 l df *ABS* 00000000 cstart.c
0800c560 l F .text 00000000 zero_loop
0800c564 l F .text 00000000 zero_loop
00000000 l df *ABS* 00000000 led.c
200000cc l O .bss 00000004 timer_counter_last.7472
200000d0 l O .bss 00000001 led_toggle_state.7471
@ -85,9 +85,9 @@ SYMBOL TABLE:
00000000 l df *ABS* 00000000 stm32f4xx_usart.c
00000000 l df *ABS* 00000000 system_stm32f4xx.c
00000000 l df *ABS* 00000000 uip.c
0800d998 l F .text 0000004c chksum
0800d9e4 l F .text 00000046 upper_layer_chksum
0800daac l F .text 00000036 uip_add_rcv_nxt
0800d99c l F .text 0000004c chksum
0800d9e8 l F .text 00000046 upper_layer_chksum
0800dab0 l F .text 00000036 uip_add_rcv_nxt
200000e0 l O .bss 00000002 tmp16
200000e2 l O .bss 00000002 ipid
200000e4 l O .bss 00000004 iss
@ -95,11 +95,11 @@ SYMBOL TABLE:
200000f4 l O .bss 00000001 c
200000f5 l O .bss 00000001 opt
00000000 l df *ABS* 00000000 uip_arp.c
0800eb58 l F .text 00000116 uip_arp_update
0800eb5c l F .text 00000116 uip_arp_update
200000f6 l O .bss 00000001 i
200000f7 l O .bss 00000001 tmpage
200000f8 l O .bss 00000060 arp_table
0800f14c l O .text 00000006 broadcast_ethaddr
0800f150 l O .text 00000006 broadcast_ethaddr
20000158 l O .bss 00000001 c
20000159 l O .bss 00000001 arptime
2000015c l O .bss 00000004 ipaddr
@ -107,96 +107,96 @@ SYMBOL TABLE:
00000000 l df *ABS* 00000000 memset.c
00000000 l df *ABS* 00000000
00000800 l *ABS* 00000000 __STACKSIZE__
0800ce38 g F .text 00000012 ETH_FlushTransmitFIFO
0800c51c g F .text 00000060 reset_handler
0800d5ac g F .text 00000028 GPIO_PinAFConfig
0800c95c g F .text 0000009e ETH_StructInit
0800d31c g F .text 00000126 CAN_FilterInit
0800cad4 g F .text 000002f0 ETH_Init
0800ce3c g F .text 00000012 ETH_FlushTransmitFIFO
0800c520 g F .text 00000060 reset_handler
0800d5b0 g F .text 00000028 GPIO_PinAFConfig
0800c960 g F .text 0000009e ETH_StructInit
0800d320 g F .text 00000126 CAN_FilterInit
0800cad8 g F .text 000002f0 ETH_Init
20000e90 g O .bss 00000002 uip_len
200000ec g O .bss 00000006 uip_ethaddr
0800da2c g F .text 0000007e uip_add32
0800d71c g F .text 00000024 RCC_AHB1PeriphResetCmd
0800d878 g F .text 0000000c USART_GetFlagStatus
0800f154 g .text 00000000 _etext
0800d12c g F .text 00000056 netdev_read
0800db88 g F .text 00000fc4 uip_process
0800c92c g F .text 00000010 TimerISRHandler
0800c940 g F .text 0000001c ETH_DeInit
0800efe0 g F .text 000000a6 memcpy
0800da30 g F .text 0000007e uip_add32
0800d720 g F .text 00000024 RCC_AHB1PeriphResetCmd
0800d87c g F .text 0000000c USART_GetFlagStatus
0800f158 g .text 00000000 _etext
0800d130 g F .text 00000056 netdev_read
0800db8c g F .text 00000fc4 uip_process
0800c930 g F .text 00000010 TimerISRHandler
0800c944 g F .text 0000001c ETH_DeInit
0800efe4 g F .text 000000a6 memcpy
20000e94 g O .bss 00000004 uip_sappdata
0800cedc g F .text 0000022a netdev_init
0800cee0 g F .text 0000022a netdev_init
20000e98 g O .bss 00000004 uip_acc32
0800dae4 g F .text 0000002c uip_ipchksum
0800dae8 g F .text 0000002c uip_ipchksum
20000010 g O .data 00000004 SystemCoreClock
0800d870 g F .text 00000008 USART_ReceiveData
0800d6f8 g F .text 00000024 RCC_APB2PeriphClockCmd
0800d514 g F .text 00000090 GPIO_Init
0800db54 g F .text 00000032 uip_listen
0800d854 g F .text 0000001c USART_Cmd
0800d184 g F .text 00000066 netdev_send
0800d6d4 g F .text 00000024 RCC_APB1PeriphClockCmd
0800d874 g F .text 00000008 USART_ReceiveData
0800d6fc g F .text 00000024 RCC_APB2PeriphClockCmd
0800d518 g F .text 00000090 GPIO_Init
0800db58 g F .text 00000032 uip_listen
0800d858 g F .text 0000001c USART_Cmd
0800d188 g F .text 00000066 netdev_send
0800d6d8 g F .text 00000024 RCC_APB1PeriphClockCmd
20000e9c g O .bss 00000001 uip_flags
20000180 g O .bss 00000010 EnetDmaRx
0800d1ec g F .text 00000042 CAN_DeInit
0800cdc4 g F .text 00000026 ETH_MACTransmissionCmd
0800d1f0 g F .text 00000042 CAN_DeInit
0800cdc8 g F .text 00000026 ETH_MACTransmissionCmd
0800c3ac g F .text 00000022 BootActivate
2000151c g .bss 00000000 _ebss
0800c93c g F .text 00000002 UnusedISR
0800c588 g F .text 00000056 LedInit
0800d5a4 g F .text 00000004 GPIO_SetBits
0800c728 g F .text 0000015c NetTask
0800ce14 g F .text 00000012 ETH_SoftwareReset
0800ca6c g F .text 00000068 ETH_WritePHYRegister
0800d5d4 g F .text 000000da RCC_GetClocksFreq
0800d108 g F .text 00000022 netdev_init_mac
0800d770 g F .text 000000e4 USART_Init
0800d464 g F .text 00000096 CAN_Receive
0800d230 g F .text 000000ea CAN_Init
0800c940 g F .text 00000002 UnusedISR
0800c58c g F .text 00000056 LedInit
0800d5a8 g F .text 00000004 GPIO_SetBits
0800c72c g F .text 0000015c NetTask
0800ce18 g F .text 00000012 ETH_SoftwareReset
0800ca70 g F .text 00000068 ETH_WritePHYRegister
0800d5d8 g F .text 000000da RCC_GetClocksFreq
0800d10c g F .text 00000022 netdev_init_mac
0800d774 g F .text 000000e4 USART_Init
0800d468 g F .text 00000096 CAN_Receive
0800d234 g F .text 000000ea CAN_Init
20000080 g .bss 00000000 _bss
0800d444 g F .text 00000020 CAN_StructInit
0800db10 g F .text 00000010 uip_tcpchksum
0800ce74 g F .text 00000026 ETH_DMAReceptionCmd
0800d448 g F .text 00000020 CAN_StructInit
0800db14 g F .text 00000010 uip_tcpchksum
0800ce78 g F .text 00000026 ETH_DMAReceptionCmd
20000ea0 g O .bss 00000004 uip_appdata
0800d5a8 g F .text 00000004 GPIO_ResetBits
0800d5ac g F .text 00000004 GPIO_ResetBits
20000ea4 g O .bss 00000004 uip_conn
0800ce28 g F .text 00000010 ETH_GetSoftwareResetStatus
0800c9fc g F .text 0000006e ETH_ReadPHYRegister
0800ce2c g F .text 00000010 ETH_GetSoftwareResetStatus
0800ca00 g F .text 0000006e ETH_ReadPHYRegister
20000ea8 g O .bss 0000001e uip_conns
0800ee08 g F .text 000001d6 uip_arp_out
0800f088 g F .text 0000009e memset
0800c884 g F .text 00000054 main
0800d4fc g F .text 00000018 CAN_MessagePending
0800ee0c g F .text 000001d6 uip_arp_out
0800f08c g F .text 0000009e memset
0800c888 g F .text 00000054 main
0800d500 g F .text 00000018 CAN_MessagePending
0800c1c4 g F .text 000001e8 BootComInit
0800d884 g F .text 00000112 SystemInit
0800d764 g F .text 0000000a SYSCFG_ETH_MediaInterfaceConfig
0800ecc8 g F .text 00000140 uip_arp_arpin
0800ec70 g F .text 00000058 uip_arp_timer
0800d888 g F .text 00000112 SystemInit
0800d768 g F .text 0000000a SYSCFG_ETH_MediaInterfaceConfig
0800eccc g F .text 00000140 uip_arp_arpin
0800ec74 g F .text 00000058 uip_arp_timer
20000ec8 g O .bss 00000002 uip_listenports
20000ecc g O .bss 00000004 uip_draddr
0800d740 g F .text 00000024 RCC_APB1PeriphResetCmd
0800d744 g F .text 00000024 RCC_APB1PeriphResetCmd
20000000 g .data 00000000 _data
0800c5e0 g F .text 0000007e LedToggle
0800ce9c g F .text 0000003e ETH_Start
0800c5e4 g F .text 0000007e LedToggle
0800cea0 g F .text 0000003e ETH_Start
20000190 g O .bss 00000640 RxBuff
20001d1c g .bss 00000000 _estack
20000014 g .data 00000000 _edata
0800eb4c g F .text 0000000a htons
0800eb50 g F .text 0000000a htons
0800c000 g O .text 0000018c _vectab
0800cdec g F .text 00000026 ETH_MACReceptionCmd
0800cdf0 g F .text 00000026 ETH_MACReceptionCmd
200007d0 g O .bss 00000640 TxBuff
0800c3d0 g F .text 0000014c BootComCheckActivationRequest
0800ce4c g F .text 00000026 ETH_DMATransmissionCmd
0800db20 g F .text 00000032 uip_init
0800d6b0 g F .text 00000024 RCC_AHB1PeriphClockCmd
0800c3d0 g F .text 00000150 BootComCheckActivationRequest
0800ce50 g F .text 00000026 ETH_DMATransmissionCmd
0800db24 g F .text 00000032 uip_init
0800d6b4 g F .text 00000024 RCC_AHB1PeriphClockCmd
2000151c g .bss 00000000 _stack
20000ed0 g O .bss 00000004 uip_netmask
20000ed4 g O .bss 00000004 uip_hostaddr
0800c920 g F .text 0000000c TimerGet
0800c924 g F .text 0000000c TimerGet
20000e80 g O .bss 00000010 EnetDmaTx
0800c6f0 g F .text 00000038 NetApp
0800c660 g F .text 00000090 NetInit
0800c8d8 g F .text 00000046 TimerInit
0800c6f4 g F .text 00000038 NetApp
0800c664 g F .text 00000090 NetInit
0800c8dc g F .text 00000046 TimerInit
20000ed8 g O .bss 00000642 uip_buf
2000151a g O .bss 00000002 uip_slen

View File

@ -400,13 +400,26 @@ static void BootComCanInit(void)
static void BootComCanCheckActivationRequest(void)
{
CanRxMsg RxMessage;
unsigned char canIdMatched = 0;
/* check if a new message was received */
if (CAN_MessagePending(CAN2, CAN_FIFO0) > 0)
{
/* receive the message */
CAN_Receive(CAN2, CAN_FIFO0, &RxMessage);
if (RxMessage.StdId == BOOT_COM_CAN_RX_MSG_ID)
/* check if the message identifier matches the bootloader reception message */
if ( (RxMessage.IDE == CAN_Id_Standard) &&
(RxMessage.StdId == BOOT_COM_CAN_RX_MSG_ID) )
{
canIdMatched = 1;
}
if ( (RxMessage.IDE == CAN_Id_Extended) &&
((RxMessage.ExtId | 0x80000000) == BOOT_COM_CAN_RX_MSG_ID) )
{
canIdMatched = 1;
}
/* is the identifier a match to the bootloader reception message identifier? */
if (canIdMatched == 1)
{
/* check if this was an XCP CONNECT command */
if ((RxMessage.Data[0] == 0xff) && (RxMessage.Data[1] == 0x00))

View File

@ -61,7 +61,8 @@
* in bits/second. Two CAN messages are reserved for communication with the host. The
* message identifier for sending data from the target to the host is configured with
* BOOT_COM_CAN_TXMSG_ID. The one for receiving data from the host is configured with
* BOOT_COM_CAN_RXMSG_ID. The maximum amount of data bytes in a message for data
* BOOT_COM_CAN_RXMSG_ID. Note that an extended 29-bit CAN identifier is configured by
* OR-ing with mask 0x80000000. The maximum amount of data bytes in a message for data
* transmission and reception is set through BOOT_COM_CAN_TX_MAX_DATA and
* BOOT_COM_CAN_RX_MAX_DATA, respectively. It is common for a microcontroller to have more
* than 1 CAN controller on board. The zero-based BOOT_COM_CAN_CHANNEL_INDEX selects the
@ -73,11 +74,11 @@
/** \brief Configure the desired CAN baudrate. */
#define BOOT_COM_CAN_BAUDRATE (500000)
/** \brief Configure CAN message ID target->host. */
#define BOOT_COM_CAN_TX_MSG_ID (0x7E1)
#define BOOT_COM_CAN_TX_MSG_ID (0x7E1 /*| 0x80000000*/)
/** \brief Configure number of bytes in the target->host CAN message. */
#define BOOT_COM_CAN_TX_MAX_DATA (8)
/** \brief Configure CAN message ID host->target. */
#define BOOT_COM_CAN_RX_MSG_ID (0x667)
#define BOOT_COM_CAN_RX_MSG_ID (0x667 /*| 0x80000000*/)
/** \brief Configure number of bytes in the host->target CAN message. */
#define BOOT_COM_CAN_RX_MAX_DATA (8)
/** \brief Select the desired CAN peripheral as a zero based index. */

View File

@ -30,7 +30,7 @@
<Windows>
<Wnd0>
<Wnd2>
<Tabs>
<Tab>
<Identity>TabID-10231-8055</Identity>
@ -42,7 +42,7 @@
</Tab>
</Tabs>
<SelectedTab>0</SelectedTab></Wnd0><Wnd1><Tabs><Tab><Identity>TabID-19870-1384</Identity><TabName>Build</TabName><Factory>Build</Factory><Session/></Tab><Tab><Identity>TabID-11216-22197</Identity><TabName>Debug Log</TabName><Factory>Debug-Log</Factory><Session/></Tab><Tab><Identity>TabID-16597-313</Identity><TabName>Find All Declarations</TabName><Factory>Find-All-Declarations</Factory><Session/></Tab><Tab><Identity>TabID-7799-665</Identity><TabName>Ambiguous Definitions</TabName><Factory>Select-Ambiguous-Definitions</Factory><Session/></Tab><Tab><Identity>TabID-26870-1945</Identity><TabName>Find in Files</TabName><Factory>Find-in-Files</Factory><Session/></Tab></Tabs><SelectedTab>1</SelectedTab></Wnd1></Windows>
<SelectedTab>0</SelectedTab></Wnd2><Wnd3><Tabs><Tab><Identity>TabID-19870-1384</Identity><TabName>Build</TabName><Factory>Build</Factory><Session/></Tab><Tab><Identity>TabID-11216-22197</Identity><TabName>Debug Log</TabName><Factory>Debug-Log</Factory><Session/></Tab><Tab><Identity>TabID-16597-313</Identity><TabName>Find All Declarations</TabName><Factory>Find-All-Declarations</Factory><Session/></Tab><Tab><Identity>TabID-7799-665</Identity><TabName>Ambiguous Definitions</TabName><Factory>Select-Ambiguous-Definitions</Factory><Session/></Tab><Tab><Identity>TabID-26870-1945</Identity><TabName>Find in Files</TabName><Factory>Find-in-Files</Factory><Session/></Tab></Tabs><SelectedTab>0</SelectedTab></Wnd3></Windows>
<Editor>
@ -55,7 +55,7 @@
<Top><Row0><Sizes><Toolbar-049AA5F0><key>iaridepm.enu1</key></Toolbar-049AA5F0></Sizes></Row0></Top><Left><Row0><Sizes><Wnd0><Rect><Top>-2</Top><Left>-2</Left><Bottom>962</Bottom><Right>354</Right><x>-2</x><y>-2</y><xscreen>129</xscreen><yscreen>143</yscreen><sizeHorzCX>67188</sizeHorzCX><sizeHorzCY>142006</sizeHorzCY><sizeVertCX>185417</sizeVertCX><sizeVertCY>957299</sizeVertCY></Rect></Wnd0></Sizes></Row0></Left><Right><Row0><Sizes><Wnd1><Rect><Top>-2</Top><Left>-2</Left><Bottom>962</Bottom><Right>415</Right><x>-2</x><y>-2</y><xscreen>129</xscreen><yscreen>143</yscreen><sizeHorzCX>67188</sizeHorzCX><sizeHorzCY>142006</sizeHorzCY><sizeVertCX>217188</sizeVertCX><sizeVertCY>957299</sizeVertCY></Rect></Wnd1></Sizes></Row0></Right><Bottom><Row0><Sizes/></Row0></Bottom><Float><Sizes/></Float></Positions>
<Top><Row0><Sizes><Toolbar-0532DDB8><key>iaridepm.enu1</key></Toolbar-0532DDB8></Sizes></Row0></Top><Left><Row0><Sizes><Wnd2><Rect><Top>-2</Top><Left>-2</Left><Bottom>962</Bottom><Right>354</Right><x>-2</x><y>-2</y><xscreen>129</xscreen><yscreen>143</yscreen><sizeHorzCX>67188</sizeHorzCX><sizeHorzCY>142006</sizeHorzCY><sizeVertCX>185417</sizeVertCX><sizeVertCY>957299</sizeVertCY></Rect></Wnd2></Sizes></Row0></Left><Right><Row0><Sizes><Wnd3><Rect><Top>-2</Top><Left>-2</Left><Bottom>962</Bottom><Right>415</Right><x>-2</x><y>-2</y><xscreen>129</xscreen><yscreen>143</yscreen><sizeHorzCX>67188</sizeHorzCX><sizeHorzCY>142006</sizeHorzCY><sizeVertCX>217188</sizeVertCX><sizeVertCY>957299</sizeVertCY></Rect></Wnd3></Sizes></Row0></Right><Bottom><Row0><Sizes/></Row0></Bottom><Float><Sizes/></Float></Positions>
</Desktop>
</Workspace>

View File

@ -1,29 +1,29 @@
S021000064656D6F70726F675F6F6C696D65785F73746D3332653430372E73726563A1
S3150800C00018080020A9F300082BEB00082BEB000802
S3150800C0102BEB00082BEB00082BEB00082BEB00089A
S3150800C0202BEB00082BEB00082BEB00082BEB00088A
S3150800C0302BEB00082BEB00082BEB000893D9000824
S3150800C0402BEB00082BEB00082BEB00082BEB00086A
S3150800C0502BEB00082BEB00082BEB00082BEB00085A
S3150800C0602BEB00082BEB00082BEB00082BEB00084A
S3150800C0702BEB00082BEB00082BEB00082BEB00083A
S3150800C0802BEB00082BEB00082BEB00082BEB00082A
S3150800C0902BEB00082BEB00082BEB00082BEB00081A
S3150800C0A02BEB00082BEB00082BEB00082BEB00080A
S3150800C0B02BEB00082BEB00082BEB00082BEB0008FA
S3150800C0C02BEB00082BEB00082BEB00082BEB0008EA
S3150800C0D02BEB00082BEB00082BEB00082BEB0008DA
S3150800C0E02BEB00082BEB00082BEB00082BEB0008CA
S3150800C0F02BEB00082BEB00082BEB00082BEB0008BA
S3150800C1002BEB00082BEB00082BEB00082BEB0008A9
S3150800C1102BEB00082BEB00082BEB00082BEB000899
S3150800C1202BEB00082BEB00082BEB00082BEB000889
S3150800C1302BEB00082BEB00082BEB00082BEB000879
S3150800C1402BEB00082BEB00082BEB00082BEB000869
S3150800C1502BEB00082BEB00082BEB00082BEB000859
S3150800C1602BEB00082BEB00082BEB00082BEB000849
S3150800C1702BEB00082BEB00082BEB00082BEB000839
S3110800C1802BEB00082BEB0008EE11AA556B
S3150800C00018080020BDF300083FEB00083FEB0008C6
S3150800C0103FEB00083FEB00083FEB00083FEB00084A
S3150800C0203FEB00083FEB00083FEB00083FEB00083A
S3150800C0303FEB00083FEB00083FEB000893D90008E8
S3150800C0403FEB00083FEB00083FEB00083FEB00081A
S3150800C0503FEB00083FEB00083FEB00083FEB00080A
S3150800C0603FEB00083FEB00083FEB00083FEB0008FA
S3150800C0703FEB00083FEB00083FEB00083FEB0008EA
S3150800C0803FEB00083FEB00083FEB00083FEB0008DA
S3150800C0903FEB00083FEB00083FEB00083FEB0008CA
S3150800C0A03FEB00083FEB00083FEB00083FEB0008BA
S3150800C0B03FEB00083FEB00083FEB00083FEB0008AA
S3150800C0C03FEB00083FEB00083FEB00083FEB00089A
S3150800C0D03FEB00083FEB00083FEB00083FEB00088A
S3150800C0E03FEB00083FEB00083FEB00083FEB00087A
S3150800C0F03FEB00083FEB00083FEB00083FEB00086A
S3150800C1003FEB00083FEB00083FEB00083FEB000859
S3150800C1103FEB00083FEB00083FEB00083FEB000849
S3150800C1203FEB00083FEB00083FEB00083FEB000839
S3150800C1303FEB00083FEB00083FEB00083FEB000829
S3150800C1403FEB00083FEB00083FEB00083FEB000819
S3150800C1503FEB00083FEB00083FEB00083FEB000809
S3150800C1603FEB00083FEB00083FEB00083FEB0008F9
S3150800C1703FEB00083FEB00083FEB00083FEB0008E9
S3110800C1803FEB00083FEB0008EE11AA5543
S3150800C18CC2788A18DFF84432DA7083780A0092B2D9
S3150800C19C120AD218DFF834329A704278DFF82C3249
S3150800C1AC5A700278DFF824321A70DFF82022937856
@ -309,7 +309,7 @@ S3150800D31C1E4908751F480088401C1E4908801D4870
S3150800D32C008880B2000A194988741A480088174977
S3150800D33CC874002015490883FEF7A1FFC04313499A
S3150800D34C088300201049087005E000201049088061
S3150800D35C00200D49087031BDAC1C0020D8F300081C
S3150800D35C00200D49087031BDAC1C0020ECF3000808
S3150800D36C010089B2090A51EA002080B27047000010
S3150800D37C801B0020DA1C0020E01C0020D41C002096
S3150800D38CE11C0020C81C0020DF1C00201808002007
@ -328,47 +328,47 @@ S3150800D44C241D2078FF2804D16078002801D100F02B
S3150800D45CC8FA10BD38B500F08AF90500002D2DD094
S3150800D46C394805804FF40060FFF77AFF37498989F8
S3150800D47C80B281420ED10120FEF7BCFF32480088EB
S3150800D48C00281BD000F0B3FD00F090F900202E49BF
S3150800D48C00281BD000F0BDFD00F090F900202E49B5
S3150800D49C088013E040F60600FFF762FF2B498989DE
S3150800D4AC80B281420AD100F028FD2748008800285E
S3150800D4AC80B281420AD100F032FD27480088002854
S3150800D4BC04D000F07BF900202349088000F060FABC
S3150800D4CC1A490968884220D31848006810F5FA707A
S3150800D4DC1649086000200400002C16D11C481E2191
S3150800D4EC01FB04F108441B4908600220FEF782FF81
S3150800D4FC15480088002806D000F079FD00F056F98A
S3150800D4FC15480088002806D000F083FD00F056F980
S3150800D50C002011490880641CE6E700F039FA08493E
S3150800D51C0968884208D30648006800F51C50103084
S3150800D52C0349086000F000FC31BD0000A01C002077
S3150800D52C0349086000F00AFC31BD0000A01C00206D
S3150800D53CA41C0020AC1C0020B41C0020B01C00202D
S3150800D54CDF1C0020B81C0020D01C00201808002066
S3150800D55C801B0020C01C002010B5B2B001215FF062
S3150800D56CF05000F0BFFE0121472000F0BBFE012160
S3150800D57C4FF4804000F0D4FE012000F013FF8E20FB
S3150800D56CF05000F0C9FE0121472000F0C5FE01214C
S3150800D57C4FF4804000F0DEFE012000F01DFF8E20E7
S3150800D58C009000208DF8060002208DF8040000207B
S3150800D59C8DF8070002208DF805006946CA4800F088
S3150800D5AC07FF0B220121C84800F05BFF0B22022162
S3150800D5BCC54800F056FF0B220321C34800F051FF63
S3150800D5CC0B220721C04800F04CFF4FF40060009076
S3150800D5AC11FF0B220121C84800F065FF0B2202214E
S3150800D5BCC54800F060FF0B220321C34800F05BFF4F
S3150800D5CC0B220721C04800F056FF4FF4006000906C
S3150800D5DC00208DF8060002208DF8040000208DF836
S3150800D5EC070002208DF805006946B84800F0E0FEF1
S3150800D5FC0B220B21B54800F034FF32200090002096
S3150800D5EC070002208DF805006946B84800F0EAFEE7
S3150800D5FC0B220B21B54800F03EFF3220009000208C
S3150800D60C8DF8060002208DF8040000208DF807001E
S3150800D61C02208DF805006946AD4800F0C9FE0B22BC
S3150800D62C0121AB4800F01DFF0B220421A84800F08D
S3150800D63C18FF0B220521A64800F013FF4FF4C04033
S3150800D61C02208DF805006946AD4800F0D3FE0B22B2
S3150800D62C0121AB4800F027FF0B220421A84800F083
S3150800D63C22FF0B220521A64800F01DFF4FF4C0401F
S3150800D64C009000208DF8060002208DF804000020BA
S3150800D65C8DF8070002208DF8050069469B4800F0F6
S3150800D66CA7FE0B220D21994800F0FBFE0B220E217A
S3150800D67C964800F0F6FE00F021FF01F0ADF901F036
S3150800D68CB4F90128FBD003A801F088F80020039010
S3150800D66CB1FE0B220D21994800F005FF0B220E2165
S3150800D67C964800F000FF00F02BFF01F0B7F901F017
S3150800D68CBEF90128FBD003A801F092F800200390FC
S3150800D69C00200A904FF400700D9000200E905FF059
S3150800D6AC004011902020149000201690002017900E
S3150800D6BC002018904FF400600B904FF480400890AF
S3150800D6CC00200400202C18D20221200080B201F080
S3150800D6DCEAF8ADF80A000321200080B201F0E3F85D
S3150800D6DCF4F8ADF80A000321200080B201F0EDF849
S3150800D6ECADF8080002987B49884203D002987A491B
S3150800D6FC884200D101E0641CE4E7210089B203A842
S3150800D70C00F0E8FE00F0CAF800F09EF801F0BBF84D
S3150800D70C00F0F2FE00F0CAF800F09EF801F0C5F839
S3150800D71C32B010BD82B008208DF8000000208DF8BC
S3150800D72C010027208DF8020069208DF803005B2084
S3150800D73C8DF8040045208DF805009DF80000674912
@ -377,10 +377,10 @@ S3150800D75C88709DF803006149C8709DF804005F49FC
S3150800D76C08719DF805005D49487102B0704770B59F
S3150800D77C5B480068C00F002816D159480068C0F3EA
S3150800D78C0D400400574D584E22002900300001F078
S3150800D79C8BF95348006850F0004051490860012045
S3150800D79C95F95348006850F000405149086001203B
S3150800D7AC52490860200000E0002070BD70B5504852
S3150800D7BC0068C00F0028FAD14E4804884A4D4E4ED0
S3150800D7CC22002900300001F06FF94B48484988605F
S3150800D7CC22002900300001F079F94B484849886055
S3150800D7DC0020474908604648006850F480104449C0
S3150800D7EC08604348006850F00050414908604048BA
S3150800D7FC006850F080503E4908603D48006830F09B
@ -411,423 +411,424 @@ S3150800D97CDEFF002000F001F801BD0C490860704775
S3150800D98C0A480068704709480068401C074908603F
S3150800D99C7047000018ED00E000E400E014E000E039
S3150800D9AC18E000E010E000E010000020A81C0020A1
S3150800D9BCBFF34F8FD148006810F4E060D049084394
S3150800D9CCCE490860BFF34F8FFEE780B500F00DF81F
S3150800D9BCBFF34F8FD648006810F4E060D54908438A
S3150800D9CCD3490860BFF34F8FFEE780B500F00DF81A
S3150800D9DC00F0F5F801BD80B500F052F800F06FF9CB
S3150800D9EC01BD80B5FFF7E4FF01BD00B587B0012185
S3150800D9FC202000F095FC0121042000F073FC08227D
S3150800DA0C0621C04800F02DFD08220721BD4800F06C
S3150800DA1C28FD00208DF8060001208DF8070002204D
S3150800D9FC202000F09FFC0121042000F07DFC082269
S3150800DA0C0621C54800F037FD08220721C24800F058
S3150800DA1C32FD00208DF8060001208DF80700022043
S3150800DA2C8DF804004020009002208DF80500694608
S3150800DA3CB44800F0BDFC02208DF80400802000904C
S3150800DA4C6946B04800F0B4FC4FF4614002900020DF
S3150800DA3CB94800F0C7FC02208DF80400802000903D
S3150800DA4C6946B54800F0BEFC4FF4614002900020D0
S3150800DA5CADF80C000020ADF80E000020ADF8100053
S3150800DA6C0020ADF814000C20ADF8120002A9A64847
S3150800DA7C01F056F80121A44801F0D0F807B000BD12
S3150800DA8C80B5A2480078002813D1A14800F03EF8CA
S3150800DA9C01283AD19E480078002836D0FFF770FF47
S3150800DAAC9C49086001209949087000209A49087019
S3150800DABC2BE09748984909780844401C00F026F84A
S3150800DACC012818D194480078401C9349087092484C
S3150800DADC00788F490978884217D100208B4908703D
S3150800DAEC8B484078FF2810D18948807800280CD1BB
S3150800DAFCFFF777FF09E0FFF743FF864909686431AA
S3150800DB0C814202D200208149087001BD10B504007B
S3150800DB1C20217D4801F094F8012805D17A4801F0B6
S3150800DB2C8BF82070012000E0002010BDF0B4040032
S3150800DA6C0020ADF814000C20ADF8120002A9AB4842
S3150800DA7C01F060F80121A94801F0DAF807B000BDF9
S3150800DA8C80B5A7480078002813D1A64800F03EF8C0
S3150800DA9C01283AD1A3480078002836D0FFF770FF42
S3150800DAACA149086001209E49087000209F4908700A
S3150800DABC2BE09C489D4909780844401C00F026F840
S3150800DACC012818D199480078401C9849087097483D
S3150800DADC007894490978884217D100209049087033
S3150800DAEC90484078FF2810D18E48807800280CD1B1
S3150800DAFCFFF777FF09E0FFF743FF8B4909686431A5
S3150800DB0C814202D200208649087001BD10B5040076
S3150800DB1C2021824801F09EF8012805D17F4801F0A2
S3150800DB2C95F82070012000E0002010BDF0B4040028
S3150800DB3C00200500EDB2122D3ED24AF21040A4B2D6
S3150800DB4C764EEDB216F81560744FEDB207EB450735
S3150800DB4C7B4EEDB216F81560794FEDB207EB45072B
S3150800DB5C7F78BE19761C06FB04F690FBF6F706FBD7
S3150800DB6C1700002826D14AF21040A4B26B4EEDB22B
S3150800DB7C16F81560694FEDB207EB45077F78BE19A5
S3150800DB6C1700002826D14AF21040A4B2704EEDB226
S3150800DB7C16F815606E4FEDB207EB45077F78BE19A0
S3150800DB8C761C06FB04F690FBF6F00880088800283D
S3150800DB9C10D00888B0F5806F0CDC6048EDB210F830
S3150800DBAC150010705D48EDB200EB45004078187012
S3150800DB9C10D00888B0F5806F0CDC6548EDB210F82B
S3150800DBAC150010706248EDB200EB4500407818700D
S3150800DBBC012002E06D1CBDE70020F0BC704700B5E3
S3150800DBCC8BB00121022000F08DFB09220521544857
S3150800DBDC00F047FC09220621514800F042FC60205F
S3150800DBCC8BB00121022000F097FB09220521594848
S3150800DBDC00F051FC09220621564800F04CFC602046
S3150800DBEC049002208DF8140002208DF815000020F0
S3150800DBFC8DF8160001208DF8170004A9484800F086
S3150800DC0CD7FB01215FF0C06000F07BFB454801F0B3
S3150800DC1C27F801A801F055F96B460DF101020DF133
S3150800DBFC8DF8160001208DF8170004A94D4800F081
S3150800DC0CE1FB01215FF0C06000F085FB4A4801F09A
S3150800DC1C31F801A801F05FF96B460DF101020DF11F
S3150800DC2C02014FF4FA70FFF781FF00208DF80A0005
S3150800DC3C00208DF80B0000208DF80C0000208DF8C4
S3150800DC4C0D0000208DF80E0000208DF80F00002026
S3150800DC5C8DF8060000208DF807009DF80100401E7F
S3150800DC6C8DF808009DF80000401E8DF80900BDF8D7
S3150800DC7C0200ADF8040001A92A4801F00DF80E209F
S3150800DC7C0200ADF8040001A92F4801F017F80E2090
S3150800DC8C8DF8220000208DF8230001208DF8240041
S3150800DC9C0020ADF818000020ADF81A000020ADF8E9
S3150800DCAC1C000020ADF81E000020ADF82000012055
S3150800DCBC8DF8250006A801F07BF80BB000BD00B561
S3150800DCCC85B00021174801F087F9002813D06A4659
S3150800DCDC0021144801F00CF9009840F2676188425B
S3150800DCEC09D19DF80B00FF2805D19DF80C000028DA
S3150800DCFC01D1FFF776FE05B000BD00000CED00E083
S3150800DD0C0400FA050008024000140140DD1C00203E
S3150800DD1C3C1B0020981C0020DC1C00201CF300086F
S3150800DD2C000402400068004070B5DFF87004007803
S3150800DD3C401CDFF8681408700020DFF858140870C7
S3150800DD4CDFF850040078082823DADFF84C04DFF8EB
S3150800DD5C441409780C22514308440400208861882D
S3150800DD6C084300280DD0DFF834040078A17A401A4D
S3150800DD7C782806DB0425002632002900200001F04D
S3150800DD8C4FF9DFF810040078401CDFF80814087007
S3150800DD9CD6E770BD2DE9F84304000D000020DFF826
S3150800DDACF4130870DFF8EC03007808282BDADFF890
S3150800DDBCE803DFF8E01309780C22514308440600FF
S3150800DDCC3088002817D07088002814D0208831880D
S3150800DDDC884210D16088718888420CD1062716F1C2
S3150800DDEC04083A002900404600F05EFEDFF8AC0352
S3150800DDFC0078B0727FE0DFF89C030078401CDFF8EF
S3150800DE0C94130870CEE70020DFF888130870DFF843
S3150800DE1C84030078082816DADFF87C03DFF8741315
S3150800DE2C09780C225143084406003088002802D190
S3150800DE3C7088002807D0DFF85C030078401CDFF8F0
S3150800DE4C54130870E3E7DFF84C030078082840D130
S3150800DE5C0020DFF84C1308700020DFF84813087010
S3150800DE6C0020DFF830130870DFF82803007808283C
S3150800DE7C24DADFF82403DFF81C1309780C22514343
S3150800DE8C08440600DFF818030078DFF81013097841
S3150800DE9CB27A891A88420BDADFF800030078B17A6D
S3150800DEAC401ADFF8FC120870BA480078BD490870A9
S3150800DEBCB8480078401CB7490870D5E7B9480078C7
S3150800DECCB4490870B448B34909780C22514308443C
S3150800DEDC060004273A002100300000F0E5FD5FF04B
S3150800DEEC060816F1040942462900484600F0DCFDEE
S3150800DEFCAA480078B072BDE8F1832DE9F84FAA4814
S3150800DF0C00882A2803D20020A74908806DE0002043
S3150800DF1CA5490880A548808AB0F5807F03D0B0F55E
S3150800DF2C007F52D061E0A148C08CA149098888427B
S3150800DF3C4AD19E48008D9E494988884244D19D49BC
S3150800DF4C9D48FFF727FF4FF40070984988820620F2
S3150800DF5C0090984C994D009A2100280000F0A4FDD9
S3150800DF6C0625974E934F2A003100380000F09CFD89
S3150800DF7C0627DFF84C82DFF84C923A0041464846B1
S3150800DF8C00F092FD5FF00609DFF830A2DFF81CB24C
S3150800DF9C4A465146584600F087FD8448808B83498B
S3150800DFACC8848248C08B81490885814800887F4986
S3150800DFBC88837F4840887D49C8834FF4C1607B4974
S3150800DFCC88812A20784908800FE07848C08C7849DF
S3150800DFDC0988884209D17548008D7549498888424F
S3150800DFEC03D174497448FFF7D5FEBDE8F18F2DE9C6
S3150800DFFCF04F83B06D48C08B7349098888420ED19F
S3150800E00C6A48008C70494988884208D106246F4DA5
S3150800E01C664E22002900300000F046FDA7E0634852
S3150800E02CC08B6B490988084061490988684A128877
S3150800E03C114088420BD15D48008C654949880840D7
S3150800E04C5B494988624A52881140884208D061481F
S3150800E05C0088614908805F4840885F49488007E026
S3150800E06C5248C08B5C4908805048008C5A494880F5
S3150800E07C00204849087047480078082818DA4648A6
S3150800E08C444909780C2251430844009052480088A8
S3150800E09C00990988884205D14F48408800994988D3
S3150800E0AC884205D03B480078401C3A490870E2E79C
S3150800E0BC38480078082851D106200190FF243B4D9A
S3150800E0CC22000199280000F0ABFF062500263B4FDD
S3150800E0DC32002900380000F0A3FF0627DFF8E0809D
S3150800E0ECDFF8E0903A004146484600F0DDFC5FF068
S3150800E0FC0609DFF8CCA0DFF8BCB04A4651465846AC
S3150800E10C00F0D2FC344800882849C8843248408834
S3150800E11C2649088526480088244988832448408847
S3150800E12C2249C8834FF48070204988824FF4807046
S3150800E13C1E49C88108201D49088206201B49887477
S3150800E14C04201A49C8744FF4C160184988812348B9
S3150800E15C234908602A201449088018E006240098E8
S3150800E16C051D124E22002900300000F09DFC0624E5
S3150800E17C134D144E22002900300000F095FC08209F
S3150800E18C0A498881084800880E3007490880BDE886
S3150800E19CF78F0000E21C0020DC1A0020E41C00208B
S3150800E1ACE51C0020E31C0020D01C002018080020C9
S3150800E1BCAC1C00202E08002034080020380800204B
S3150800E1CC901C00201E080020DCF30008D0F3000881
S3150800E1DCB41C0020B01C0020CC1C00204E080020CB
S3150800E1ECB81C0020F0B400210022002302240025CC
S3150800E1FC0226DFF888713F6817F00C0739000F0004
S3150800E20C002F04D0042F06D0082F08D03CE0DFF8E6
S3150800E21C747107603BE0DFF87071076037E0DFF870
S3150800E22C60713F68C7F380573D00DFF854713F684B
S3150800E23C17F03F073E00002D0DD0DFF84C71B7FBE9
S3150800E24CF6F7DFF83CC1DCF800C0CCF3881C0CFBF5
S3150800E25C07F73B000CE0DFF82C71B7FBF6F7DFF895
S3150800E26C20C1DCF800C0CCF3881C0CFB07F73B007C
S3150800E27CDFF80C713F68C7F301477F1C7F003C0031
S3150800E28CB3FBF4F7076002E0DFF8F8700760DFF815
S3150800E29CEC703F6817F0F00739000909DFF8EC70E5
S3150800E2AC7F5C3A000768D7404760DFF8D0703F6854
S3150800E2BC17F4E0573900890ADFF8D0707F5C3A000A
S3150800E2CC4768D74087602D4F3F6817F46047390079
S3150800E2DC490BDFF8B8707F5C3A004768D740C760CF
S3150800E2ECF0BC7047C9B2002905D0294A1268024306
S3150800E2FC274B1A6004E0264A12688243244B1A609C
S3150800E30C7047C9B2002905D0224A12680243214B2C
S3150800E31C1A6004E01F4A126882431E4B1A60704743
S3150800E32CC9B2002905D01C4A126802431A4B1A6056
S3150800E33C04E0194A12688243174B1A607047C9B22F
S3150800E34C002905D0154A12680243144B1A6004E0DA
S3150800E35C124A12688243114B1A607047C9B20029D7
S3150800E36C05D00F4A126802430D4B1A6004E00C4A9A
S3150800E37C126882430A4B1A6070470000083802403C
S3150800E38C043802400024F400001BB70000000020EB
S3150800E39C30380240403802404438024010380240B7
S3150800E3AC203802400149086070470000DC0027420B
S3150800E3BCF0B400220023002400252A00102A4AD291
S3150800E3CC012595402B000D681D402C009C4240D120
S3150800E3DC056803261700FFB27F00BE40B5430560EB
S3150800E3EC05680E791700FFB27F00BE4035430560FD
S3150800E3FC0D79012D02D00D79022D1AD185680326C7
S3150800E40C1700FFB27F00BE40B543856085684E791C
S3150800E41C1700FFB27F00BE4035438560456801266C
S3150800E42C9640B543456045688E799640B6B23543F5
S3150800E43C4560C56803261700FFB27F00BE40B5438A
S3150800E44CC560C568CE791700FFB27F00BE4035435C
S3150800E45CC560521CB2E7F0BC704701837047418314
S3150800E46C7047F0B400230024D2B211F00705EDB2C0
S3150800E47CAD0012FA05F52B0089B2CD1000EB850517
S3150800E48C89B2CE1000EB8606366A0F2711F0070CF8
S3150800E49C5FFA8CFC5FEA8C0C17FA0CF7BE432E62FB
S3150800E4AC89B2CD1000EB85052D6A1D432C0089B267
S3150800E4BCCD1000EB85052C62F0BC704780B50121A8
S3150800E4CC5FF00070FFF73BFF00215FF00070FFF76D
S3150800E4DC36FF01BD2DE9F04186B004000D0000267B
S3150800E4EC5FF0000800200190DFF8187500200090F6
S3150800E4FCDFF824050068804638F01C0802A8FFF7E8
S3150800E50C71FE03980700DFF81405874206D3DFF877
S3150800E51C1005874202D258F0080814E0DFF8000507
S3150800E52C874206D3DFF8FC04874202D258F00C085F
S3150800E53C09E0DFF8F004874203D3DFF810058742B9
S3150800E54C01D358F00408DFF8D004C0F800804FF463
S3150800E55C00420021280080B200F0DCF9002801D125
S3150800E56C002018E15FF0806001900198002803D024
S3150800E57C0198401E0190F8E72068002851D00098B1
S3150800E58C401C00900121280080B200F08CF940074D
S3150800E59C04D40098DFF8E4148842F0D30098DFF826
S3150800E5ACDC14884201D10020F5E0002000904FF4DD
S3150800E5BC80520021280080B200F0ACF9002801D165
S3150800E5CC0020E8E00098401C00900121280080B249
S3150800E5DC00F069F9800604D40098DFF8A014884284
S3150800E5ECF0D30098DFF89414884201D10020D2E0C9
S3150800E5FC002000901021280080B200F054F9060083
S3150800E60C700703D54FF40060206201E000202062F9
S3150800E61CB00702D5002060611CE04FF480406061B1
S3150800E62C18E0206A6169490851EAD00292B20021C1
S3150800E63C280080B200F06EF9002801D10020AAE06B
S3150800E64C7FF07F4001900198002803D00198401E66
S3150800E65C0190F8E7DFF81C0400688046DFF8180418
S3150800E66C10EA08086068A1680843E168084321694C
S3150800E67C084361690843A1690843E1690843216AAB
S3150800E68C0843616A0843A16A0843E16A0843216B97
S3150800E69C0843616B084350EA0808DFF8D803C0F84A
S3150800E6AC0080A06BE16B0843216C0843616C08433E
S3150800E6BCA16C0843E16C0843216D0843616D08435E
S3150800E6CCDFF8BC130860A06DDFF8B8130860E06DBE
S3150800E6DCDFF8B4130860DFF8B403006880464FF619
S3150800E6EC417010EA0808206E616E51EA0040A16E6E
S3150800E6FC0843E16E0843216F0843616F084350EAEB
S3150800E70C0808DFF88803C0F80080A06FE16F08439B
S3150800E71CDFF87C130860DFF87C0300688046DFF8B6
S3150800E72C780310EA0808D4F88000D4F88410084353
S3150800E73CD4F888100843D4F88C100843D4F89010F1
S3150800E74C0843D4F894100843D4F898100843D4F81E
S3150800E75C9C100843D4F8A010084350EA0808DFF8C0
S3150800E76C3403C0F80080D4F8A400D4F8A8100843E1
S3150800E77CD4F8AC100843D4F8B0100843D4F8B41045
S3150800E78C50EA8100D4F8B810084350F40000DFF8BA
S3150800E79C0C130860012006B0BDE8F0810021016069
S3150800E7AC00214160002181600021C16000210161C6
S3150800E7BC00214161002181610021C16100210162B2
S3150800E7CC00214162002181620021C162002101639E
S3150800E7DC00214163002181630021C163402101644A
S3150800E7EC20214164002181640021C1640021016556
S3150800E7FC00214165002181650021C1650021016662
S3150800E80C80214166002181660021C16600210167CD
S3150800E81C00214167002181670021C1675FF0806193
S3150800E82CC0F880105FF00071C0F884105FF080713A
S3150800E83CC0F888105FF40011C0F88C100021C0F8DD
S3150800E84C90100021C0F894100021C0F898100021EF
S3150800E85CC0F89C100021C0F8A0105FF00071C0F839
S3150800E86CA4100021C0F8A8105FF40031C0F8AC1051
S3150800E87C4FF48071C0F8B0100021C0F8B410002114
S3150800E88CC0F8B810704780B5012000F07BF800F08E
S3150800E89CBBF8012000F08BF8012000F0C5F8012028
S3150800E8AC00F0D6F801BD18B4020000230020009031
S3150800E8BCDFF864010068030013F01C0392B2D0025F
S3150800E8CC10F47840034389B2880110F4F8600343C6
S3150800E8DC33F0020353F00103DFF83C0103600098A0
S3150800E8EC401C0090DFF8300100680300D80704D5F7
S3150800E8FC0098DFF88841A042F1D30098DFF87C41F4
S3150800E90CA04201D1002003E0DFF89401006880B230
S3150800E91C12BC704738B40300002400200090DFF8BE
S3150800E92CF8000068040014F01C049BB2D80210F41A
S3150800E93C7840044389B2880110F4F860044354F013
S3150800E94C020454F0010492B2DFF854010260DFF8B5
S3150800E95CC80004600098401C0090DFF8BC000068F2
S3150800E96C0400E00704D50098DFF81051A842F1D34B
S3150800E97C0098DFF80851A84201D1002000E00120D8
S3150800E98C32BC7047C0B2002808D0DFF8E810096816
S3150800E99C51F00801DFF8DC20116007E0DFF8D4102D
S3150800E9AC096831F00801DFF8CC2011607047C0B255
S3150800E9BC002808D0DFF8BC10096851F00401DFF80C
S3150800E9CCB420116007E0DFF8AC10096831F00401D7
S3150800E9DCDFF8A02011607047DFF8C800006850F017
S3150800E9EC0100DFF8C010086070470020DFF8B4108B
S3150800E9FC0968C90702D50121080001E000210800B1
S3150800EA0CC0B27047000E27072248006850F48010E1
S3150800EA1C204908607047000010800240002D310123
S3150800EA2CC00E160200879303C0B2002806D01949F7
S3150800EA3C096851F40051174A116005E0154909682F
S3150800EA4C31F40051134A11607047000001E1F505D5
S3150800EA5CC0B2002806D00F49096851F002010D4AC8
S3150800EA6C116005E00B49096831F00201094A116089
S3150800EA7C70470000008002400F8120FFFFFF040052
S3150800EA8C04800240088002400C8002401880024034
S3150800EA9C1C80024018900240233FDEF8009002408A
S3150800EAAC148002400090024062B38B0708D0521EB5
S3150800EABC11F8013B00F8013B00F024808B07F6D1D6
S3150800EACC830740F0208000BF103A07D330B4B1E872
S3150800EADC3810103AA0E83810F9D230BC530724BFC6
S3150800EAECB1E80810A0E8081044BF51F8043B40F8F8
S3150800EAFC043BD20724BF31F8022B20F8022B44BF63
S3150800EB0C0B7803707047083A07D3B1E80810083A2F
S3150800EB1C40F8043B40F804CBF7D25307E4E7FEE78A
S3150800EB2C2DE9F04385B004000D005FF000090026BE
S3150800EB3C00275FF00008A8890028208A814639F446
S3150800EB4C4059E88850EA0909A4F81090A08981462A
S3150800EB5C314810EA0909A8882989084369890843AC
S3150800EB6C50EA0909A4F80C90A08A814639F4407930
S3150800EB7CA88950EA0909A4F814906846FFF732FBED
S3150800EB8C2348844202D02348844202D103980600C3
S3150800EB9C01E002980600A089000408D5192000FB9C
S3150800EBAC06F029684900B0FBF1F0070007E01920C8
S3150800EBBC00FB06F029688900B0FBF1F00700642019
S3150800EBCCB7FBF0F0000181465FEA1910642101FBDE
S3150800EBDC10708046A08900040AD55FEAC800323056
S3150800EBEC6421B0FBF1F010F0070050EA090909E0BE
S3150800EBFC5FEA081032306421B0FBF1F010F00F0018
S3150800EC0C50EA0909A4F8089005B0BDE8F08300009D
S3150800EC1C0010014000140140F3E9FFFFC9B20029B6
S3150800EC2C04D0828952F40052828104E082894DF61E
S3150800EC3CFF731A40828170478088C005C00D7047E3
S3150800EC4C0200002089B2B1F5007F13880B4202D06E
S3150800EC5C0123180001E000231800C0B27047000019
S3150800EC6C10B50400DFF89C0384420AD101215FF039
S3150800EC7C0070FFF773FB00215FF00070FFF76EFB67
S3150800EC8C09E001215FF08060FFF768FB00215FF067
S3150800EC9C8060FFF763FB10BD30B402000020002330
S3150800ECAC146834F002041460146854F001041460F7
S3150800ECBC5468E40705D44FF6FF74A34201D05B1CD5
S3150800ECCCF6E75468E40702D4002420006DE08C793A
S3150800ECDC012C04D1146854F08004146003E0146801
S3150800ECEC34F080041460CC79012C04D1146854F0E7
S3150800ECFC4004146003E0146834F0400414600C7A81
S3150800ED0C012C04D1146854F02004146003E0146830
S3150800ED1C34F0200414604C7A012C04D1146854F095
S3150800ED2C1004146003E0146834F0100414608C7A30
S3150800ED3C012C04D1146854F00804146003E0146818
S3150800ED4C34F008041460CC7A012C04D1146854F0FD
S3150800ED5C0404146003E0146834F0040414608C781A
S3150800ED6CCD782D0655EA84740D7954EA05444D7907
S3150800ED7C54EA05540D886D1E2C43D4611468640836
S3150800ED8C64001460002423005468E40705D54FF684
S3150800ED9CFF74A34201D05B1CF6E75468E40702D55E
S3150800EDAC0024200001E001242000C0B230BC7047CA
S3150800EDBC10B400210122837A9A401100DFF8482208
S3150800EDCC126852F00102DFF840321A60DFF83C2272
S3150800EDDC12688A43DFF834321A60027B002A19D18A
S3150800EDECDFF82C2212688A43DFF824321A60C288AC
S3150800EDFC438853EA0242DFF81C32847A43F83420FB
S3150800EE0CDFF81022837A02EBC3028388048854EA5B
S3150800EE1C03435360027B012A19D1DFF8F4211268E7
S3150800EE2C0A43DFF8EC311A600288438853EA024237
S3150800EE3CDFF8E031847A43F83420DFF8D821837A76
S3150800EE4C02EBC3028388C48854EA03435360C27A2C
S3150800EE5C002A07D1DFF8C02112688A43DFF8B831D7
S3150800EE6C1A6006E0DFF8B02112680A43DFF8A83109
S3150800EE7C1A600289002A06D1DFF8A02112688A4393
S3150800EE8CDFF898311A600289012A06D1DFF88C213D
S3150800EE9C12680A43DFF884311A60427B012A06D1CC
S3150800EEACDFF8682112680A43DFF860311A60DFF868
S3150800EEBC5821126852085200DFF84C311A6010BCFF
S3150800EECC7047002181710021C17100210172002156
S3150800EEDC4172002181720021C172002181700021CA
S3150800EEECC170032101710221417101210180704712
S3150800EEFCC9B20B010344D3F8B03113F004031372EF
S3150800EF0C137A002B07D1C9B20B010344D3F8B031DD
S3150800EF1C5B0D136006E0C9B20B010344D3F8B0319C
S3150800EF2CDB085360C9B20B010344D3F8B03113F0B4
S3150800EF3C02035372C9B20B010344D3F8B43113F06C
S3150800EF4C0F039372C9B20B010344D3F8B4311B0AED
S3150800EF5CD374C9B20B010344D3F8B831D372C9B20E
S3150800EF6C0B010344D3F8B8311B0A1373C9B20B014E
S3150800EF7C0344D3F8B8311B0C5373C9B20B010344C1
S3150800EF8CD3F8B8311B0E9373C9B20B010344D3F8EB
S3150800EF9CBC31D373C9B20B010344D3F8BC311B0A79
S3150800EFAC1374C9B20B010344D3F8BC311B0C53744C
S3150800EFBCC9B20B010344D3F8BC311B0E9374C9B206
S3150800EFCC002904D1C36853F02003C36003E0036926
S3150800EFDC53F020030361704702000020C9B20029D0
S3150800EFEC04D1D36813F00303180009E0C9B2012948
S3150800EFFC04D1136913F00303180001E00023180069
S3150800F00CC0B2704700640040006600401C660040B1
S3150800F01C0C660040406600400466004014660040DA
S3150800F02C62F30F2262F31F42401810F0030308D054
S3150800F03CC91A1FD3DB0748BF00F8012D28BF20F8D3
S3150800F04C022D130030B414461546103928BF20E992
S3150800F05C3C00FAD8490728BF20E90C0048BF40F8FD
S3150800F06C042D890028BF20F8022D48BF00F8012D71
S3150800F07C30BC7047C91818BF00F8012DCB0728BF3C
S3150800F08C00F8012D7047000080B54348006850F021
S3150800F09C0100414908600020404908603E48006864
S3150800F0AC3F4908403C4908603E483F4908603A4891
S3150800F0BC006830F480203849086000203B49086015
S3150800F0CC00F001F801BD82B00020019000200090EC
S3150800F0DC3148006850F480302F4908602E48006883
S3150800F0EC10F4003000900198401C019000980028FC
S3150800F0FC03D10198B0F5A06FF0D1274800688003BA
S3150800F10C02D50120009001E000200090009801280B
S3150800F11C3ED12748006850F080502549086025489C
S3150800F12C006850F44040234908601C4800681B4995
S3150800F13C08601A48006850F40040184908601748D7
S3150800F14C006850F4A050154908601B481649086019
S3150800F15C1148006850F080700F4908600E48006826
S3150800F16C8001FBD540F20560144908600B4800681D
S3150800F17C80088000094908600848006850F00200B9
S3150800F18C064908600548006810F00C000828F9D1F3
S3150800F19C02B07047000000000038024008380240F0
S3150800F1ACFFFFF6FE10300024043802400C380240EB
S3150800F1BC40380240007000400C544007003C0240A6
S3150800F1CC00B583B001210420FFF78CF84FF40050EA
S3150800F1DC009001208DF8040000208DF8060001200F
S3150800F1EC8DF8070002208DF8050069461548FFF7CB
S3150800F1FCDFF84FF400511348FFF72FF907BD10B588
S3150800F20CFEF7BEFB040010480068201AB0F5FA7F1A
S3150800F21C16D30E480078002808D101200B4908702F
S3150800F22C4FF400510748FFF71AF907E00020074981
S3150800F23C08704FF400510348FFF70FF902480460B1
S3150800F24C10BD0000000802409C1C0020DE1C00209B
S3150800F25C19E050F8041BCB0744BFA9F10103591850
S3150800F26C121F0023042A41F8043BF9D25FEA827C78
S3150800F27C0B4604D54FF0000CA1F800C09B1CD10717
S3150800F28C44BF0021197050F8042B002AE1D17047AD
S3150800F29C80B500F00BF8FEF77FF8FEF796FBFFF744
S3150800F2ACAEFFFEF7D7F8FEF796FBF8E780B5FFF743
S3150800F2BCEBFEFFF785FFFEF753FB01BD10B450F8C4
S3150800F2CC041B79B10268436802440830DC0744BF62
S3150800F2DCA9F10104E31852F8044B43F8044B091F2F
S3150800F2ECF9D1ECE710BC704710B5074979441831C9
S3150800F2FC064C7C44163404E00A68081D11448847F9
S3150800F30C0146A142F8D110BD2C0000004C000000AB
S3150800F31C05020602060307030803090309040A047F
S3150800F32C0B040C040C050D050E050F050F0610062F
S3150800F33C100710081DFFFFFFD01400001808002046
S3150800F34C0000000079FFFFFF1400000064000000B5
S3150800F35C000000200000000000F00BF8002801D087
S3150800F36CFFF7C2FF0020AFF30080FFF791FF00F014
S3150800F37C02F80120704700F001B80000074638462D
S3150800F38C00F002F8FBE7000080B5AFF30080024AF4
S3150800F39C11001820ABBEFBE726000200034B9D4666
S3150800F3ACAFF30080AFF30080FFF7D6FF18080020F4
S3150800F3BC0000000001020304010203040607080901
S3150800F3CC007A030AFFFFFFFFFFFF000000000000A2
S3090800F3DCFFFFFFFF23
S7050800F3A956
S3150800DCBC8DF8250006A801F085F80BB000BD10B547
S3150800DCCC86B0002400211C4801F090F900281CD0CD
S3150800DCDC6A460021184801F015F99DF80800002835
S3150800DCEC06D1009840F26761884201D101200400F0
S3150800DCFCE4B2012C09D19DF80B00FF2805D19DF83B
S3150800DD0C0C00002801D1FFF76CFE06B010BD000010
S3150800DD1C0CED00E00400FA0500080240001401406E
S3150800DD2CDD1C00203C1B0020981C0020DC1C00205D
S3150800DD3C30F30008000402400068004070B5DFF8B4
S3150800DD4C70040078401CDFF8681408700020DFF8AF
S3150800DD5C58140870DFF850040078082823DADFF81E
S3150800DD6C4C04DFF8441409780C2251430844040087
S3150800DD7C20886188084300280DD0DFF83404007821
S3150800DD8CA17A401A782806DB0425002632002900D9
S3150800DD9C200001F04FF9DFF810040078401CDFF87A
S3150800DDAC08140870D6E770BD2DE9F84304000D0079
S3150800DDBC0020DFF8F4130870DFF8EC030078082865
S3150800DDCC2BDADFF8E803DFF8E01309780C22514365
S3150800DDDC084406003088002817D07088002814D00C
S3150800DDEC20883188884210D16088718888420CD185
S3150800DDFC062716F104083A002900404600F05EFE94
S3150800DE0CDFF8AC030078B0727FE0DFF89C0300788B
S3150800DE1C401CDFF894130870CEE70020DFF888134F
S3150800DE2C0870DFF884030078082816DADFF87C0314
S3150800DE3CDFF8741309780C2251430844060030881D
S3150800DE4C002802D17088002807D0DFF85C03007818
S3150800DE5C401CDFF854130870E3E7DFF84C0300782E
S3150800DE6C082840D10020DFF84C1308700020DFF892
S3150800DE7C481308700020DFF830130870DFF8280301
S3150800DE8C0078082824DADFF82403DFF81C1309784D
S3150800DE9C0C22514308440600DFF818030078DFF813
S3150800DEAC10130978B27A891A88420BDADFF800035C
S3150800DEBC0078B17A401ADFF8FC120870BA48007874
S3150800DECCBD490870B8480078401CB7490870D5E7B2
S3150800DEDCB9480078B4490870B448B34909780C2293
S3150800DEEC51430844060004273A002100300000F08C
S3150800DEFCE5FD5FF0060816F1040942462900484676
S3150800DF0C00F0DCFDAA480078B072BDE8F1832DE973
S3150800DF1CF84FAA4800882A2803D20020A749088067
S3150800DF2C6DE00020A5490880A548808AB0F5807F59
S3150800DF3C03D0B0F5007F52D061E0A148C08CA1494E
S3150800DF4C098888424AD19E48008D9E49498888424C
S3150800DF5C44D19D499D48FFF727FF4FF40070984917
S3150800DF6C888206200090984C994D009A210028002A
S3150800DF7C00F0A4FD0625974E934F2A003100380071
S3150800DF8C00F09CFD0627DFF84C82DFF84C923A002D
S3150800DF9C4146484600F092FD5FF00609DFF830A2CC
S3150800DFACDFF81CB24A465146584600F087FD8448AD
S3150800DFBC808B8349C8848248C08B814908858148EF
S3150800DFCC00887F4988837F4840887D49C8834FF4F9
S3150800DFDCC1607B4988812A20784908800FE07848F7
S3150800DFECC08C78490988884209D17548008D7549CD
S3150800DFFC4988884203D174497448FFF7D5FEBDE8B1
S3150800E00CF18F2DE9F04F83B06D48C08B73490988A1
S3150800E01C88420ED16A48008C70494988884208D1D2
S3150800E02C06246F4D664E22002900300000F046FD8E
S3150800E03CA7E06348C08B6B49098808406149098881
S3150800E04C684A1288114088420BD15D48008C654994
S3150800E05C498808405B494988624A52881140884277
S3150800E06C08D061480088614908805F4840885F4944
S3150800E07C488007E05248C08B5C4908805048008CA1
S3150800E08C5A494880002048490870474800780828AB
S3150800E09C18DA4648444909780C225143084400903A
S3150800E0AC5248008800990988884205D14F4840880B
S3150800E0BC00994988884205D03B480078401C3A4963
S3150800E0CC0870E2E738480078082851D106200190F4
S3150800E0DCFF243B4D22000199280000F0ABFF0625D2
S3150800E0EC00263B4F32002900380000F0A3FF062714
S3150800E0FCDFF8E080DFF8E0903A004146484600F049
S3150800E10CDDFC5FF00609DFF8CCA0DFF8BCB04A46A8
S3150800E11C5146584600F0D2FC344800882849C88431
S3150800E12C3248408826490885264800882449888329
S3150800E13C244840882249C8834FF480702049888235
S3150800E14C4FF480701E49C88108201D490882062094
S3150800E15C1B49887404201A49C8744FF4C1601849BD
S3150800E16C88812348234908602A201449088018E026
S3150800E17C06240098051D124E22002900300000F0D6
S3150800E18C9DFC0624134D144E22002900300000F085
S3150800E19C95FC08200A498881084800880E300749EA
S3150800E1AC0880BDE8F78F0000E21C0020DC1A00206E
S3150800E1BCE41C0020E51C0020E31C0020D01C0020D9
S3150800E1CC18080020AC1C00202E080020340800205B
S3150800E1DC38080020901C00201E080020F0F30008C8
S3150800E1ECE4F30008B41C0020B01C0020CC1C002052
S3150800E1FC4E080020B81C0020F0B400210022002391
S3150800E20C022400250226DFF888713F6817F00C07F0
S3150800E21C39000F00002F04D0042F06D0082F08D081
S3150800E22C3CE0DFF8747107603BE0DFF8707107605B
S3150800E23C37E0DFF860713F68C7F380573D00DFF8B9
S3150800E24C54713F6817F03F073E00002D0DD0DFF8DC
S3150800E25C4C71B7FBF6F7DFF83CC1DCF800C0CCF321
S3150800E26C881C0CFB07F73B000CE0DFF82C71B7FB9E
S3150800E27CF6F7DFF820C1DCF800C0CCF3881C0CFBE1
S3150800E28C07F73B00DFF80C713F68C7F301477F1CA3
S3150800E29C7F003C00B3FBF4F7076002E0DFF8F87088
S3150800E2AC0760DFF8EC703F6817F0F00739000909CA
S3150800E2BCDFF8EC707F5C3A000768D7404760DFF8F8
S3150800E2CCD0703F6817F4E0573900890ADFF8D07028
S3150800E2DC7F5C3A004768D74087602D4F3F6817F434
S3150800E2EC60473900490BDFF8B8707F5C3A0047681D
S3150800E2FCD740C760F0BC7047C9B2002905D0294A77
S3150800E30C12680243274B1A6004E0264A12688243B5
S3150800E31C244B1A607047C9B2002905D0224A1268E4
S3150800E32C0243214B1A6004E01F4A126882431E4BB3
S3150800E33C1A607047C9B2002905D01C4A12680243F4
S3150800E34C1A4B1A6004E0194A12688243174B1A6072
S3150800E35C7047C9B2002905D0154A12680243144BF6
S3150800E36C1A6004E0124A12688243114B1A6070470D
S3150800E37CC9B2002905D00F4A126802430D4B1A6020
S3150800E38C04E00C4A126882430A4B1A607047000074
S3150800E39C08380240043802400024F400001BB70079
S3150800E3AC0000002030380240403802404438024011
S3150800E3BC10380240203802400149086070470000B6
S3150800E3CCDC002742F0B400220023002400252A0092
S3150800E3DC102A4AD2012595402B000D681D402C00A9
S3150800E3EC9C4240D1056803261700FFB27F00BE4049
S3150800E3FCB543056005680E791700FFB27F00BE406D
S3150800E40C354305600D79012D02D00D79022D1AD1EF
S3150800E41C856803261700FFB27F00BE40B5438560AA
S3150800E42C85684E791700FFB27F00BE40354385607C
S3150800E43C456801269640B543456045688E799640F1
S3150800E44CB6B235434560C56803261700FFB27F0090
S3150800E45CBE40B543C560C568CE791700FFB27F00CC
S3150800E46CBE403543C560521CB2E7F0BC7047018309
S3150800E47C704741837047F0B400230024D2B211F0E0
S3150800E48C0705EDB2AD0012FA05F52B0089B2CD10D1
S3150800E49C00EB850589B2CE1000EB8606366A0F2787
S3150800E4AC11F0070C5FFA8CFC5FEA8C0C17FA0CF768
S3150800E4BCBE432E6289B2CD1000EB85052D6A1D432D
S3150800E4CC2C0089B2CD1000EB85052C62F0BC704788
S3150800E4DC80B501215FF00070FFF73BFF00215FF06C
S3150800E4EC0070FFF736FF01BD2DE9F04186B0040038
S3150800E4FC0D0000265FF0000800200190DFF8187563
S3150800E50C00200090DFF824050068804638F01C08C7
S3150800E51C02A8FFF771FE03980700DFF81405874277
S3150800E52C06D3DFF81005874202D258F0080814E023
S3150800E53CDFF80005874206D3DFF8FC04874202D2CF
S3150800E54C58F00C0809E0DFF8F004874203D3DFF82B
S3150800E55C1005874201D358F00408DFF8D004C0F838
S3150800E56C00804FF400420021280080B200F0DCF94C
S3150800E57C002801D1002018E15FF080600190019815
S3150800E58C002803D00198401E0190F8E7206800285F
S3150800E59C51D00098401C00900121280080B200F050
S3150800E5AC8CF9400704D40098DFF8E4148842F0D3B9
S3150800E5BC0098DFF8DC14884201D10020F5E0002031
S3150800E5CC00904FF480520021280080B200F0ACF97C
S3150800E5DC002801D10020E8E00098401C0090012199
S3150800E5EC280080B200F069F9800604D40098DFF898
S3150800E5FCA0148842F0D30098DFF89414884201D10D
S3150800E60C0020D2E0002000901021280080B200F0F3
S3150800E61C54F90600700703D54FF40060206201E038
S3150800E62C00202062B00702D5002060611CE04FF480
S3150800E63C8040606118E0206A6169490851EAD00295
S3150800E64C92B20021280080B200F06EF9002801D1A0
S3150800E65C0020AAE07FF07F4001900198002803D0A3
S3150800E66C0198401E0190F8E7DFF81C040068804604
S3150800E67CDFF8180410EA08086068A1680843E1681E
S3150800E68C08432169084361690843A1690843E1699C
S3150800E69C0843216A0843616A0843A16A0843E16A88
S3150800E6AC0843216B0843616B084350EA0808DFF8F6
S3150800E6BCD803C0F80080A06BE16B0843216C0843B3
S3150800E6CC616C0843A16C0843E16C0843216D08434F
S3150800E6DC616D0843DFF8BC130860A06DDFF8B8134A
S3150800E6EC0860E06DDFF8B4130860DFF8B40300685F
S3150800E6FC80464FF6417010EA0808206E616E51EAA2
S3150800E70C0040A16E0843E16E0843216F0843616F10
S3150800E71C084350EA0808DFF88803C0F80080A06FA1
S3150800E72CE16F0843DFF87C130860DFF87C030068A8
S3150800E73C8046DFF8780310EA0808D4F88000D4F885
S3150800E74C84100843D4F888100843D4F88C1008436E
S3150800E75CD4F890100843D4F894100843D4F89810B9
S3150800E76C0843D4F89C100843D4F8A010084350EA80
S3150800E77C0808DFF83403C0F80080D4F8A400D4F8ED
S3150800E78CA8100843D4F8AC100843D4F8B0100843C2
S3150800E79CD4F8B41050EA8100D4F8B810084350F4F1
S3150800E7AC0000DFF80C130860012006B0BDE8F08104
S3150800E7BC0021016000214160002181600021C160B7
S3150800E7CC0021016100214161002181610021C161A3
S3150800E7DC0021016200214162002181620021C1628F
S3150800E7EC0021016300214163002181630021C1637B
S3150800E7FC4021016420214164002181640021C16407
S3150800E80C0021016500214165002181650021C16552
S3150800E81C0021016680214166002181660021C166BE
S3150800E82C0021016700214167002181670021C1672A
S3150800E83C5FF08061C0F880105FF00071C0F884103A
S3150800E84C5FF08071C0F888105FF40011C0F88C1066
S3150800E85C0021C0F890100021C0F894100021C0F8CF
S3150800E86C98100021C0F89C100021C0F8A0105FF089
S3150800E87C0071C0F8A4100021C0F8A8105FF400318C
S3150800E88CC0F8AC104FF48071C0F8B0100021C0F875
S3150800E89CB4100021C0F8B810704780B5012000F0FC
S3150800E8AC7BF800F0BBF8012000F08BF8012000F093
S3150800E8BCC5F8012000F0D6F801BD18B402000023F3
S3150800E8CC00200090DFF864010068030013F01C03B5
S3150800E8DC92B2D00210F47840034389B2880110F43E
S3150800E8ECF860034333F0020353F00103DFF83C01ED
S3150800E8FC03600098401C0090DFF8300100680300A4
S3150800E90CD80704D50098DFF88841A042F1D30098BF
S3150800E91CDFF87C41A04201D1002003E0DFF8940126
S3150800E92C006880B212BC704738B40300002400207B
S3150800E93C0090DFF8F8000068040014F01C049BB281
S3150800E94CD80210F47840044389B2880110F4F860B0
S3150800E95C044354F0020454F0010492B2DFF8540153
S3150800E96C0260DFF8C80004600098401C0090DFF8CD
S3150800E97CBC0000680400E00704D50098DFF81051C5
S3150800E98CA842F1D30098DFF80851A84201D100201B
S3150800E99C00E0012032BC7047C0B2002808D0DFF86E
S3150800E9ACE810096851F00801DFF8DC20116007E06F
S3150800E9BCDFF8D410096831F00801DFF8CC201160B3
S3150800E9CC7047C0B2002808D0DFF8BC10096851F0AF
S3150800E9DC0401DFF8B420116007E0DFF8AC10096811
S3150800E9EC31F00401DFF8A02011607047DFF8C80089
S3150800E9FC006850F00100DFF8C0100860704700206E
S3150800EA0CDFF8B4100968C90702D50121080001E02E
S3150800EA1C00210800C0B27047000E2707224800687C
S3150800EA2C50F480102049086070470000108002409E
S3150800EA3C002D3101C00E160200879303C0B20028C0
S3150800EA4C06D01949096851F40051174A116005E0B6
S3150800EA5C1549096831F40051134A116070470000D2
S3150800EA6C01E1F505C0B2002806D00F49096851F036
S3150800EA7C02010D4A116005E00B49096831F00201E3
S3150800EA8C094A116070470000008002400F8120FF80
S3150800EA9CFFFF040004800240088002400C800240FC
S3150800EAAC188002401C80024018900240233FDEF872
S3150800EABC00900240148002400090024062B38B071B
S3150800EACC08D0521E11F8013B00F8013B00F02480D7
S3150800EADC8B07F6D1830740F0208000BF103A07D386
S3150800EAEC30B4B1E83810103AA0E83810F9D230BC76
S3150800EAFC530724BFB1E80810A0E8081044BF51F822
S3150800EB0C043B40F8043BD20724BF31F8022B20F80B
S3150800EB1C022B44BF0B7803707047083A07D3B1E849
S3150800EB2C0810083A40F8043B40F804CBF7D25307D0
S3150800EB3CE4E7FEE72DE9F04385B004000D005FF02D
S3150800EB4C0009002600275FF00008A8890028208AFB
S3150800EB5C814639F44059E88850EA0909A4F8109016
S3150800EB6CA0898146314810EA0909A88829890843E9
S3150800EB7C6989084350EA0909A4F80C90A08A8146C9
S3150800EB8C39F44079A88950EA0909A4F8149068461A
S3150800EB9CFFF732FB2348844202D02348844202D131
S3150800EBAC0398060001E002980600A089000408D51F
S3150800EBBC192000FB06F029684900B0FBF1F00700A4
S3150800EBCC07E0192000FB06F029688900B0FBF1F074
S3150800EBDC07006420B7FBF0F0000181465FEA1910C4
S3150800EBEC642101FB10708046A08900040AD55FEAEF
S3150800EBFCC80032306421B0FBF1F010F0070050EA7F
S3150800EC0C090909E05FEA081032306421B0FBF1F01B
S3150800EC1C10F00F0050EA0909A4F8089005B0BDE8F1
S3150800EC2CF08300000010014000140140F3E9FFFFD7
S3150800EC3CC9B2002904D0828952F40052828104E0B8
S3150800EC4C82894DF6FF731A40828170478088C00509
S3150800EC5CC00D70470200002089B2B1F5007F1388F9
S3150800EC6C0B4202D00123180001E000231800C0B2A1
S3150800EC7C7047000010B50400DFF89C0384420AD1E3
S3150800EC8C01215FF00070FFF773FB00215FF0007045
S3150800EC9CFFF76EFB09E001215FF08060FFF768FB68
S3150800ECAC00215FF08060FFF763FB10BD30B40200F3
S3150800ECBC00200023146834F002041460146854F01D
S3150800ECCC010414605468E40705D44FF6FF74A34294
S3150800ECDC01D05B1CF6E75468E40702D40024200034
S3150800ECEC6DE08C79012C04D1146854F080041460FE
S3150800ECFC03E0146834F080041460CC79012C04D138
S3150800ED0C146854F04004146003E0146834F04004AA
S3150800ED1C14600C7A012C04D1146854F02004146085
S3150800ED2C03E0146834F0200414604C7A012C04D1E6
S3150800ED3C146854F01004146003E0146834F01004DA
S3150800ED4C14608C7A012C04D1146854F008041460ED
S3150800ED5C03E0146834F008041460CC7A012C04D14E
S3150800ED6C146854F00404146003E0146834F00404C2
S3150800ED7C14608C78CD782D0655EA84740D7954EA8E
S3150800ED8C05444D7954EA05540D886D1E2C43D461FF
S3150800ED9C1468640864001460002423005468E407AB
S3150800EDAC05D54FF6FF74A34201D05B1CF6E75468F1
S3150800EDBCE40702D50024200001E001242000C0B29B
S3150800EDCC30BC704710B400210122837A9A40110096
S3150800EDDCDFF84822126852F00102DFF840321A6056
S3150800EDECDFF83C2212688A43DFF834321A60027B59
S3150800EDFC002A19D1DFF82C2212688A43DFF824324C
S3150800EE0C1A60C288438853EA0242DFF81C32847AB5
S3150800EE1C43F83420DFF81022837A02EBC302838886
S3150800EE2C048854EA03435360027B012A19D1DFF89C
S3150800EE3CF42112680A43DFF8EC311A600288438819
S3150800EE4C53EA0242DFF8E031847A43F83420DFF8DB
S3150800EE5CD821837A02EBC3028388C48854EA034315
S3150800EE6C5360C27A002A07D1DFF8C02112688A4398
S3150800EE7CDFF8B8311A6006E0DFF8B02112680A43E9
S3150800EE8CDFF8A8311A600289002A06D1DFF8A0211A
S3150800EE9C12688A43DFF898311A600289012A06D16A
S3150800EEACDFF88C2112680A43DFF884311A60427B3A
S3150800EEBC012A06D1DFF8682112680A43DFF86031A7
S3150800EECC1A60DFF85821126852085200DFF84C31E4
S3150800EEDC1A6010BC7047002181710021C171002194
S3150800EEEC017200214172002181720021C172002138
S3150800EEFC81700021C1700321017102214171012128
S3150800EF0C01807047C9B20B010344D3F8B03113F032
S3150800EF1C04031372137A002B07D1C9B20B010344ED
S3150800EF2CD3F8B0315B0D136006E0C9B20B0103448C
S3150800EF3CD3F8B031DB085360C9B20B010344D3F8DC
S3150800EF4CB03113F002035372C9B20B010344D3F860
S3150800EF5CB43113F00F039372C9B20B010344D3F8FF
S3150800EF6CB4311B0AD374C9B20B010344D3F8B831B4
S3150800EF7CD372C9B20B010344D3F8B8311B0A137305
S3150800EF8CC9B20B010344D3F8B8311B0C5373C9B27D
S3150800EF9C0B010344D3F8B8311B0E9373C9B20B019A
S3150800EFAC0344D3F8BC31D373C9B20B010344D3F869
S3150800EFBCBC311B0A1374C9B20B010344D3F8BC3118
S3150800EFCC1B0C5374C9B20B010344D3F8BC311B0E8A
S3150800EFDC9374C9B2002904D1C36853F02003C360E3
S3150800EFEC03E0036953F02003036170470200002015
S3150800EFFCC9B2002904D1D36813F00303180009E039
S3150800F00CC9B2012904D1136913F00303180001E0EE
S3150800F01C00231800C0B27047006400400066004028
S3150800F02C1C6600400C6600404066004004660040C2
S3150800F03C1466004062F30F2262F31F42401810F068
S3150800F04C030308D0C91A1FD3DB0748BF00F8012DE4
S3150800F05C28BF20F8022D130030B414461546103973
S3150800F06C28BF20E93C00FAD8490728BF20E90C003C
S3150800F07C48BF40F8042D890028BF20F8022D48BF48
S3150800F08C00F8012D30BC7047C91818BF00F8012DBF
S3150800F09CCB0728BF00F8012D7047000080B5434800
S3150800F0AC006850F00100414908600020404908609A
S3150800F0BC3E4800683F4908403C4908603E483F497D
S3150800F0CC08603A48006830F4802038490860002007
S3150800F0DC3B49086000F001F801BD82B000200190A0
S3150800F0EC002000903148006850F480302F490860A1
S3150800F0FC2E48006810F4003000900198401C0190CE
S3150800F10C0098002803D10198B0F5A06FF0D12748D4
S3150800F11C0068800302D50120009001E000200090D1
S3150800F12C009801283ED12748006850F080502549A0
S3150800F13C08602548006850F44040234908601C487C
S3150800F14C00681B4908601A48006850F400401849C2
S3150800F15C08601748006850F4A050154908601B4809
S3150800F16C164908601148006850F080700F4908600D
S3150800F17C0E4800688001FBD540F20560144908600A
S3150800F18C0B48006880088000094908600848006830
S3150800F19C50F00200064908600548006810F00C009B
S3150800F1AC0828F9D102B07047000000000038024068
S3150800F1BC08380240FFFFF6FE1030002404380240DF
S3150800F1CC0C38024040380240007000400C5440078E
S3150800F1DC003C024000B583B001210420FFF78CF8EF
S3150800F1EC4FF40050009001208DF8040000208DF893
S3150800F1FC060001208DF8070002208DF805006946E7
S3150800F20C1548FFF7DFF84FF400511348FFF72FF9AD
S3150800F21C07BD10B5FEF7B4FB040010480068201AA9
S3150800F22CB0F5FA7F16D30E480078002808D10120CD
S3150800F23C0B4908704FF400510748FFF71AF907E015
S3150800F24C0020074908704FF400510348FFF70FF9DF
S3150800F25C0248046010BD0000000802409C1C0020F7
S3150800F26CDE1C002019E050F8041BCB0744BFA9F19B
S3150800F27C01035918121F0023042A41F8043BF9D23A
S3150800F28C5FEA827C0B4604D54FF0000CA1F800C04F
S3150800F29C9B1CD10744BF0021197050F8042B002A77
S3150800F2ACE1D1704780B500F00BF8FEF775F8FEF75C
S3150800F2BC8CFBFFF7AEFFFEF7CDF8FEF78CFBF8E7F5
S3150800F2CC80B5FFF7EBFEFFF785FFFEF749FB01BD9F
S3150800F2DC10B450F8041B79B102684368024408302C
S3150800F2ECDC0744BFA9F10104E31852F8044B43F8B0
S3150800F2FC044B091FF9D1ECE710BC704710B5074948
S3150800F30C79441831064C7C44163404E00A68081D06
S3150800F31C114488470146A142F8D110BD2C000000C3
S3150800F32C4C0000000502060206030703080309033E
S3150800F33C09040A040B040C040C050D050E050F052F
S3150800F34C0F061006100710081DFFFFFFD01400004B
S3150800F35C180800200000000079FFFFFF14000000C9
S3150800F36C64000000000000200000000000F00BF80C
S3150800F37C002801D0FFF7C2FF0020AFF30080FFF78B
S3150800F38C91FF00F002F80120704700F001B8000068
S3150800F39C0746384600F002F8FBE7000080B5AFF3E5
S3150800F3AC0080024A11001820ABBEFBE726000200BB
S3150800F3BC034B9D46AFF30080AFF30080FFF7D6FFF3
S3150800F3CC18080020000000000102030401020304CF
S3150800F3DC06070809007A030AFFFFFFFFFFFF000074
S30D0800F3EC00000000FFFFFFFF0F
S7050800F3BD42

View File

@ -400,13 +400,26 @@ static void BootComCanInit(void)
static void BootComCanCheckActivationRequest(void)
{
CanRxMsg RxMessage;
unsigned char canIdMatched = 0;
/* check if a new message was received */
if (CAN_MessagePending(CAN2, CAN_FIFO0) > 0)
{
/* receive the message */
CAN_Receive(CAN2, CAN_FIFO0, &RxMessage);
if (RxMessage.StdId == BOOT_COM_CAN_RX_MSG_ID)
/* check if the message identifier matches the bootloader reception message */
if ( (RxMessage.IDE == CAN_Id_Standard) &&
(RxMessage.StdId == BOOT_COM_CAN_RX_MSG_ID) )
{
canIdMatched = 1;
}
if ( (RxMessage.IDE == CAN_Id_Extended) &&
((RxMessage.ExtId | 0x80000000) == BOOT_COM_CAN_RX_MSG_ID) )
{
canIdMatched = 1;
}
/* is the identifier a match to the bootloader reception message identifier? */
if (canIdMatched == 1)
{
/* check if this was an XCP CONNECT command */
if ((RxMessage.Data[0] == 0xff) && (RxMessage.Data[1] == 0x00))

View File

@ -17,7 +17,7 @@
<Build><ColumnWidth0>20</ColumnWidth0><ColumnWidth1>1395</ColumnWidth1><ColumnWidth2>372</ColumnWidth2><ColumnWidth3>93</ColumnWidth3></Build><TerminalIO/><Debug-Log><ColumnWidth0>20</ColumnWidth0><ColumnWidth1>1861</ColumnWidth1></Debug-Log></Static>
<Windows>
<Wnd0>
<Wnd2>
<Tabs>
<Tab>
<Identity>TabID-29163-19963</Identity>
@ -29,7 +29,7 @@
</Tab>
</Tabs>
<SelectedTab>0</SelectedTab></Wnd0><Wnd1><Tabs><Tab><Identity>TabID-19063-20767</Identity><TabName>Build</TabName><Factory>Build</Factory><Session/></Tab><Tab><Identity>TabID-3819-18760</Identity><TabName>Debug Log</TabName><Factory>Debug-Log</Factory><Session/></Tab></Tabs><SelectedTab>0</SelectedTab></Wnd1></Windows>
<SelectedTab>0</SelectedTab></Wnd2><Wnd3><Tabs><Tab><Identity>TabID-19063-20767</Identity><TabName>Build</TabName><Factory>Build</Factory><Session/></Tab><Tab><Identity>TabID-3819-18760</Identity><TabName>Debug Log</TabName><Factory>Debug-Log</Factory><Session/></Tab></Tabs><SelectedTab>0</SelectedTab></Wnd3></Windows>
<Editor>
@ -42,7 +42,7 @@
<Top><Row0><Sizes><Toolbar-0645A5F0><key>iaridepm.enu1</key></Toolbar-0645A5F0></Sizes></Row0></Top><Left><Row0><Sizes><Wnd0><Rect><Top>-2</Top><Left>-2</Left><Bottom>764</Bottom><Right>379</Right><x>-2</x><y>-2</y><xscreen>200</xscreen><yscreen>200</yscreen><sizeHorzCX>104167</sizeHorzCX><sizeHorzCY>198610</sizeHorzCY><sizeVertCX>198438</sizeVertCX><sizeVertCY>760675</sizeVertCY></Rect></Wnd0></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd1><Rect><Top>-2</Top><Left>-2</Left><Bottom>198</Bottom><Right>1922</Right><x>-2</x><y>-2</y><xscreen>1924</xscreen><yscreen>200</yscreen><sizeHorzCX>1002083</sizeHorzCX><sizeHorzCY>198610</sizeHorzCY><sizeVertCX>104167</sizeVertCX><sizeVertCY>198610</sizeVertCY></Rect></Wnd1></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
<Top><Row0><Sizes><Toolbar-047EDDB8><key>iaridepm.enu1</key></Toolbar-047EDDB8></Sizes></Row0></Top><Left><Row0><Sizes><Wnd2><Rect><Top>-2</Top><Left>-2</Left><Bottom>764</Bottom><Right>379</Right><x>-2</x><y>-2</y><xscreen>200</xscreen><yscreen>200</yscreen><sizeHorzCX>104167</sizeHorzCX><sizeHorzCY>198610</sizeHorzCY><sizeVertCX>198438</sizeVertCX><sizeVertCY>760675</sizeVertCY></Rect></Wnd2></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd3><Rect><Top>-2</Top><Left>-2</Left><Bottom>198</Bottom><Right>1922</Right><x>-2</x><y>-2</y><xscreen>1924</xscreen><yscreen>200</yscreen><sizeHorzCX>1002083</sizeHorzCX><sizeHorzCY>198610</sizeHorzCY><sizeVertCX>104167</sizeVertCX><sizeVertCY>198610</sizeVertCY></Rect></Wnd3></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
</Desktop>
</Workspace>

View File

@ -61,7 +61,8 @@
* in bits/second. Two CAN messages are reserved for communication with the host. The
* message identifier for sending data from the target to the host is configured with
* BOOT_COM_CAN_TXMSG_ID. The one for receiving data from the host is configured with
* BOOT_COM_CAN_RXMSG_ID. The maximum amount of data bytes in a message for data
* BOOT_COM_CAN_RXMSG_ID. Note that an extended 29-bit CAN identifier is configured by
* OR-ing with mask 0x80000000. The maximum amount of data bytes in a message for data
* transmission and reception is set through BOOT_COM_CAN_TX_MAX_DATA and
* BOOT_COM_CAN_RX_MAX_DATA, respectively. It is common for a microcontroller to have more
* than 1 CAN controller on board. The zero-based BOOT_COM_CAN_CHANNEL_INDEX selects the
@ -73,11 +74,11 @@
/** \brief Configure the desired CAN baudrate. */
#define BOOT_COM_CAN_BAUDRATE (500000)
/** \brief Configure CAN message ID target->host. */
#define BOOT_COM_CAN_TX_MSG_ID (0x7E1)
#define BOOT_COM_CAN_TX_MSG_ID (0x7E1 /*| 0x80000000*/)
/** \brief Configure number of bytes in the target->host CAN message. */
#define BOOT_COM_CAN_TX_MAX_DATA (8)
/** \brief Configure CAN message ID host->target. */
#define BOOT_COM_CAN_RX_MSG_ID (0x667)
#define BOOT_COM_CAN_RX_MSG_ID (0x667 /*| 0x80000000*/)
/** \brief Configure number of bytes in the host->target CAN message. */
#define BOOT_COM_CAN_RX_MAX_DATA (8)
/** \brief Select the desired CAN peripheral as a zero based index. */
@ -124,7 +125,7 @@
/* For a USB bootloader, the backdoor needs to stay open long enough for the USB device
* to enumerate on the host PC. Therefore it needs to be set a bit longer than the
* default value, which is done here by overriding the macro. Note that this won't be
* long enough for a first time USB driver install on the host PC. In this case the
* long enough for a first time USB driver install on the host PC. In this case the
* bootloader should be started with the backup backdoor that uses a digital input to
* for the bootloader to stay active. Refer to CpuUserProgramStartHook() to determine
* the digital input to use for this.

View File

@ -497,12 +497,12 @@
1452182499 c:\users\voorburg\desktop\test\stm32p405\src\hw\led.h
1485627624 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\hooks.c
1495810648 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\hooks.c
"boot.h"
"stm32f4xx.h"
"led.h"
1485627342 c:\work\software\openblt\target\source\boot.h
1499159026 c:\work\software\openblt\target\source\boot.h
"types.h"
"assert.h"
"blt_conf.h"
@ -515,59 +515,59 @@
"file.h"
"com.h"
1485627343 c:\work\software\openblt\target\source\armcm4_stm32f4\types.h
1495810634 c:\work\software\openblt\target\source\armcm4_stm32f4\types.h
1485627196 c:\work\software\openblt\target\source\assert.h
1495810634 c:\work\software\openblt\target\source\assert.h
1487087229 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\blt_conf.h
1500026461 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\blt_conf.h
1485627342 c:\work\software\openblt\target\source\plausibility.h
1495810634 c:\work\software\openblt\target\source\plausibility.h
1493026658 c:\work\software\openblt\target\source\cpu.h
1495810632 c:\work\software\openblt\target\source\cpu.h
1485627344 c:\work\software\openblt\target\source\cop.h
1495810633 c:\work\software\openblt\target\source\cop.h
1485627196 c:\work\software\openblt\target\source\nvm.h
1495810632 c:\work\software\openblt\target\source\nvm.h
1485627344 c:\work\software\openblt\target\source\timer.h
1495810633 c:\work\software\openblt\target\source\timer.h
1485627195 c:\work\software\openblt\target\source\backdoor.h
1495810633 c:\work\software\openblt\target\source\backdoor.h
1485627343 c:\work\software\openblt\target\source\file.h
1495810634 c:\work\software\openblt\target\source\file.h
"ff.h"
1485627343 c:\work\software\openblt\target\source\com.h
1495810633 c:\work\software\openblt\target\source\com.h
"xcp.h"
1493026917 c:\work\software\openblt\target\source\xcp.h
1495810633 c:\work\software\openblt\target\source\xcp.h
1485627627 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\stm32f4xx.h
1495810648 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\stm32f4xx.h
"core_cm4.h"
"system_stm32f4xx.h"
<stdint.h>
"stm32f4xx_conf.h"
1485627628 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\cmsis\core_cm4.h
1495810648 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\cmsis\core_cm4.h
<stdint.h>
<core_cmInstr.h>
<core_cmFunc.h>
<core_cm4_simd.h>
1485627628 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\cmsis\core_cminstr.h
1495810648 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\cmsis\core_cminstr.h
<cmsis_iar.h>
<cmsis_ccs.h>
1485627628 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\cmsis\core_cmfunc.h
1495810648 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\cmsis\core_cmfunc.h
<cmsis_iar.h>
<cmsis_ccs.h>
1485627628 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\cmsis\core_cm4_simd.h
1495810648 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\cmsis\core_cm4_simd.h
<cmsis_iar.h>
<cmsis_ccs.h>
1485627627 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\system_stm32f4xx.h
1495810648 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\system_stm32f4xx.h
1485627627 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\stm32f4xx_conf.h
1495810648 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\stm32f4xx_conf.h
"stm32f4xx_adc.h"
"stm32f4xx_can.h"
"stm32f4xx_crc.h"
@ -595,231 +595,231 @@
"stm32f4xx_wwdg.h"
"misc.h"
1485627627 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_adc.h
1495810648 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_adc.h
"stm32f4xx.h"
1485627627 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_can.h
1495810648 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_can.h
"stm32f4xx.h"
1485627627 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_crc.h
1495810648 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_crc.h
"stm32f4xx.h"
1485627627 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_cryp.h
1495810648 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_cryp.h
"stm32f4xx.h"
1485627627 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_dac.h
1495810648 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_dac.h
"stm32f4xx.h"
1485627627 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_dbgmcu.h
1495810648 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_dbgmcu.h
"stm32f4xx.h"
1485627627 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_dcmi.h
1495810648 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_dcmi.h
"stm32f4xx.h"
1485627627 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_dma.h
1495810648 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_dma.h
"stm32f4xx.h"
1485627627 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_exti.h
1495810648 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_exti.h
"stm32f4xx.h"
1485627627 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_flash.h
1495810648 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_flash.h
"stm32f4xx.h"
1485627627 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_fsmc.h
1495810648 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_fsmc.h
"stm32f4xx.h"
1485627627 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_hash.h
1495810648 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_hash.h
"stm32f4xx.h"
1485627627 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_gpio.h
1495810648 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_gpio.h
"stm32f4xx.h"
1485627627 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_i2c.h
1495810648 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_i2c.h
"stm32f4xx.h"
1485627627 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_iwdg.h
1495810648 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_iwdg.h
"stm32f4xx.h"
1485627627 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_pwr.h
1495810648 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_pwr.h
"stm32f4xx.h"
1485627627 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_rcc.h
1495810648 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_rcc.h
"stm32f4xx.h"
1485627628 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_rng.h
1495810648 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_rng.h
"stm32f4xx.h"
1485627627 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_rtc.h
1495810648 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_rtc.h
"stm32f4xx.h"
1485627627 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_sdio.h
1495810648 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_sdio.h
"stm32f4xx.h"
1485627627 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_spi.h
1495810648 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_spi.h
"stm32f4xx.h"
1485627627 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_syscfg.h
1495810648 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_syscfg.h
"stm32f4xx.h"
1485627627 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_tim.h
1495810648 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_tim.h
"stm32f4xx.h"
1485627627 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_usart.h
1495810648 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_usart.h
"stm32f4xx.h"
1485627627 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_wwdg.h
1495810648 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\stm32f4xx_wwdg.h
"stm32f4xx.h"
1485627627 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\misc.h
1495810648 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\inc\misc.h
"stm32f4xx.h"
1485627627 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\misc.c
1495810648 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\misc.c
"misc.h"
1485627627 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_adc.c
1495810648 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_adc.c
"stm32f4xx_adc.h"
"stm32f4xx_rcc.h"
1485627627 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_can.c
1495810648 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_can.c
"stm32f4xx_can.h"
"stm32f4xx_rcc.h"
1485627627 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_crc.c
1495810648 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_crc.c
"stm32f4xx_crc.h"
1485627627 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_cryp.c
1495810648 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_cryp.c
"stm32f4xx_cryp.h"
"stm32f4xx_rcc.h"
1485627627 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_cryp_aes.c
1495810648 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_cryp_aes.c
"stm32f4xx_cryp.h"
1485627627 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_cryp_des.c
1495810648 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_cryp_des.c
"stm32f4xx_cryp.h"
1485627627 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_cryp_tdes.c
1495810648 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_cryp_tdes.c
"stm32f4xx_cryp.h"
1485627627 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_dac.c
1495810648 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_dac.c
"stm32f4xx_dac.h"
"stm32f4xx_rcc.h"
1485627627 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_dbgmcu.c
1495810648 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_dbgmcu.c
"stm32f4xx_dbgmcu.h"
1485627627 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_dcmi.c
1495810648 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_dcmi.c
"stm32f4xx_dcmi.h"
"stm32f4xx_rcc.h"
1485627627 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_dma.c
1495810648 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_dma.c
"stm32f4xx_dma.h"
"stm32f4xx_rcc.h"
1485627627 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_exti.c
1495810648 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_exti.c
"stm32f4xx_exti.h"
1485627627 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_flash.c
1495810648 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_flash.c
"stm32f4xx_flash.h"
1485627627 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_fsmc.c
1495810648 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_fsmc.c
"stm32f4xx_fsmc.h"
"stm32f4xx_rcc.h"
1485627627 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_gpio.c
1495810648 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_gpio.c
"stm32f4xx_gpio.h"
"stm32f4xx_rcc.h"
1485627627 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_hash.c
1495810648 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_hash.c
"stm32f4xx_hash.h"
"stm32f4xx_rcc.h"
1485627627 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_hash_md5.c
1495810648 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_hash_md5.c
"stm32f4xx_hash.h"
1485627627 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_hash_sha1.c
1495810648 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_hash_sha1.c
"stm32f4xx_hash.h"
1485627627 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_i2c.c
1495810648 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_i2c.c
"stm32f4xx_i2c.h"
"stm32f4xx_rcc.h"
1485627627 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_iwdg.c
1495810648 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_iwdg.c
"stm32f4xx_iwdg.h"
1485627627 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_pwr.c
1495810648 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_pwr.c
"stm32f4xx_pwr.h"
"stm32f4xx_rcc.h"
1485627627 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_rcc.c
1495810648 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_rcc.c
"stm32f4xx_rcc.h"
1485627627 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_rng.c
1495810648 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_rng.c
"stm32f4xx_rng.h"
"stm32f4xx_rcc.h"
1485627627 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_rtc.c
1495810648 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_rtc.c
"stm32f4xx_rtc.h"
1485627627 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_sdio.c
1495810648 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_sdio.c
"stm32f4xx_sdio.h"
"stm32f4xx_rcc.h"
1485627627 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_spi.c
1495810648 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_spi.c
"stm32f4xx_spi.h"
"stm32f4xx_rcc.h"
1485627627 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_syscfg.c
1495810648 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_syscfg.c
"stm32f4xx_syscfg.h"
"stm32f4xx_rcc.h"
1485627627 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_tim.c
1495810648 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_tim.c
"stm32f4xx_tim.h"
"stm32f4xx_rcc.h"
1485627627 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_usart.c
1495810648 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_usart.c
"stm32f4xx_usart.h"
"stm32f4xx_rcc.h"
1485627627 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_wwdg.c
1495810648 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\spl\src\stm32f4xx_wwdg.c
"stm32f4xx_wwdg.h"
"stm32f4xx_rcc.h"
1485627627 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\system_stm32f4xx.c
1495810648 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\system_stm32f4xx.c
"stm32f4xx.h"
1485627624 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\startup_stm32f4xx.s
1495810648 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\startup_stm32f4xx.s
1485627343 source:c:\work\software\openblt\target\source\armcm4_stm32f4\can.c
1500026133 source:c:\work\software\openblt\target\source\armcm4_stm32f4\can.c
"boot.h"
1493026617 source:c:\work\software\openblt\target\source\armcm4_stm32f4\cpu.c
1495810634 source:c:\work\software\openblt\target\source\armcm4_stm32f4\cpu.c
"boot.h"
1485627343 source:c:\work\software\openblt\target\source\armcm4_stm32f4\flash.c
1495810634 source:c:\work\software\openblt\target\source\armcm4_stm32f4\flash.c
"boot.h"
"stm32f4xx.h"
"stm32f4xx_conf.h"
"flash_layout.c"
1485627343 source:c:\work\software\openblt\target\source\armcm4_stm32f4\gcc\cpu_comp.c
1495810634 source:c:\work\software\openblt\target\source\armcm4_stm32f4\gcc\cpu_comp.c
"boot.h"
1485627343 source:c:\work\software\openblt\target\source\armcm4_stm32f4\nvm.c
1495810634 source:c:\work\software\openblt\target\source\armcm4_stm32f4\nvm.c
"boot.h"
"flash.h"
1485627343 c:\work\software\openblt\target\source\armcm4_stm32f4\flash.h
1495810634 c:\work\software\openblt\target\source\armcm4_stm32f4\flash.h
1485627343 source:c:\work\software\openblt\target\source\armcm4_stm32f4\timer.c
1495810634 source:c:\work\software\openblt\target\source\armcm4_stm32f4\timer.c
"boot.h"
"stm32f4xx.h"
1485627343 source:c:\work\software\openblt\target\source\armcm4_stm32f4\uart.c
1495810634 source:c:\work\software\openblt\target\source\armcm4_stm32f4\uart.c
"boot.h"
"stm32f4xx.h"
"stm32f4xx_conf.h"
1491556363 source:c:\work\software\openblt\target\source\armcm4_stm32f4\usb.c
1495810634 source:c:\work\software\openblt\target\source\armcm4_stm32f4\usb.c
"boot.h"
"usb.h"
"usb_core.h"
@ -830,185 +830,185 @@
"usbd_desc.h"
"usbd_bulk.h"
1485627194 c:\work\software\openblt\target\source\usb.h
1495810633 c:\work\software\openblt\target\source\usb.h
1485627196 source:c:\work\software\openblt\target\source\assert.c
1495810634 source:c:\work\software\openblt\target\source\assert.c
"boot.h"
1485627195 source:c:\work\software\openblt\target\source\backdoor.c
1495810633 source:c:\work\software\openblt\target\source\backdoor.c
"boot.h"
1485627196 source:c:\work\software\openblt\target\source\boot.c
1495810634 source:c:\work\software\openblt\target\source\boot.c
"boot.h"
1485627342 source:c:\work\software\openblt\target\source\com.c
1495810633 source:c:\work\software\openblt\target\source\com.c
"boot.h"
"can.h"
"uart.h"
"usb.h"
"net.h"
1485627196 c:\work\software\openblt\target\source\can.h
1495810632 c:\work\software\openblt\target\source\can.h
1485627342 c:\work\software\openblt\target\source\uart.h
1495810634 c:\work\software\openblt\target\source\uart.h
1485627344 c:\work\software\openblt\target\source\net.h
1495810633 c:\work\software\openblt\target\source\net.h
1485627343 source:c:\work\software\openblt\target\source\cop.c
1495810633 source:c:\work\software\openblt\target\source\cop.c
"boot.h"
1493282507 source:c:\work\software\openblt\target\source\file.c
1495810634 source:c:\work\software\openblt\target\source\file.c
"boot.h"
<string.h>
<ctype.h>
1485627344 source:c:\work\software\openblt\target\source\net.c
1495810633 source:c:\work\software\openblt\target\source\net.c
"boot.h"
"netdev.h"
"uip.h"
"uip_arp.h"
1493026773 source:c:\work\software\openblt\target\source\xcp.c
1495810633 source:c:\work\software\openblt\target\source\xcp.c
"boot.h"
1485627624 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\led.c
1495810648 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\led.c
"boot.h"
"led.h"
"stm32f4xx.h"
1485627624 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\led.h
1495810648 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\led.h
1485627624 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\main.c
1495810648 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\main.c
"boot.h"
"stm32f4xx.h"
1485627630 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\flash_layout.c
1495810648 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\flash_layout.c
1485627625 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\usbdevicelib\core\src\usbd_core.c
1495810648 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\usbdevicelib\core\src\usbd_core.c
"usbd_core.h"
"usbd_req.h"
"usbd_ioreq.h"
"usb_dcd_int.h"
"usb_bsp.h"
1485627625 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\usbdevicelib\core\inc\usbd_core.h
1495810648 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\usbdevicelib\core\inc\usbd_core.h
"usb_dcd.h"
"usbd_def.h"
"usbd_conf.h"
1485627624 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\usbotgdriver\inc\usb_dcd.h
1495810648 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\usbotgdriver\inc\usb_dcd.h
"usb_core.h"
1485627624 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\usbotgdriver\inc\usb_core.h
1495810648 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\usbotgdriver\inc\usb_core.h
"usb_conf.h"
"usb_regs.h"
"usb_defines.h"
1485627624 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\usb_conf.h
1495810648 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\usb_conf.h
"stm32f4xx.h"
1485627624 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\usbotgdriver\inc\usb_regs.h
1495810648 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\usbotgdriver\inc\usb_regs.h
"usb_conf.h"
1485627624 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\usbotgdriver\inc\usb_defines.h
1495810648 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\usbotgdriver\inc\usb_defines.h
"usb_conf.h"
1485627625 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\usbdevicelib\core\inc\usbd_def.h
1495810648 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\usbdevicelib\core\inc\usbd_def.h
"usbd_conf.h"
1485627624 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\usbd_conf.h
1495810648 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\usbd_conf.h
"usb_conf.h"
1485627625 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\usbdevicelib\core\inc\usbd_req.h
1495810648 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\usbdevicelib\core\inc\usbd_req.h
"usbd_def.h"
"usbd_core.h"
"usbd_conf.h"
1485627625 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\usbdevicelib\core\inc\usbd_ioreq.h
1495810648 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\usbdevicelib\core\inc\usbd_ioreq.h
"usbd_def.h"
"usbd_core.h"
1485627624 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\usbotgdriver\inc\usb_dcd_int.h
1495810648 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\usbotgdriver\inc\usb_dcd_int.h
"usb_dcd.h"
1485627624 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\usbotgdriver\inc\usb_bsp.h
1495810648 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\usbotgdriver\inc\usb_bsp.h
"usb_core.h"
"usb_conf.h"
1485627625 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\usbdevicelib\core\src\usbd_ioreq.c
1495810648 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\usbdevicelib\core\src\usbd_ioreq.c
"usbd_ioreq.h"
1485627625 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\usbdevicelib\core\src\usbd_req.c
1495810648 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\usbdevicelib\core\src\usbd_req.c
"usbd_req.h"
"usbd_ioreq.h"
"usbd_desc.h"
1485627624 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\usbd_desc.h
1495810648 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\usbd_desc.h
"usbd_def.h"
1485627624 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\usbotgdriver\src\usb_core.c
1495810648 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\usbotgdriver\src\usb_core.c
"usb_core.h"
"usb_bsp.h"
1485627624 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\usbotgdriver\src\usb_dcd.c
1495810648 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\usbotgdriver\src\usb_dcd.c
"usb_dcd.h"
"usb_bsp.h"
1485627624 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\usbotgdriver\src\usb_dcd_int.c
1495810648 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\usbotgdriver\src\usb_dcd_int.c
"usb_dcd_int.h"
1485627630 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\usb_bsp.c
1495810648 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\usb_bsp.c
"usb_bsp.h"
"usbd_conf.h"
1485627624 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\usbd_bulk.c
1495810648 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\usbd_bulk.c
"usbd_bulk.h"
"usbd_desc.h"
"usbd_req.h"
1485627624 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\usbd_bulk.h
1495810648 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\usbd_bulk.h
"usbd_ioreq.h"
1485627630 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\usbd_desc.c
1495810648 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\usbd_desc.c
"usbd_core.h"
"usbd_desc.h"
"usbd_req.h"
"usbd_conf.h"
"usb_regs.h"
1485627630 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\usbd_usr.c
1495810648 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\usbd_usr.c
"usbd_usr.h"
"usbd_ioreq.h"
"boot.h"
"usb.h"
1485627625 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\usbdevicelib\core\inc\usbd_usr.h
1495810648 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\usbdevicelib\core\inc\usbd_usr.h
"usbd_core.h"
1460492726 c:\work\software\openblt\target\source\third_party\fatfs\src\ff.h
1495810633 c:\work\software\openblt\target\source\third_party\fatfs\src\ff.h
"integer.h"
"ffconf.h"
1460492726 c:\work\software\openblt\target\source\third_party\fatfs\src\integer.h
1495810633 c:\work\software\openblt\target\source\third_party\fatfs\src\integer.h
<windows.h>
<tchar.h>
1493280503 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\fatfs\ffconf.h
1495810648 c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\fatfs\ffconf.h
1493288739 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\fatfs\mmc.c
1495810648 source:c:\work\software\openblt\target\demo\armcm4_stm32f4_olimex_stm32p405_gcc\boot\lib\fatfs\mmc.c
"diskio.h"
"stm32f4xx.h"
"boot.h"
1460492726 c:\work\software\openblt\target\source\third_party\fatfs\src\diskio.h
1495810633 c:\work\software\openblt\target\source\third_party\fatfs\src\diskio.h
"integer.h"
1460492726 source:c:\work\software\openblt\target\source\third_party\fatfs\src\ff.c
1495810633 source:c:\work\software\openblt\target\source\third_party\fatfs\src\ff.c
"ff.h"
"diskio.h"
<stdarg.h>
1460492726 source:c:\work\software\openblt\target\source\third_party\fatfs\src\option\unicode.c
1495810633 source:c:\work\software\openblt\target\source\third_party\fatfs\src\option\unicode.c
"../ff.h"
"cc932.c"
"cc936.c"
@ -1016,18 +1016,18 @@
"cc950.c"
"ccsbcs.c"
1460492726 c:\work\software\openblt\target\source\third_party\fatfs\src\option\cc932.c
1495810633 c:\work\software\openblt\target\source\third_party\fatfs\src\option\cc932.c
"../ff.h"
1460492726 c:\work\software\openblt\target\source\third_party\fatfs\src\option\cc936.c
1495810633 c:\work\software\openblt\target\source\third_party\fatfs\src\option\cc936.c
"../ff.h"
1460492726 c:\work\software\openblt\target\source\third_party\fatfs\src\option\cc949.c
1495810633 c:\work\software\openblt\target\source\third_party\fatfs\src\option\cc949.c
"../ff.h"
1460492726 c:\work\software\openblt\target\source\third_party\fatfs\src\option\cc950.c
1495810633 c:\work\software\openblt\target\source\third_party\fatfs\src\option\cc950.c
"../ff.h"
1460492726 c:\work\software\openblt\target\source\third_party\fatfs\src\option\ccsbcs.c
1495810633 c:\work\software\openblt\target\source\third_party\fatfs\src\option\ccsbcs.c
"../ff.h"

View File

@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<EmBitz_layout_file>
<ActiveTarget name="Debug" />
<File name="..\blt_conf.h" open="0" top="0" tabpos="1" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<File name="..\blt_conf.h" open="1" top="0" tabpos="1" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="4200" topLine="60" />
<Cursor1 position="4855" topLine="60" />
</Cursor>
</File>
<File name="..\flash_layout.c" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
@ -21,7 +21,7 @@
<Cursor1 position="2090" topLine="19" />
</Cursor>
</File>
<File name="..\lib\fatfs\mmc.c" open="1" top="0" tabpos="1" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<File name="..\lib\fatfs\mmc.c" open="0" top="0" tabpos="1" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="8844" topLine="227" />
</Cursor>

View File

@ -4469,7 +4469,7 @@ LOAD c:/program files (x86)/embitz/1.00/share/em_armgcc/bin/../lib/gcc/arm-none-
0x00000000 __HEAP_SIZE = 0x0
0x00000400 __STACK_SIZE = 0x400
.text 0x08008000 0xf58
.text 0x08008000 0xf68
*(.isr_vector)
.isr_vector 0x08008000 0x18c ..\obj\startup_stm32f4xx.o
0x08008000 __isr_vector
@ -4495,200 +4495,200 @@ LOAD c:/program files (x86)/embitz/1.00/share/em_armgcc/bin/../lib/gcc/arm-none-
.text.BootComUartCheckActivationRequest
0x08008484 0x94 ..\obj\boot.o
.text.BootComCanCheckActivationRequest
0x08008518 0x40 ..\obj\boot.o
0x08008518 0x50 ..\obj\boot.o
.text.BootComCheckActivationRequest
0x08008558 0xc ..\obj\boot.o
0x08008558 BootComCheckActivationRequest
.text.LedInit 0x08008564 0x44 ..\obj\led.o
0x08008564 LedInit
0x08008568 0xc ..\obj\boot.o
0x08008568 BootComCheckActivationRequest
.text.LedInit 0x08008574 0x44 ..\obj\led.o
0x08008574 LedInit
.text.LedToggle
0x080085a8 0x50 ..\obj\led.o
0x080085a8 LedToggle
0x080085b8 0x50 ..\obj\led.o
0x080085b8 LedToggle
.text.CAN_DeInit
0x080085f8 0x38 ..\obj\lib\spl\src\stm32f4xx_can.o
0x080085f8 CAN_DeInit
0x08008608 0x38 ..\obj\lib\spl\src\stm32f4xx_can.o
0x08008608 CAN_DeInit
.text.CAN_Init
0x08008630 0x110 ..\obj\lib\spl\src\stm32f4xx_can.o
0x08008630 CAN_Init
0x08008640 0x110 ..\obj\lib\spl\src\stm32f4xx_can.o
0x08008640 CAN_Init
.text.CAN_FilterInit
0x08008740 0xf4 ..\obj\lib\spl\src\stm32f4xx_can.o
0x08008740 CAN_FilterInit
0x08008750 0xf4 ..\obj\lib\spl\src\stm32f4xx_can.o
0x08008750 CAN_FilterInit
.text.CAN_StructInit
0x08008834 0x20 ..\obj\lib\spl\src\stm32f4xx_can.o
0x08008834 CAN_StructInit
0x08008844 0x20 ..\obj\lib\spl\src\stm32f4xx_can.o
0x08008844 CAN_StructInit
.text.CAN_Receive
0x08008854 0xa8 ..\obj\lib\spl\src\stm32f4xx_can.o
0x08008854 CAN_Receive
0x08008864 0xa8 ..\obj\lib\spl\src\stm32f4xx_can.o
0x08008864 CAN_Receive
.text.CAN_MessagePending
0x080088fc 0x1c ..\obj\lib\spl\src\stm32f4xx_can.o
0x080088fc CAN_MessagePending
0x0800890c 0x1c ..\obj\lib\spl\src\stm32f4xx_can.o
0x0800890c CAN_MessagePending
.text.GPIO_Init
0x08008918 0x84 ..\obj\lib\spl\src\stm32f4xx_gpio.o
0x08008918 GPIO_Init
0x08008928 0x84 ..\obj\lib\spl\src\stm32f4xx_gpio.o
0x08008928 GPIO_Init
.text.GPIO_SetBits
0x0800899c 0x4 ..\obj\lib\spl\src\stm32f4xx_gpio.o
0x0800899c GPIO_SetBits
0x080089ac 0x4 ..\obj\lib\spl\src\stm32f4xx_gpio.o
0x080089ac GPIO_SetBits
.text.GPIO_ResetBits
0x080089a0 0x4 ..\obj\lib\spl\src\stm32f4xx_gpio.o
0x080089a0 GPIO_ResetBits
0x080089b0 0x4 ..\obj\lib\spl\src\stm32f4xx_gpio.o
0x080089b0 GPIO_ResetBits
.text.GPIO_PinAFConfig
0x080089a4 0x30 ..\obj\lib\spl\src\stm32f4xx_gpio.o
0x080089a4 GPIO_PinAFConfig
0x080089b4 0x30 ..\obj\lib\spl\src\stm32f4xx_gpio.o
0x080089b4 GPIO_PinAFConfig
.text.RCC_GetClocksFreq
0x080089d4 0xb8 ..\obj\lib\spl\src\stm32f4xx_rcc.o
0x080089d4 RCC_GetClocksFreq
0x080089e4 0xb8 ..\obj\lib\spl\src\stm32f4xx_rcc.o
0x080089e4 RCC_GetClocksFreq
.text.RCC_AHB1PeriphClockCmd
0x08008a8c 0x1c ..\obj\lib\spl\src\stm32f4xx_rcc.o
0x08008a8c RCC_AHB1PeriphClockCmd
0x08008a9c 0x1c ..\obj\lib\spl\src\stm32f4xx_rcc.o
0x08008a9c RCC_AHB1PeriphClockCmd
.text.RCC_APB1PeriphClockCmd
0x08008aa8 0x1c ..\obj\lib\spl\src\stm32f4xx_rcc.o
0x08008aa8 RCC_APB1PeriphClockCmd
0x08008ab8 0x1c ..\obj\lib\spl\src\stm32f4xx_rcc.o
0x08008ab8 RCC_APB1PeriphClockCmd
.text.RCC_APB1PeriphResetCmd
0x08008ac4 0x1c ..\obj\lib\spl\src\stm32f4xx_rcc.o
0x08008ac4 RCC_APB1PeriphResetCmd
0x08008ad4 0x1c ..\obj\lib\spl\src\stm32f4xx_rcc.o
0x08008ad4 RCC_APB1PeriphResetCmd
.text.USART_Init
0x08008ae0 0xd0 ..\obj\lib\spl\src\stm32f4xx_usart.o
0x08008ae0 USART_Init
0x08008af0 0xd0 ..\obj\lib\spl\src\stm32f4xx_usart.o
0x08008af0 USART_Init
.text.USART_Cmd
0x08008bb0 0x1c ..\obj\lib\spl\src\stm32f4xx_usart.o
0x08008bb0 USART_Cmd
0x08008bc0 0x1c ..\obj\lib\spl\src\stm32f4xx_usart.o
0x08008bc0 USART_Cmd
.text.USART_ReceiveData
0x08008bcc 0x8 ..\obj\lib\spl\src\stm32f4xx_usart.o
0x08008bcc USART_ReceiveData
0x08008bdc 0x8 ..\obj\lib\spl\src\stm32f4xx_usart.o
0x08008bdc USART_ReceiveData
.text.USART_GetFlagStatus
0x08008bd4 0x10 ..\obj\lib\spl\src\stm32f4xx_usart.o
0x08008bd4 USART_GetFlagStatus
0x08008be4 0x10 ..\obj\lib\spl\src\stm32f4xx_usart.o
0x08008be4 USART_GetFlagStatus
.text.SetSysClock
0x08008be4 0xc4 ..\obj\lib\system_stm32f4xx.o
0x08008bf4 0xc4 ..\obj\lib\system_stm32f4xx.o
.text.SystemInit
0x08008ca8 0x4c ..\obj\lib\system_stm32f4xx.o
0x08008ca8 SystemInit
.text.Init 0x08008cf4 0xc ..\obj\main.o
.text.main 0x08008d00 0x14 ..\obj\main.o
0x08008d00 main
.text 0x08008d14 0x110 ..\obj\startup_stm32f4xx.o
0x08008d14 Reset_Handler
0x08008d62 NMI_Handler
0x08008d64 HardFault_Handler
0x08008d66 MemManage_Handler
0x08008d68 BusFault_Handler
0x08008d6a UsageFault_Handler
0x08008d6c SVC_Handler
0x08008d6e DebugMon_Handler
0x08008d70 PendSV_Handler
0x08008d74 Default_Handler
0x08008d76 WWDG_IRQHandler
0x08008d78 PVD_IRQHandler
0x08008d7a TAMP_STAMP_IRQHandler
0x08008d7c RTC_WKUP_IRQHandler
0x08008d7e FLASH_IRQHandler
0x08008d80 RCC_IRQHandler
0x08008d82 EXTI0_IRQHandler
0x08008d84 EXTI1_IRQHandler
0x08008d86 EXTI2_IRQHandler
0x08008d88 EXTI3_IRQHandler
0x08008d8a EXTI4_IRQHandler
0x08008d8c DMA1_Stream0_IRQHandler
0x08008d8e DMA1_Stream1_IRQHandler
0x08008d90 DMA1_Stream2_IRQHandler
0x08008d92 DMA1_Stream3_IRQHandler
0x08008d94 DMA1_Stream4_IRQHandler
0x08008d96 DMA1_Stream5_IRQHandler
0x08008d98 DMA1_Stream6_IRQHandler
0x08008d9a ADC_IRQHandler
0x08008d9c CAN1_TX_IRQHandler
0x08008d9e CAN1_RX0_IRQHandler
0x08008da0 CAN1_RX1_IRQHandler
0x08008da2 CAN1_SCE_IRQHandler
0x08008da4 EXTI9_5_IRQHandler
0x08008da6 TIM1_BRK_TIM9_IRQHandler
0x08008da8 TIM1_UP_TIM10_IRQHandler
0x08008daa TIM1_TRG_COM_TIM11_IRQHandler
0x08008dac TIM1_CC_IRQHandler
0x08008dae TIM2_IRQHandler
0x08008db0 TIM3_IRQHandler
0x08008db2 TIM4_IRQHandler
0x08008db4 I2C1_EV_IRQHandler
0x08008db6 I2C1_ER_IRQHandler
0x08008db8 I2C2_EV_IRQHandler
0x08008dba I2C2_ER_IRQHandler
0x08008dbc SPI1_IRQHandler
0x08008dbe SPI2_IRQHandler
0x08008dc0 USART1_IRQHandler
0x08008dc2 USART2_IRQHandler
0x08008dc4 USART3_IRQHandler
0x08008dc6 EXTI15_10_IRQHandler
0x08008dc8 RTC_Alarm_IRQHandler
0x08008dca OTG_FS_WKUP_IRQHandler
0x08008dcc TIM8_BRK_TIM12_IRQHandler
0x08008dce TIM8_UP_TIM13_IRQHandler
0x08008dd0 TIM8_TRG_COM_TIM14_IRQHandler
0x08008dd2 TIM8_CC_IRQHandler
0x08008dd4 DMA1_Stream7_IRQHandler
0x08008dd6 FSMC_IRQHandler
0x08008dd8 SDIO_IRQHandler
0x08008dda TIM5_IRQHandler
0x08008ddc SPI3_IRQHandler
0x08008dde UART4_IRQHandler
0x08008de0 UART5_IRQHandler
0x08008de2 TIM6_DAC_IRQHandler
0x08008de4 TIM7_IRQHandler
0x08008de6 DMA2_Stream0_IRQHandler
0x08008de8 DMA2_Stream1_IRQHandler
0x08008dea DMA2_Stream2_IRQHandler
0x08008dec DMA2_Stream3_IRQHandler
0x08008dee DMA2_Stream4_IRQHandler
0x08008df0 ETH_IRQHandler
0x08008df2 ETH_WKUP_IRQHandler
0x08008df4 CAN2_TX_IRQHandler
0x08008df6 CAN2_RX0_IRQHandler
0x08008df8 CAN2_RX1_IRQHandler
0x08008dfa CAN2_SCE_IRQHandler
0x08008dfc OTG_FS_IRQHandler
0x08008dfe DMA2_Stream5_IRQHandler
0x08008e00 DMA2_Stream6_IRQHandler
0x08008e02 DMA2_Stream7_IRQHandler
0x08008e04 USART6_IRQHandler
0x08008e06 I2C3_EV_IRQHandler
0x08008e08 I2C3_ER_IRQHandler
0x08008e0a OTG_HS_EP1_OUT_IRQHandler
0x08008e0c OTG_HS_EP1_IN_IRQHandler
0x08008e0e OTG_HS_WKUP_IRQHandler
0x08008e10 OTG_HS_IRQHandler
0x08008e12 DCMI_IRQHandler
0x08008e14 CRYP_IRQHandler
0x08008e16 HASH_RNG_IRQHandler
0x08008e18 FPU_IRQHandler
0x08008cb8 0x4c ..\obj\lib\system_stm32f4xx.o
0x08008cb8 SystemInit
.text.Init 0x08008d04 0xc ..\obj\main.o
.text.main 0x08008d10 0x14 ..\obj\main.o
0x08008d10 main
.text 0x08008d24 0x110 ..\obj\startup_stm32f4xx.o
0x08008d24 Reset_Handler
0x08008d72 NMI_Handler
0x08008d74 HardFault_Handler
0x08008d76 MemManage_Handler
0x08008d78 BusFault_Handler
0x08008d7a UsageFault_Handler
0x08008d7c SVC_Handler
0x08008d7e DebugMon_Handler
0x08008d80 PendSV_Handler
0x08008d84 Default_Handler
0x08008d86 WWDG_IRQHandler
0x08008d88 PVD_IRQHandler
0x08008d8a TAMP_STAMP_IRQHandler
0x08008d8c RTC_WKUP_IRQHandler
0x08008d8e FLASH_IRQHandler
0x08008d90 RCC_IRQHandler
0x08008d92 EXTI0_IRQHandler
0x08008d94 EXTI1_IRQHandler
0x08008d96 EXTI2_IRQHandler
0x08008d98 EXTI3_IRQHandler
0x08008d9a EXTI4_IRQHandler
0x08008d9c DMA1_Stream0_IRQHandler
0x08008d9e DMA1_Stream1_IRQHandler
0x08008da0 DMA1_Stream2_IRQHandler
0x08008da2 DMA1_Stream3_IRQHandler
0x08008da4 DMA1_Stream4_IRQHandler
0x08008da6 DMA1_Stream5_IRQHandler
0x08008da8 DMA1_Stream6_IRQHandler
0x08008daa ADC_IRQHandler
0x08008dac CAN1_TX_IRQHandler
0x08008dae CAN1_RX0_IRQHandler
0x08008db0 CAN1_RX1_IRQHandler
0x08008db2 CAN1_SCE_IRQHandler
0x08008db4 EXTI9_5_IRQHandler
0x08008db6 TIM1_BRK_TIM9_IRQHandler
0x08008db8 TIM1_UP_TIM10_IRQHandler
0x08008dba TIM1_TRG_COM_TIM11_IRQHandler
0x08008dbc TIM1_CC_IRQHandler
0x08008dbe TIM2_IRQHandler
0x08008dc0 TIM3_IRQHandler
0x08008dc2 TIM4_IRQHandler
0x08008dc4 I2C1_EV_IRQHandler
0x08008dc6 I2C1_ER_IRQHandler
0x08008dc8 I2C2_EV_IRQHandler
0x08008dca I2C2_ER_IRQHandler
0x08008dcc SPI1_IRQHandler
0x08008dce SPI2_IRQHandler
0x08008dd0 USART1_IRQHandler
0x08008dd2 USART2_IRQHandler
0x08008dd4 USART3_IRQHandler
0x08008dd6 EXTI15_10_IRQHandler
0x08008dd8 RTC_Alarm_IRQHandler
0x08008dda OTG_FS_WKUP_IRQHandler
0x08008ddc TIM8_BRK_TIM12_IRQHandler
0x08008dde TIM8_UP_TIM13_IRQHandler
0x08008de0 TIM8_TRG_COM_TIM14_IRQHandler
0x08008de2 TIM8_CC_IRQHandler
0x08008de4 DMA1_Stream7_IRQHandler
0x08008de6 FSMC_IRQHandler
0x08008de8 SDIO_IRQHandler
0x08008dea TIM5_IRQHandler
0x08008dec SPI3_IRQHandler
0x08008dee UART4_IRQHandler
0x08008df0 UART5_IRQHandler
0x08008df2 TIM6_DAC_IRQHandler
0x08008df4 TIM7_IRQHandler
0x08008df6 DMA2_Stream0_IRQHandler
0x08008df8 DMA2_Stream1_IRQHandler
0x08008dfa DMA2_Stream2_IRQHandler
0x08008dfc DMA2_Stream3_IRQHandler
0x08008dfe DMA2_Stream4_IRQHandler
0x08008e00 ETH_IRQHandler
0x08008e02 ETH_WKUP_IRQHandler
0x08008e04 CAN2_TX_IRQHandler
0x08008e06 CAN2_RX0_IRQHandler
0x08008e08 CAN2_RX1_IRQHandler
0x08008e0a CAN2_SCE_IRQHandler
0x08008e0c OTG_FS_IRQHandler
0x08008e0e DMA2_Stream5_IRQHandler
0x08008e10 DMA2_Stream6_IRQHandler
0x08008e12 DMA2_Stream7_IRQHandler
0x08008e14 USART6_IRQHandler
0x08008e16 I2C3_EV_IRQHandler
0x08008e18 I2C3_ER_IRQHandler
0x08008e1a OTG_HS_EP1_OUT_IRQHandler
0x08008e1c OTG_HS_EP1_IN_IRQHandler
0x08008e1e OTG_HS_WKUP_IRQHandler
0x08008e20 OTG_HS_IRQHandler
0x08008e22 DCMI_IRQHandler
0x08008e24 CRYP_IRQHandler
0x08008e26 HASH_RNG_IRQHandler
0x08008e28 FPU_IRQHandler
.text.TimerSet
0x08008e24 0xc ..\obj\timer.o
0x08008e24 TimerSet
0x08008e34 0xc ..\obj\timer.o
0x08008e34 TimerSet
.text.TimerInit
0x08008e30 0x3c ..\obj\timer.o
0x08008e30 TimerInit
0x08008e40 0x3c ..\obj\timer.o
0x08008e40 TimerInit
.text.TimerGet
0x08008e6c 0xc ..\obj\timer.o
0x08008e6c TimerGet
0x08008e7c 0xc ..\obj\timer.o
0x08008e7c TimerGet
.text.SysTick_Handler
0x08008e78 0x10 ..\obj\timer.o
0x08008e78 SysTick_Handler
.text.exit 0x08008e88 0x28 c:/program files (x86)/embitz/1.00/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/../../../../arm-none-eabi/lib/armv7e-m/fpu\libg_n.a(lib_a-exit.o)
0x08008e88 exit
0x08008e88 0x10 ..\obj\timer.o
0x08008e88 SysTick_Handler
.text.exit 0x08008e98 0x28 c:/program files (x86)/embitz/1.00/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/../../../../arm-none-eabi/lib/armv7e-m/fpu\libg_n.a(lib_a-exit.o)
0x08008e98 exit
.text.__libc_init_array
0x08008eb0 0x4c c:/program files (x86)/embitz/1.00/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/../../../../arm-none-eabi/lib/armv7e-m/fpu\libg_n.a(lib_a-init.o)
0x08008eb0 __libc_init_array
.text.memset 0x08008efc 0x10 c:/program files (x86)/embitz/1.00/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/../../../../arm-none-eabi/lib/armv7e-m/fpu\libg_n.a(lib_a-memset.o)
0x08008efc memset
.text._exit 0x08008f0c 0x2 c:/program files (x86)/embitz/1.00/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/../../../../arm-none-eabi/lib/armv7e-m/fpu\libnosys_s.a(_exit.o)
0x08008f0c _exit
0x08008ec0 0x4c c:/program files (x86)/embitz/1.00/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/../../../../arm-none-eabi/lib/armv7e-m/fpu\libg_n.a(lib_a-init.o)
0x08008ec0 __libc_init_array
.text.memset 0x08008f0c 0x10 c:/program files (x86)/embitz/1.00/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/../../../../arm-none-eabi/lib/armv7e-m/fpu\libg_n.a(lib_a-memset.o)
0x08008f0c memset
.text._exit 0x08008f1c 0x2 c:/program files (x86)/embitz/1.00/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/../../../../arm-none-eabi/lib/armv7e-m/fpu\libnosys_s.a(_exit.o)
0x08008f1c _exit
*(.init)
*fill* 0x08008f0e 0x2
.init 0x08008f10 0x4 c:/program files (x86)/embitz/1.00/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/armv7e-m/fpu/crti.o
0x08008f10 _init
.init 0x08008f14 0x8 c:/program files (x86)/embitz/1.00/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/armv7e-m/fpu/crtn.o
*fill* 0x08008f1e 0x2
.init 0x08008f20 0x4 c:/program files (x86)/embitz/1.00/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/armv7e-m/fpu/crti.o
0x08008f20 _init
.init 0x08008f24 0x8 c:/program files (x86)/embitz/1.00/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/armv7e-m/fpu/crtn.o
*(.fini)
.fini 0x08008f1c 0x4 c:/program files (x86)/embitz/1.00/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/armv7e-m/fpu/crti.o
0x08008f1c _fini
.fini 0x08008f20 0x8 c:/program files (x86)/embitz/1.00/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/armv7e-m/fpu/crtn.o
.fini 0x08008f2c 0x4 c:/program files (x86)/embitz/1.00/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/armv7e-m/fpu/crti.o
0x08008f2c _fini
.fini 0x08008f30 0x8 c:/program files (x86)/embitz/1.00/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/armv7e-m/fpu/crtn.o
*crtbegin.o(.ctors)
*crtbegin?.o(.ctors)
*(EXCLUDE_FILE(*crtend.o *crtend?.o) .ctors)
@ -4701,46 +4701,46 @@ LOAD c:/program files (x86)/embitz/1.00/share/em_armgcc/bin/../lib/gcc/arm-none-
*(.dtors)
*(.rodata*)
.rodata.canTiming
0x08008f28 0x24 ..\obj\boot.o
0x08008f38 0x24 ..\obj\boot.o
.rodata.str1.1
0x08008f4c 0x2 c:/program files (x86)/embitz/1.00/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/../../../../arm-none-eabi/lib/armv7e-m/fpu\libg_n.a(lib_a-impure.o)
*fill* 0x08008f4e 0x2
0x08008f5c 0x2 c:/program files (x86)/embitz/1.00/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/../../../../arm-none-eabi/lib/armv7e-m/fpu\libg_n.a(lib_a-impure.o)
*fill* 0x08008f5e 0x2
.rodata._global_impure_ptr
0x08008f50 0x4 c:/program files (x86)/embitz/1.00/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/../../../../arm-none-eabi/lib/armv7e-m/fpu\libg_n.a(lib_a-impure.o)
0x08008f50 _global_impure_ptr
0x08008f60 0x4 c:/program files (x86)/embitz/1.00/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/../../../../arm-none-eabi/lib/armv7e-m/fpu\libg_n.a(lib_a-impure.o)
0x08008f60 _global_impure_ptr
*(.eh_frame*)
.eh_frame 0x08008f54 0x0 c:/program files (x86)/embitz/1.00/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/armv7e-m/fpu/crtbegin.o
.eh_frame 0x08008f54 0x4 c:/program files (x86)/embitz/1.00/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/armv7e-m/fpu/crtend.o
.eh_frame 0x08008f64 0x0 c:/program files (x86)/embitz/1.00/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/armv7e-m/fpu/crtbegin.o
.eh_frame 0x08008f64 0x4 c:/program files (x86)/embitz/1.00/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/armv7e-m/fpu/crtend.o
.glue_7 0x08008f58 0x0
.glue_7 0x08008f58 0x0 linker stubs
.glue_7 0x08008f68 0x0
.glue_7 0x08008f68 0x0 linker stubs
.glue_7t 0x08008f58 0x0
.glue_7t 0x08008f58 0x0 linker stubs
.glue_7t 0x08008f68 0x0
.glue_7t 0x08008f68 0x0 linker stubs
.vfp11_veneer 0x08008f58 0x0
.vfp11_veneer 0x08008f58 0x0 linker stubs
.vfp11_veneer 0x08008f68 0x0
.vfp11_veneer 0x08008f68 0x0 linker stubs
.v4_bx 0x08008f58 0x0
.v4_bx 0x08008f58 0x0 linker stubs
.v4_bx 0x08008f68 0x0
.v4_bx 0x08008f68 0x0 linker stubs
.iplt 0x08008f58 0x0
.iplt 0x08008f58 0x0 c:/program files (x86)/embitz/1.00/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/armv7e-m/fpu/crtbegin.o
.iplt 0x08008f68 0x0
.iplt 0x08008f68 0x0 c:/program files (x86)/embitz/1.00/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/armv7e-m/fpu/crtbegin.o
.ARM.extab
*(.ARM.extab* .gnu.linkonce.armextab.*)
0x08008f58 __exidx_start = .
0x08008f68 __exidx_start = .
.ARM.exidx 0x08008f58 0x8
.ARM.exidx 0x08008f68 0x8
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
.ARM.exidx 0x08008f58 0x8 c:/program files (x86)/embitz/1.00/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/../../../../arm-none-eabi/lib/armv7e-m/fpu/crt0.o
0x08008f60 __exidx_end = .
0x08008f60 __etext = .
.ARM.exidx 0x08008f68 0x8 c:/program files (x86)/embitz/1.00/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/../../../../arm-none-eabi/lib/armv7e-m/fpu/crt0.o
0x08008f70 __exidx_end = .
0x08008f70 __etext = .
.rel.dyn 0x08008f60 0x0
.rel.iplt 0x08008f60 0x0 c:/program files (x86)/embitz/1.00/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/armv7e-m/fpu/crtbegin.o
.rel.dyn 0x08008f70 0x0
.rel.iplt 0x08008f70 0x0 c:/program files (x86)/embitz/1.00/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/armv7e-m/fpu/crtbegin.o
.data 0x20000000 0x7c load address 0x08008f60
.data 0x20000000 0x7c load address 0x08008f70
0x20000000 __data_start__ = .
*(vtable)
*(.data*)
@ -4770,13 +4770,13 @@ LOAD c:/program files (x86)/embitz/1.00/share/em_armgcc/bin/../lib/gcc/arm-none-
0x2000007c . = ALIGN (0x4)
0x2000007c __data_end__ = .
.jcr 0x2000007c 0x0 load address 0x08008fdc
.jcr 0x2000007c 0x0 load address 0x08008fec
.jcr 0x2000007c 0x0 c:/program files (x86)/embitz/1.00/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/armv7e-m/fpu/crtbegin.o
.igot.plt 0x2000007c 0x0 load address 0x08008fdc
.igot.plt 0x2000007c 0x0 load address 0x08008fec
.igot.plt 0x2000007c 0x0 c:/program files (x86)/embitz/1.00/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/armv7e-m/fpu/crtbegin.o
.bss 0x2000007c 0x74 load address 0x08008fdc
.bss 0x2000007c 0x74 load address 0x08008fec
0x2000007c __bss_start__ = .
*(.bss*)
.bss 0x2000007c 0x1c c:/program files (x86)/embitz/1.00/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/armv7e-m/fpu/crtbegin.o
@ -4920,39 +4920,39 @@ OUTPUT(..\bin\demoprog_olimex_stm32p405.elf elf32-littlearm)
.comment 0x0000006e 0x6f ..\obj\main.o
.comment 0x0000006e 0x6f ..\obj\timer.o
.debug_info 0x00000000 0x4fea
.debug_info 0x00000000 0xfa6 ..\obj\boot.o
.debug_info 0x00000fa6 0x3c8 ..\obj\led.o
.debug_info 0x0000136e 0xd34 ..\obj\lib\spl\src\stm32f4xx_can.o
.debug_info 0x000020a2 0x7e4 ..\obj\lib\spl\src\stm32f4xx_gpio.o
.debug_info 0x00002886 0xcc9 ..\obj\lib\spl\src\stm32f4xx_rcc.o
.debug_info 0x0000354f 0xb9d ..\obj\lib\spl\src\stm32f4xx_usart.o
.debug_info 0x000040ec 0x5ed ..\obj\lib\system_stm32f4xx.o
.debug_info 0x000046d9 0x13b ..\obj\main.o
.debug_info 0x00004814 0x91 ..\obj\startup_stm32f4xx.o
.debug_info 0x000048a5 0x745 ..\obj\timer.o
.debug_info 0x00000000 0x4ffa
.debug_info 0x00000000 0xfb6 ..\obj\boot.o
.debug_info 0x00000fb6 0x3c8 ..\obj\led.o
.debug_info 0x0000137e 0xd34 ..\obj\lib\spl\src\stm32f4xx_can.o
.debug_info 0x000020b2 0x7e4 ..\obj\lib\spl\src\stm32f4xx_gpio.o
.debug_info 0x00002896 0xcc9 ..\obj\lib\spl\src\stm32f4xx_rcc.o
.debug_info 0x0000355f 0xb9d ..\obj\lib\spl\src\stm32f4xx_usart.o
.debug_info 0x000040fc 0x5ed ..\obj\lib\system_stm32f4xx.o
.debug_info 0x000046e9 0x13b ..\obj\main.o
.debug_info 0x00004824 0x91 ..\obj\startup_stm32f4xx.o
.debug_info 0x000048b5 0x745 ..\obj\timer.o
.debug_abbrev 0x00000000 0x100a
.debug_abbrev 0x00000000 0x2c6 ..\obj\boot.o
.debug_abbrev 0x000002c6 0x168 ..\obj\led.o
.debug_abbrev 0x0000042e 0x231 ..\obj\lib\spl\src\stm32f4xx_can.o
.debug_abbrev 0x0000065f 0x1e5 ..\obj\lib\spl\src\stm32f4xx_gpio.o
.debug_abbrev 0x00000844 0x210 ..\obj\lib\spl\src\stm32f4xx_rcc.o
.debug_abbrev 0x00000a54 0x1be ..\obj\lib\spl\src\stm32f4xx_usart.o
.debug_abbrev 0x00000c12 0x159 ..\obj\lib\system_stm32f4xx.o
.debug_abbrev 0x00000d6b 0xa5 ..\obj\main.o
.debug_abbrev 0x00000e10 0x14 ..\obj\startup_stm32f4xx.o
.debug_abbrev 0x00000e24 0x1e6 ..\obj\timer.o
.debug_abbrev 0x00000000 0x1019
.debug_abbrev 0x00000000 0x2d5 ..\obj\boot.o
.debug_abbrev 0x000002d5 0x168 ..\obj\led.o
.debug_abbrev 0x0000043d 0x231 ..\obj\lib\spl\src\stm32f4xx_can.o
.debug_abbrev 0x0000066e 0x1e5 ..\obj\lib\spl\src\stm32f4xx_gpio.o
.debug_abbrev 0x00000853 0x210 ..\obj\lib\spl\src\stm32f4xx_rcc.o
.debug_abbrev 0x00000a63 0x1be ..\obj\lib\spl\src\stm32f4xx_usart.o
.debug_abbrev 0x00000c21 0x159 ..\obj\lib\system_stm32f4xx.o
.debug_abbrev 0x00000d7a 0xa5 ..\obj\main.o
.debug_abbrev 0x00000e1f 0x14 ..\obj\startup_stm32f4xx.o
.debug_abbrev 0x00000e33 0x1e6 ..\obj\timer.o
.debug_loc 0x00000000 0x23db
.debug_loc 0x00000000 0x90 ..\obj\boot.o
.debug_loc 0x00000090 0x34 ..\obj\led.o
.debug_loc 0x000000c4 0xd15 ..\obj\lib\spl\src\stm32f4xx_can.o
.debug_loc 0x00000dd9 0x333 ..\obj\lib\spl\src\stm32f4xx_gpio.o
.debug_loc 0x0000110c 0x9f0 ..\obj\lib\spl\src\stm32f4xx_rcc.o
.debug_loc 0x00001afc 0x745 ..\obj\lib\spl\src\stm32f4xx_usart.o
.debug_loc 0x00002241 0x132 ..\obj\lib\system_stm32f4xx.o
.debug_loc 0x00002373 0x68 ..\obj\timer.o
.debug_loc 0x00000000 0x23fa
.debug_loc 0x00000000 0xaf ..\obj\boot.o
.debug_loc 0x000000af 0x34 ..\obj\led.o
.debug_loc 0x000000e3 0xd15 ..\obj\lib\spl\src\stm32f4xx_can.o
.debug_loc 0x00000df8 0x333 ..\obj\lib\spl\src\stm32f4xx_gpio.o
.debug_loc 0x0000112b 0x9f0 ..\obj\lib\spl\src\stm32f4xx_rcc.o
.debug_loc 0x00001b1b 0x745 ..\obj\lib\spl\src\stm32f4xx_usart.o
.debug_loc 0x00002260 0x132 ..\obj\lib\system_stm32f4xx.o
.debug_loc 0x00002392 0x68 ..\obj\timer.o
.debug_aranges 0x00000000 0x528
.debug_aranges
@ -5041,37 +5041,37 @@ OUTPUT(..\bin\demoprog_olimex_stm32p405.elf elf32-littlearm)
.debug_macro 0x0000f192 0x1e7 ..\obj\main.o
.debug_macro 0x0000f379 0x1e7 ..\obj\timer.o
.debug_line 0x00000000 0x3748
.debug_line 0x00000000 0x5d9 ..\obj\boot.o
.debug_line 0x000005d9 0x4e7 ..\obj\led.o
.debug_line 0x00000ac0 0x7eb ..\obj\lib\spl\src\stm32f4xx_can.o
.debug_line 0x000012ab 0x5c1 ..\obj\lib\spl\src\stm32f4xx_gpio.o
.debug_line 0x0000186c 0x806 ..\obj\lib\spl\src\stm32f4xx_rcc.o
.debug_line 0x00002072 0x701 ..\obj\lib\spl\src\stm32f4xx_usart.o
.debug_line 0x00002773 0x4fd ..\obj\lib\system_stm32f4xx.o
.debug_line 0x00002c70 0x4e5 ..\obj\main.o
.debug_line 0x00003155 0xd2 ..\obj\startup_stm32f4xx.o
.debug_line 0x00003227 0x521 ..\obj\timer.o
.debug_line 0x00000000 0x3756
.debug_line 0x00000000 0x5e7 ..\obj\boot.o
.debug_line 0x000005e7 0x4e7 ..\obj\led.o
.debug_line 0x00000ace 0x7eb ..\obj\lib\spl\src\stm32f4xx_can.o
.debug_line 0x000012b9 0x5c1 ..\obj\lib\spl\src\stm32f4xx_gpio.o
.debug_line 0x0000187a 0x806 ..\obj\lib\spl\src\stm32f4xx_rcc.o
.debug_line 0x00002080 0x701 ..\obj\lib\spl\src\stm32f4xx_usart.o
.debug_line 0x00002781 0x4fd ..\obj\lib\system_stm32f4xx.o
.debug_line 0x00002c7e 0x4e5 ..\obj\main.o
.debug_line 0x00003163 0xd2 ..\obj\startup_stm32f4xx.o
.debug_line 0x00003235 0x521 ..\obj\timer.o
.debug_str 0x00000000 0x5b5c2
.debug_str 0x00000000 0x598d0 ..\obj\boot.o
0x59a93 (size before relaxing)
.debug_str 0x000598d0 0x81 ..\obj\led.o
0x5953b (size before relaxing)
.debug_str 0x00059951 0x4ae ..\obj\lib\spl\src\stm32f4xx_can.o
.debug_str 0x00000000 0x5b5d1
.debug_str 0x00000000 0x598df ..\obj\boot.o
0x59aa2 (size before relaxing)
.debug_str 0x000598df 0x81 ..\obj\led.o
0x5953d (size before relaxing)
.debug_str 0x00059960 0x4ae ..\obj\lib\spl\src\stm32f4xx_can.o
0x596b1 (size before relaxing)
.debug_str 0x00059dff 0x159 ..\obj\lib\spl\src\stm32f4xx_gpio.o
.debug_str 0x00059e0e 0x159 ..\obj\lib\spl\src\stm32f4xx_gpio.o
0x5922a (size before relaxing)
.debug_str 0x00059f58 0xb40 ..\obj\lib\spl\src\stm32f4xx_rcc.o
.debug_str 0x00059f67 0xb40 ..\obj\lib\spl\src\stm32f4xx_rcc.o
0x59b4a (size before relaxing)
.debug_str 0x0005aa98 0x470 ..\obj\lib\spl\src\stm32f4xx_usart.o
.debug_str 0x0005aaa7 0x470 ..\obj\lib\spl\src\stm32f4xx_usart.o
0x59563 (size before relaxing)
.debug_str 0x0005af08 0xd6 ..\obj\lib\system_stm32f4xx.o
.debug_str 0x0005af17 0xd6 ..\obj\lib\system_stm32f4xx.o
0x59156 (size before relaxing)
.debug_str 0x0005afde 0x19 ..\obj\main.o
0x5931b (size before relaxing)
.debug_str 0x0005aff7 0x5cb ..\obj\timer.o
0x59960 (size before relaxing)
.debug_str 0x0005afed 0x19 ..\obj\main.o
0x5931d (size before relaxing)
.debug_str 0x0005b006 0x5cb ..\obj\timer.o
0x59962 (size before relaxing)
.debug_frame 0x00000000 0xae8
.debug_frame 0x00000000 0x104 ..\obj\boot.o

View File

@ -1,40 +1,40 @@
S02800002E2E5C62696E5C64656D6F70726F675F6F6C696D65785F73746D3332703430352E7372656344
S3150800800000000220158D0008638D0008658D0008A4
S31508008010678D0008698D00086B8D00080000000058
S315080080200000000000000000000000006D8D000840
S315080080306F8D000800000000718D0008798E000819
S31508008040778D0008798D00087B8D00087D8D0008E6
S315080080507F8D0008818D0008838D0008858D0008B6
S31508008060878D0008898D00088B8D00088D8D000886
S315080080708F8D0008918D0008938D0008958D000856
S31508008080978D0008998D00089B8D00089D8D000826
S315080080909F8D0008A18D0008A38D0008A58D0008F6
S315080080A0A78D0008A98D0008AB8D0008AD8D0008C6
S315080080B0AF8D0008B18D0008B38D0008B58D000896
S315080080C0B78D0008B98D0008BB8D0008BD8D000866
S315080080D0BF8D0008C18D0008C38D0008C58D000836
S315080080E0C78D0008C98D0008CB8D0008CD8D000806
S315080080F0CF8D0008D18D0008D38D0008D58D0008D6
S31508008100D78D0008D98D0008DB8D0008DD8D0008A5
S31508008110DF8D0008E18D0008E38D0008E58D000875
S31508008120E78D0008E98D0008EB8D0008ED8D000845
S31508008130EF8D0008F18D0008F38D0008F58D000815
S31508008140F78D0008F98D0008FB8D0008FD8D0008E5
S31508008150FF8D0008018E0008038E0008058E0008B2
S31508008160078E0008098E00080B8E00080D8E000881
S315080081700F8E0008118E0008138E0008158E000851
S31508008180178E0008198E0008EE11AA5510B5054C71
S3150800800000000220258D0008738D0008758D000874
S31508008010778D0008798D00087B8D00080000000028
S315080080200000000000000000000000007D8D000830
S315080080307F8D000800000000818D0008898E0008E9
S31508008040878D0008898D00088B8D00088D8D0008A6
S315080080508F8D0008918D0008938D0008958D000876
S31508008060978D0008998D00089B8D00089D8D000846
S315080080709F8D0008A18D0008A38D0008A58D000816
S31508008080A78D0008A98D0008AB8D0008AD8D0008E6
S31508008090AF8D0008B18D0008B38D0008B58D0008B6
S315080080A0B78D0008B98D0008BB8D0008BD8D000886
S315080080B0BF8D0008C18D0008C38D0008C58D000856
S315080080C0C78D0008C98D0008CB8D0008CD8D000826
S315080080D0CF8D0008D18D0008D38D0008D58D0008F6
S315080080E0D78D0008D98D0008DB8D0008DD8D0008C6
S315080080F0DF8D0008E18D0008E38D0008E58D000896
S31508008100E78D0008E98D0008EB8D0008ED8D000865
S31508008110EF8D0008F18D0008F38D0008F58D000835
S31508008120F78D0008F98D0008FB8D0008FD8D000805
S31508008130FF8D0008018E0008038E0008058E0008D2
S31508008140078E0008098E00080B8E00080D8E0008A1
S315080081500F8E0008118E0008138E0008158E000871
S31508008160178E0008198E00081B8E00081D8E000841
S315080081701F8E0008218E0008238E0008258E000811
S31508008180278E0008298E0008EE11AA5510B5054C51
S31508008190237833B9044B13B10448AFF300800123A5
S315080081A0237010BD7C00002000000000548F0008DA
S315080081A0237010BD7C00002000000000648F0008CA
S315080081B0084B10B51BB108490848AFF300800848BA
S315080081C0036803B910BD074B002BFBD0BDE8104070
S315080081D0184700BF0000000080000020548F0008E8
S315080081D0184700BF0000000080000020648F0008D8
S315080081E07C00002000000000154B002B08BF134B35
S315080081F09D46A3F5803A00218B460F461348144A3C
S31508008200121A00F07BFE0F4B002B00D098470E4B3E
S31508008200121A00F083FE0F4B002B00D098470E4B36
S31508008210002B00D098470020002104000D000D48CF
S31508008220002802D00C48AFF3008000F041FE200081
S31508008230290000F065FD00F027FE00BF00000800D9
S31508008220002802D00C48AFF3008000F049FE200079
S31508008230290000F06DFD00F02FFE00BF00000800C9
S315080082400000022000000000000000007C00002062
S31508008250F00000200000000000000000F0B5002437
S3150800826021E0134D15F8147005EB440595F801E067
@ -42,178 +42,178 @@ S3150800827007EB0E0505FB00054AF2104C9CFBF5F6CC
S3150800828005FB16C66EB99CFBF5F5ADB20D80013D32
S31508008290ADB2B5F5806F04D2177083F800E00120FF
S315080082A0F0BD0134E4B2112CDBD90020F0BD00BFCB
S315080082B0288F0008F0B587B001214FF4003000F090
S315080082C0F3FB0121084600F0E1FB1E4D07220221BF
S315080082D0284600F067FB07220321284600F062FBC8
S315080082B0388F0008F0B587B001214FF4003000F080
S315080082C0FBFB0121084600F0E9FB1E4D07220221AF
S315080082D0284600F06FFB07220321284600F06AFBB8
S315080082E000248DF8164001278DF8177002268DF8A0
S315080082F01460042304938DF8156004A9284600F039
S315080083000BFB8DF814600823049304A9284600F093
S3150800831003FB4FF461430093ADF80440ADF8064003
S3150800830013FB8DF814600823049304A9284600F08B
S315080083100BFB4FF461430093ADF80440ADF80640FB
S31508008320ADF80840ADF80C400C23ADF80A30064C01
S315080083306946204600F0D4FB3946204600F038FC52
S315080083306946204600F0DCFB3946204600F040FC42
S3150800834007B0F0BD000002400044004070B58AB096
S315080083500121022000F09AFB354E092208213046F9
S3150800836000F020FB09221146304600F01BFB4FF4B3
S315080083500121022000F0A2FB354E092208213046F1
S3150800836000F028FB09221146304600F023FB4FF4A3
S315080083704073089302238DF824308DF825300024A5
S315080083808DF8264001258DF8275008A9304600F0BB
S31508008390C3FA29464FF0007000F086FBA6F5D036E2
S315080083A0304600F029F905A800F044FA6B460DEBB3
S31508008390CBFA29464FF0007000F08EFBA6F5D036D2
S315080083A0304600F031F905A800F04CFA6B460DEBA3
S315080083B005020DF102014FF4FA70FFF74FFF8DF831
S315080083C01A408DF81B408DF81C408DF81D408DF81D
S315080083D01E408DF81F408DF816408DF817409DF801
S315080083E00130013B8DF818309DF80030013B8DF8BF
S315080083F01930BDF80230ADF8143005A9304600F042
S3150800840017F98DF80E408DF80F408DF81050ADF81D
S315080084001FF98DF80E408DF80F408DF81050ADF815
S315080084100440ADF80640ADF80840ADF80A40ADF89E
S315080084200C408DF8115001A800F08AF90AB070BD09
S315080084300004024010B504462021064800F0CAFB95
S31508008440012805D1034800F0C1FB2070012010BDAA
S315080084200C408DF8115001A800F092F90AB070BD01
S315080084300004024010B504462021064800F0D2FB8D
S31508008440012805D1034800F0C9FB2070012010BDA2
S31508008450002010BD0044004008B5FFF72BFFFFF7CA
S3150800846075FF08BDBFF34F8F0449CA6802F4E0627E
S31508008470034B1343CB60BFF34F8FFEE700ED00E0DD
S315080084800400FA0508B5204B1B789BB91F48FFF76F
S31508008490D1FF012836D11D4B1B78002B32D000F0B6
S315080084A0E5FC1B4B18600122174B1A700022194B6A
S315080084A0EDFC1B4B18600122174B1A700022194B62
S315080084B01A7008BD174B1B78013314481844FFF788
S315080084C0B9FF012814D1134A13780133DBB21370AC
S315080084D00E4A1278934215D100220B4B1A700B4B99
S315080084E05B78FF2B0ED1094B9B785BB9FFF7BAFF78
S315080084F000F0BCFC064B1B686433984202D9002284
S315080084F000F0C4FC064B1B686433984202D900227C
S31508008500014B1A7008BD00BFE1000020A000002042
S31508008510980000209C00002000B587B000210D4877
S3150800852000F0ECF990B101AA00210A4800F092F98E
S3150800853040F26763019A9A4208D19DF80F30FF2BE3
S3150800854004D19DF810300BB9FFF78CFF07B05DF822
S3150800855004FB00BF0064004008B5FFF793FFFFF770
S31508008560DBFF08BD30B583B00121042000F08EFA88
S315080085704FF48055009501238DF8043000228DF8BC
S3150800858006208DF8073002238DF80530054C69461C
S31508008590204600F0C1F92946204600F0FFF903B04D
S315080085A030BD00BF0008024010B500F05FFC0F4B5D
S315080085B01B68C31AB3F5FA7F16D304460C4B1B780F
S315080085C043B901220A4B1A704FF48051094800F04A
S315080085D0E7F907E00022064B1A704FF48051054868
S315080085E000F0DCF9014B1C6010BD00BFE400002060
S315080085F0E80000200008024008B50C4B98420AD152
S3150800860001214FF0007000F05DFA00214FF0007074
S3150800861000F058FA08BD01214FF0806000F052FAC8
S3150800862000214FF0806000F04DFA08BD006400405C
S31508008630036823F002030360036843F00103036041
S31508008640002300E00133426812F0010F03D14FF610
S31508008650FF729342F6D1436813F0010F6BD08B7902
S31508008660012B04D1036843F08003036003E0036829
S3150800867023F080030360CB79012B04D1036843F010
S315080086804003036003E0036823F0400303600B7AAA
S31508008690012B04D1036843F02003036003E0036859
S315080086A023F0200303604B7A012B04D1036843F0BF
S315080086B01003036003E0036823F0100303608B7A5A
S315080086C0012B04D1036843F00803036003E0036841
S315080086D023F008030360CB7A012B04D1036843F027
S315080086E00403036003E0036823F0040303608A7845
S315080086F0CB781B0643EA82730A7943EA02434A792E
S3150800870043EA02530A88013A1343C361036823F014
S3150800871001030360002300E00133426812F0010FF1
S3150800872003D04FF6FF729342F6D1436813F0010F58
S3150800873003D000207047002070470120704700BF13
S3150800874070B4837A012202FA03F3394AD2F8001286
S3150800875041F00101C2F80012D2F81C12DC43214094
S31508008760C2F81C12027BB2B9314AD2F80C12214067
S31508008770C2F80C12817AC688458845EA064548310A
S3150800878042F83150857A8688018841EA064148359B
S3150800879002EBC5025160027B012A16D1244AD2F89F
S315080087A00C121943C2F80C12817A0688458845EAE4
S315080087B00645483142F83150857A8688C18841EAAB
S315080087C00641483502EBC5025160C27A32B91849EA
S315080087D0D1F804222240C1F8042205E01449D1F850
S315080087E004221A43C1F8042202892AB91049D1F889
S315080087F014221440C1F814420289012A05D10C49F1
S31508008800D1F814221A43C1F81422427B012A05D151
S315080088100749D1F81C221343C1F81C32044AD2F87E
S31508008820003223F00103C2F8003270BC704700BF63
S315080088300064004000238371C3710372437283721C
S31508008840C3728370C3700323037102234371012328
S315080088500380704710B401F11B031B01C35803F0D2
S315080088600403DBB2137233B901F11B031B01C358AE
S315080088705B0D136005E001F11B031B01C358DB0800
S31508008880536001F11B031B01C418C35803F002030C
S315080088905372636803F00F03937263681B0AD374F9
S315080088A000EB0113D3F8B841D472D3F8B841240ABF
S315080088B01473D3F8B841240C5473D3F8B841240E72
S315080088C09473D3F8BC41D473D3F8BC41240A147406
S315080088D0D3F8BC41240C5474D3F8BC311B0E9374E2
S315080088E021B9C36843F02003C36003E0036943F07A
S315080088F0200303615DF8044B704700BF19B9C068CF
S3150800890000F003007047012903D1006900F0030055
S3150800891070470020704700BF70B400233AE0012278
S315080089209A400C68A24334D104685D000322AA4029
S31508008930D2431440046006680C79AC4034430460A2
S315080089400C79013CE4B2012C15D884682240826077
S3150800895084684A79AA402243826046689AB201240A
S31508008960944026EA0404446046688C7904FA02F2C4
S3150800897092B232434260C4689AB256000322B240A9
S3150800898024EA0202C260C668CC7904FA05F23243C8
S31508008990C26001330F2BC2D970BC70470183704780
S315080089A04183704730B401F007039B009A40C90819
S315080089B0083150F821400F2505FA03F324EA03038A
S315080089C040F8213050F821301A4340F8212030BCB5
S315080089D0704700BF10B4294B9B6803F00C03042BA7
S315080089E005D0082B06D053BB254B036029E0254B41
S315080089F0036026E0214B5A685B6803F03F0312F4D4
S31508008A00800F09D01F4AB2FBF3F21C4B5B68C3F315
S31508008A10881303FB02F208E0194AB2FBF3F3174A7C
S31508008A205168C1F3881101FB03F2144B5B68C3F369
S31508008A30014301335B00B2FBF3F3036001E0104B23
S31508008A4003600E4CA368C3F303130F49CB5CDAB279
S31508008A500368D3404360A268C2F382228A5CD2B21A
S31508008A6023FA02F28260A268C2F342328A5CD2B268
S31508008A70D340C3605DF8044B704700BF003802401E
S31508008A800024F40000127A000000002021B1054BF2
S31508008A901A6B104318637047024A136B23EA0000E7
S31508008AA0106370470038024021B1054B1A6C104319
S31508008AB018647047024A136C23EA00001064704772
S31508008AC00038024021B1054B1A6A104318627047F4
S31508008AD0024A136A23EA000010627047003802400F
S31508008AE030B585B004460D46038A9BB223F440533D
S31508008AF0CA881343038283899BB223F4B05323F0B5
S31508008B000C01A8882A896B89024313430B43A38166
S31508008B10A38A9BB223F44073AA891343A3826846A7
S31508008B20FFF758FF204B9C4203D003F580639C4215
S31508008B3001D1039A00E0029AA38913F4004F08D0E2
S31508008B4002EB820202EB820229684900B2FBF1F1CC
S31508008B5007E002EB820202EB820229688900B2FB77
S31508008B60F1F1124BA3FB01235B091B011A096420CF
S31508008B7000FB1212A18911F4004F08D0D20032323C
S31508008B800A49A1FB0212C2F342121A4307E0120174
S31508008B9032320649A1FB0212C2F343121A4392B2B9
S31508008BA0228105B030BD00BF001001401F85EB5182
S31508008BB029B183899BB243F4005383817047838923
S31508008BC09BB223F400539BB2838170478088C0F31D
S31508008BD0080070470388194201D001207047002019
S31508008BE0704700BF82B00023019300932A4A136896
S31508008BF043F480331360284B1B6803F40033009357
S31508008C00019B01330193009B1BB9019BB3F5A06F30
S31508008C10F1D1214B1B6813F4003F02D001230093C6
S31508008C2001E000230093009B012B32D11A4B1A6CEA
S31508008C3042F080521A6419490A6842F440420A60AE
S31508008C409A689A609A6842F400429A609A6842F46E
S31508008C50A0529A60124A5A601A6842F080721A60E4
S31508008C600D4B1B6813F0007FFAD040F205620D4BDE
S31508008C701A60A3F580639A6822F003029A609A68DC
S31508008C8042F002029A60044B9B6803F00C03082B1F
S31508008C90F9D102B0704700BF0038024000700040AA
S31508008CA008544007003C024008B50F4AD2F88830FD
S31508008CB043F47003C2F888300C4B1A6842F001027C
S31508008CC01A60002199601A6822F0847222F48032B0
S31508008CD01A60074A5A601A6822F480221A60D96014
S31508008CE0FFF780FF08BD00BF00ED00E00038024036
S31508008CF01030002408B5FFF735FC00F099F808BDD8
S31508008D0008B5FFF7F7FFFFF7A7FBFFF74DFCFFF7DF
S31508008D1023FCFAE707498D460749084A084B9A4251
S31508008D20BEBF51F8040B42F8040BF8E70548804724
S31508008D300548004700000220608F00080000002058
S31508008D407C000020A98C0008E98100083349344AD0
S31508008D50002301E041F8043B9142FBD3FFF7D0FF23
S31508008D60FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE7CD
S31508008510980000209C00002000B587B00021114873
S3150800852000F0F4F9D8B101AA00210E4800F09AF932
S315080085309DF80C3033B940F26763019A9A4203D02A
S31508008540002302E0002300E0012343B19DF80F3029
S31508008550FF2B04D19DF810300BB9FFF783FF07B046
S315080085605DF804FB0064004008B5FFF78BFFFFF7D2
S31508008570D3FF08BD30B583B00121042000F08EFA80
S315080085804FF48055009501238DF8043000228DF8AC
S3150800859006208DF8073002238DF80530054C69460C
S315080085A0204600F0C1F92946204600F0FFF903B03D
S315080085B030BD00BF0008024010B500F05FFC0F4B4D
S315080085C01B68C31AB3F5FA7F16D304460C4B1B78FF
S315080085D043B901220A4B1A704FF48051094800F03A
S315080085E0E7F907E00022064B1A704FF48051054858
S315080085F000F0DCF9014B1C6010BD00BFE400002050
S31508008600E80000200008024008B50C4B98420AD141
S3150800861001214FF0007000F05DFA00214FF0007064
S3150800862000F058FA08BD01214FF0806000F052FAB8
S3150800863000214FF0806000F04DFA08BD006400404C
S31508008640036823F002030360036843F00103036031
S31508008650002300E00133426812F0010F03D14FF600
S31508008660FF729342F6D1436813F0010F6BD08B79F2
S31508008670012B04D1036843F08003036003E0036819
S3150800868023F080030360CB79012B04D1036843F000
S315080086904003036003E0036823F0400303600B7A9A
S315080086A0012B04D1036843F02003036003E0036849
S315080086B023F0200303604B7A012B04D1036843F0AF
S315080086C01003036003E0036823F0100303608B7A4A
S315080086D0012B04D1036843F00803036003E0036831
S315080086E023F008030360CB7A012B04D1036843F017
S315080086F00403036003E0036823F0040303608A7835
S31508008700CB781B0643EA82730A7943EA02434A791D
S3150800871043EA02530A88013A1343C361036823F004
S3150800872001030360002300E00133426812F0010FE1
S3150800873003D04FF6FF729342F6D1436813F0010F48
S3150800874003D000207047002070470120704700BF03
S3150800875070B4837A012202FA03F3394AD2F8001276
S3150800876041F00101C2F80012D2F81C12DC43214084
S31508008770C2F81C12027BB2B9314AD2F80C12214057
S31508008780C2F80C12817AC688458845EA06454831FA
S3150800879042F83150857A8688018841EA064148358B
S315080087A002EBC5025160027B012A16D1244AD2F88F
S315080087B00C121943C2F80C12817A0688458845EAD4
S315080087C00645483142F83150857A8688C18841EA9B
S315080087D00641483502EBC5025160C27A32B91849DA
S315080087E0D1F804222240C1F8042205E01449D1F840
S315080087F004221A43C1F8042202892AB91049D1F879
S3150800880014221440C1F814420289012A05D10C49E0
S31508008810D1F814221A43C1F81422427B012A05D141
S315080088200749D1F81C221343C1F81C32044AD2F86E
S31508008830003223F00103C2F8003270BC704700BF53
S315080088400064004000238371C3710372437283720C
S31508008850C3728370C3700323037102234371012318
S315080088600380704710B401F11B031B01C35803F0C2
S315080088700403DBB2137233B901F11B031B01C3589E
S315080088805B0D136005E001F11B031B01C358DB08F0
S31508008890536001F11B031B01C418C35803F00203FC
S315080088A05372636803F00F03937263681B0AD374E9
S315080088B000EB0113D3F8B841D472D3F8B841240AAF
S315080088C01473D3F8B841240C5473D3F8B841240E62
S315080088D09473D3F8BC41D473D3F8BC41240A1474F6
S315080088E0D3F8BC41240C5474D3F8BC311B0E9374D2
S315080088F021B9C36843F02003C36003E0036943F06A
S31508008900200303615DF8044B704700BF19B9C068BE
S3150800891000F003007047012903D1006900F0030045
S3150800892070470020704700BF70B400233AE0012268
S315080089309A400C68A24334D104685D000322AA4019
S31508008940D2431440046006680C79AC403443046092
S315080089500C79013CE4B2012C15D884682240826067
S3150800896084684A79AA402243826046689AB20124FA
S31508008970944026EA0404446046688C7904FA02F2B4
S3150800898092B232434260C4689AB256000322B24099
S3150800899024EA0202C260C668CC7904FA05F23243B8
S315080089A0C26001330F2BC2D970BC70470183704770
S315080089B04183704730B401F007039B009A40C90809
S315080089C0083150F821400F2505FA03F324EA03037A
S315080089D040F8213050F821301A4340F8212030BCA5
S315080089E0704700BF10B4294B9B6803F00C03042B97
S315080089F005D0082B06D053BB254B036029E0254B31
S31508008A00036026E0214B5A685B6803F03F0312F4C3
S31508008A10800F09D01F4AB2FBF3F21C4B5B68C3F305
S31508008A20881303FB02F208E0194AB2FBF3F3174A6C
S31508008A305168C1F3881101FB03F2144B5B68C3F359
S31508008A40014301335B00B2FBF3F3036001E0104B13
S31508008A5003600E4CA368C3F303130F49CB5CDAB269
S31508008A600368D3404360A268C2F382228A5CD2B20A
S31508008A7023FA02F28260A268C2F342328A5CD2B258
S31508008A80D340C3605DF8044B704700BF003802400E
S31508008A900024F40000127A000000002021B1054BE2
S31508008AA01A6B104318637047024A136B23EA0000D7
S31508008AB0106370470038024021B1054B1A6C104309
S31508008AC018647047024A136C23EA00001064704762
S31508008AD00038024021B1054B1A6A104318627047E4
S31508008AE0024A136A23EA00001062704700380240FF
S31508008AF030B585B004460D46038A9BB223F440532D
S31508008B00CA881343038283899BB223F4B05323F0A4
S31508008B100C01A8882A896B89024313430B43A38156
S31508008B20A38A9BB223F44073AA891343A382684697
S31508008B30FFF758FF204B9C4203D003F580639C4205
S31508008B4001D1039A00E0029AA38913F4004F08D0D2
S31508008B5002EB820202EB820229684900B2FBF1F1BC
S31508008B6007E002EB820202EB820229688900B2FB67
S31508008B70F1F1124BA3FB01235B091B011A096420BF
S31508008B8000FB1212A18911F4004F08D0D20032322C
S31508008B900A49A1FB0212C2F342121A4307E0120164
S31508008BA032320649A1FB0212C2F343121A4392B2A9
S31508008BB0228105B030BD00BF001001401F85EB5172
S31508008BC029B183899BB243F4005383817047838913
S31508008BD09BB223F400539BB2838170478088C0F30D
S31508008BE0080070470388194201D001207047002009
S31508008BF0704700BF82B00023019300932A4A136886
S31508008C0043F480331360284B1B6803F40033009346
S31508008C10019B01330193009B1BB9019BB3F5A06F20
S31508008C20F1D1214B1B6813F4003F02D001230093B6
S31508008C3001E000230093009B012B32D11A4B1A6CDA
S31508008C4042F080521A6419490A6842F440420A609E
S31508008C509A689A609A6842F400429A609A6842F45E
S31508008C60A0529A60124A5A601A6842F080721A60D4
S31508008C700D4B1B6813F0007FFAD040F205620D4BCE
S31508008C801A60A3F580639A6822F003029A609A68CC
S31508008C9042F002029A60044B9B6803F00C03082B0F
S31508008CA0F9D102B0704700BF00380240007000409A
S31508008CB008544007003C024008B50F4AD2F88830ED
S31508008CC043F47003C2F888300C4B1A6842F001026C
S31508008CD01A60002199601A6822F0847222F48032A0
S31508008CE01A60074A5A601A6822F480221A60D96004
S31508008CF0FFF780FF08BD00BF00ED00E00038024026
S31508008D001030002408B5FFF735FC00F099F808BDC7
S31508008D1008B5FFF7F7FFFFF79FFBFFF74DFCFFF7D7
S31508008D2023FCFAE707498D460749084A084B9A4241
S31508008D30BEBF51F8040B42F8040BF8E70548804714
S31508008D400548004700000220708F00080000002038
S31508008D507C000020B98C0008E98100083349344AB0
S31508008D60002301E041F8043B9142FBD3FFF7D0FF13
S31508008D70FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE7BD
S31508008D80FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE7AD
S31508008D90FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE79D
@ -224,34 +224,35 @@ S31508008DD0FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE75D
S31508008DE0FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE74D
S31508008DF0FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE73D
S31508008E00FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE72C
S31508008E10FEE7FEE7FEE7FEE7FEE700007C0000202F
S31508008E20F0000020014B1860704700BFEC000020DE
S31508008E3008B50A4B1B680A4AA2FB03239B09013B98
S31508008E40084A5360F021084B83F8231000209060ED
S31508008E5007231360FFF7E6FF08BD00BF10000020D8
S31508008E60D34D621010E000E000ED00E0014B1868F9
S31508008E70704700BFEC000020024A136801331360F4
S31508008E80704700BFEC00002008B5074B044613B135
S31508008E900021AFF30080054B1868836A03B1984731
S31508008EA0204600F033F800BF00000000508F00088D
S31508008EB070B50E4B0E4CE41AA41000251E46A542AA
S31508008EC004D056F8253098470135F8E700F020F821
S31508008ED0084C094BE41AA41000251E46A54204D0E6
S31508008EE056F8253098470135F8E770BD740000201C
S31508008EF07400002078000020740000200244034615
S31508008F00934202D003F8011BFAE77047FEE7000018
S31508008F10F8B500BFF8BC08BC9E467047F8B500BF58
S31508008F20F8BC08BC9E4670470502060206030703FE
S31508008F300803090309040A040B040C040C050D05AF
S31508008F400E050F050F06100610071008430000004F
S30D08008F501400002000000000D7
S30D08008F5890F2FF7F0100000002
S31508008F6000000000010203040102030406070809C1
S31508008F70007A030A0000000000000000000000005C
S31508008F8000000000000000000000000000000000D3
S31508008F90000000004C8F00080000000000000000E0
S31508008FA000000000000000000000000000000000B3
S31508008E10FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE71C
S31508008E20FEE7FEE7FEE7FEE7FEE700007C0000201F
S31508008E30F0000020014B1860704700BFEC000020CE
S31508008E4008B50A4B1B680A4AA2FB03239B09013B88
S31508008E50084A5360F021084B83F8231000209060DD
S31508008E6007231360FFF7E6FF08BD00BF10000020C8
S31508008E70D34D621010E000E000ED00E0014B1868E9
S31508008E80704700BFEC000020024A136801331360E4
S31508008E90704700BFEC00002008B5074B044613B125
S31508008EA00021AFF30080054B1868836A03B1984721
S31508008EB0204600F033F800BF00000000608F00086D
S31508008EC070B50E4B0E4CE41AA41000251E46A5429A
S31508008ED004D056F8253098470135F8E700F020F811
S31508008EE0084C094BE41AA41000251E46A54204D0D6
S31508008EF056F8253098470135F8E770BD740000200C
S31508008F007400002078000020740000200244034604
S31508008F10934202D003F8011BFAE77047FEE7000008
S31508008F20F8B500BFF8BC08BC9E467047F8B500BF48
S31508008F30F8BC08BC9E4670470502060206030703EE
S31508008F400803090309040A040B040C040C050D059F
S31508008F500E050F050F06100610071008430000003F
S30D08008F601400002000000000C7
S30D08008F6880F2FF7F0100000002
S31508008F7000000000010203040102030406070809B1
S31508008F80007A030A0000000000000000000000004C
S31508008F9000000000000000000000000000000000C3
S31508008FA0000000005C8F00080000000000000000C0
S31508008FB000000000000000000000000000000000A3
S31508008FC00000000000000000000000000000000093
S31108008FD000000000B18100088D81000837
S31508008FD00000000000000000000000000000000083
S31108008FE000000000B18100088D81000827
S7050800800072

View File

@ -398,13 +398,26 @@ static void BootComCanInit(void)
static void BootComCanCheckActivationRequest(void)
{
CanRxMsg RxMessage;
unsigned char canIdMatched = 0;
/* check if a new message was received */
if (CAN_MessagePending(CAN1, CAN_FIFO0) > 0)
{
/* receive the message */
CAN_Receive(CAN1, CAN_FIFO0, &RxMessage);
if (RxMessage.StdId == BOOT_COM_CAN_RX_MSG_ID)
/* check if the message identifier matches the bootloader reception message */
if ( (RxMessage.IDE == CAN_Id_Standard) &&
(RxMessage.StdId == BOOT_COM_CAN_RX_MSG_ID) )
{
canIdMatched = 1;
}
if ( (RxMessage.IDE == CAN_Id_Extended) &&
((RxMessage.ExtId | 0x80000000) == BOOT_COM_CAN_RX_MSG_ID) )
{
canIdMatched = 1;
}
/* is the identifier a match to the bootloader reception message identifier? */
if (canIdMatched == 1)
{
/* check if this was an XCP CONNECT command */
if ((RxMessage.Data[0] == 0xff) && (RxMessage.Data[1] == 0x00))

View File

@ -1,56 +0,0 @@
/************************************************************************************//**
* \file Source\ARMCM4_STM32F4\Crossworks\cpu_comp.c
* \brief Bootloader cpu module source file.
* \ingroup Target_ARMCM4_STM32F4
* \internal
*----------------------------------------------------------------------------------------
* C O P Y R I G H T
*----------------------------------------------------------------------------------------
* Copyright (c) 2016 by Feaser http://www.feaser.com All rights reserved
*
*----------------------------------------------------------------------------------------
* L I C E N S E
*----------------------------------------------------------------------------------------
* This file is part of OpenBLT. OpenBLT is free software: you can redistribute it and/or
* modify it under the terms of the GNU General Public License as published by the Free
* Software Foundation, either version 3 of the License, or (at your option) any later
* version.
*
* OpenBLT is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
* PURPOSE. See the GNU General Public License for more details.
*
* You have received a copy of the GNU General Public License along with OpenBLT. It
* should be located in ".\Doc\license.html". If not, contact Feaser to obtain a copy.
*
* \endinternal
****************************************************************************************/
/****************************************************************************************
* Include files
****************************************************************************************/
#include "boot.h" /* bootloader generic header */
/************************************************************************************//**
** \brief Disable global interrupts.
** \return none.
**
****************************************************************************************/
void CpuIrqDisable(void)
{
__asm volatile ("cpsid i");
} /*** end of CpuIrqDisable ***/
/************************************************************************************//**
** \brief Enable global interrupts.
** \return none.
**
****************************************************************************************/
void CpuIrqEnable(void)
{
__asm volatile ("cpsie i");
} /*** end of CpuIrqEnable ***/
/*********************************** end of cpu_comp.c *********************************/

View File

@ -1,271 +0,0 @@
/*****************************************************************************
* Copyright (c) 2009 Rowley Associates Limited. *
* *
* This file may be distributed under the terms of the License Agreement *
* provided with this software. *
* *
* THIS FILE IS PROVIDED AS IS WITH NO WARRANTY OF ANY KIND, INCLUDING THE *
* WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. *
*****************************************************************************/
/*****************************************************************************
* Preprocessor Definitions
* ------------------------
* APP_ENTRY_POINT
*
* Defines the application entry point function, if undefined this setting
* defaults to "main".
*
* USE_PROCESS_STACK
*
* If defined, thread mode will be configured to use the process stack if
* the size of the process stack is greater than zero bytes in length.
*
* INITIALIZE_STACK
*
* If defined, the contents of the stack will be initialized to a the
* value 0xCC.
*
* INITIALIZE_SECONDARY_SECTIONS
*
* If defined, the .data2, .text2, .rodata2 and .bss2 sections will be initialized.
*
* FULL_LIBRARY
*
* If defined then
* - argc, argv are setup by the debug_getargs.
* - the exit symbol is defined and executes on return from main.
* - the exit symbol calls destructors, atexit functions and then debug_exit.
*
* If not defined then
* - argc and argv are zero.
* - the exit symbol is defined, executes on return from main and loops
*****************************************************************************/
#ifndef APP_ENTRY_POINT
#define APP_ENTRY_POINT main
#endif
#ifndef ARGSSPACE
#define ARGSSPACE 128
#endif
.extern APP_ENTRY_POINT
.global exit
.global reset_handler
.section .init, "ax"
.code 16
.align 2
.thumb_func
/****************************************************************************************
** NAME: reset_handler
** PARAMETER: none
** RETURN VALUE: none
** DESCRIPTION: Reset interrupt service routine. Configures the stack, initializes
** RAM and jumps to function main.
**
****************************************************************************************/
reset_handler:
ldr r1, =__stack_end__
#ifdef __ARM_EABI__
mov r2, #0x7
bic r1, r2
#endif
mov sp, r1
#ifdef INITIALIZE_STACK
mov r2, #0xCC
ldr r0, =__stack_start__
bl memory_set
#endif
#ifdef USE_PROCESS_STACK
/* Set up process stack if size > 0 */
ldr r1, =__stack_process_end__
ldr r0, =__stack_process_start__
sub r2, r1, r0
beq 1f
#ifdef __ARM_EABI__
mov r2, #0x7
bic r1, r2
#endif
msr psp, r1
mov r2, #2
msr control, r2
#ifdef INITIALIZE_STACK
mov r2, #0xCC
bl memory_set
#endif
1:
#endif
/* Copy initialised memory sections into RAM (if necessary). */
ldr r0, =__data_load_start__
ldr r1, =__data_start__
ldr r2, =__data_end__
bl memory_copy
ldr r0, =__text_load_start__
ldr r1, =__text_start__
ldr r2, =__text_end__
bl memory_copy
ldr r0, =__fast_load_start__
ldr r1, =__fast_start__
ldr r2, =__fast_end__
bl memory_copy
ldr r0, =__ctors_load_start__
ldr r1, =__ctors_start__
ldr r2, =__ctors_end__
bl memory_copy
ldr r0, =__dtors_load_start__
ldr r1, =__dtors_start__
ldr r2, =__dtors_end__
bl memory_copy
ldr r0, =__rodata_load_start__
ldr r1, =__rodata_start__
ldr r2, =__rodata_end__
bl memory_copy
#ifdef INITIALIZE_SECONDARY_SECTIONS
ldr r0, =__data2_load_start__
ldr r1, =__data2_start__
ldr r2, =__data2_end__
bl memory_copy
ldr r0, =__text2_load_start__
ldr r1, =__text2_start__
ldr r2, =__text2_end__
bl memory_copy
ldr r0, =__rodata2_load_start__
ldr r1, =__rodata2_start__
ldr r2, =__rodata2_end__
bl memory_copy
#endif /* #ifdef INITIALIZE_SECONDARY_SECTIONS */
/* Zero the bss. */
ldr r0, =__bss_start__
ldr r1, =__bss_end__
mov r2, #0
bl memory_set
#ifdef INITIALIZE_SECONDARY_SECTIONS
ldr r0, =__bss2_start__
ldr r1, =__bss2_end__
mov r2, #0
bl memory_set
#endif /* #ifdef INITIALIZE_SECONDARY_SECTIONS */
/* Initialise the heap */
ldr r0, = __heap_start__
ldr r1, = __heap_end__
sub r1, r1, r0
cmp r1, #8
blt 1f
mov r2, #0
str r2, [r0]
add r0, r0, #4
str r1, [r0]
1:
/* Call constructors */
ldr r0, =__ctors_start__
ldr r1, =__ctors_end__
ctor_loop2:
cmp r0, r1
beq ctor_end2
ldr r2, [r0]
add r0, #4
push {r0-r1}
blx r2
pop {r0-r1}
b ctor_loop2
ctor_end2:
/* Setup initial call frame */
mov r0, #0
mov lr, r0
mov r12, sp
start2:
/* Jump to application entry point */
#ifdef FULL_LIBRARY
mov r0, #ARGSSPACE
ldr r1, =args
ldr r2, =debug_getargs
blx r2
ldr r1, =args
#else
mov r0, #0
mov r1, #0
#endif
ldr r2, =APP_ENTRY_POINT
blx r2
.thumb_func
exit:
#ifdef FULL_LIBRARY
mov r5, r0 // save the exit parameter/return result
/* Call destructors */
ldr r0, =__dtors_start__
ldr r1, =__dtors_end__
dtor_loop:
cmp r0, r1
beq dtor_end
ldr r2, [r0]
add r0, #4
push {r0-r1}
blx r2
pop {r0-r1}
b dtor_loop
dtor_end:
/* Call atexit functions */
ldr r2, =_execute_at_exit_fns
blx r2
/* Call debug_exit with return result/exit parameter */
mov r0, r5
ldr r2, =debug_exit
blx r2
#endif
/* Returned from application entry point, loop forever. */
exit_loop:
b exit_loop
.thumb_func
memory_copy:
cmp r0, r1
beq 2f
sub r2, r2, r1
beq 2f
1:
ldrb r3, [r0]
add r0, r0, #1
strb r3, [r1]
add r1, r1, #1
sub r2, r2, #1
bne 1b
2:
bx lr
.thumb_func
memory_set:
cmp r0, r1
beq 1f
strb r2, [r0]
add r0, r0, #1
b memory_set
1:
bx lr
#ifdef FULL_LIBRARY
.bss
args:
.space ARGSSPACE
#endif
/* Setup attibutes of stack and heap sections so they don't take up room in the elf file */
.section .stack, "wa", %nobits
.section .stack_process, "wa", %nobits
.section .heap, "wa", %nobits

View File

@ -1,332 +0,0 @@
MEMORY
{
UNPLACED_SECTIONS (wx) : ORIGIN = 0x100000000, LENGTH = 0
FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 0x0000C000
DATA_SRAM (wx) : ORIGIN = 0x10000000, LENGTH = 0x00010000
SYSTEM (wx) : ORIGIN = 0x1fff0000, LENGTH = 0x00007a10
OPTION (wx) : ORIGIN = 0x1fffc000, LENGTH = 0x00000008
RAM (wx) : ORIGIN = 0x20000000, LENGTH = 0x00006000
SRAM1 (wx) : ORIGIN = 0x20000000, LENGTH = 0x0001c000
SRAM2 (wx) : ORIGIN = 0x2001c000, LENGTH = 0x00004000
APB1 (wx) : ORIGIN = 0x40000000, LENGTH = 0x00008000
APB2 (wx) : ORIGIN = 0x40010000, LENGTH = 0x00004c00
AHB1 (wx) : ORIGIN = 0x40020000, LENGTH = 0x00060000
AHB2 (wx) : ORIGIN = 0x50000000, LENGTH = 0x00060c00
AHB3 (wx) : ORIGIN = 0xa0000000, LENGTH = 0x00001000
PPB (wx) : ORIGIN = 0xe0000000, LENGTH = 0x00100000
BKPSRAM (wx) : ORIGIN = 0x40024000, LENGTH = 0x00001000
PCCARD (wx) : ORIGIN = 0x90000000, LENGTH = 0x00000000
NAND2 (wx) : ORIGIN = 0x80000000, LENGTH = 0x00000000
NAND1 (wx) : ORIGIN = 0x70000000, LENGTH = 0x00000000
NOR_PSRAM4 (wx) : ORIGIN = 0x6c000000, LENGTH = 0x00000000
NOR_PSRAM3 (wx) : ORIGIN = 0x68000000, LENGTH = 0x00000000
NOR_PSRAM2 (wx) : ORIGIN = 0x64000000, LENGTH = 0x00000000
NOR_PSRAM1 (wx) : ORIGIN = 0x60000000, LENGTH = 0x00000000
CM3_System_Control_Space (wx) : ORIGIN = 0xe000e000, LENGTH = 0x00001000
}
SECTIONS
{
__FLASH_segment_start__ = 0x08000000;
__FLASH_segment_end__ = 0x0800C000;
__DATA_SRAM_segment_start__ = 0x10000000;
__DATA_SRAM_segment_end__ = 0x10010000;
__SYSTEM_segment_start__ = 0x1fff0000;
__SYSTEM_segment_end__ = 0x1fff7a10;
__OPTION_segment_start__ = 0x1fffc000;
__OPTION_segment_end__ = 0x1fffc008;
__RAM_segment_start__ = 0x20000000;
__RAM_segment_end__ = 0x20006000;
__SRAM1_segment_start__ = 0x20000000;
__SRAM1_segment_end__ = 0x2001c000;
__SRAM2_segment_start__ = 0x2001c000;
__SRAM2_segment_end__ = 0x20020000;
__APB1_segment_start__ = 0x40000000;
__APB1_segment_end__ = 0x40008000;
__APB2_segment_start__ = 0x40010000;
__APB2_segment_end__ = 0x40014c00;
__AHB1_segment_start__ = 0x40020000;
__AHB1_segment_end__ = 0x40080000;
__AHB2_segment_start__ = 0x50000000;
__AHB2_segment_end__ = 0x50060c00;
__AHB3_segment_start__ = 0xa0000000;
__AHB3_segment_end__ = 0xa0001000;
__PPB_segment_start__ = 0xe0000000;
__PPB_segment_end__ = 0xe0100000;
__BKPSRAM_segment_start__ = 0x40024000;
__BKPSRAM_segment_end__ = 0x40025000;
__PCCARD_segment_start__ = 0x90000000;
__PCCARD_segment_end__ = 0x90000000;
__NAND2_segment_start__ = 0x80000000;
__NAND2_segment_end__ = 0x80000000;
__NAND1_segment_start__ = 0x70000000;
__NAND1_segment_end__ = 0x70000000;
__NOR_PSRAM4_segment_start__ = 0x6c000000;
__NOR_PSRAM4_segment_end__ = 0x6c000000;
__NOR_PSRAM3_segment_start__ = 0x68000000;
__NOR_PSRAM3_segment_end__ = 0x68000000;
__NOR_PSRAM2_segment_start__ = 0x64000000;
__NOR_PSRAM2_segment_end__ = 0x64000000;
__NOR_PSRAM1_segment_start__ = 0x60000000;
__NOR_PSRAM1_segment_end__ = 0x60000000;
__CM3_System_Control_Space_segment_start__ = 0xe000e000;
__CM3_System_Control_Space_segment_end__ = 0xe000f000;
__STACKSIZE__ = 2048;
__STACKSIZE_PROCESS__ = 0;
__STACKSIZE_IRQ__ = 0;
__STACKSIZE_FIQ__ = 0;
__STACKSIZE_SVC__ = 0;
__STACKSIZE_ABT__ = 0;
__STACKSIZE_UND__ = 0;
__HEAPSIZE__ = 2048;
__vectors_ram_load_start__ = ALIGN(__RAM_segment_start__ , 256);
.vectors_ram ALIGN(__RAM_segment_start__ , 256) (NOLOAD) : AT(ALIGN(__RAM_segment_start__ , 256))
{
__vectors_ram_start__ = .;
*(.vectors_ram .vectors_ram.*)
}
__vectors_ram_end__ = __vectors_ram_start__ + SIZEOF(.vectors_ram);
__vectors_ram_load_end__ = __vectors_ram_end__;
. = ASSERT(__vectors_ram_end__ >= __RAM_segment_start__ && __vectors_ram_end__ <= __RAM_segment_end__ , "error: .vectors_ram is too large to fit in RAM memory segment");
__vectors_load_start__ = ALIGN(__FLASH_segment_start__ , 256);
.vectors ALIGN(__FLASH_segment_start__ , 256) : AT(ALIGN(__FLASH_segment_start__ , 256))
{
__vectors_start__ = .;
*(.vectors .vectors.*)
}
__vectors_end__ = __vectors_start__ + SIZEOF(.vectors);
__vectors_load_end__ = __vectors_end__;
. = ASSERT(__vectors_end__ >= __FLASH_segment_start__ && __vectors_end__ <= __FLASH_segment_end__ , "error: .vectors is too large to fit in FLASH memory segment");
__init_load_start__ = ALIGN(__vectors_end__ , 4);
.init ALIGN(__vectors_end__ , 4) : AT(ALIGN(__vectors_end__ , 4))
{
__init_start__ = .;
*(.init .init.*)
}
__init_end__ = __init_start__ + SIZEOF(.init);
__init_load_end__ = __init_end__;
. = ASSERT(__init_end__ >= __FLASH_segment_start__ && __init_end__ <= __FLASH_segment_end__ , "error: .init is too large to fit in FLASH memory segment");
__text_load_start__ = ALIGN(__init_end__ , 4);
.text ALIGN(__init_end__ , 4) : AT(ALIGN(__init_end__ , 4))
{
__text_start__ = .;
*(.text .text.* .glue_7t .glue_7 .gnu.linkonce.t.* .gcc_except_table .ARM.extab* .gnu.linkonce.armextab.*)
}
__text_end__ = __text_start__ + SIZEOF(.text);
__text_load_end__ = __text_end__;
. = ASSERT(__text_end__ >= __FLASH_segment_start__ && __text_end__ <= __FLASH_segment_end__ , "error: .text is too large to fit in FLASH memory segment");
__dtors_load_start__ = ALIGN(__text_end__ , 4);
.dtors ALIGN(__text_end__ , 4) : AT(ALIGN(__text_end__ , 4))
{
__dtors_start__ = .;
KEEP (*(SORT(.dtors.*))) KEEP (*(.dtors)) KEEP (*(.fini_array .fini_array.*))
}
__dtors_end__ = __dtors_start__ + SIZEOF(.dtors);
__dtors_load_end__ = __dtors_end__;
. = ASSERT(__dtors_end__ >= __FLASH_segment_start__ && __dtors_end__ <= __FLASH_segment_end__ , "error: .dtors is too large to fit in FLASH memory segment");
__ctors_load_start__ = ALIGN(__dtors_end__ , 4);
.ctors ALIGN(__dtors_end__ , 4) : AT(ALIGN(__dtors_end__ , 4))
{
__ctors_start__ = .;
KEEP (*(SORT(.ctors.*))) KEEP (*(.ctors)) KEEP (*(.init_array .init_array.*))
}
__ctors_end__ = __ctors_start__ + SIZEOF(.ctors);
__ctors_load_end__ = __ctors_end__;
. = ASSERT(__ctors_end__ >= __FLASH_segment_start__ && __ctors_end__ <= __FLASH_segment_end__ , "error: .ctors is too large to fit in FLASH memory segment");
__rodata_load_start__ = ALIGN(__ctors_end__ , 4);
.rodata ALIGN(__ctors_end__ , 4) : AT(ALIGN(__ctors_end__ , 4))
{
__rodata_start__ = .;
*(.rodata .rodata.* .gnu.linkonce.r.*)
}
__rodata_end__ = __rodata_start__ + SIZEOF(.rodata);
__rodata_load_end__ = __rodata_end__;
. = ASSERT(__rodata_end__ >= __FLASH_segment_start__ && __rodata_end__ <= __FLASH_segment_end__ , "error: .rodata is too large to fit in FLASH memory segment");
__ARM.exidx_load_start__ = ALIGN(__rodata_end__ , 4);
.ARM.exidx ALIGN(__rodata_end__ , 4) : AT(ALIGN(__rodata_end__ , 4))
{
__ARM.exidx_start__ = .;
__exidx_start = __ARM.exidx_start__;
*(.ARM.exidx .ARM.exidx.*)
}
__ARM.exidx_end__ = __ARM.exidx_start__ + SIZEOF(.ARM.exidx);
__exidx_end = __ARM.exidx_end__;
__ARM.exidx_load_end__ = __ARM.exidx_end__;
. = ASSERT(__ARM.exidx_end__ >= __FLASH_segment_start__ && __ARM.exidx_end__ <= __FLASH_segment_end__ , "error: .ARM.exidx is too large to fit in FLASH memory segment");
__fast_load_start__ = ALIGN(__ARM.exidx_end__ , 4);
.fast ALIGN(__vectors_ram_end__ , 4) : AT(ALIGN(__ARM.exidx_end__ , 4))
{
__fast_start__ = .;
*(.fast .fast.*)
}
__fast_end__ = __fast_start__ + SIZEOF(.fast);
__fast_load_end__ = __fast_load_start__ + SIZEOF(.fast);
. = ASSERT(__fast_load_end__ >= __FLASH_segment_start__ && __fast_load_end__ <= __FLASH_segment_end__ , "error: .fast is too large to fit in FLASH memory segment");
.fast_run ALIGN(__vectors_ram_end__ , 4) (NOLOAD) :
{
__fast_run_start__ = .;
. = MAX(__fast_run_start__ + SIZEOF(.fast), .);
}
__fast_run_end__ = __fast_run_start__ + SIZEOF(.fast_run);
__fast_run_load_end__ = __fast_run_end__;
. = ASSERT(__fast_run_end__ >= __RAM_segment_start__ && __fast_run_end__ <= __RAM_segment_end__ , "error: .fast_run is too large to fit in RAM memory segment");
__data_load_start__ = ALIGN(__fast_load_start__ + SIZEOF(.fast) , 4);
.data ALIGN(__fast_run_end__ , 4) : AT(ALIGN(__fast_load_start__ + SIZEOF(.fast) , 4))
{
__data_start__ = .;
*(.data .data.* .gnu.linkonce.d.*)
}
__data_end__ = __data_start__ + SIZEOF(.data);
__data_load_end__ = __data_load_start__ + SIZEOF(.data);
. = ASSERT(__data_load_end__ >= __FLASH_segment_start__ && __data_load_end__ <= __FLASH_segment_end__ , "error: .data is too large to fit in FLASH memory segment");
.data_run ALIGN(__fast_run_end__ , 4) (NOLOAD) :
{
__data_run_start__ = .;
. = MAX(__data_run_start__ + SIZEOF(.data), .);
}
__data_run_end__ = __data_run_start__ + SIZEOF(.data_run);
__data_run_load_end__ = __data_run_end__;
. = ASSERT(__data_run_end__ >= __RAM_segment_start__ && __data_run_end__ <= __RAM_segment_end__ , "error: .data_run is too large to fit in RAM memory segment");
__bss_load_start__ = ALIGN(__data_run_end__ , 4);
.bss ALIGN(__data_run_end__ , 4) (NOLOAD) : AT(ALIGN(__data_run_end__ , 4))
{
__bss_start__ = .;
*(.bss .bss.* .gnu.linkonce.b.*) *(COMMON)
}
__bss_end__ = __bss_start__ + SIZEOF(.bss);
__bss_load_end__ = __bss_end__;
. = ASSERT(__bss_end__ >= __RAM_segment_start__ && __bss_end__ <= __RAM_segment_end__ , "error: .bss is too large to fit in RAM memory segment");
__non_init_load_start__ = ALIGN(__bss_end__ , 4);
.non_init ALIGN(__bss_end__ , 4) (NOLOAD) : AT(ALIGN(__bss_end__ , 4))
{
__non_init_start__ = .;
*(.non_init .non_init.*)
}
__non_init_end__ = __non_init_start__ + SIZEOF(.non_init);
__non_init_load_end__ = __non_init_end__;
. = ASSERT(__non_init_end__ >= __RAM_segment_start__ && __non_init_end__ <= __RAM_segment_end__ , "error: .non_init is too large to fit in RAM memory segment");
__heap_load_start__ = ALIGN(__non_init_end__ , 4);
.heap ALIGN(__non_init_end__ , 4) (NOLOAD) : AT(ALIGN(__non_init_end__ , 4))
{
__heap_start__ = .;
*(.heap .heap.*)
. = ALIGN(MAX(__heap_start__ + __HEAPSIZE__ , .), 4);
}
__heap_end__ = __heap_start__ + SIZEOF(.heap);
__heap_load_end__ = __heap_end__;
. = ASSERT(__heap_end__ >= __RAM_segment_start__ && __heap_end__ <= __RAM_segment_end__ , "error: .heap is too large to fit in RAM memory segment");
__stack_load_start__ = ALIGN(__heap_end__ , 4);
.stack ALIGN(__heap_end__ , 4) (NOLOAD) : AT(ALIGN(__heap_end__ , 4))
{
__stack_start__ = .;
*(.stack .stack.*)
. = ALIGN(MAX(__stack_start__ + __STACKSIZE__ , .), 4);
}
__stack_end__ = __stack_start__ + SIZEOF(.stack);
__stack_load_end__ = __stack_end__;
. = ASSERT(__stack_end__ >= __RAM_segment_start__ && __stack_end__ <= __RAM_segment_end__ , "error: .stack is too large to fit in RAM memory segment");
__stack_process_load_start__ = ALIGN(__stack_end__ , 4);
.stack_process ALIGN(__stack_end__ , 4) (NOLOAD) : AT(ALIGN(__stack_end__ , 4))
{
__stack_process_start__ = .;
*(.stack_process .stack_process.*)
. = ALIGN(MAX(__stack_process_start__ + __STACKSIZE_PROCESS__ , .), 4);
}
__stack_process_end__ = __stack_process_start__ + SIZEOF(.stack_process);
__stack_process_load_end__ = __stack_process_end__;
. = ASSERT(__stack_process_end__ >= __RAM_segment_start__ && __stack_process_end__ <= __RAM_segment_end__ , "error: .stack_process is too large to fit in RAM memory segment");
__tbss_load_start__ = ALIGN(__stack_process_end__ , 4);
.tbss ALIGN(__stack_process_end__ , 4) (NOLOAD) : AT(ALIGN(__stack_process_end__ , 4))
{
__tbss_start__ = .;
*(.tbss .tbss.*)
}
__tbss_end__ = __tbss_start__ + SIZEOF(.tbss);
__tbss_load_end__ = __tbss_end__;
. = ASSERT(__tbss_end__ >= __RAM_segment_start__ && __tbss_end__ <= __RAM_segment_end__ , "error: .tbss is too large to fit in RAM memory segment");
__tdata_load_start__ = ALIGN(__data_load_start__ + SIZEOF(.data) , 4);
.tdata ALIGN(__tbss_end__ , 4) : AT(ALIGN(__data_load_start__ + SIZEOF(.data) , 4))
{
__tdata_start__ = .;
*(.tdata .tdata.*)
}
__tdata_end__ = __tdata_start__ + SIZEOF(.tdata);
__tdata_load_end__ = __tdata_load_start__ + SIZEOF(.tdata);
__FLASH_segment_used_end__ = ALIGN(__data_load_start__ + SIZEOF(.data) , 4) + SIZEOF(.tdata);
. = ASSERT(__tdata_load_end__ >= __FLASH_segment_start__ && __tdata_load_end__ <= __FLASH_segment_end__ , "error: .tdata is too large to fit in FLASH memory segment");
.tdata_run ALIGN(__tbss_end__ , 4) (NOLOAD) :
{
__tdata_run_start__ = .;
. = MAX(__tdata_run_start__ + SIZEOF(.tdata), .);
}
__tdata_run_end__ = __tdata_run_start__ + SIZEOF(.tdata_run);
__tdata_run_load_end__ = __tdata_run_end__;
__RAM_segment_used_end__ = ALIGN(__tbss_end__ , 4) + SIZEOF(.tdata_run);
. = ASSERT(__tdata_run_end__ >= __RAM_segment_start__ && __tdata_run_end__ <= __RAM_segment_end__ , "error: .tdata_run is too large to fit in RAM memory segment");
}

View File

@ -1,177 +0,0 @@
/************************************************************************************//**
* \file Source\ARMCM4_STM32F4\Crossworks\vectors.c
* \brief Bootloader interrupt vector table source file.
* \ingroup Target_ARMCM4_STM32F4
* \internal
*----------------------------------------------------------------------------------------
* C O P Y R I G H T
*----------------------------------------------------------------------------------------
* Copyright (c) 2013 by Feaser http://www.feaser.com All rights reserved
*
*----------------------------------------------------------------------------------------
* L I C E N S E
*----------------------------------------------------------------------------------------
* This file is part of OpenBLT. OpenBLT is free software: you can redistribute it and/or
* modify it under the terms of the GNU General Public License as published by the Free
* Software Foundation, either version 3 of the License, or (at your option) any later
* version.
*
* OpenBLT is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
* PURPOSE. See the GNU General Public License for more details.
*
* You have received a copy of the GNU General Public License along with OpenBLT. It
* should be located in ".\Doc\license.html". If not, contact Feaser to obtain a copy.
*
* \endinternal
****************************************************************************************/
/****************************************************************************************
* Include files
****************************************************************************************/
#include "boot.h" /* bootloader generic header */
/****************************************************************************************
* External functions
****************************************************************************************/
extern void reset_handler(void); /* implemented in cstart.s */
/****************************************************************************************
* External data declarations
****************************************************************************************/
/** \brief Stack end address (memory.x) */
extern blt_int32u __stack_end__;
/************************************************************************************//**
** \brief Catch-all for unused interrrupt service routines.
** \return none.
**
****************************************************************************************/
void UnusedISR(void)
{
/* unexpected interrupt occured, so trigger an assertion to halt the system */
ASSERT_RT(BLT_FALSE);
} /*** end of UnusedISR ***/
/****************************************************************************************
* I N T E R R U P T V E C T O R T A B L E
****************************************************************************************/
/** \brief Structure type for vector table entries. */
typedef union
{
void (*func)(void); /**< for ISR function pointers */
blt_int32u ptr; /**< for stack pointer entry */
} tIsrFunc;
/** \brief Interrupt vector table. */
__attribute__((section(".vectors")))
const tIsrFunc _vectors[] =
{
{ .ptr = (blt_int32u) &__stack_end__ }, /* the initial stack pointer */
reset_handler, /* the reset handler */
UnusedISR, /* NMI Handler */
UnusedISR, /* Hard Fault Handler */
UnusedISR, /* MPU Fault Handler */
UnusedISR, /* Bus Fault Handler */
UnusedISR, /* Usage Fault Handler */
UnusedISR, /* Reserved */
UnusedISR, /* Reserved */
UnusedISR, /* Reserved */
UnusedISR, /* Reserved */
UnusedISR, /* SVCall Handler */
UnusedISR, /* Debug Monitor Handler */
UnusedISR, /* Reserved */
UnusedISR, /* PendSV Handler */
UnusedISR, /* SysTick Handler */
UnusedISR, /* Window Watchdog */
UnusedISR, /* PVD through EXTI Line detect */
UnusedISR, /* Tamper */
UnusedISR, /* RTC */
UnusedISR, /* Flash */
UnusedISR, /* RCC */
UnusedISR, /* EXTI Line 0 */
UnusedISR, /* EXTI Line 1 */
UnusedISR, /* EXTI Line 2 */
UnusedISR, /* EXTI Line 3 */
UnusedISR, /* EXTI Line 4 */
UnusedISR, /* DMA1 Channel 0 */
UnusedISR, /* DMA1 Channel 1 */
UnusedISR, /* DMA1 Channel 2 */
UnusedISR, /* DMA1 Channel 3 */
UnusedISR, /* DMA1 Channel 4 */
UnusedISR, /* DMA1 Channel 5 */
UnusedISR, /* DMA1 Channel 6 */
UnusedISR, /* ADC1 and ADC2, ADC3s */
UnusedISR, /* CAN1 TX */
UnusedISR, /* CAN1 RX0 */
UnusedISR, /* CAN1 RX1 */
UnusedISR, /* CAN1 SCE */
UnusedISR, /* EXTI Line 9..5 */
UnusedISR, /* TIM1 Break and TIM9 */
UnusedISR, /* TIM1 Update and TIM10 */
UnusedISR, /* TIM1 Trigger/Comm. and TIM11 */
UnusedISR, /* TIM1 Capture Compare */
UnusedISR, /* TIM2 */
UnusedISR, /* TIM3 */
UnusedISR, /* TIM4 */
UnusedISR, /* I2C1 Event */
UnusedISR, /* I2C1 Error */
UnusedISR, /* I2C2 Event */
UnusedISR, /* I2C1 Error */
UnusedISR, /* SPI1 */
UnusedISR, /* SPI2 */
UnusedISR, /* USART1 */
UnusedISR, /* USART2 */
UnusedISR, /* USART3 */
UnusedISR, /* EXTI Line 15..10 */
UnusedISR, /* RTC alarm through EXTI line */
UnusedISR, /* USB OTG FS Wakeup */
UnusedISR, /* TIM8 Break and TIM12 */
UnusedISR, /* TIM8 Update and TIM13 */
UnusedISR, /* TIM8 Trigger/Comm. and TIM14 */
UnusedISR, /* TIM8 Capture Compare */
UnusedISR, /* DMA1 Stream7 */
UnusedISR, /* FSMC */
UnusedISR, /* SDIO */
UnusedISR, /* TIM5 */
UnusedISR, /* SPI3 */
UnusedISR, /* UART4 */
UnusedISR, /* UART5 */
UnusedISR, /* TIM6 and DAC1&2 underrun err. */
UnusedISR, /* TIM7 */
UnusedISR, /* DMA2 Stream 0 */
UnusedISR, /* DMA2 Stream 1 */
UnusedISR, /* DMA2 Stream 2 */
UnusedISR, /* DMA2 Stream 3 */
UnusedISR, /* DMA2 Stream 4 */
UnusedISR, /* Ethernet */
UnusedISR, /* Ethernet Wakeup */
UnusedISR, /* CAN2 TX */
UnusedISR, /* CAN2 RX0 */
UnusedISR, /* CAN2 RX1 */
UnusedISR, /* CAN2 SCE */
UnusedISR, /* USB OTG FS */
UnusedISR, /* DMA2 Stream 5 */
UnusedISR, /* DMA2 Stream 6 */
UnusedISR, /* DMA2 Stream 7 */
UnusedISR, /* USART6 */
UnusedISR, /* I2C3 event */
UnusedISR, /* I2C3 error */
UnusedISR, /* USB OTG HS End Point 1 Out */
UnusedISR, /* USB OTG HS End Point 1 In */
UnusedISR, /* USB OTG HS Wakeup through EXTI*/
UnusedISR, /* USB OTG HS */
UnusedISR, /* DCMI */
UnusedISR, /* CRYP crypto */
UnusedISR, /* Hash and Rng */
UnusedISR /* FPU */
};
/************************************ end of vectors.c *********************************/

View File

@ -109,6 +109,8 @@ typedef struct
#define CAN_BIT_FINIT ((blt_int32u)0x00000001)
/** \brief Transmit mailbox 0 empty bit. */
#define CAN_BIT_TME0 ((blt_int32u)0x04000000)
/** \brief Identifier extension bit. */
#define CAN_BIT_IDE ((blt_int32u)0x00000004)
/** \brief Transmit mailbox request bit. */
#define CAN_BIT_TXRQ ((blt_int32u)0x00000001)
/** \brief Release FIFO 0 mailbox bit. */
@ -316,11 +318,28 @@ void CanInit(void)
****************************************************************************************/
void CanTransmitPacket(blt_int8u *data, blt_int8u len)
{
blt_int32u txMsgId = BOOT_COM_CAN_TX_MSG_ID;
/* make sure that transmit mailbox 0 is available */
ASSERT_RT((CANx->TSR&CAN_BIT_TME0) == CAN_BIT_TME0);
/* store the 11-bit message identifier */
/* reset all CAN identifier related bits */
CANx->sTxMailBox[0].TIR &= CAN_BIT_TXRQ;
CANx->sTxMailBox[0].TIR |= ((blt_int32u)BOOT_COM_CAN_TX_MSG_ID << 21);
/* is it a 11-bit standard CAN identifier? */
if ((txMsgId & 0x80000000) == 0)
{
/* store the 11-bit message identifier */
CANx->sTxMailBox[0].TIR |= ((blt_int32u)txMsgId << 21);
}
/* it is a 29-bit extended CAN identifier */
else
{
/* negate the ID-type bit */
txMsgId &= ~0x80000000;
/* store the 29-bit message identifier */
CANx->sTxMailBox[0].TIR |= (((blt_int32u)txMsgId << 3) | CAN_BIT_IDE);
}
/* store the message date length code (DLC) */
CANx->sTxMailBox[0].TDTR = len;
/* store the message data bytes */
@ -357,8 +376,18 @@ blt_bool CanReceivePacket(blt_int8u *data)
/* check if a new message was received */
if ((CANx->RF0R&(blt_int32u)0x00000003) > 0)
{
/* read out the message identifier */
rxMsgId = (blt_int32u)0x000007FF & (CANx->sFIFOMailBox[0].RIR >> 21);
/* read out the CAN identifier */
if ((CANx->sFIFOMailBox[0].RIR & CAN_BIT_IDE) == 0)
{
/* read out the 11-bit standard CAN identifier */
rxMsgId = (blt_int32u)0x000007FF & (CANx->sFIFOMailBox[0].RIR >> 21);
}
else
{
/* read out the 29-bit extended CAN identifier */
rxMsgId = (blt_int32u)0x1FFFFFFF & (CANx->sFIFOMailBox[0].RIR >> 3);
rxMsgId |= 0x80000000;
}
/* is this the packet identifier */
if (rxMsgId == BOOT_COM_CAN_RX_MSG_ID)
{