mirror of https://github.com/rusefi/openblt.git
- added support for CAN1 and CAN2 on the STM32CM4 target.
git-svn-id: https://svn.code.sf.net/p/openblt/code/trunk@57 5dc33758-31d5-4daf-9ae8-b24bf3d40d73
This commit is contained in:
parent
4b214120a8
commit
02be6fef95
|
@ -1,5 +1,5 @@
|
|||
[sci]
|
||||
port=7
|
||||
port=3
|
||||
baudrate=8
|
||||
[xcp]
|
||||
seedkey=
|
||||
|
|
Binary file not shown.
|
@ -706,7 +706,7 @@ S31508002BF009480068401C08490860704780B5FFF717
|
|||
S31508002C00F3FF0548006802BD14E000E03F19010023
|
||||
S31508002C1018E000E010E000E03C0F002080B5DFF887
|
||||
S31508002C20780600210170DFF874160020FEF707FD0C
|
||||
S31508002C30C0B2002804D09E21DFF8640600F0C0FB6D
|
||||
S31508002C30C0B2002804D07C21DFF8640600F0C0FB8F
|
||||
S31508002C4001BDDFF854060078002801D1012000E014
|
||||
S31508002C500020704780B500F0F1FB012801D1002063
|
||||
S31508002C6011E0DFF834060078002801D000200AE0D9
|
||||
|
@ -785,8 +785,8 @@ S315080030E0A41C200000F047F90500AE19A41C200016
|
|||
S315080030F000F041F986196D1EA41CADB2022DF6DA50
|
||||
S31508003100F6B2F643200000F036F9F6B2864201D050
|
||||
S31508003110002000E0012070BD2DE9F04105000E00F9
|
||||
S3150800312014005FF00008002E01D0002D04D14FF4E2
|
||||
S3150800313016715B4800F044F92800FFF7AFFF070057
|
||||
S3150800312014005FF00008002E01D0002D04D140F2F3
|
||||
S3150800313036215B4800F044F92800FFF7AFFF070087
|
||||
S31508003140FFB2032F01D10020A3E02800FFF7C5FF37
|
||||
S31508003150002802D15FF0FF309BE0FFB2002F03D0BA
|
||||
S31508003160022F5AD028D392E0AD1C280000F003F9AC
|
||||
|
|
|
@ -12,12 +12,12 @@
|
|||
|
||||
|
||||
|
||||
<Column0>214</Column0><Column1>27</Column1><Column2>27</Column2><Column3>27</Column3></ColumnWidths>
|
||||
<Column0>287</Column0><Column1>27</Column1><Column2>27</Column2><Column3>27</Column3></ColumnWidths>
|
||||
</Workspace>
|
||||
<Build><PreferedWindows><Position>3</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows><Window><Factory>Debug-Log</Factory></Window></Windows></PreferedWindows><ColumnWidth0>20</ColumnWidth0><ColumnWidth1>1059</ColumnWidth1><ColumnWidth2>282</ColumnWidth2><ColumnWidth3>70</ColumnWidth3></Build><Debug-Log><PreferedWindows><Position>3</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows><Window><Factory>Build</Factory></Window></Windows></PreferedWindows><ColumnWidth0>20</ColumnWidth0><ColumnWidth1>1413</ColumnWidth1></Debug-Log><TerminalIO/><Find-in-Files><ColumnWidth0>664</ColumnWidth0><ColumnWidth1>94</ColumnWidth1><ColumnWidth2>1138</ColumnWidth2></Find-in-Files></Static>
|
||||
<Windows>
|
||||
|
||||
<Wnd1>
|
||||
<Wnd0>
|
||||
<Tabs>
|
||||
<Tab>
|
||||
<Identity>TabID-32216-31616</Identity>
|
||||
|
@ -29,20 +29,20 @@
|
|||
</Tab>
|
||||
</Tabs>
|
||||
|
||||
<SelectedTab>0</SelectedTab></Wnd1><Wnd3><Tabs><Tab><Identity>TabID-13144-32069</Identity><TabName>Build</TabName><Factory>Build</Factory><Session/></Tab><Tab><Identity>TabID-25023-6652</Identity><TabName>Debug Log</TabName><Factory>Debug-Log</Factory><Session/></Tab><Tab><Identity>TabID-18334-26223</Identity><TabName>Find in Files</TabName><Factory>Find-in-Files</Factory><Session/></Tab></Tabs><SelectedTab>0</SelectedTab></Wnd3></Windows>
|
||||
<SelectedTab>0</SelectedTab></Wnd0><Wnd2><Tabs><Tab><Identity>TabID-13144-32069</Identity><TabName>Build</TabName><Factory>Build</Factory><Session/></Tab><Tab><Identity>TabID-25023-6652</Identity><TabName>Debug Log</TabName><Factory>Debug-Log</Factory><Session/></Tab><Tab><Identity>TabID-18334-26223</Identity><TabName>Find in Files</TabName><Factory>Find-in-Files</Factory><Session/></Tab></Tabs><SelectedTab>0</SelectedTab></Wnd2></Windows>
|
||||
<Editor>
|
||||
|
||||
|
||||
|
||||
|
||||
<Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\main.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>16</YPos2><SelStart2>2198</SelStart2><SelEnd2>2198</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\hooks.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>266</YPos2><SelStart2>13853</SelStart2><SelEnd2>13853</SelEnd2></Tab><ActiveTab>1</ActiveTab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\lib\fatfs\mmc.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>109</YPos2><SelStart2>4648</SelStart2><SelEnd2>4670</SelEnd2></Tab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
|
||||
<Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\main.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>16</YPos2><SelStart2>2198</SelStart2><SelEnd2>2198</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\hooks.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>266</YPos2><SelStart2>13853</SelStart2><SelEnd2>13853</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\lib\fatfs\mmc.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>109</YPos2><SelStart2>4648</SelStart2><SelEnd2>4670</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\blt_conf.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>72</YPos2><SelStart2>4701</SelStart2><SelEnd2>4701</SelEnd2></Tab><ActiveTab>3</ActiveTab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\..\..\..\Source\ARMCM3_STM32\can.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>310</YPos2><SelStart2>14069</SelStart2><SelEnd2>14069</SelEnd2></Tab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
|
||||
<Positions>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<Top><Row0><Sizes><Toolbar-0131cf20><key>iaridepm.enu1</key></Toolbar-0131cf20></Sizes></Row0></Top><Left><Row0><Sizes><Wnd1><Rect><Top>-2</Top><Left>-2</Left><Bottom>617</Bottom><Right>305</Right><x>-2</x><y>-2</y><xscreen>176</xscreen><yscreen>166</yscreen><sizeHorzCX>136012</sizeHorzCX><sizeHorzCY>201701</sizeHorzCY><sizeVertCX>237249</sizeVertCX><sizeVertCY>752126</sizeVertCY></Rect></Wnd1></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd3><Rect><Top>-2</Top><Left>-2</Left><Bottom>161</Bottom><Right>1296</Right><x>-2</x><y>-2</y><xscreen>1298</xscreen><yscreen>163</yscreen><sizeHorzCX>1003091</sizeHorzCX><sizeHorzCY>198056</sizeHorzCY><sizeVertCX>104328</sizeVertCX><sizeVertCY>198056</sizeVertCY></Rect></Wnd3></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
|
||||
<Top><Row0><Sizes><Toolbar-02afeb38><key>iaridepm.enu1</key></Toolbar-02afeb38></Sizes></Row0></Top><Left><Row0><Sizes><Wnd0><Rect><Top>-2</Top><Left>-2</Left><Bottom>621</Bottom><Right>378</Right><x>-2</x><y>-2</y><xscreen>218</xscreen><yscreen>167</yscreen><sizeHorzCX>136250</sizeHorzCX><sizeHorzCY>201691</sizeHorzCY><sizeVertCX>237500</sizeVertCX><sizeVertCY>752415</sizeVertCY></Rect></Wnd0></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd2><Rect><Top>-2</Top><Left>-2</Left><Bottom>162</Bottom><Right>1602</Right><x>-2</x><y>-2</y><xscreen>1604</xscreen><yscreen>164</yscreen><sizeHorzCX>1002500</sizeHorzCX><sizeHorzCY>198068</sizeHorzCY><sizeVertCX>104375</sizeVertCX><sizeVertCY>198068</sizeVertCY></Rect></Wnd2></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
|
||||
</Desktop>
|
||||
</Workspace>
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load Diff
Binary file not shown.
|
@ -1633,6 +1633,18 @@ Discarded input sections
|
|||
.text 0x00000000 0x0 THUMB Debug/../../obj/uart.o
|
||||
.data 0x00000000 0x0 THUMB Debug/../../obj/uart.o
|
||||
.bss 0x00000000 0x0 THUMB Debug/../../obj/uart.o
|
||||
.text 0x00000000 0x0 THUMB Debug/../../obj/can.o
|
||||
.data 0x00000000 0x0 THUMB Debug/../../obj/can.o
|
||||
.bss 0x00000000 0x0 THUMB Debug/../../obj/can.o
|
||||
.debug_info 0x00000000 0x64 THUMB Debug/../../obj/can.o
|
||||
.debug_abbrev 0x00000000 0x26 THUMB Debug/../../obj/can.o
|
||||
.debug_aranges
|
||||
0x00000000 0x18 THUMB Debug/../../obj/can.o
|
||||
.debug_line 0x00000000 0x1d THUMB Debug/../../obj/can.o
|
||||
.debug_str 0x00000000 0x18a THUMB Debug/../../obj/can.o
|
||||
.comment 0x00000000 0x4f THUMB Debug/../../obj/can.o
|
||||
.ARM.attributes
|
||||
0x00000000 0x33 THUMB Debug/../../obj/can.o
|
||||
.text 0x00000000 0x0 THUMB Debug/../../obj/assert.o
|
||||
.data 0x00000000 0x0 THUMB Debug/../../obj/assert.o
|
||||
.bss 0x00000000 0x0 THUMB Debug/../../obj/assert.o
|
||||
|
@ -2449,7 +2461,7 @@ CM3_System_Control_Space 0xe000e000 0x00001000 xw
|
|||
|
||||
Linker script and memory map
|
||||
|
||||
0x08006624 __do_debug_operation = __do_debug_operation_mempoll
|
||||
0x08006648 __do_debug_operation = __do_debug_operation_mempoll
|
||||
0x08000000 __FLASH_segment_start__ = 0x8000000
|
||||
0x08008000 __FLASH_segment_end__ = 0x8008000
|
||||
0x10000000 __DATA_SRAM_segment_start__ = 0x10000000
|
||||
|
@ -2534,7 +2546,7 @@ Linker script and memory map
|
|||
0x00000001 . = ASSERT (((__init_end__ >= __FLASH_segment_start__) && (__init_end__ <= __FLASH_segment_end__)), error: .init is too large to fit in FLASH memory segment)
|
||||
0x08000328 __text_load_start__ = ALIGN (__init_end__, 0x4)
|
||||
|
||||
.text 0x08000328 0x6340
|
||||
.text 0x08000328 0x6364
|
||||
0x08000328 __text_start__ = .
|
||||
*(.text .text.* .glue_7t .glue_7 .gnu.linkonce.t.* .gcc_except_table .ARM.extab* .gnu.linkonce.armextab.*)
|
||||
.glue_7 0x00000000 0x0 linker stubs
|
||||
|
@ -2932,43 +2944,50 @@ Linker script and memory map
|
|||
0x08005df0 0x1c THUMB Debug/../../obj/file.o
|
||||
.text.FileLibByteToHexString
|
||||
0x08005e0c 0x24 THUMB Debug/../../obj/file.o
|
||||
.text.SrecParseLine
|
||||
0x08005e30 0x258 THUMB Debug/../../obj/file.o
|
||||
.text.FileInit
|
||||
0x08006088 0x30 THUMB Debug/../../obj/file.o
|
||||
0x08006088 FileInit
|
||||
0x08005e30 0x30 THUMB Debug/../../obj/file.o
|
||||
0x08005e30 FileInit
|
||||
.text.FileIsIdle
|
||||
0x080060b8 0x14 THUMB Debug/../../obj/file.o
|
||||
0x080060b8 FileIsIdle
|
||||
0x08005e60 0x14 THUMB Debug/../../obj/file.o
|
||||
0x08005e60 FileIsIdle
|
||||
.text.FileHandleFirmwareUpdateRequest
|
||||
0x080060cc 0x3c THUMB Debug/../../obj/file.o
|
||||
0x080060cc FileHandleFirmwareUpdateRequest
|
||||
0x08005e74 0x3c THUMB Debug/../../obj/file.o
|
||||
0x08005e74 FileHandleFirmwareUpdateRequest
|
||||
.text.FileSrecGetLineType
|
||||
0x08005eb0 0x44 THUMB Debug/../../obj/file.o
|
||||
0x08005eb0 FileSrecGetLineType
|
||||
.text.FileSrecVerifyChecksum
|
||||
0x08005ef4 0x94 THUMB Debug/../../obj/file.o
|
||||
0x08005ef4 FileSrecVerifyChecksum
|
||||
.text.FileSrecParseLine
|
||||
0x08005f88 0x1a4 THUMB Debug/../../obj/file.o
|
||||
0x08005f88 FileSrecParseLine
|
||||
.text.FileTask
|
||||
0x08006108 0x4b4 THUMB Debug/../../obj/file.o
|
||||
0x08006108 FileTask
|
||||
0x0800612c 0x4b4 THUMB Debug/../../obj/file.o
|
||||
0x0800612c FileTask
|
||||
.text.libc.isdigit
|
||||
0x080065bc 0x10 C:/Program Files (x86)/Rowley Associates Limited/CrossWorks for ARM 2.3/lib/libc_v7em_t_le_eabi.a(libc2.o)
|
||||
0x080065bc isdigit
|
||||
0x080065e0 0x10 C:/Program Files (x86)/Rowley Associates Limited/CrossWorks for ARM 2.3/lib/libc_v7em_t_le_eabi.a(libc2.o)
|
||||
0x080065e0 isdigit
|
||||
.text.libc.toupper
|
||||
0x080065cc 0x10 C:/Program Files (x86)/Rowley Associates Limited/CrossWorks for ARM 2.3/lib/libc_v7em_t_le_eabi.a(libc2.o)
|
||||
0x080065cc toupper
|
||||
0x080065f0 0x10 C:/Program Files (x86)/Rowley Associates Limited/CrossWorks for ARM 2.3/lib/libc_v7em_t_le_eabi.a(libc2.o)
|
||||
0x080065f0 toupper
|
||||
.text.libc.memcpy
|
||||
0x080065dc 0x48 C:/Program Files (x86)/Rowley Associates Limited/CrossWorks for ARM 2.3/lib/libc_v7em_t_le_eabi.a(libc2_asm.o)
|
||||
0x080065dc __aeabi_memcpy
|
||||
0x080065dc __aeabi_memcpy4
|
||||
0x080065dc __aeabi_memcpy8
|
||||
0x080065dc memcpy
|
||||
0x08006600 0x48 C:/Program Files (x86)/Rowley Associates Limited/CrossWorks for ARM 2.3/lib/libc_v7em_t_le_eabi.a(libc2_asm.o)
|
||||
0x08006600 __aeabi_memcpy
|
||||
0x08006600 __aeabi_memcpy4
|
||||
0x08006600 __aeabi_memcpy8
|
||||
0x08006600 memcpy
|
||||
.text.libdebugio.__do_debug_operation_mempoll
|
||||
0x08006624 0x3c C:/Program Files (x86)/Rowley Associates Limited/CrossWorks for ARM 2.3/lib/libdebugio_v7em_t_le_eabi.a(libdebugio.o)
|
||||
0x08006624 __do_debug_operation_mempoll
|
||||
0x08006648 0x3c C:/Program Files (x86)/Rowley Associates Limited/CrossWorks for ARM 2.3/lib/libdebugio_v7em_t_le_eabi.a(libdebugio.o)
|
||||
0x08006648 __do_debug_operation_mempoll
|
||||
.text.libc.__debug_io_lock
|
||||
0x08006660 0x4 C:/Program Files (x86)/Rowley Associates Limited/CrossWorks for ARM 2.3/lib/libc_user_libc_v7em_t_le_eabi.a(user_libc.o)
|
||||
0x08006660 __debug_io_lock
|
||||
0x08006684 0x4 C:/Program Files (x86)/Rowley Associates Limited/CrossWorks for ARM 2.3/lib/libc_user_libc_v7em_t_le_eabi.a(user_libc.o)
|
||||
0x08006684 __debug_io_lock
|
||||
.text.libc.__debug_io_unlock
|
||||
0x08006664 0x4 C:/Program Files (x86)/Rowley Associates Limited/CrossWorks for ARM 2.3/lib/libc_user_libc_v7em_t_le_eabi.a(user_libc.o)
|
||||
0x08006664 __debug_io_unlock
|
||||
0x08006668 __text_end__ = (__text_start__ + SIZEOF (.text))
|
||||
0x08006668 __text_load_end__ = __text_end__
|
||||
0x08006688 0x4 C:/Program Files (x86)/Rowley Associates Limited/CrossWorks for ARM 2.3/lib/libc_user_libc_v7em_t_le_eabi.a(user_libc.o)
|
||||
0x08006688 __debug_io_unlock
|
||||
0x0800668c __text_end__ = (__text_start__ + SIZEOF (.text))
|
||||
0x0800668c __text_load_end__ = __text_end__
|
||||
|
||||
.vfp11_veneer 0x00000000 0x0
|
||||
.vfp11_veneer 0x00000000 0x0 linker stubs
|
||||
|
@ -2979,87 +2998,87 @@ Linker script and memory map
|
|||
.iplt 0x00000000 0x0
|
||||
.iplt 0x00000000 0x0 THUMB Debug/../../obj/mmc.o
|
||||
0x00000001 . = ASSERT (((__text_end__ >= __FLASH_segment_start__) && (__text_end__ <= __FLASH_segment_end__)), error: .text is too large to fit in FLASH memory segment)
|
||||
0x08006668 __dtors_load_start__ = ALIGN (__text_end__, 0x4)
|
||||
0x0800668c __dtors_load_start__ = ALIGN (__text_end__, 0x4)
|
||||
|
||||
.dtors 0x08006668 0x0
|
||||
0x08006668 __dtors_start__ = .
|
||||
.dtors 0x0800668c 0x0
|
||||
0x0800668c __dtors_start__ = .
|
||||
*(SORT(.dtors.*))
|
||||
*(.dtors)
|
||||
*(.fini_array .fini_array.*)
|
||||
0x08006668 __dtors_end__ = (__dtors_start__ + SIZEOF (.dtors))
|
||||
0x08006668 __dtors_load_end__ = __dtors_end__
|
||||
0x0800668c __dtors_end__ = (__dtors_start__ + SIZEOF (.dtors))
|
||||
0x0800668c __dtors_load_end__ = __dtors_end__
|
||||
0x00000001 . = ASSERT (((__dtors_end__ >= __FLASH_segment_start__) && (__dtors_end__ <= __FLASH_segment_end__)), error: .dtors is too large to fit in FLASH memory segment)
|
||||
0x08006668 __ctors_load_start__ = ALIGN (__dtors_end__, 0x4)
|
||||
0x0800668c __ctors_load_start__ = ALIGN (__dtors_end__, 0x4)
|
||||
|
||||
.ctors 0x08006668 0x0
|
||||
0x08006668 __ctors_start__ = .
|
||||
.ctors 0x0800668c 0x0
|
||||
0x0800668c __ctors_start__ = .
|
||||
*(SORT(.ctors.*))
|
||||
*(.ctors)
|
||||
*(.init_array .init_array.*)
|
||||
0x08006668 __ctors_end__ = (__ctors_start__ + SIZEOF (.ctors))
|
||||
0x08006668 __ctors_load_end__ = __ctors_end__
|
||||
0x0800668c __ctors_end__ = (__ctors_start__ + SIZEOF (.ctors))
|
||||
0x0800668c __ctors_load_end__ = __ctors_end__
|
||||
0x00000001 . = ASSERT (((__ctors_end__ >= __FLASH_segment_start__) && (__ctors_end__ <= __FLASH_segment_end__)), error: .ctors is too large to fit in FLASH memory segment)
|
||||
0x08006668 __rodata_load_start__ = ALIGN (__ctors_end__, 0x4)
|
||||
0x0800668c __rodata_load_start__ = ALIGN (__ctors_end__, 0x4)
|
||||
|
||||
.rodata 0x08006668 0x96c
|
||||
0x08006668 __rodata_start__ = .
|
||||
.rodata 0x0800668c 0x96c
|
||||
0x0800668c __rodata_start__ = .
|
||||
*(.rodata .rodata.* .gnu.linkonce.r.*)
|
||||
.rodata.firmwareFilename
|
||||
0x08006668 0x20 THUMB Debug/../../obj/hooks.o
|
||||
0x0800668c 0x20 THUMB Debug/../../obj/hooks.o
|
||||
.rodata.str1.4
|
||||
0x08006688 0xd THUMB Debug/../../obj/hooks.o
|
||||
0x080066ac 0xd THUMB Debug/../../obj/hooks.o
|
||||
0x10 (size before relaxing)
|
||||
*fill* 0x08006695 0x3 00
|
||||
*fill* 0x080066b9 0x3 00
|
||||
.rodata.str1.4
|
||||
0x08006698 0x8c THUMB Debug/../../obj/vectors.o
|
||||
0x080066bc 0x8c THUMB Debug/../../obj/vectors.o
|
||||
.rodata.flashSectorNumToMask
|
||||
0x08006724 0x30 THUMB Debug/../../obj/flash.o
|
||||
0x08006748 0x30 THUMB Debug/../../obj/flash.o
|
||||
.rodata.flashLayout
|
||||
0x08006754 0x78 THUMB Debug/../../obj/flash.o
|
||||
0x08006778 0x78 THUMB Debug/../../obj/flash.o
|
||||
.rodata.str1.4
|
||||
0x080067cc 0x7e THUMB Debug/../../obj/uart.o
|
||||
0x080067f0 0x7e THUMB Debug/../../obj/uart.o
|
||||
0x80 (size before relaxing)
|
||||
*fill* 0x0800684a 0x2 00
|
||||
*fill* 0x0800686e 0x2 00
|
||||
.rodata.xcpStationId
|
||||
0x0800684c 0x8 THUMB Debug/../../obj/xcp.o
|
||||
0x08006870 0x8 THUMB Debug/../../obj/xcp.o
|
||||
.rodata.str1.4
|
||||
0x08006854 0x13 THUMB Debug/../../obj/ff.o
|
||||
0x08006878 0x13 THUMB Debug/../../obj/ff.o
|
||||
0x14 (size before relaxing)
|
||||
*fill* 0x08006867 0x1 00
|
||||
.rodata.ExCvt 0x08006868 0x80 THUMB Debug/../../obj/ff.o
|
||||
*fill* 0x0800688b 0x1 00
|
||||
.rodata.ExCvt 0x0800688c 0x80 THUMB Debug/../../obj/ff.o
|
||||
.rodata.LfnOfs
|
||||
0x080068e8 0x10 THUMB Debug/../../obj/ff.o
|
||||
0x0800690c 0x10 THUMB Debug/../../obj/ff.o
|
||||
.rodata.tbl_lower.3809
|
||||
0x080068f8 0x1e0 THUMB Debug/../../obj/unicode.o
|
||||
.rodata.Tbl 0x08006ad8 0x100 THUMB Debug/../../obj/unicode.o
|
||||
0x0800691c 0x1e0 THUMB Debug/../../obj/unicode.o
|
||||
.rodata.Tbl 0x08006afc 0x100 THUMB Debug/../../obj/unicode.o
|
||||
.rodata.tbl_upper.3810
|
||||
0x08006bd8 0x1e0 THUMB Debug/../../obj/unicode.o
|
||||
0x08006bfc 0x1e0 THUMB Debug/../../obj/unicode.o
|
||||
.rodata.str1.4
|
||||
0x08006db8 0x21c THUMB Debug/../../obj/file.o
|
||||
0x08006ddc 0x21c THUMB Debug/../../obj/file.o
|
||||
0x220 (size before relaxing)
|
||||
0x08006fd4 __rodata_end__ = (__rodata_start__ + SIZEOF (.rodata))
|
||||
0x08006fd4 __rodata_load_end__ = __rodata_end__
|
||||
0x08006ff8 __rodata_end__ = (__rodata_start__ + SIZEOF (.rodata))
|
||||
0x08006ff8 __rodata_load_end__ = __rodata_end__
|
||||
|
||||
.rel.dyn 0x08000000 0x0
|
||||
.rel.iplt 0x00000000 0x0 THUMB Debug/../../obj/mmc.o
|
||||
0x00000001 . = ASSERT (((__rodata_end__ >= __FLASH_segment_start__) && (__rodata_end__ <= __FLASH_segment_end__)), error: .rodata is too large to fit in FLASH memory segment)
|
||||
0x08006fd4 __ARM.exidx_load_start__ = ALIGN (__rodata_end__, 0x4)
|
||||
0x08006ff8 __ARM.exidx_load_start__ = ALIGN (__rodata_end__, 0x4)
|
||||
|
||||
.ARM.exidx 0x08006fd4 0x0
|
||||
0x08006fd4 __ARM.exidx_start__ = .
|
||||
0x08006fd4 __exidx_start = __ARM.exidx_start__
|
||||
.ARM.exidx 0x08006ff8 0x0
|
||||
0x08006ff8 __ARM.exidx_start__ = .
|
||||
0x08006ff8 __exidx_start = __ARM.exidx_start__
|
||||
*(.ARM.exidx .ARM.exidx.*)
|
||||
0x08006fd4 __ARM.exidx_end__ = (__ARM.exidx_start__ + SIZEOF (.ARM.exidx))
|
||||
0x08006fd4 __exidx_end = __ARM.exidx_end__
|
||||
0x08006fd4 __ARM.exidx_load_end__ = __ARM.exidx_end__
|
||||
0x08006ff8 __ARM.exidx_end__ = (__ARM.exidx_start__ + SIZEOF (.ARM.exidx))
|
||||
0x08006ff8 __exidx_end = __ARM.exidx_end__
|
||||
0x08006ff8 __ARM.exidx_load_end__ = __ARM.exidx_end__
|
||||
0x00000001 . = 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)
|
||||
0x08006fd4 __fast_load_start__ = ALIGN (__ARM.exidx_end__, 0x4)
|
||||
0x08006ff8 __fast_load_start__ = ALIGN (__ARM.exidx_end__, 0x4)
|
||||
|
||||
.fast 0x20000000 0x0 load address 0x08006fd4
|
||||
.fast 0x20000000 0x0 load address 0x08006ff8
|
||||
0x20000000 __fast_start__ = .
|
||||
*(.fast .fast.*)
|
||||
0x20000000 __fast_end__ = (__fast_start__ + SIZEOF (.fast))
|
||||
0x08006fd4 __fast_load_end__ = (__fast_load_start__ + SIZEOF (.fast))
|
||||
0x08006ff8 __fast_load_end__ = (__fast_load_start__ + SIZEOF (.fast))
|
||||
0x00000001 . = 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 0x20000000 0x0
|
||||
|
@ -3068,9 +3087,9 @@ Linker script and memory map
|
|||
0x20000000 __fast_run_end__ = (__fast_run_start__ + SIZEOF (.fast_run))
|
||||
0x20000000 __fast_run_load_end__ = __fast_run_end__
|
||||
0x00000001 . = 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)
|
||||
0x08006fd4 __data_load_start__ = ALIGN ((__fast_load_start__ + SIZEOF (.fast)), 0x4)
|
||||
0x08006ff8 __data_load_start__ = ALIGN ((__fast_load_start__ + SIZEOF (.fast)), 0x4)
|
||||
|
||||
.data 0x20000000 0x18 load address 0x08006fd4
|
||||
.data 0x20000000 0x18 load address 0x08006ff8
|
||||
0x20000000 __data_start__ = .
|
||||
*(.data .data.* .gnu.linkonce.d.*)
|
||||
.data.DMAEndOfTransfer
|
||||
|
@ -3080,13 +3099,13 @@ Linker script and memory map
|
|||
.data.APBAHBPrescTable
|
||||
0x20000008 0x10 THUMB Debug/../../obj/stm32f4xx_rcc.o
|
||||
0x20000018 __data_end__ = (__data_start__ + SIZEOF (.data))
|
||||
0x08006fec __data_load_end__ = (__data_load_start__ + SIZEOF (.data))
|
||||
0x08007010 __data_load_end__ = (__data_load_start__ + SIZEOF (.data))
|
||||
|
||||
.igot.plt 0x00000000 0x0
|
||||
.igot.plt 0x00000000 0x0 THUMB Debug/../../obj/mmc.o
|
||||
0x00000001 . = 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 0x20000000 0x18 load address 0x08006fd4
|
||||
.data_run 0x20000000 0x18 load address 0x08006ff8
|
||||
0x20000000 __data_run_start__ = .
|
||||
0x20000018 . = MAX ((__data_run_start__ + SIZEOF (.data)), .)
|
||||
*fill* 0x20000000 0x18 00
|
||||
|
@ -3095,7 +3114,7 @@ Linker script and memory map
|
|||
0x00000001 . = 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)
|
||||
0x20000018 __bss_load_start__ = ALIGN (__data_run_end__, 0x4)
|
||||
|
||||
.bss 0x20000018 0x1028
|
||||
.bss 0x20000018 0x1024
|
||||
0x20000018 __bss_start__ = .
|
||||
*(.bss .bss.* .gnu.linkonce.b.*)
|
||||
.bss.TransferError
|
||||
|
@ -3124,115 +3143,114 @@ Linker script and memory map
|
|||
0x20000514 0x204 THUMB Debug/../../obj/flash.o
|
||||
.bss.millisecond_counter
|
||||
0x20000718 0x4 THUMB Debug/../../obj/timer.o
|
||||
.bss.xcpCtoRxInProgress.7303
|
||||
0x2000071c 0x1 THUMB Debug/../../obj/uart.o
|
||||
*fill* 0x2000071d 0x3 00
|
||||
.bss.xcpCtoReqPacket.7301
|
||||
0x20000720 0x44 THUMB Debug/../../obj/uart.o
|
||||
.bss.xcpCtoRxLength.7302
|
||||
0x20000764 0x1 THUMB Debug/../../obj/uart.o
|
||||
*fill* 0x20000765 0x3 00
|
||||
.bss.xcpCtoReqPacket.7320
|
||||
0x2000071c 0x44 THUMB Debug/../../obj/uart.o
|
||||
.bss.xcpCtoRxLength.7321
|
||||
0x20000760 0x1 THUMB Debug/../../obj/uart.o
|
||||
.bss.xcpCtoRxInProgress.7322
|
||||
0x20000761 0x1 THUMB Debug/../../obj/uart.o
|
||||
*fill* 0x20000762 0x2 00
|
||||
.bss.assert_failure_file
|
||||
0x20000768 0x4 THUMB Debug/../../obj/assert.o
|
||||
0x20000764 0x4 THUMB Debug/../../obj/assert.o
|
||||
.bss.assert_failure_line
|
||||
0x2000076c 0x4 THUMB Debug/../../obj/assert.o
|
||||
0x20000768 0x4 THUMB Debug/../../obj/assert.o
|
||||
.bss.backdoorOpen
|
||||
0x20000770 0x1 THUMB Debug/../../obj/backdoor.o
|
||||
*fill* 0x20000771 0x3 00
|
||||
0x2000076c 0x1 THUMB Debug/../../obj/backdoor.o
|
||||
*fill* 0x2000076d 0x3 00
|
||||
.bss.backdoorOpenTime
|
||||
0x20000774 0x4 THUMB Debug/../../obj/backdoor.o
|
||||
0x20000770 0x4 THUMB Debug/../../obj/backdoor.o
|
||||
.bss.comEntryStateConnect
|
||||
0x20000778 0x1 THUMB Debug/../../obj/com.o
|
||||
*fill* 0x20000779 0x3 00
|
||||
.bss.xcpCtoReqPacket.3915
|
||||
0x2000077c 0x40 THUMB Debug/../../obj/com.o
|
||||
.bss.xcpInfo 0x200007bc 0x4c THUMB Debug/../../obj/xcp.o
|
||||
.bss.LfnBuf 0x20000808 0x200 THUMB Debug/../../obj/ff.o
|
||||
.bss.Fsid 0x20000a08 0x2 THUMB Debug/../../obj/ff.o
|
||||
*fill* 0x20000a0a 0x2 00
|
||||
.bss.FatFs 0x20000a0c 0x4 THUMB Debug/../../obj/ff.o
|
||||
0x20000774 0x1 THUMB Debug/../../obj/com.o
|
||||
*fill* 0x20000775 0x3 00
|
||||
.bss.xcpCtoReqPacket.3934
|
||||
0x20000778 0x40 THUMB Debug/../../obj/com.o
|
||||
.bss.xcpInfo 0x200007b8 0x4c THUMB Debug/../../obj/xcp.o
|
||||
.bss.LfnBuf 0x20000804 0x200 THUMB Debug/../../obj/ff.o
|
||||
.bss.Fsid 0x20000a04 0x2 THUMB Debug/../../obj/ff.o
|
||||
*fill* 0x20000a06 0x2 00
|
||||
.bss.FatFs 0x20000a08 0x4 THUMB Debug/../../obj/ff.o
|
||||
.bss.loggingStr
|
||||
0x20000a10 0x40 THUMB Debug/../../obj/file.o
|
||||
0x20000a0c 0x40 THUMB Debug/../../obj/file.o
|
||||
.bss.firmwareUpdateState
|
||||
0x20000a50 0x1 THUMB Debug/../../obj/file.o
|
||||
*fill* 0x20000a51 0x3 00
|
||||
0x20000a4c 0x1 THUMB Debug/../../obj/file.o
|
||||
*fill* 0x20000a4d 0x3 00
|
||||
.bss.eraseInfo
|
||||
0x20000a54 0x8 THUMB Debug/../../obj/file.o
|
||||
0x20000a50 0x8 THUMB Debug/../../obj/file.o
|
||||
.bss.fatFsObjects
|
||||
0x20000a5c 0x458 THUMB Debug/../../obj/file.o
|
||||
0x20000a58 0x458 THUMB Debug/../../obj/file.o
|
||||
.bss.lineParseObject
|
||||
0x20000eb4 0x184 THUMB Debug/../../obj/file.o
|
||||
0x20000eb0 0x184 THUMB Debug/../../obj/file.o
|
||||
.bss.libdebugio.dbgCommWord
|
||||
0x20001038 0x4 C:/Program Files (x86)/Rowley Associates Limited/CrossWorks for ARM 2.3/lib/libdebugio_v7em_t_le_eabi.a(libdebugio.o)
|
||||
0x20001038 dbgCommWord
|
||||
0x20001034 0x4 C:/Program Files (x86)/Rowley Associates Limited/CrossWorks for ARM 2.3/lib/libdebugio_v7em_t_le_eabi.a(libdebugio.o)
|
||||
0x20001034 dbgCommWord
|
||||
.bss.libdebugio.dbgCntrlWord_mempoll
|
||||
0x2000103c 0x4 C:/Program Files (x86)/Rowley Associates Limited/CrossWorks for ARM 2.3/lib/libdebugio_v7em_t_le_eabi.a(libdebugio.o)
|
||||
0x2000103c dbgCntrlWord_mempoll
|
||||
0x20001038 0x4 C:/Program Files (x86)/Rowley Associates Limited/CrossWorks for ARM 2.3/lib/libdebugio_v7em_t_le_eabi.a(libdebugio.o)
|
||||
0x20001038 dbgCntrlWord_mempoll
|
||||
*(COMMON)
|
||||
0x20001040 __bss_end__ = (__bss_start__ + SIZEOF (.bss))
|
||||
0x20001040 __bss_load_end__ = __bss_end__
|
||||
0x2000103c __bss_end__ = (__bss_start__ + SIZEOF (.bss))
|
||||
0x2000103c __bss_load_end__ = __bss_end__
|
||||
0x00000001 . = ASSERT (((__bss_end__ >= __RAM_segment_start__) && (__bss_end__ <= __RAM_segment_end__)), error: .bss is too large to fit in RAM memory segment)
|
||||
0x20001040 __non_init_load_start__ = ALIGN (__bss_end__, 0x4)
|
||||
0x2000103c __non_init_load_start__ = ALIGN (__bss_end__, 0x4)
|
||||
|
||||
.non_init 0x20001040 0x0
|
||||
0x20001040 __non_init_start__ = .
|
||||
.non_init 0x2000103c 0x0
|
||||
0x2000103c __non_init_start__ = .
|
||||
*(.non_init .non_init.*)
|
||||
0x20001040 __non_init_end__ = (__non_init_start__ + SIZEOF (.non_init))
|
||||
0x20001040 __non_init_load_end__ = __non_init_end__
|
||||
0x2000103c __non_init_end__ = (__non_init_start__ + SIZEOF (.non_init))
|
||||
0x2000103c __non_init_load_end__ = __non_init_end__
|
||||
0x00000001 . = 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)
|
||||
0x20001040 __heap_load_start__ = ALIGN (__non_init_end__, 0x4)
|
||||
0x2000103c __heap_load_start__ = ALIGN (__non_init_end__, 0x4)
|
||||
|
||||
.heap 0x20001040 0x800
|
||||
0x20001040 __heap_start__ = .
|
||||
.heap 0x2000103c 0x800
|
||||
0x2000103c __heap_start__ = .
|
||||
*(.heap .heap.*)
|
||||
0x20001840 . = ALIGN (MAX ((__heap_start__ + __HEAPSIZE__), .), 0x4)
|
||||
*fill* 0x20001040 0x800 00
|
||||
0x20001840 __heap_end__ = (__heap_start__ + SIZEOF (.heap))
|
||||
0x20001840 __heap_load_end__ = __heap_end__
|
||||
0x2000183c . = ALIGN (MAX ((__heap_start__ + __HEAPSIZE__), .), 0x4)
|
||||
*fill* 0x2000103c 0x800 00
|
||||
0x2000183c __heap_end__ = (__heap_start__ + SIZEOF (.heap))
|
||||
0x2000183c __heap_load_end__ = __heap_end__
|
||||
0x00000001 . = ASSERT (((__heap_end__ >= __RAM_segment_start__) && (__heap_end__ <= __RAM_segment_end__)), error: .heap is too large to fit in RAM memory segment)
|
||||
0x20001840 __stack_load_start__ = ALIGN (__heap_end__, 0x4)
|
||||
0x2000183c __stack_load_start__ = ALIGN (__heap_end__, 0x4)
|
||||
|
||||
.stack 0x20001840 0x800
|
||||
0x20001840 __stack_start__ = .
|
||||
.stack 0x2000183c 0x800
|
||||
0x2000183c __stack_start__ = .
|
||||
*(.stack .stack.*)
|
||||
0x20002040 . = ALIGN (MAX ((__stack_start__ + __STACKSIZE__), .), 0x4)
|
||||
*fill* 0x20001840 0x800 00
|
||||
0x20002040 __stack_end__ = (__stack_start__ + SIZEOF (.stack))
|
||||
0x20002040 __stack_load_end__ = __stack_end__
|
||||
0x2000203c . = ALIGN (MAX ((__stack_start__ + __STACKSIZE__), .), 0x4)
|
||||
*fill* 0x2000183c 0x800 00
|
||||
0x2000203c __stack_end__ = (__stack_start__ + SIZEOF (.stack))
|
||||
0x2000203c __stack_load_end__ = __stack_end__
|
||||
0x00000001 . = ASSERT (((__stack_end__ >= __RAM_segment_start__) && (__stack_end__ <= __RAM_segment_end__)), error: .stack is too large to fit in RAM memory segment)
|
||||
0x20002040 __stack_process_load_start__ = ALIGN (__stack_end__, 0x4)
|
||||
0x2000203c __stack_process_load_start__ = ALIGN (__stack_end__, 0x4)
|
||||
|
||||
.stack_process 0x20002040 0x0
|
||||
0x20002040 __stack_process_start__ = .
|
||||
.stack_process 0x2000203c 0x0
|
||||
0x2000203c __stack_process_start__ = .
|
||||
*(.stack_process .stack_process.*)
|
||||
0x20002040 . = ALIGN (MAX ((__stack_process_start__ + __STACKSIZE_PROCESS__), .), 0x4)
|
||||
0x20002040 __stack_process_end__ = (__stack_process_start__ + SIZEOF (.stack_process))
|
||||
0x20002040 __stack_process_load_end__ = __stack_process_end__
|
||||
0x2000203c . = ALIGN (MAX ((__stack_process_start__ + __STACKSIZE_PROCESS__), .), 0x4)
|
||||
0x2000203c __stack_process_end__ = (__stack_process_start__ + SIZEOF (.stack_process))
|
||||
0x2000203c __stack_process_load_end__ = __stack_process_end__
|
||||
0x00000001 . = 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)
|
||||
0x20002040 __tbss_load_start__ = ALIGN (__stack_process_end__, 0x4)
|
||||
0x2000203c __tbss_load_start__ = ALIGN (__stack_process_end__, 0x4)
|
||||
|
||||
.tbss 0x20002040 0x0
|
||||
0x20002040 __tbss_start__ = .
|
||||
.tbss 0x2000203c 0x0
|
||||
0x2000203c __tbss_start__ = .
|
||||
*(.tbss .tbss.*)
|
||||
0x20002040 __tbss_end__ = (__tbss_start__ + SIZEOF (.tbss))
|
||||
0x20002040 __tbss_load_end__ = __tbss_end__
|
||||
0x2000203c __tbss_end__ = (__tbss_start__ + SIZEOF (.tbss))
|
||||
0x2000203c __tbss_load_end__ = __tbss_end__
|
||||
0x00000001 . = ASSERT (((__tbss_end__ >= __RAM_segment_start__) && (__tbss_end__ <= __RAM_segment_end__)), error: .tbss is too large to fit in RAM memory segment)
|
||||
0x08006fec __tdata_load_start__ = ALIGN ((__data_load_start__ + SIZEOF (.data)), 0x4)
|
||||
0x08007010 __tdata_load_start__ = ALIGN ((__data_load_start__ + SIZEOF (.data)), 0x4)
|
||||
|
||||
.tdata 0x20002040 0x0 load address 0x08006fec
|
||||
0x20002040 __tdata_start__ = .
|
||||
.tdata 0x2000203c 0x0 load address 0x08007010
|
||||
0x2000203c __tdata_start__ = .
|
||||
*(.tdata .tdata.*)
|
||||
0x20002040 __tdata_end__ = (__tdata_start__ + SIZEOF (.tdata))
|
||||
0x08006fec __tdata_load_end__ = (__tdata_load_start__ + SIZEOF (.tdata))
|
||||
0x08006fec __FLASH_segment_used_end__ = (ALIGN ((__data_load_start__ + SIZEOF (.data)), 0x4) + SIZEOF (.tdata))
|
||||
0x2000203c __tdata_end__ = (__tdata_start__ + SIZEOF (.tdata))
|
||||
0x08007010 __tdata_load_end__ = (__tdata_load_start__ + SIZEOF (.tdata))
|
||||
0x08007010 __FLASH_segment_used_end__ = (ALIGN ((__data_load_start__ + SIZEOF (.data)), 0x4) + SIZEOF (.tdata))
|
||||
0x00000001 . = 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 0x20002040 0x0
|
||||
0x20002040 __tdata_run_start__ = .
|
||||
0x20002040 . = MAX ((__tdata_run_start__ + SIZEOF (.tdata)), .)
|
||||
0x20002040 __tdata_run_end__ = (__tdata_run_start__ + SIZEOF (.tdata_run))
|
||||
0x20002040 __tdata_run_load_end__ = __tdata_run_end__
|
||||
0x20002040 __RAM_segment_used_end__ = (ALIGN (__tbss_end__, 0x4) + SIZEOF (.tdata_run))
|
||||
.tdata_run 0x2000203c 0x0
|
||||
0x2000203c __tdata_run_start__ = .
|
||||
0x2000203c . = MAX ((__tdata_run_start__ + SIZEOF (.tdata)), .)
|
||||
0x2000203c __tdata_run_end__ = (__tdata_run_start__ + SIZEOF (.tdata_run))
|
||||
0x2000203c __tdata_run_load_end__ = __tdata_run_end__
|
||||
0x2000203c __RAM_segment_used_end__ = (ALIGN (__tbss_end__, 0x4) + SIZEOF (.tdata_run))
|
||||
0x00000001 . = 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)
|
||||
START GROUP
|
||||
LOAD THUMB Debug/../../obj/mmc.o
|
||||
|
@ -3277,6 +3295,7 @@ LOAD THUMB Debug/../../obj/flash.o
|
|||
LOAD THUMB Debug/../../obj/nvm.o
|
||||
LOAD THUMB Debug/../../obj/timer.o
|
||||
LOAD THUMB Debug/../../obj/uart.o
|
||||
LOAD THUMB Debug/../../obj/can.o
|
||||
LOAD THUMB Debug/../../obj/assert.o
|
||||
LOAD THUMB Debug/../../obj/backdoor.o
|
||||
LOAD THUMB Debug/../../obj/boot.o
|
||||
|
@ -3296,7 +3315,7 @@ LOAD C:/Program Files (x86)/Rowley Associates Limited/CrossWorks for ARM 2.3/lib
|
|||
END GROUP
|
||||
OUTPUT(C:/Work/software/OpenBLT/Target/Demo/ARMCM4_STM32_Olimex_STM32E407_Crossworks/Boot/ide/../bin/openbtl_olimex_stm32e407.elf elf32-littlearm)
|
||||
|
||||
.debug_frame 0x00000000 0x3b20
|
||||
.debug_frame 0x00000000 0x3b54
|
||||
.debug_frame 0x00000000 0x4e0 THUMB Debug/../../obj/mmc.o
|
||||
.debug_frame 0x000004e0 0x38 THUMB Debug/../../obj/system_stm32f4xx.o
|
||||
.debug_frame 0x00000518 0x2c8 THUMB Debug/../../obj/stm32f4xx_flash.o
|
||||
|
@ -3320,13 +3339,13 @@ OUTPUT(C:/Work/software/OpenBLT/Target/Demo/ARMCM4_STM32_Olimex_STM32E407_Crossw
|
|||
.debug_frame 0x00001698 0x80 THUMB Debug/../../obj/xcp.o
|
||||
.debug_frame 0x00001718 0x688 THUMB Debug/../../obj/ff.o
|
||||
.debug_frame 0x00001da0 0x30 THUMB Debug/../../obj/unicode.o
|
||||
.debug_frame 0x00001dd0 0x120 THUMB Debug/../../obj/file.o
|
||||
.debug_frame 0x00001ef0 0x12e0 C:/Program Files (x86)/Rowley Associates Limited/CrossWorks for ARM 2.3/lib/libc_v7em_t_le_eabi.a(libc2.o)
|
||||
.debug_frame 0x000031d0 0x120 C:/Program Files (x86)/Rowley Associates Limited/CrossWorks for ARM 2.3/lib/libc_v7em_t_le_eabi.a(libc2_asm.o)
|
||||
.debug_frame 0x000032f0 0x790 C:/Program Files (x86)/Rowley Associates Limited/CrossWorks for ARM 2.3/lib/libdebugio_v7em_t_le_eabi.a(libdebugio.o)
|
||||
.debug_frame 0x00003a80 0xa0 C:/Program Files (x86)/Rowley Associates Limited/CrossWorks for ARM 2.3/lib/libc_user_libc_v7em_t_le_eabi.a(user_libc.o)
|
||||
.debug_frame 0x00001dd0 0x154 THUMB Debug/../../obj/file.o
|
||||
.debug_frame 0x00001f24 0x12e0 C:/Program Files (x86)/Rowley Associates Limited/CrossWorks for ARM 2.3/lib/libc_v7em_t_le_eabi.a(libc2.o)
|
||||
.debug_frame 0x00003204 0x120 C:/Program Files (x86)/Rowley Associates Limited/CrossWorks for ARM 2.3/lib/libc_v7em_t_le_eabi.a(libc2_asm.o)
|
||||
.debug_frame 0x00003324 0x790 C:/Program Files (x86)/Rowley Associates Limited/CrossWorks for ARM 2.3/lib/libdebugio_v7em_t_le_eabi.a(libdebugio.o)
|
||||
.debug_frame 0x00003ab4 0xa0 C:/Program Files (x86)/Rowley Associates Limited/CrossWorks for ARM 2.3/lib/libc_user_libc_v7em_t_le_eabi.a(user_libc.o)
|
||||
|
||||
.debug_info 0x00000000 0x1000f
|
||||
.debug_info 0x00000000 0x10008
|
||||
.debug_info 0x00000000 0x35cb THUMB Debug/../../obj/mmc.o
|
||||
.debug_info 0x000035cb 0x61d THUMB Debug/../../obj/system_stm32f4xx.o
|
||||
.debug_info 0x00003be8 0x8a0 THUMB Debug/../../obj/stm32f4xx_flash.o
|
||||
|
@ -3351,12 +3370,12 @@ OUTPUT(C:/Work/software/OpenBLT/Target/Demo/ARMCM4_STM32_Olimex_STM32E407_Crossw
|
|||
.debug_info 0x00009ba6 0x83a THUMB Debug/../../obj/xcp.o
|
||||
.debug_info 0x0000a3e0 0x3562 THUMB Debug/../../obj/ff.o
|
||||
.debug_info 0x0000d942 0x169 THUMB Debug/../../obj/unicode.o
|
||||
.debug_info 0x0000daab 0x122d THUMB Debug/../../obj/file.o
|
||||
.debug_info 0x0000ecd8 0xd02 C:/Program Files (x86)/Rowley Associates Limited/CrossWorks for ARM 2.3/lib/libc_v7em_t_le_eabi.a(libc2.o)
|
||||
.debug_info 0x0000f9da 0x55f C:/Program Files (x86)/Rowley Associates Limited/CrossWorks for ARM 2.3/lib/libdebugio_v7em_t_le_eabi.a(libdebugio.o)
|
||||
.debug_info 0x0000ff39 0xd6 C:/Program Files (x86)/Rowley Associates Limited/CrossWorks for ARM 2.3/lib/libc_user_libc_v7em_t_le_eabi.a(user_libc.o)
|
||||
.debug_info 0x0000daab 0x1226 THUMB Debug/../../obj/file.o
|
||||
.debug_info 0x0000ecd1 0xd02 C:/Program Files (x86)/Rowley Associates Limited/CrossWorks for ARM 2.3/lib/libc_v7em_t_le_eabi.a(libc2.o)
|
||||
.debug_info 0x0000f9d3 0x55f C:/Program Files (x86)/Rowley Associates Limited/CrossWorks for ARM 2.3/lib/libdebugio_v7em_t_le_eabi.a(libdebugio.o)
|
||||
.debug_info 0x0000ff32 0xd6 C:/Program Files (x86)/Rowley Associates Limited/CrossWorks for ARM 2.3/lib/libc_user_libc_v7em_t_le_eabi.a(user_libc.o)
|
||||
|
||||
.debug_abbrev 0x00000000 0x27e3
|
||||
.debug_abbrev 0x00000000 0x2799
|
||||
.debug_abbrev 0x00000000 0x370 THUMB Debug/../../obj/mmc.o
|
||||
.debug_abbrev 0x00000370 0x158 THUMB Debug/../../obj/system_stm32f4xx.o
|
||||
.debug_abbrev 0x000004c8 0x1a9 THUMB Debug/../../obj/stm32f4xx_flash.o
|
||||
|
@ -3381,12 +3400,12 @@ OUTPUT(C:/Work/software/OpenBLT/Target/Demo/ARMCM4_STM32_Olimex_STM32E407_Crossw
|
|||
.debug_abbrev 0x00001e2a 0x24d THUMB Debug/../../obj/xcp.o
|
||||
.debug_abbrev 0x00002077 0x337 THUMB Debug/../../obj/ff.o
|
||||
.debug_abbrev 0x000023ae 0xa8 THUMB Debug/../../obj/unicode.o
|
||||
.debug_abbrev 0x00002456 0x25c THUMB Debug/../../obj/file.o
|
||||
.debug_abbrev 0x000026b2 0xcb C:/Program Files (x86)/Rowley Associates Limited/CrossWorks for ARM 2.3/lib/libc_v7em_t_le_eabi.a(libc2.o)
|
||||
.debug_abbrev 0x0000277d 0x3e C:/Program Files (x86)/Rowley Associates Limited/CrossWorks for ARM 2.3/lib/libdebugio_v7em_t_le_eabi.a(libdebugio.o)
|
||||
.debug_abbrev 0x000027bb 0x28 C:/Program Files (x86)/Rowley Associates Limited/CrossWorks for ARM 2.3/lib/libc_user_libc_v7em_t_le_eabi.a(user_libc.o)
|
||||
.debug_abbrev 0x00002456 0x212 THUMB Debug/../../obj/file.o
|
||||
.debug_abbrev 0x00002668 0xcb C:/Program Files (x86)/Rowley Associates Limited/CrossWorks for ARM 2.3/lib/libc_v7em_t_le_eabi.a(libc2.o)
|
||||
.debug_abbrev 0x00002733 0x3e C:/Program Files (x86)/Rowley Associates Limited/CrossWorks for ARM 2.3/lib/libdebugio_v7em_t_le_eabi.a(libdebugio.o)
|
||||
.debug_abbrev 0x00002771 0x28 C:/Program Files (x86)/Rowley Associates Limited/CrossWorks for ARM 2.3/lib/libc_user_libc_v7em_t_le_eabi.a(user_libc.o)
|
||||
|
||||
.debug_loc 0x00000000 0xeb2d
|
||||
.debug_loc 0x00000000 0xeb43
|
||||
.debug_loc 0x00000000 0x2289 THUMB Debug/../../obj/mmc.o
|
||||
.debug_loc 0x00002289 0x1a7 THUMB Debug/../../obj/system_stm32f4xx.o
|
||||
.debug_loc 0x00002430 0x83a THUMB Debug/../../obj/stm32f4xx_flash.o
|
||||
|
@ -3409,11 +3428,11 @@ OUTPUT(C:/Work/software/OpenBLT/Target/Demo/ARMCM4_STM32_Olimex_STM32E407_Crossw
|
|||
.debug_loc 0x00005c84 0x248 THUMB Debug/../../obj/xcp.o
|
||||
.debug_loc 0x00005ecc 0x68fe THUMB Debug/../../obj/ff.o
|
||||
.debug_loc 0x0000c7ca 0x179 THUMB Debug/../../obj/unicode.o
|
||||
.debug_loc 0x0000c943 0x964 THUMB Debug/../../obj/file.o
|
||||
.debug_loc 0x0000d2a7 0x1092 C:/Program Files (x86)/Rowley Associates Limited/CrossWorks for ARM 2.3/lib/libc_v7em_t_le_eabi.a(libc2.o)
|
||||
.debug_loc 0x0000e339 0x7f4 C:/Program Files (x86)/Rowley Associates Limited/CrossWorks for ARM 2.3/lib/libdebugio_v7em_t_le_eabi.a(libdebugio.o)
|
||||
.debug_loc 0x0000c943 0x97a THUMB Debug/../../obj/file.o
|
||||
.debug_loc 0x0000d2bd 0x1092 C:/Program Files (x86)/Rowley Associates Limited/CrossWorks for ARM 2.3/lib/libc_v7em_t_le_eabi.a(libc2.o)
|
||||
.debug_loc 0x0000e34f 0x7f4 C:/Program Files (x86)/Rowley Associates Limited/CrossWorks for ARM 2.3/lib/libdebugio_v7em_t_le_eabi.a(libdebugio.o)
|
||||
|
||||
.debug_aranges 0x00000000 0x1360
|
||||
.debug_aranges 0x00000000 0x1370
|
||||
.debug_aranges
|
||||
0x00000000 0x140 THUMB Debug/../../obj/mmc.o
|
||||
.debug_aranges
|
||||
|
@ -3463,15 +3482,15 @@ OUTPUT(C:/Work/software/OpenBLT/Target/Demo/ARMCM4_STM32_Olimex_STM32E407_Crossw
|
|||
.debug_aranges
|
||||
0x00000b58 0x28 THUMB Debug/../../obj/unicode.o
|
||||
.debug_aranges
|
||||
0x00000b80 0x60 THUMB Debug/../../obj/file.o
|
||||
0x00000b80 0x70 THUMB Debug/../../obj/file.o
|
||||
.debug_aranges
|
||||
0x00000be0 0x508 C:/Program Files (x86)/Rowley Associates Limited/CrossWorks for ARM 2.3/lib/libc_v7em_t_le_eabi.a(libc2.o)
|
||||
0x00000bf0 0x508 C:/Program Files (x86)/Rowley Associates Limited/CrossWorks for ARM 2.3/lib/libc_v7em_t_le_eabi.a(libc2.o)
|
||||
.debug_aranges
|
||||
0x000010e8 0x218 C:/Program Files (x86)/Rowley Associates Limited/CrossWorks for ARM 2.3/lib/libdebugio_v7em_t_le_eabi.a(libdebugio.o)
|
||||
0x000010f8 0x218 C:/Program Files (x86)/Rowley Associates Limited/CrossWorks for ARM 2.3/lib/libdebugio_v7em_t_le_eabi.a(libdebugio.o)
|
||||
.debug_aranges
|
||||
0x00001300 0x60 C:/Program Files (x86)/Rowley Associates Limited/CrossWorks for ARM 2.3/lib/libc_user_libc_v7em_t_le_eabi.a(user_libc.o)
|
||||
0x00001310 0x60 C:/Program Files (x86)/Rowley Associates Limited/CrossWorks for ARM 2.3/lib/libc_user_libc_v7em_t_le_eabi.a(user_libc.o)
|
||||
|
||||
.debug_ranges 0x00000000 0x1468
|
||||
.debug_ranges 0x00000000 0x1420
|
||||
.debug_ranges 0x00000000 0x1f0 THUMB Debug/../../obj/mmc.o
|
||||
.debug_ranges 0x000001f0 0x18 THUMB Debug/../../obj/system_stm32f4xx.o
|
||||
.debug_ranges 0x00000208 0x108 THUMB Debug/../../obj/stm32f4xx_flash.o
|
||||
|
@ -3495,12 +3514,12 @@ OUTPUT(C:/Work/software/OpenBLT/Target/Demo/ARMCM4_STM32_Olimex_STM32E407_Crossw
|
|||
.debug_ranges 0x00000910 0x80 THUMB Debug/../../obj/xcp.o
|
||||
.debug_ranges 0x00000990 0x2c8 THUMB Debug/../../obj/ff.o
|
||||
.debug_ranges 0x00000c58 0x18 THUMB Debug/../../obj/unicode.o
|
||||
.debug_ranges 0x00000c70 0xa8 THUMB Debug/../../obj/file.o
|
||||
.debug_ranges 0x00000d18 0x4f8 C:/Program Files (x86)/Rowley Associates Limited/CrossWorks for ARM 2.3/lib/libc_v7em_t_le_eabi.a(libc2.o)
|
||||
.debug_ranges 0x00001210 0x208 C:/Program Files (x86)/Rowley Associates Limited/CrossWorks for ARM 2.3/lib/libdebugio_v7em_t_le_eabi.a(libdebugio.o)
|
||||
.debug_ranges 0x00001418 0x50 C:/Program Files (x86)/Rowley Associates Limited/CrossWorks for ARM 2.3/lib/libc_user_libc_v7em_t_le_eabi.a(user_libc.o)
|
||||
.debug_ranges 0x00000c70 0x60 THUMB Debug/../../obj/file.o
|
||||
.debug_ranges 0x00000cd0 0x4f8 C:/Program Files (x86)/Rowley Associates Limited/CrossWorks for ARM 2.3/lib/libc_v7em_t_le_eabi.a(libc2.o)
|
||||
.debug_ranges 0x000011c8 0x208 C:/Program Files (x86)/Rowley Associates Limited/CrossWorks for ARM 2.3/lib/libdebugio_v7em_t_le_eabi.a(libdebugio.o)
|
||||
.debug_ranges 0x000013d0 0x50 C:/Program Files (x86)/Rowley Associates Limited/CrossWorks for ARM 2.3/lib/libc_user_libc_v7em_t_le_eabi.a(user_libc.o)
|
||||
|
||||
.debug_line 0x00000000 0x5e02
|
||||
.debug_line 0x00000000 0x5e4c
|
||||
.debug_line 0x00000000 0xb4f THUMB Debug/../../obj/mmc.o
|
||||
.debug_line 0x00000b4f 0x21c THUMB Debug/../../obj/system_stm32f4xx.o
|
||||
.debug_line 0x00000d6b 0x49f THUMB Debug/../../obj/stm32f4xx_flash.o
|
||||
|
@ -3525,12 +3544,12 @@ OUTPUT(C:/Work/software/OpenBLT/Target/Demo/ARMCM4_STM32_Olimex_STM32E407_Crossw
|
|||
.debug_line 0x00003bcf 0x1fd THUMB Debug/../../obj/xcp.o
|
||||
.debug_line 0x00003dcc 0xfb9 THUMB Debug/../../obj/ff.o
|
||||
.debug_line 0x00004d85 0x185 THUMB Debug/../../obj/unicode.o
|
||||
.debug_line 0x00004f0a 0x381 THUMB Debug/../../obj/file.o
|
||||
.debug_line 0x0000528b 0x5b3 C:/Program Files (x86)/Rowley Associates Limited/CrossWorks for ARM 2.3/lib/libc_v7em_t_le_eabi.a(libc2.o)
|
||||
.debug_line 0x0000583e 0x550 C:/Program Files (x86)/Rowley Associates Limited/CrossWorks for ARM 2.3/lib/libdebugio_v7em_t_le_eabi.a(libdebugio.o)
|
||||
.debug_line 0x00005d8e 0x74 C:/Program Files (x86)/Rowley Associates Limited/CrossWorks for ARM 2.3/lib/libc_user_libc_v7em_t_le_eabi.a(user_libc.o)
|
||||
.debug_line 0x00004f0a 0x3cb THUMB Debug/../../obj/file.o
|
||||
.debug_line 0x000052d5 0x5b3 C:/Program Files (x86)/Rowley Associates Limited/CrossWorks for ARM 2.3/lib/libc_v7em_t_le_eabi.a(libc2.o)
|
||||
.debug_line 0x00005888 0x550 C:/Program Files (x86)/Rowley Associates Limited/CrossWorks for ARM 2.3/lib/libdebugio_v7em_t_le_eabi.a(libdebugio.o)
|
||||
.debug_line 0x00005dd8 0x74 C:/Program Files (x86)/Rowley Associates Limited/CrossWorks for ARM 2.3/lib/libc_user_libc_v7em_t_le_eabi.a(user_libc.o)
|
||||
|
||||
.debug_str 0x00000000 0x4a49
|
||||
.debug_str 0x00000000 0x4a55
|
||||
.debug_str 0x00000000 0x1460 THUMB Debug/../../obj/mmc.o
|
||||
0x1526 (size before relaxing)
|
||||
.debug_str 0x00001460 0x276 THUMB Debug/../../obj/system_stm32f4xx.o
|
||||
|
@ -3577,13 +3596,13 @@ OUTPUT(C:/Work/software/OpenBLT/Target/Demo/ARMCM4_STM32_Olimex_STM32E407_Crossw
|
|||
0x74c (size before relaxing)
|
||||
.debug_str 0x00003cc4 0x99 THUMB Debug/../../obj/unicode.o
|
||||
0x165 (size before relaxing)
|
||||
.debug_str 0x00003d5d 0x2f8 THUMB Debug/../../obj/file.o
|
||||
0x7dd (size before relaxing)
|
||||
.debug_str 0x00004055 0x56f C:/Program Files (x86)/Rowley Associates Limited/CrossWorks for ARM 2.3/lib/libc_v7em_t_le_eabi.a(libc2.o)
|
||||
.debug_str 0x00003d5d 0x304 THUMB Debug/../../obj/file.o
|
||||
0x7e9 (size before relaxing)
|
||||
.debug_str 0x00004061 0x56f C:/Program Files (x86)/Rowley Associates Limited/CrossWorks for ARM 2.3/lib/libc_v7em_t_le_eabi.a(libc2.o)
|
||||
0x655 (size before relaxing)
|
||||
.debug_str 0x000045c4 0x3b3 C:/Program Files (x86)/Rowley Associates Limited/CrossWorks for ARM 2.3/lib/libdebugio_v7em_t_le_eabi.a(libdebugio.o)
|
||||
.debug_str 0x000045d0 0x3b3 C:/Program Files (x86)/Rowley Associates Limited/CrossWorks for ARM 2.3/lib/libdebugio_v7em_t_le_eabi.a(libdebugio.o)
|
||||
0x3fc (size before relaxing)
|
||||
.debug_str 0x00004977 0xd2 C:/Program Files (x86)/Rowley Associates Limited/CrossWorks for ARM 2.3/lib/libc_user_libc_v7em_t_le_eabi.a(user_libc.o)
|
||||
.debug_str 0x00004983 0xd2 C:/Program Files (x86)/Rowley Associates Limited/CrossWorks for ARM 2.3/lib/libc_user_libc_v7em_t_le_eabi.a(user_libc.o)
|
||||
0x11b (size before relaxing)
|
||||
|
||||
.comment 0x00000000 0x4e
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
S02B0000433A2F576F726B2F736F6674776172652F4F70656E424C542F5461726765742F44656D6F2F41524DEF
|
||||
S315080000004020002017020008D1220008D12200084B
|
||||
S315080000003C20002017020008D1220008D12200084F
|
||||
S31508000010D1220008D1220008D1220008D1220008E6
|
||||
S31508000020D1220008D1220008D1220008D1220008D6
|
||||
S31508000030D1220008D1220008D1220008D1220008C6
|
||||
|
@ -44,12 +44,12 @@ S3150800028803BCF7E700208646EC4600200021234AEF
|
|||
S315080002989047FEE7884207D0521A05D003780130FE
|
||||
S315080002A80B700131013AF9D17047884202D00270C1
|
||||
S315080002B80130FAE77047000008ED00E00000000882
|
||||
S315080002C840200020D46F00080000002018000020F5
|
||||
S315080002D8280300082803000868660008D46F000881
|
||||
S315080002E8000000200000002068660008686600080C
|
||||
S315080002F86866000868660008686600086866000890
|
||||
S315080003086866000868660008D46F000818000020A8
|
||||
S315080003184010002040100020401800204522000800
|
||||
S315080002C83C200020F86F00080000002018000020D5
|
||||
S315080002D828030008280300088C660008F86F000839
|
||||
S315080002E800000020000000208C6600088C660008C4
|
||||
S315080002F88C6600088C6600088C6600088C66000800
|
||||
S315080003088C6600088C660008F86F0008180000203C
|
||||
S315080003183C1000203C1000203C180020452200080C
|
||||
S3150800032808B54FF43053C4F20103586B10F0450F63
|
||||
S3150800033807D14FF43052C4F20102506B10F0450F42
|
||||
S31508000348FBD010F0040F06D04FF0040001F01EFE93
|
||||
|
@ -376,13 +376,13 @@ S3150800174840F20402C2F20002107808BD2DE9B0433F
|
|||
S31508001758ADF5027D88461746C8B120E04FF0000966
|
||||
S315080017684FF40075E219009502A84FEA42224B4643
|
||||
S31508001778FFF71AFDB0B9FFF7A3FF0128FBD008EB5E
|
||||
S31508001788442002A92A4604F025FF8CB90DE003F186
|
||||
S31508001788442002A92A4604F037FF8CB90DE003F174
|
||||
S31508001798FF34E4B2002BE1D14FF001000CE04FF022
|
||||
S315080017A8010009E04FF0010006E04FF0000003E0F1
|
||||
S315080017B804F1FF30C4B2D5E70DF5027DBDE8B08364
|
||||
S315080017C82DE9F043ADF5037D0F469046E8B124E0D0
|
||||
S315080017D84FF400754FF0000902A807EB44212A4682
|
||||
S315080017E804F0F8FE04EB0802009502A84FEA422224
|
||||
S315080017E804F00AFF04EB0802009502A84FEA422211
|
||||
S315080017F84B46FFF7F3FD064608B1052810D1FFF753
|
||||
S315080018085FFF0128FBD08CB90DE003F1FF34E4B281
|
||||
S31508001818002BDDD14FF001000CE04FF0010009E084
|
||||
|
@ -527,18 +527,18 @@ S315080020B823F400514FEA01424FEA124383817047DD
|
|||
S315080020C84FEAC1514FEAD1528280704780884FEA59
|
||||
S315080020D8C0514FEAD1507047038819420CBF0020F7
|
||||
S315080020E80120704700B589B04FF0000300930193AB
|
||||
S315080020F802930393049305930693079346F268603D
|
||||
S315080020F802930393049305930693079346F28C6019
|
||||
S31508002108C0F60000694603F0BFFC40B9009848B11C
|
||||
S315080021189DF8081081F01002C2F3001004E04FF091
|
||||
S31508002128000001E04FF0000009B000BD46F2686003
|
||||
S31508002128000001E04FF0000009B000BD46F28C60DF
|
||||
S31508002138C0F60000704700BF08B540F2E800C2F2D2
|
||||
S3150800214800004FF0000380F8243246F28861C0F692
|
||||
S3150800214800004FF0000380F8243246F2AC61C0F66E
|
||||
S3150800215800014FF00A0203F09BF838B940F2E8008C
|
||||
S31508002168C2F200004FF0010280F8242208BD00BF21
|
||||
S3150800217838B540F2E803C2F2000393F824020128AE
|
||||
S3150800218805D140F2E800C2F2000003F093FB4FF4D1
|
||||
S31508002198A054C4F201044FF0400520462946FFF72B
|
||||
S315080021A89BFF0028F9D046F26860C0F6000003F0E5
|
||||
S315080021A89BFF0028F9D046F28C60C0F6000003F0C1
|
||||
S315080021B893FC38BD08B540F2E803C2F2000393F869
|
||||
S315080021C82402012805D140F2E800C2F2000003F013
|
||||
S315080021D871FB08BD70B5064640F2E803C2F2000373
|
||||
|
@ -556,7 +556,7 @@ S315080022882BFD4FF000038DF806304FF001008DF84E
|
|||
S3150800229807004FF002058DF804504FF040010091F1
|
||||
S315080022A88DF8055020466946FFF760FC8DF80450FE
|
||||
S315080022B84FF08002009220466946FFF757FC00F067
|
||||
S315080022C85DFD00F069FDFCE708B546F29860C0F6C2
|
||||
S315080022C85DFD00F069FDFCE708B546F2BC60C0F69E
|
||||
S315080022D800004FF03D0100F009FD08BD08B500F003
|
||||
S315080022E891FB80B100F08EFD00F09AFB4EF608537C
|
||||
S315080022F8CEF200034FF400421A6048F20400C0F612
|
||||
|
@ -588,7 +588,7 @@ S31508002488B4F1016F38BF09211AD326E04FF00001CD
|
|||
S3150800249816E04FF0010113E04FF0020110E04FF08B
|
||||
S315080024A803010DE04FF004010AE04FF0050107E0CB
|
||||
S315080024B84FF0060104E04FF0070101E04FF008016C
|
||||
S315080024C801EB410346F25472C0F6000202EB8300A0
|
||||
S315080024C801EB410346F27872C0F6000202EB83007C
|
||||
S315080024D8007A10BD4FF0FF0010BD4FF0FF0010BD89
|
||||
S315080024E82DE9F04105460068FFF742FFFF283BD073
|
||||
S315080024F8FFF776FA4FF0F300FFF792FAFFF796FA26
|
||||
|
@ -640,7 +640,7 @@ S315080027C8FFF7D6FD054606F1FF300019FFF7D0FDDD
|
|||
S315080027D80446FF2D59D0FF285BD0854249D8012DDC
|
||||
S315080027E84BD90B284DD8FFF7FBF84FF0F300FFF746
|
||||
S315080027F817F9FFF71BF9012805D1FFF707F94FF075
|
||||
S315080028080000BDE8F08146F22476C0F600064FF0CF
|
||||
S315080028080000BDE8F08146F24876C0F600064FF0AB
|
||||
S315080028180207631B03F0010800F00CFB36F81500E5
|
||||
S315080028283946FFF76BF9082837D008E000F002FBAD
|
||||
S3150800283836F815003946FFF761F9082805D0FFF775
|
||||
|
@ -694,10 +694,10 @@ S31508002B280000ADF80400ADF80600ADF80800ADF8E9
|
|||
S31508002B380C004FF00C01ADF80A104FF4A054C4F27B
|
||||
S31508002B48010420466946FFF727FA20464FF0010197
|
||||
S31508002B58FFF7A6FA04B010BD2DE9F84305460C465A
|
||||
S31508002B68402907D946F2CC70C0F600004FF0760126
|
||||
S31508002B68402907D946F2F070C0F600004FF0760102
|
||||
S31508002B7800F0BCF82046FFF7A9FF012807D046F25F
|
||||
S31508002B88CC70C0F600004FF0790100F0AFF8264681
|
||||
S31508002B9844B346F2CC77C0F600074FF081084FF0E9
|
||||
S31508002B88F070C0F600004FF0790100F0AFF826465D
|
||||
S31508002B9844B346F2F077C0F600074FF081084FF0C5
|
||||
S31508002BA8000406F1FF3303F0010900F043F9285D34
|
||||
S31508002BB8FFF78CFF012817D11AE000F03BF9285DCA
|
||||
S31508002BC8FFF784FF012803D03846414600F08EF8FF
|
||||
|
@ -708,51 +708,51 @@ S31508002C0800F018F9285DFFF761FF012803D0384658
|
|||
S31508002C18414600F06BF804F10104A1B2B142CCD3E5
|
||||
S31508002C28BDE8F8833846414600F060F804F1010427
|
||||
S31508002C38A2B2B242C1D3BDE8F88300BF10B50446B4
|
||||
S31508002C4840F21C73C2F200031878B0B940F220703B
|
||||
S31508002C58C2F20000FFF720FF01283CD140F21C739E
|
||||
S31508002C4840F26173C2F200031878B0B940F21C70FA
|
||||
S31508002C58C2F20000FFF720FF01283CD140F2617359
|
||||
S31508002C68C2F200034FF0010018704FF0000040F25E
|
||||
S31508002C786471C2F20001087010BD40F26471C2F2B4
|
||||
S31508002C8800010A7802F1010240F22073C2F2000339
|
||||
S31508002C989818FFF701FF012820D140F26470C2F2A4
|
||||
S31508002CA80000017801F10101CAB2027040F22073EE
|
||||
S31508002C786071C2F20001087010BD40F26071C2F2BC
|
||||
S31508002C8800010A7802F1010240F21C73C2F200033D
|
||||
S31508002C989818FFF701FF012820D140F26070C2F2A8
|
||||
S31508002CA80000017801F10101CAB2027040F21C73F2
|
||||
S31508002CB8C2F200031878904213D120460A49FFF752
|
||||
S31508002CC823FB40F21C71C2F200014FF000020A70A1
|
||||
S31508002CC823FB40F26171C2F200014FF000020A705C
|
||||
S31508002CD84FF0010010BD4FF0000010BD4FF0000086
|
||||
S31508002CE810BD4FF0000010BD2107002008B540F2BE
|
||||
S31508002CF86873C2F20003186040F26C70C2F20000F2
|
||||
S31508002CE810BD4FF0000010BD1D07002008B540F2C2
|
||||
S31508002CF86473C2F20003186040F26870C2F20000FA
|
||||
S31508002D08016000F097F8FCE708B500F08DF801288F
|
||||
S31508002D1820D003F0CDF9E8B140F27073C2F200038F
|
||||
S31508002D281878012816D1FFF7ADFE40F27471C2F281
|
||||
S31508002D3800010A6802F1320290420BD340F270731E
|
||||
S31508002D48C2F200034FF00000187003F0BBF908B987
|
||||
S31508002D58FFF7C4FA08BD00BF08B540F27073C2F29F
|
||||
S31508002D6800034FF001021A70FFF78CFE40F27471E7
|
||||
S31508002D1820D003F0A1F8E8B140F26C73C2F20003C0
|
||||
S31508002D281878012816D1FFF7ADFE40F27071C2F285
|
||||
S31508002D3800010A6802F1320290420BD340F26C7322
|
||||
S31508002D48C2F200034FF00000187003F08FF808B9B4
|
||||
S31508002D58FFF7C4FA08BD00BF08B540F26C73C2F2A3
|
||||
S31508002D6800034FF001021A70FFF78CFE40F27071EB
|
||||
S31508002D78C2F200010860FFF7C7FF08BD08B500F0F2
|
||||
S31508002D8857F8FFF755FEFFF731FE03F079F900F01B
|
||||
S31508002D8857F8FFF755FEFFF731FE03F04DF800F048
|
||||
S31508002D980FF8FFF7E1FF08BD08B500F04BF8FFF795
|
||||
S31508002DA85FFE03F0ADF900F01DF8FFF7ADFF08BDAB
|
||||
S31508002DA85FFE03F0BFF900F01DF8FFF7ADFF08BD99
|
||||
S31508002DB800B583B04FF0FF038DF804304FF00000DC
|
||||
S31508002DC88DF8050000F04EF8FFF7A4FE40F278717A
|
||||
S31508002DC88DF8050000F04EF8FFF7A4FE40F274717E
|
||||
S31508002DD8C2F200010A78012A02D101A800F066F8B1
|
||||
S31508002DE803B000BD08B540F27C70C2F20000FFF7D8
|
||||
S31508002DF825FF012805D140F27C70C2F2000000F0D8
|
||||
S31508002DE803B000BD08B540F27870C2F20000FFF7DC
|
||||
S31508002DF825FF012805D140F27870C2F2000000F0DC
|
||||
S31508002E0855F808BD704700BF08B5C9B2FFF7A4FE54
|
||||
S31508002E1800F042F808BD00BF40F27873C2F200031A
|
||||
S31508002E1800F042F808BD00BF40F27473C2F200031E
|
||||
S31508002E284FF001021A70704708B500F02BF808BD74
|
||||
S31508002E38704700BF704700BF40F2BC73C2F2000378
|
||||
S31508002E484FF000025A70704740F2BC73C2F2000392
|
||||
S31508002E38704700BF704700BF40F2B873C2F200037C
|
||||
S31508002E484FF000025A70704740F2B873C2F2000396
|
||||
S31508002E584FF0FE02DA7018714FF00200A3F844002A
|
||||
S31508002E68704700BF40F2BC73C2F200034FF000027D
|
||||
S31508002E68704700BF40F2B873C2F200034FF0000281
|
||||
S31508002E781A709A6483F84320A3F844209A705A7003
|
||||
S31508002E88704700BF40F2BC73C2F2000318780030DE
|
||||
S31508002E9818BF0120704700BF40F2BC73C2F2000396
|
||||
S31508002E88704700BF40F2B873C2F2000318780030E2
|
||||
S31508002E9818BF0120704700BF40F2B873C2F200039A
|
||||
S31508002EA84FF0000283F84320704700BF38B5044640
|
||||
S31508002EB80378FF2B25D103F0FBF820B94FF0100053
|
||||
S31508002EC8FFF7C2FFC7E1FFF7B7FF40F2BC73C2F2CC
|
||||
S31508002EB80378FF2B25D102F0CFFF20B94FF0100079
|
||||
S31508002EC8FFF7C2FFC7E1FFF7B7FF40F2B873C2F2D0
|
||||
S31508002ED800034FF001021A704FF0FF00D8704FF048
|
||||
S31508002EE8100119714FF0000159714FF0400098719F
|
||||
S31508002EF8D87119725A729A724FF00802A3F84420C8
|
||||
S31508002F08A9E140F2BC72C2F200021078012840F02A
|
||||
S31508002F08A9E140F2B872C2F200021078012840F02E
|
||||
S31508002F18BC81A3F1C903352B00F29981DFE813F0C8
|
||||
S31508002F28FD009701970192019701970184011E01F7
|
||||
S31508002F386A0154019701970197019701970197012B
|
||||
|
@ -761,53 +761,53 @@ S31508002F58970197019701970197019701970197019B
|
|||
S31508002F68970197019701970197019701970197018B
|
||||
S31508002F78970197018200540036007400970197015B
|
||||
S31508002F889701B9009701D300D800EC0062783F2A68
|
||||
S31508002F9804D94FF02200FFF757FF5CE140F2BC75F1
|
||||
S31508002F9804D94FF02200FFF757FF5CE140F2B875F5
|
||||
S31508002FA8C2F2000505F10400A96CFFF7ADF94FF068
|
||||
S31508002FB8FF00E8706178AB6CCA18AA64607800F1FB
|
||||
S31508002FC80100A5F8440046E161783F2904D94FF085
|
||||
S31508002FD82200FFF739FF3EE1616840F2BC75C2F28C
|
||||
S31508002FD82200FFF739FF3EE1616840F2B875C2F290
|
||||
S31508002FE80005A96405F104006278FFF78DF94FF02A
|
||||
S31508002FF8FF03EB706278A86C1118A964637803F16B
|
||||
S315080030080103A5F8443026E140F2BC70C2F200007C
|
||||
S315080030080103A5F8443026E140F2B870C2F2000080
|
||||
S315080030184FF0FF01C170636883644FF00102A0F89E
|
||||
S31508003028442018E140F2BC70C2F200004FF0FF02DB
|
||||
S31508003028442018E140F2B870C2F200004FF0FF02DF
|
||||
S31508003038C270836C6468C4B1E4186FEA030108199E
|
||||
S3150800304800F0010213F8011BA34240F01F810EE0AD
|
||||
S315080030581A4612F8010B09185B7853FA81F0C1B2BF
|
||||
S3150800306802F10103A342F3D101E04FF0000140F257
|
||||
S31508003078BC73C2F20003C3F807104FF001021A71B5
|
||||
S31508003078B873C2F20003C3F807104FF001021A71B9
|
||||
S315080030884FF00001597199714FF00800A3F84400F0
|
||||
S31508003098E1E040F2BC70C2F200004FF0FF03C370D3
|
||||
S315080030A846F64C02C0F6000282644FF00001017130
|
||||
S31508003098E1E040F2B870C2F200004FF0FF03C370D7
|
||||
S315080030A846F67002C0F6000282644FF0000101710C
|
||||
S315080030B8417181714FF00703C0F807304FF00802D5
|
||||
S315080030C8A0F84420C7E04FF00000FFF7BDFEC2E0B5
|
||||
S315080030D840F2BC70C2F200004FF0FF01C1704FF019
|
||||
S315080030D840F2B870C2F200004FF0FF01C1704FF01D
|
||||
S315080030E800030371427842718371C37103724FF00A
|
||||
S315080030F80601A0F84410AEE040F2BC74C2F200041F
|
||||
S315080030F80601A0F84410AEE040F2B874C2F2000423
|
||||
S315080031084FF000012170FFF797FE4FF0FF03E370B9
|
||||
S315080031184FF00102A4F844209DE040F2BC73C2F2C5
|
||||
S315080031184FF00102A4F844209DE040F2B873C2F2C9
|
||||
S315080031280003986C4FF03F0104F10102FFF762FCB7
|
||||
S3150800313820B94FF03100FFF787FE8CE040F2BC70EB
|
||||
S3150800313820B94FF03100FFF787FE8CE040F2B870EF
|
||||
S31508003148C2F200004FF0FF01C170826C02F13F0223
|
||||
S3150800315882644FF00103A0F844307CE063783E2B84
|
||||
S3150800316804D94FF02200FFF76FFE74E040F2BC70F6
|
||||
S3150800316804D94FF02200FFF76FFE74E040F2B870FA
|
||||
S31508003178C2F200004FF0FF01C1704FF00102A0F83B
|
||||
S315080031884420617841B9FFF741FC002863D14FF024
|
||||
S315080031983100FFF759FE5EE040F2BC73C2F2000345
|
||||
S315080031983100FFF759FE5EE040F2B873C2F2000349
|
||||
S315080031A8986C04F10202FFF725FC20B94FF03100AC
|
||||
S315080031B8FFF74AFE4FE040F2BC70C2F200006178A1
|
||||
S315080031C8826C8B18836446E040F2BC73C2F2000333
|
||||
S315080031B8FFF74AFE4FE040F2B870C2F200006178A5
|
||||
S315080031C8826C8B18836446E040F2B873C2F2000337
|
||||
S315080031D84FF0FF02DA704FF00000187158714FF07F
|
||||
S315080031E840019971D871187258724FF00702A3F8FE
|
||||
S315080031F8442030E040F2BC73C2F20003986C616860
|
||||
S315080031F8442030E040F2B873C2F20003986C616864
|
||||
S31508003208FFF7FCFB20B94FF03100FFF71DFE22E05F
|
||||
S3150800321840F2BC70C2F200004FF0FF01C1704FF0D7
|
||||
S315080032280102A0F8442016E0FFF79EF840F2BC70A9
|
||||
S3150800321840F2B870C2F200004FF0FF01C1704FF0DB
|
||||
S315080032280102A0F8442016E0FFF79EF840F2B870AD
|
||||
S31508003238C2F200004FF0FF01C1704FF00102A0F87A
|
||||
S31508003248442008E04FF03100FFF7FEFD03E04FF099
|
||||
S315080032582000FFF7F9FD40F2BC73C2F2000393F8A9
|
||||
S315080032582000FFF7F9FD40F2B873C2F2000393F8AD
|
||||
S315080032684310012903D14FF01000FFF7EDFD40F296
|
||||
S31508003278BC73C2F200034FF0010083F8430003F160
|
||||
S31508003278B873C2F200034FF0010083F8430003F164
|
||||
S315080032880300B3F84410FFF7BFFD38BD002A3FF422
|
||||
S31508003298DFAE13F8010B0918C9B2A3427FF4D8AEFA
|
||||
S315080032A8E5E600BF10B4E2B182186FEA0004131904
|
||||
|
@ -852,7 +852,7 @@ S31508003508030010BD4FF0020010BD4FF0000010BDBB
|
|||
S315080035182DE9F041154603681C78A4F13004092CF6
|
||||
S3150800352800F2E5815A783A2A40F0E18103F102036C
|
||||
S3150800353803604FF000030B60002C40F08C8140F6C6
|
||||
S315080035480C24C2F200042468002C00F088810C6060
|
||||
S315080035480824C2F200042468002C00F088810C6064
|
||||
S31508003558217889B16078FEF7DFF810F0010F0BD1F2
|
||||
S31508003568002D00F0808100F00401C8B2002814BFBD
|
||||
S315080035780A200020BDE8F0814FF000002070607036
|
||||
|
@ -912,7 +912,7 @@ S315080038C80D00BDE8F0814FF00D00BDE8F0814FF01E
|
|||
S315080038D80D00BDE8F0814FF00D00BDE8F0814FF00E
|
||||
S315080038E80D00BDE8F0814FF00D00BDE8F0814FF0FE
|
||||
S315080038F80000086023E603F10203A3612562EF19B5
|
||||
S3150800390867625619E6624FF00306F3E6080A0020CE
|
||||
S3150800390867625619E6624FF00306F3E6040A0020D2
|
||||
S315080039182DE9F0410C4601F109020369002B00F074
|
||||
S31508003928E28043691E7B1978202900F08A800529D8
|
||||
S3150800393814BF0A46E52206F0080505F0FF0135B169
|
||||
|
@ -1138,8 +1138,8 @@ S315080046E82DE9F04F87B001908B460B782F2B01D018
|
|||
S315080046F85C2B01D10BF1010B4FF000000199886082
|
||||
S315080047089BF800201F2A0AD808464FF00001FFF731
|
||||
S31508004718AFFB02464FF0000301994B6198E146F654
|
||||
S315080047285404C0F60004039446F66006C0F600066C
|
||||
S31508004738049646F66803C0F6000305935E461BF81A
|
||||
S315080047287804C0F60004039446F68406C0F6000624
|
||||
S31508004738049646F68C03C0F6000305935E461BF8F6
|
||||
S31508004748010B2F28FAD05C28F8D00199CA69029279
|
||||
S3150800475830781F2840F256812F2800F045815C28BA
|
||||
S3150800476800F047811746A7F1020735464FF00104BE
|
||||
|
@ -1296,7 +1296,7 @@ S315080050C800D022B905F10105AF4201D191E0454664
|
|||
S315080050D820463146FFF720F881460028E5D0A2E0A9
|
||||
S315080050E8E088C31B204699B2FEF7C2FE814600280F
|
||||
S315080050F840F09980A069FEF743F901904FF000083F
|
||||
S315080051084FF6FF7546F6E806C0F6000620682169D8
|
||||
S315080051084FF6FF7546F60C16C0F6000620682169A4
|
||||
S31508005118FEF78EFD8146002840F08580D4F81C905D
|
||||
S3150800512861695FFA87FB019A4A734FF00F00C872E4
|
||||
S3150800513881F80C8081F81A8081F81B800BF1FF33FF
|
||||
|
@ -1318,13 +1318,13 @@ S3150800522881460028CAD0484607B0BDE8F08F05F180
|
|||
S315080052380105ADB2384603A932462B46FFF722FECA
|
||||
S315080052482046FFF711F8814600287FF4F1AE05F1EC
|
||||
S315080052580105ADB2642D7FF4CCAEE6E6A0B940F6FA
|
||||
S315080052680C23C2F20003186810B14FF0000202704E
|
||||
S3150800527811B14FF000030B7040F60C20C2F2000083
|
||||
S315080052680823C2F20003186810B14FF00002027052
|
||||
S3150800527811B14FF000030B7040F60820C2F2000087
|
||||
S3150800528801604FF0000070474FF00B00704700BFF1
|
||||
S315080052982DE9F0438FB0019116460546002800F01F
|
||||
S315080052A8A5804FF00003036001A805A902F01E02B5
|
||||
S315080052B8FEF72EF90446002840F0B78006F01F08C6
|
||||
S315080052C802A80B9040F60801C2F200010C9105A845
|
||||
S315080052C802A80B9040F60401C2F200010C9105A849
|
||||
S315080052D80199FFF705FA0A9F0146002840F08F80D2
|
||||
S315080052E8002F40F0868088E059B1042940F0928062
|
||||
S315080052F805A8FFF767FE48F008080A9F50B1044654
|
||||
|
@ -1450,12 +1450,12 @@ S31508005A687F03A3714FF001070CE0A561A368E268FC
|
|||
S31508005A78934207D9E360A17941F02000A07101E0BB
|
||||
S31508005A884FF002073846F8BD30B58FB00EAB43F86D
|
||||
S31508005A98340D0D46184605A94FF00002FDF738FDE6
|
||||
S31508005AA80446A8B902A80B9040F60801C2F20001FC
|
||||
S31508005AA80446A8B902A80B9040F60401C2F2000100
|
||||
S31508005AB80C9105A80199FEF713FE044640B90A9AFF
|
||||
S31508005AC822B105A82946FDF723FF01E04FF0060491
|
||||
S31508005AD820460FB030BD00BF30B599B018AB43F8B3
|
||||
S31508005AE85C0D18460FA94FF00102FDF711FD024695
|
||||
S31508005AF8002857D103A8159040F60801C2F20001FC
|
||||
S31508005AF8002857D103A8159040F60401C2F2000100
|
||||
S31508005B0816910FA80199FEF7EBFD0246002849D120
|
||||
S31508005B18149959B3CC7A14F0010F2AD12CE0012D27
|
||||
S31508005B2834D906A80FA94FF02402FDF7BBFB089540
|
||||
|
@ -1481,314 +1481,317 @@ S31508005C5800043146FFF7DAFFB0F1FF3F09D004F137
|
|||
S31508005C68010415F8010F0028F3D104E04FF00004E9
|
||||
S31508005C7801E04FF0FF34204670BD00BF7F282DD9BC
|
||||
S31508005C8811B9C7280BD121E0FF2825D8A0F1800033
|
||||
S31508005C9846F6D822C0F6000232F8100070474FF0D0
|
||||
S31508005CA8010346F6D822C0F6000232F8021F8142DE
|
||||
S31508005C9846F6FC22C0F6000232F8100070474FF0AC
|
||||
S31508005CA8010346F6FC22C0F6000232F8021F8142BA
|
||||
S31508005CB815D10DE032F8021F814209D003F101031C
|
||||
S31508005CC89BB232F8021F81420DD101E04FF0000362
|
||||
S31508005CD803F18000C0B270474FF00000704703F127
|
||||
S31508005CE801039BB2E6E703F101039BB2802BE1D1DE
|
||||
S31508005CF8EEE700BF61280ED046F6F801C0F60001A7
|
||||
S31508005CF8EEE700BF61280ED046F61C11C0F6000173
|
||||
S31508005D084FF0000202F1010231F8023F5BB183420B
|
||||
S31508005D18F8D113B970474FF0000246F6D830C0F6E6
|
||||
S31508005D18F8D113B970474FF0000246F6FC30C0F6C2
|
||||
S31508005D28000030F81200704730B402464CF6CD44ED
|
||||
S31508005D38CCF6CC4401F10101A4FB0223DA08F9D117
|
||||
S31508005D484FF0000501F8015902464CF6CD45CCF648
|
||||
S31508005D58CC450846A5FB02434FEAD30303EB830465
|
||||
S31508005D68A2EB440202F1300201F801291A46002B77
|
||||
S31508005D78EFD130BC704700BF38B50546007800F04B
|
||||
S31508005D8821FCC0B2A0F13004E4B2162C20D8A0F148
|
||||
S31508005D8833FCC0B2A0F13004E4B2162C20D8A0F136
|
||||
S31508005D983A02D1B206291ED9092C84BFA0F13704C4
|
||||
S31508005DA8E4B2687800F00EFCC0B2A0F13003D9B2AC
|
||||
S31508005DA8E4B2687800F020FCC0B2A0F13003D9B29A
|
||||
S31508005DB8162913D8A0F13A02D3B2062B11D9092904
|
||||
S31508005DC884BFA0F13701C9B201EB0414E0B238BDAB
|
||||
S31508005DD84FF0000038BD4FF0000038BD4FF0000006
|
||||
S31508005DE838BD4FF0000038BD08B500F00F03092884
|
||||
S31508005DF802D903F1370008BD03F1300000F0E2FBD1
|
||||
S31508005DF802D903F1370008BD03F1300000F0F4FBBF
|
||||
S31508005E08C0B208BD38B505460C464FEA1010FFF76C
|
||||
S31508005E18EBFF207005F00F00FFF7E6FF60704FF004
|
||||
S31508005E280003A370204638BD2DE9F04F85B080469B
|
||||
S31508005E381646894601B138B946F6B850C0F6000084
|
||||
S31508005E484FF41671FCF752FF98F8000000F0BAFBF9
|
||||
S31508005E58532840F0DA8098F8010000F0ABFB0028D8
|
||||
S31508005E6800F0D38098F80130312B00F0D180322B1E
|
||||
S31508005E7800F0D180332B40F0C880CFE02046FFF7EA
|
||||
S31508005E887BFF3918CFB205F1FF3204F1020495B247
|
||||
S31508005E982046FFF771FF3B18DFB205F1FF3085B2E0
|
||||
S31508005EA804F10204012DE9D82046FFF765FF6FEAD9
|
||||
S31508005EB80701CFB2874240F0A180BAF1010F32D06C
|
||||
S31508005EC8BAF1000F04D0BAF1020F40F09A805CE0EC
|
||||
S31508005ED80198FFF751FF05460298FFF74DFF4FEA6D
|
||||
S31508005EE80024C9F8004008F10600FFF745FF231803
|
||||
S31508005EF8C9F8003008F10808A5F10305ADB2002E67
|
||||
S31508005F0800F081802FB2002F7DDD4FF00004404657
|
||||
S31508005F18FFF732FF305508F1020804F10104A4B26C
|
||||
S31508005F28BC42F4DB6FE00198FFF726FF05460298A6
|
||||
S31508005F38FFF722FF4FEA0044C9F8004008F10600B7
|
||||
S31508005F48FFF71AFF04EB0024C9F8004008F1080017
|
||||
S31508005F58FFF712FF2018C9F8000008F10A08A5F18A
|
||||
S31508005F680405ADB2002E4ED02FB2002F4BDD4FF0F0
|
||||
S31508005F7800044046FFF700FF305508F1020804F10F
|
||||
S31508005F880104A4B2BC42F4DB3DE00198FFF7F4FE35
|
||||
S31508005F9805460298FFF7F0FE4FEA0064C9F8004084
|
||||
S31508005FA808F10600FFF7E8FE04EB0044C9F80040CC
|
||||
S31508005FB808F10800FFF7E0FE04EB0024C9F80040E2
|
||||
S31508005FC808F10A00FFF7D8FE2218C9F8002008F1D8
|
||||
S31508005FD80C08A5F10505ADB2AEB12FB2002F12DD3A
|
||||
S31508005FE84FF000044046FFF7C7FE305508F102088F
|
||||
S31508005FF804F10104A4B2BC42F4DB04E04FF6FF75D1
|
||||
S3150800600801E04FF0000528B224E04FF00005FAE752
|
||||
S315080060184FF0000A04E04FF0010A01E04FF0020AC7
|
||||
S3150800602808F102000190FFF7A7FE044608F10401EB
|
||||
S315080060380291039100F0010B0846FFF79DFE22180E
|
||||
S31508006048D7B204F1FF339DB2039C04F10204012D73
|
||||
S3150800605803D829E705B0BDE8F08F0FFA8BF00028BA
|
||||
S315080060683FF40CAF2046FFF787FE3F18FFB205F14D
|
||||
S31508006078FF35ADB204F10204012D3FF6FFAE13E772
|
||||
S3150800608808B54FF0000040F65023C2F20003187016
|
||||
S3150800609840F65C21C2F20001FFF7E0F838B146F68F
|
||||
S315080060A8B850C0F600004FF09E01FCF71FFE08BD69
|
||||
S315080060B840F65023C2F200031878D0F1010038BF21
|
||||
S315080060C80020704708B5FCF7AFFE01280FD040F648
|
||||
S315080060D85023C2F20003187860B9FCF703F80128C0
|
||||
S315080060E80BD140F65021C2F20001087008BD4FF0E6
|
||||
S315080060F8000008BD4FF0000008BD4FF0000008BDBD
|
||||
S3150800610870B540F65023C2F200031878002800F04C
|
||||
S315080061184D82012843D1FCF70FF846F62C60C0F6E5
|
||||
S315080061280000FCF757F846F65060C0F60000FCF782
|
||||
S3150800613851F8FBF7FBFF0146C6484FF00102FFF787
|
||||
S31508006148A7F850B146F67860C0F60000FCF742F8A2
|
||||
S315080061584FF00100FCF72EF870BD46F68060C0F6D1
|
||||
S315080061680000FCF737F846F68860C0F60000FCF72A
|
||||
S3150800617831F846F6AC60C0F60000FCF72BF840F696
|
||||
S315080061885423C2F200034FF000021A605A6040F620
|
||||
S315080061985020C2F200004FF00201017070BD0228BB
|
||||
S315080061A840F0088140F65C24C2F2000440F6B46068
|
||||
S315080061B8C2F200004FF4807104F50D72FFF7F6FC81
|
||||
S315080061C894F93A12002915DA46F67860C0F60000FE
|
||||
S315080061D8FCF700F84FF00200FBF7ECFF04F50D702A
|
||||
S315080061E8FFF768FB40F65020C2F200004FF00001A6
|
||||
S315080061F8017070BD18B340F6B466C2F200063046A0
|
||||
S3150800620806F5C0714FF00002FFF70EFE0646B0F11C
|
||||
S31508006218FF3F14D146F67860C0F60000FBF7DAFFB0
|
||||
S315080062284FF00300FBF7C6FF8A48FFF743FB40F623
|
||||
S315080062385023C2F200034FF000021A7070BD32B242
|
||||
S31508006248002A2CDD40F65423C2F20003586868B9C0
|
||||
S3150800625840F65421C2F2000140F6B463C2F20003C4
|
||||
S31508006268D3F88001086036B24E6018E040F6B4618B
|
||||
S31508006278C2F20001D1F8802140F65423C2F2000385
|
||||
S3150800628819688A4204D240F65423C2F200031A60F7
|
||||
S3150800629800FA86F040F65422C2F20002506040F630
|
||||
S315080062A85C21C2F20001D1F83C22D1F840329A4268
|
||||
S315080062B840F07C8167484FF00001FFF707FBA0B163
|
||||
S315080062C846F67860C0F60000FBF784FF4FF0040036
|
||||
S315080062D8FBF770FF5F48FFF7EDFA40F65020C2F269
|
||||
S315080062E800004FF00001017070BD46F68060C0F6E8
|
||||
S315080062F80000FBF76FFF46F6DC60C0F60000FBF708
|
||||
S3150800630869FF40F65424C2F2000440F61025C2F28A
|
||||
S31508006318000560682946FFF707FD2846FBF75AFF78
|
||||
S3150800632846F6E860C0F60000FBF754FFE078294611
|
||||
S31508006338FFF768FDA07805F10201FFF763FD6078AD
|
||||
S3150800634805F10401FFF75EFD207805F10601FFF760
|
||||
S3150800635859FD2846FBF73EFF46F68C70C0F6000046
|
||||
S31508006368FBF738FF20686168FCF748FBA0B946F6D2
|
||||
S315080063787860C0F60000FBF72DFF4FF00500FBF725
|
||||
S3150800638819FF3448FFF796FA40F65023C2F200037D
|
||||
S315080063984FF000021A7070BD46F68060C0F600001D
|
||||
S315080063A8FBF718FF40F65020C2F200004FF0030131
|
||||
S315080063B8017070BD032840F0F98040F65C24C2F2EB
|
||||
S315080063C8000440F6B460C2F200004FF4807104F588
|
||||
S315080063D80D72FFF7EBFB94F93A12002915DA46F61F
|
||||
S315080063E80470C0F60000FBF7F5FE4FF00200FBF755
|
||||
S315080063F8E1FE04F50D70FFF75DFA40F65023C2F288
|
||||
S3150800640800034FF00000187070BD28B340F6B46258
|
||||
S31508006418C2F20002104602F5C07102F58072FFF753
|
||||
S3150800642803FD0546B0F1FF3F16D146F62870C0F6BB
|
||||
S315080064380000FBF7CFFE4FF00300FBF7BBFE05484D
|
||||
S31508006448FFF738FA40F65021C2F200014FF0000271
|
||||
S315080064580A7070BD900C00202BB2002B5EDD46F644
|
||||
S315080064684C70C0F60000FBF7B5FE2EB240F61024B5
|
||||
S31508006478C2F2000430462146FFF756FC2046FBF7D1
|
||||
S31508006488A9FE46F65C70C0F60000FBF7A3FE40F6C8
|
||||
S31508006498B465C2F2000595F883012146FFF7B2FCF8
|
||||
S315080064A895F8820104F10201FFF7ACFC95F8810121
|
||||
S315080064B804F10401FFF7A6FC95F8800104F106012A
|
||||
S315080064C8FFF7A0FC2046FBF785FE46F68C70C0F65B
|
||||
S315080064D80000FBF77FFED5F88001314605F5807286
|
||||
S315080064E8FCF788FAA0B946F67860C0F60000FBF70C
|
||||
S315080064F871FE4FF00600FBF75DFE2D48FFF7DAF947
|
||||
S3150800650840F65023C2F200034FF00000187070BD21
|
||||
S3150800651846F68060C0F60000FBF75CFE40F65C2095
|
||||
S31508006528C2F20000D0F83C12D0F8402291423DD180
|
||||
S3150800653846F67470C0F60000FBF74CFEFCF766FAE0
|
||||
S31508006548A0B946F67860C0F60000FBF743FE4FF0A0
|
||||
S315080065580700FBF72FFE1648FFF7ACF940F650215F
|
||||
S31508006568C2F200014FF000020A7070BD46F680605C
|
||||
S31508006578C0F60000FBF72EFE46F69070C0F600003F
|
||||
S31508006588FBF728FE0A48FFF795F946F6A870C0F6FD
|
||||
S315080065980000FBF71FFE40F65023C2F200034FF037
|
||||
S315080065A800001870FBF7E4FDFBF798FE70BD00BF06
|
||||
S315080065B8900C0020A0F1300009288CBF002001208B
|
||||
S315080065C8704700BFA0F16103D9B2192998BF2038CE
|
||||
S315080065D8704700BF844640EA010313F0030F40F0F2
|
||||
S315080065E81080242AC0F00D802DE9F00FB1E8F80FC5
|
||||
S315080065F8A0E8F80FA2F12402242ABFF4F7AFBDE8F1
|
||||
S31508006608F00F002A00F0078011F8013B00F8013B5B
|
||||
S31508006618013A7FF4F9AF6046704700BF38B50446BB
|
||||
S315080066280D4600F019F841F23803C2F200031D605E
|
||||
S3150800663844F0800441F23C00C2F2000004600246BD
|
||||
S3150800664811680029FCD100F009F841F23803C2F2B2
|
||||
S315080066580003186838BD00BF704700BF704700BF01
|
||||
S315080066682F64656D6F70726F675F6F6C696D65789B
|
||||
S315080066785F73746D3332653430372E737265630011
|
||||
S315080066882F626F6F746C6F672E7478740000000041
|
||||
S31508006698433A2F576F726B2F736F667477617265FB
|
||||
S315080066A82F4F70656E424C542F5461726765742F6C
|
||||
S315080066B844656D6F2F41524D434D345F53544D33E6
|
||||
S315080066C8325F4F6C696D65785F53544D3332453484
|
||||
S315080066D830375F43726F7373776F726B732F426FBE
|
||||
S315080066E86F742F6964652F2E2E2F2E2E2F2E2E2F80
|
||||
S315080066F82E2E2F536F757263652F41524D434D34B5
|
||||
S315080067085F53544D33322F43726F7373776F726BBF
|
||||
S31508006718732F766563746F72732E63000000080022
|
||||
S3150800672810001800200028003000380040004800F3
|
||||
S31508006738500058008000880090009800A000A80023
|
||||
S31508006748B000B800C000C800D000D8000080000813
|
||||
S31508006758004000000200000000C0000800400000D9
|
||||
S315080067680300000000000108000001000400000002
|
||||
S3150800677800000208000002000500000000000408E6
|
||||
S3150800678800000200060000000000060800000200DB
|
||||
S3150800679807000000000008080000020008000000C2
|
||||
S315080067A800000A08000002000900000000000C08A2
|
||||
S315080067B8000002000A00000000000E08000002009F
|
||||
S315080067C80B000000433A2F576F726B2F736F66746E
|
||||
S315080067D8776172652F4F70656E424C542F546172FB
|
||||
S315080067E86765742F44656D6F2F41524D434D345F6D
|
||||
S315080067F853544D33325F4F6C696D65785F53544D0A
|
||||
S315080068083332453430375F43726F7373776F726B01
|
||||
S31508006818732F426F6F742F6964652F2E2E2F2E2EB5
|
||||
S315080068282F2E2E2F2E2E2F536F757263652F4152DA
|
||||
S315080068384D434D345F53544D33322F756172742E60
|
||||
S31508006848630000004F70656E424C5400222A3A3C99
|
||||
S315080068583E3F7C7F000000002B2C3B3D5B5D000023
|
||||
S31508006868809A90418E418F804545454949498E8F82
|
||||
S315080068789092924F994F555559999A9B9C9D9E9FD0
|
||||
S3150800688841494F55A5A5A6A7A8A9AAABAC21AEAF5D
|
||||
S31508006898B0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF6A
|
||||
S315080068A8C0C1C2C3C4C5C6C7C8C9CACBCCCDCECF5A
|
||||
S315080068B8D0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF4A
|
||||
S315080068C8E0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF3A
|
||||
S315080068D8F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF2A
|
||||
S315080068E801030507090E10121416181C1E000000CD
|
||||
S315080068F8610062006300640065006600670068005E
|
||||
S3150800690869006A006B006C006D006E006F0070000D
|
||||
S3150800691871007200730074007500760077007800BD
|
||||
S3150800692879007A00A100A200A300A500AC00AF0078
|
||||
S31508006938E000E100E200E300E400E500E600E70025
|
||||
S31508006948E800E900EA00EB00EC00ED00EE00EF00D5
|
||||
S31508006958F000F100F200F300F400F500F600F80084
|
||||
S31508006968F900FA00FB00FC00FD00FE00FF0001012B
|
||||
S3150800697803010501070109010B010D010F011101A9
|
||||
S3150800698813011501170119011B011D011F01210119
|
||||
S3150800699823012501270129012B012D012F01310189
|
||||
S315080069A83301350137013A013C013E0140014201F4
|
||||
S315080069B84401460148014B014D014F01510153015C
|
||||
S315080069C85501570159015B015D015F0161016301C9
|
||||
S315080069D86501670169016B016D016F017101730139
|
||||
S315080069E8750177017A017C017E019201B103B20330
|
||||
S315080069F8B303B403B503B603B703B803B903BA03B5
|
||||
S31508006A08BB03BC03BD03BE03BF03C003C103C30363
|
||||
S31508006A18C403C503C603C703C803C903CA033004A6
|
||||
S31508006A28310432043304340435043604370438048C
|
||||
S31508006A3839043A043B043C043D043E043F0440043C
|
||||
S31508006A4841044204430444044504460447044804EC
|
||||
S31508006A5849044A044B044C044D044E044F0451049B
|
||||
S31508006A685204530454045504560457045804590444
|
||||
S31508006A785A045B045C045E045F0470217121722168
|
||||
S31508006A8873217421752176217721782179217A2134
|
||||
S31508006A987B217C217D217E217F2141FF42FF43FF07
|
||||
S31508006AA844FF45FF46FF47FF48FF49FF4AFF4BFF9C
|
||||
S31508006AB84CFF4DFF4EFF4FFF50FF51FF52FF53FF4C
|
||||
S31508006AC854FF55FF56FF57FF58FF59FF5AFF000056
|
||||
S31508006AD8C700FC00E900E200E400E000E500E70082
|
||||
S31508006AE8EA00EB00E800EF00EE00EC00C400C50081
|
||||
S31508006AF8C900E600C600F400F600F200FB00F9003B
|
||||
S31508006B08FF00D600DC00A200A300A500A72092017A
|
||||
S31508006B18E100ED00F300FA00F100D100AA00BA007E
|
||||
S31508006B28BF001023AC00BD00BC00A100AB00BB0031
|
||||
S31508006B389125922593250225242561256225562522
|
||||
S31508006B4855256325512557255D255C255B25102583
|
||||
S31508006B58142534252C251C2500253C255E255F256E
|
||||
S31508006B685A25542569256625602550256C256725E7
|
||||
S31508006B7868256425652559255825522553256B25E5
|
||||
S31508006B886A2518250C25882584258C259025802591
|
||||
S31508006B98B103DF009303C003A303C303B500C4030B
|
||||
S31508006BA8A6039803A903B4031E22C603B50329221C
|
||||
S31508006BB86122B1006522642220232123F700482296
|
||||
S31508006BC8B0001922B7001A227F20B200A025A0001B
|
||||
S31508006BD8410042004300440045004600470048007B
|
||||
S31508006BE849004A004B004C004D004E004F0050002B
|
||||
S31508006BF851005200530054005500560057005800DB
|
||||
S31508006C0859005A002100E0FFE1FFE5FFE2FFE3FF34
|
||||
S31508006C18C000C100C200C300C400C500C600C70042
|
||||
S31508006C28C800C900CA00CB00CC00CD00CE00CF00F2
|
||||
S31508006C38D000D100D200D300D400D500D600D800A1
|
||||
S31508006C48D900DA00DB00DC00DD00DE00780100018F
|
||||
S31508006C5802010401060108010A010C010E011001CE
|
||||
S31508006C6812011401160118011A011C011E0120013E
|
||||
S31508006C7822012401260128012A012C012E013001AE
|
||||
S31508006C8832013401360139013B013D013F01410119
|
||||
S31508006C984301450147014A014C014E015001520181
|
||||
S31508006CA85401560158015A015C015E0160016201EE
|
||||
S31508006CB86401660168016A016C016E01700172015E
|
||||
S31508006CC87401760179017B017D0191019103920393
|
||||
S31508006CD893039403950396039703980399039A03D2
|
||||
S31508006CE89B039C039D039E039F03A003A103A30381
|
||||
S31508006CF8A403A503A603A703A803A903AA031004C4
|
||||
S31508006D0811041204130414041504160417041804A9
|
||||
S31508006D1819041A041B041C041D041E041F04200459
|
||||
S31508006D282104220423042404250426042704280409
|
||||
S31508006D3829042A042B042C042D042E042F040104E8
|
||||
S31508006D4802040304040405040604070408040904E1
|
||||
S31508006D580A040B040C040E040F0460216121622145
|
||||
S31508006D6863216421652166216721682169216A21D1
|
||||
S31508006D786B216C216D216E216F2121FF22FF23FFD4
|
||||
S31508006D8824FF25FF26FF27FF28FF29FF2AFF2BFFB9
|
||||
S31508006D982CFF2DFF2EFF2FFF30FF31FF32FF33FF69
|
||||
S31508006DA834FF35FF36FF37FF38FF39FF3AFF000053
|
||||
S31508006DB8433A2F576F726B2F736F667477617265D4
|
||||
S31508006DC82F4F70656E424C542F5461726765742F45
|
||||
S31508006DD844656D6F2F41524D434D345F53544D33BF
|
||||
S31508006DE8325F4F6C696D65785F53544D333245345D
|
||||
S31508006DF830375F43726F7373776F726B732F426F97
|
||||
S31508006E086F742F6964652F2E2E2F2E2E2F2E2E2F58
|
||||
S31508006E182E2E2F536F757263652F66696C652E6300
|
||||
S31508006E28000000004669726D7761726520757064A6
|
||||
S31508006E386174652072657175657374206465746517
|
||||
S31508006E48637465640A0D00004F70656E696E672085
|
||||
S31508006E586669726D776172652066696C6520666F0A
|
||||
S31508006E68722072656164696E672E2E2E0000000016
|
||||
S31508006E784552524F520A0D004F4B0A0D00000000AA
|
||||
S31508006E885374617274696E67207468652070726FCE
|
||||
S31508006E986772616D6D696E672073657175656E6376
|
||||
S31508006EA8650A0D0050617273696E67206669726DAE
|
||||
S31508006EB8776172652066696C6520746F206F6274E5
|
||||
S31508006EC861696E2065726173652073697A652E2E0D
|
||||
S31508006ED82E00000045726173696E67200000000085
|
||||
S31508006EE82062797465732066726F6D206D656D6FA3
|
||||
S31508006EF87279206174203078000000005265616458
|
||||
S31508006F08696E67206C696E652066726F6D206669A2
|
||||
S31508006F186C652E2E2E4552524F520A0D000000005F
|
||||
S31508006F28496E76616C696420636865636B73756D11
|
||||
S31508006F3820666F756E642E2E2E4552524F520A0DD4
|
||||
S31508006F480000000050726F6772616D6D696E672088
|
||||
S31508006F580000000020627974657320746F206D65DF
|
||||
S31508006F686D6F7279206174203078000057726974E1
|
||||
S31508006F78696E672070726F6772616D2063686563F2
|
||||
S31508006F886B73756D2E2E2E00436C6F73696E6720B2
|
||||
S31508006F986669726D776172652066696C650A0D00A7
|
||||
S31508006FA84669726D776172652075706461746520CB
|
||||
S31508006FB87375636365737366756C6C7920636F6D37
|
||||
S31108006FC8706C657465640A0D000000001A
|
||||
S31508006FD40100000001000000000000000102030493
|
||||
S30D08006FE401020304060708096F
|
||||
S31508005E280003A370204638BD08B54FF0000040F6B9
|
||||
S31508005E384C23C2F20003187040F65821C2F200013A
|
||||
S31508005E48FFF70CFA38B146F6DC50C0F600004FF0FA
|
||||
S31508005E587C01FCF74BFF08BD40F64C23C2F2000351
|
||||
S31508005E681878D0F1010038BF0020704708B5FCF74C
|
||||
S31508005E78DBFF01280FD040F64C23C2F2000318783E
|
||||
S31508005E8860B9FCF72FF901280BD140F64C21C2F26C
|
||||
S31508005E980001087008BD4FF0000008BD4FF000006B
|
||||
S31508005EA808BD4FF0000008BD10B50446007800F09C
|
||||
S31508005EB89BFB53280DD1607800F08EFB60B16078A3
|
||||
S31508005EC831280CD032280DD0332814BF03200220DD
|
||||
S31508005ED810BD4FF0030010BD4FF0030010BD4FF082
|
||||
S31508005EE8000010BD4FF0010010BD00BFF8B504460C
|
||||
S31508005EF800F10200FFF740FF0646054604F10404D0
|
||||
S31508005F0800F001072046FFF737FF3018C6B205F13B
|
||||
S31508005F18FF318DB204F10204012D21D815E020467F
|
||||
S31508005F28FFF72AFF3018C6B205F1FF3504F1020457
|
||||
S31508005F38ADB22046FFF720FF3118CEB205F1FF3281
|
||||
S31508005F4895B204F10204012DE9D82046FFF714FF9B
|
||||
S31508005F586FEA0603DEB2864214BF00200120F8BDA8
|
||||
S31508005F683FB2002FDBD02046FFF706FF3218D6B21D
|
||||
S31508005F7805F1FF339DB204F10204012DCFD8E4E7F9
|
||||
S31508005F882DE9F04104461546884601B138B946F662
|
||||
S31508005F98DC50C0F6000040F23621FCF7A7FE204682
|
||||
S31508005FA8FFF782FF0646032800F0B0802046FFF771
|
||||
S31508005FB89DFF002800F0AD80012E34D01EB1022EB8
|
||||
S31508005FC840F0AA8065E004F10200FFF7D5FE07460F
|
||||
S31508005FD804F10400FFF7D0FE4FEA0026C8F800606F
|
||||
S31508005FE804F10600FFF7C8FE3118C8F8001004F1D6
|
||||
S31508005FF80804A7F10307BFB2002D00F08F800FFA37
|
||||
S3150800600887F8B8F1000F40F389804FF0000620465C
|
||||
S31508006018FFF7B2FEA85504F1020406F10106B6B266
|
||||
S315080060284645F4DB7AE004F10200FFF7A5FE0746C9
|
||||
S3150800603804F10400FFF7A0FE4FEA0046C8F800601E
|
||||
S3150800604804F10600FFF798FE06EB0026C8F800607C
|
||||
S3150800605804F10800FFF790FE3218C8F8002004F18A
|
||||
S315080060680A04A7F10407BFB2002D57D00FFA87F81C
|
||||
S31508006078B8F1000F52DD4FF000062046FFF77CFE08
|
||||
S31508006088A85504F1020406F10106B6B24645F4DB42
|
||||
S3150800609844E004F10200FFF76FFE074604F1040026
|
||||
S315080060A8FFF76AFE4FEA0066C8F8006004F10600C2
|
||||
S315080060B8FFF762FE06EB0046C8F8006004F1080020
|
||||
S315080060C8FFF75AFE06EB0026C8F8006004F10A0036
|
||||
S315080060D8FFF752FE3018C8F8000004F10C04A7F1BF
|
||||
S315080060E80507BFB2D5B10FFA87F8B8F1000F15DD65
|
||||
S315080060F84FF000062046FFF73FFEA85504F10204B4
|
||||
S3150800610806F10106B6B24645F4DB07E04FF000078C
|
||||
S3150800611804E04FF6FF7701E04FF0000738B2BDE814
|
||||
S31508006128F08100BF70B540F64C23C2F20003187818
|
||||
S31508006138002800F04D82012843D1FBF7FDFF46F6FB
|
||||
S315080061485060C0F60000FCF745F846F67460C0F6DD
|
||||
S315080061580000FCF73FF8FBF7E9FF0146C6484FF091
|
||||
S315080061680102FFF795F850B146F69C60C0F60000A4
|
||||
S31508006178FCF730F84FF00100FCF71CF870BD46F63E
|
||||
S31508006188A460C0F60000FCF725F846F6AC60C0F631
|
||||
S315080061980000FCF71FF846F6D060C0F60000FCF7CA
|
||||
S315080061A819F840F65023C2F200034FF000021A60AD
|
||||
S315080061B85A6040F64C20C2F200004FF00201017006
|
||||
S315080061C870BD022840F0088140F65824C2F200043F
|
||||
S315080061D840F6B060C2F200004FF4807104F50D7203
|
||||
S315080061E8FFF7E4FC94F93A12002915DA46F69C609A
|
||||
S315080061F8C0F60000FBF7EEFF4FF00200FBF7DAFFE8
|
||||
S3150800620804F50D70FFF756FB40F64C20C2F2000065
|
||||
S315080062184FF00001017070BD18B340F6B066C2F2BF
|
||||
S315080062280006304606F5C0714FF00002FFF7A8FED3
|
||||
S315080062380646B0F1FF3F14D146F69C60C0F600004A
|
||||
S31508006248FBF7C8FF4FF00300FBF7B4FF8A48FFF7D0
|
||||
S3150800625831FB40F64C23C2F200034FF000021A70D5
|
||||
S3150800626870BD32B2002A2CDD40F65023C2F2000374
|
||||
S31508006278586868B940F65021C2F2000140F6B06382
|
||||
S31508006288C2F20003D3F88001086036B24E6018E0FF
|
||||
S3150800629840F6B061C2F20001D1F8802140F65023D9
|
||||
S315080062A8C2F2000319688A4204D240F65023C2F2A1
|
||||
S315080062B800031A6000FA86F040F65022C2F200027D
|
||||
S315080062C8506040F65821C2F20001D1F83C22D1F8B4
|
||||
S315080062D840329A4240F07C8167484FF00001FFF748
|
||||
S315080062E8F5FAA0B146F69C60C0F60000FBF772FF07
|
||||
S315080062F84FF00400FBF75EFF5F48FFF7DBFA40F64E
|
||||
S315080063084C20C2F200004FF00001017070BD46F63D
|
||||
S31508006318A460C0F60000FBF75DFF46F60070C0F6FD
|
||||
S315080063280000FBF757FF40F65024C2F2000440F677
|
||||
S315080063380C25C2F2000560682946FFF7F5FC2846D1
|
||||
S31508006348FBF748FF46F60C70C0F60000FBF742FF5D
|
||||
S31508006358E0782946FFF756FDA07805F10201FFF710
|
||||
S3150800636851FD607805F10401FFF74CFD207805F129
|
||||
S315080063780601FFF747FD2846FBF72CFF46F6B070DF
|
||||
S31508006388C0F60000FBF726FF20686168FCF736FBB5
|
||||
S31508006398A0B946F69C60C0F60000FBF71BFF4FF055
|
||||
S315080063A80500FBF707FF3448FFF784FA40F64C2345
|
||||
S315080063B8C2F200034FF000021A7070BD46F6A460D8
|
||||
S315080063C8C0F60000FBF706FF40F64C20C2F20000B4
|
||||
S315080063D84FF00301017070BD032840F0F98040F6BC
|
||||
S315080063E85824C2F2000440F6B060C2F200004FF426
|
||||
S315080063F8807104F50D72FFF7D9FB94F93A12002952
|
||||
S3150800640815DA46F62870C0F60000FBF7E3FE4FF0EB
|
||||
S315080064180200FBF7CFFE04F50D70FFF74BFA40F6BE
|
||||
S315080064284C23C2F200034FF00000187070BD28B361
|
||||
S3150800643840F6B062C2F20002104602F5C07102F5D3
|
||||
S315080064488072FFF79DFD0546B0F1FF3F16D146F667
|
||||
S315080064584C70C0F60000FBF7BDFE4FF00300FBF7D3
|
||||
S31508006468A9FE0548FFF726FA40F64C21C2F20001B4
|
||||
S315080064784FF000020A7070BD8C0C00202BB2002B5E
|
||||
S315080064885EDD46F67070C0F60000FBF7A3FE2EB276
|
||||
S3150800649840F60C24C2F2000430462146FFF744FCB5
|
||||
S315080064A82046FBF797FE46F68070C0F60000FBF715
|
||||
S315080064B891FE40F6B065C2F2000595F883012146BB
|
||||
S315080064C8FFF7A0FC95F8820104F10201FFF79AFC90
|
||||
S315080064D895F8810104F10401FFF794FC95F8800109
|
||||
S315080064E804F10601FFF78EFC2046FBF773FE46F615
|
||||
S315080064F8B070C0F60000FBF76DFED5F8800131468E
|
||||
S3150800650805F58072FCF776FAA0B946F69C60C0F6DF
|
||||
S315080065180000FBF75FFE4FF00600FBF74BFE2D4821
|
||||
S31508006528FFF7C8F940F64C23C2F200034FF0000003
|
||||
S31508006538187070BD46F6A460C0F60000FBF74AFE60
|
||||
S3150800654840F65820C2F20000D0F83C12D0F8402293
|
||||
S3150800655891423DD146F69870C0F60000FBF73AFE20
|
||||
S31508006568FCF754FAA0B946F69C60C0F60000FBF79B
|
||||
S3150800657831FE4FF00700FBF71DFE1648FFF79AF99C
|
||||
S3150800658840F64C21C2F200014FF000020A7070BDB5
|
||||
S3150800659846F6A460C0F60000FBF71CFE46F6B47083
|
||||
S315080065A8C0F60000FBF716FE0A48FFF783F946F619
|
||||
S315080065B8CC70C0F60000FBF70DFE40F64C23C2F27D
|
||||
S315080065C800034FF000001870FBF7D2FDFBF786FEB4
|
||||
S315080065D870BD00BF8C0C0020A0F1300009288CBFC4
|
||||
S315080065E800200120704700BFA0F16103D9B219291C
|
||||
S315080065F898BF2038704700BF844640EA010313F065
|
||||
S31508006608030F40F01080242AC0F00D802DE9F00F02
|
||||
S31508006618B1E8F80FA0E8F80FA2F12402242ABFF47B
|
||||
S31508006628F7AFBDE8F00F002A00F0078011F8013B24
|
||||
S3150800663800F8013B013A7FF4F9AF6046704700BF9E
|
||||
S3150800664838B504460D4600F019F841F23403C2F28B
|
||||
S3150800665800031D6044F0800441F23800C2F20000CD
|
||||
S315080066680460024611680029FCD100F009F841F2D5
|
||||
S315080066783403C2F20003186838BD00BF704700BF6C
|
||||
S30908006688704700BF8A
|
||||
S3150800668C2F64656D6F70726F675F6F6C696D657877
|
||||
S3150800669C5F73746D3332653430372E7372656300ED
|
||||
S315080066AC2F626F6F746C6F672E747874000000001D
|
||||
S315080066BC433A2F576F726B2F736F667477617265D7
|
||||
S315080066CC2F4F70656E424C542F5461726765742F48
|
||||
S315080066DC44656D6F2F41524D434D345F53544D33C2
|
||||
S315080066EC325F4F6C696D65785F53544D3332453460
|
||||
S315080066FC30375F43726F7373776F726B732F426F9A
|
||||
S3150800670C6F742F6964652F2E2E2F2E2E2F2E2E2F5B
|
||||
S3150800671C2E2E2F536F757263652F41524D434D3490
|
||||
S3150800672C5F53544D33322F43726F7373776F726B9B
|
||||
S3150800673C732F766563746F72732E630000000800FE
|
||||
S3150800674C10001800200028003000380040004800CF
|
||||
S3150800675C500058008000880090009800A000A800FF
|
||||
S3150800676CB000B800C000C800D000D80000800008EF
|
||||
S3150800677C004000000200000000C0000800400000B5
|
||||
S3150800678C03000000000001080000010004000000DE
|
||||
S3150800679C00000208000002000500000000000408C2
|
||||
S315080067AC00000200060000000000060800000200B7
|
||||
S315080067BC070000000000080800000200080000009E
|
||||
S315080067CC00000A08000002000900000000000C087E
|
||||
S315080067DC000002000A00000000000E08000002007B
|
||||
S315080067EC0B000000433A2F576F726B2F736F66744A
|
||||
S315080067FC776172652F4F70656E424C542F546172D7
|
||||
S3150800680C6765742F44656D6F2F41524D434D345F48
|
||||
S3150800681C53544D33325F4F6C696D65785F53544DE5
|
||||
S3150800682C3332453430375F43726F7373776F726BDD
|
||||
S3150800683C732F426F6F742F6964652F2E2E2F2E2E91
|
||||
S3150800684C2F2E2E2F2E2E2F536F757263652F4152B6
|
||||
S3150800685C4D434D345F53544D33322F756172742E3C
|
||||
S3150800686C630000004F70656E424C5400222A3A3C75
|
||||
S3150800687C3E3F7C7F000000002B2C3B3D5B5D0000FF
|
||||
S3150800688C809A90418E418F804545454949498E8F5E
|
||||
S3150800689C9092924F994F555559999A9B9C9D9E9FAC
|
||||
S315080068AC41494F55A5A5A6A7A8A9AAABAC21AEAF39
|
||||
S315080068BCB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF46
|
||||
S315080068CCC0C1C2C3C4C5C6C7C8C9CACBCCCDCECF36
|
||||
S315080068DCD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF26
|
||||
S315080068ECE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF16
|
||||
S315080068FCF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF06
|
||||
S3150800690C01030507090E10121416181C1E000000A8
|
||||
S3150800691C6100620063006400650066006700680039
|
||||
S3150800692C69006A006B006C006D006E006F007000E9
|
||||
S3150800693C7100720073007400750076007700780099
|
||||
S3150800694C79007A00A100A200A300A500AC00AF0054
|
||||
S3150800695CE000E100E200E300E400E500E600E70001
|
||||
S3150800696CE800E900EA00EB00EC00ED00EE00EF00B1
|
||||
S3150800697CF000F100F200F300F400F500F600F80060
|
||||
S3150800698CF900FA00FB00FC00FD00FE00FF00010107
|
||||
S3150800699C03010501070109010B010D010F01110185
|
||||
S315080069AC13011501170119011B011D011F012101F5
|
||||
S315080069BC23012501270129012B012D012F01310165
|
||||
S315080069CC3301350137013A013C013E0140014201D0
|
||||
S315080069DC4401460148014B014D014F015101530138
|
||||
S315080069EC5501570159015B015D015F0161016301A5
|
||||
S315080069FC6501670169016B016D016F017101730115
|
||||
S31508006A0C750177017A017C017E019201B103B2030B
|
||||
S31508006A1CB303B403B503B603B703B803B903BA0390
|
||||
S31508006A2CBB03BC03BD03BE03BF03C003C103C3033F
|
||||
S31508006A3CC403C503C603C703C803C903CA03300482
|
||||
S31508006A4C3104320433043404350436043704380468
|
||||
S31508006A5C39043A043B043C043D043E043F04400418
|
||||
S31508006A6C41044204430444044504460447044804C8
|
||||
S31508006A7C49044A044B044C044D044E044F04510477
|
||||
S31508006A8C5204530454045504560457045804590420
|
||||
S31508006A9C5A045B045C045E045F0470217121722144
|
||||
S31508006AAC73217421752176217721782179217A2110
|
||||
S31508006ABC7B217C217D217E217F2141FF42FF43FFE3
|
||||
S31508006ACC44FF45FF46FF47FF48FF49FF4AFF4BFF78
|
||||
S31508006ADC4CFF4DFF4EFF4FFF50FF51FF52FF53FF28
|
||||
S31508006AEC54FF55FF56FF57FF58FF59FF5AFF000032
|
||||
S31508006AFCC700FC00E900E200E400E000E500E7005E
|
||||
S31508006B0CEA00EB00E800EF00EE00EC00C400C5005C
|
||||
S31508006B1CC900E600C600F400F600F200FB00F90016
|
||||
S31508006B2CFF00D600DC00A200A300A500A720920156
|
||||
S31508006B3CE100ED00F300FA00F100D100AA00BA005A
|
||||
S31508006B4CBF001023AC00BD00BC00A100AB00BB000D
|
||||
S31508006B5C91259225932502252425612562255625FE
|
||||
S31508006B6C55256325512557255D255C255B2510255F
|
||||
S31508006B7C142534252C251C2500253C255E255F254A
|
||||
S31508006B8C5A25542569256625602550256C256725C3
|
||||
S31508006B9C68256425652559255825522553256B25C1
|
||||
S31508006BAC6A2518250C25882584258C25902580256D
|
||||
S31508006BBCB103DF009303C003A303C303B500C403E7
|
||||
S31508006BCCA6039803A903B4031E22C603B5032922F8
|
||||
S31508006BDC6122B1006522642220232123F700482272
|
||||
S31508006BECB0001922B7001A227F20B200A025A000F7
|
||||
S31508006BFC4100420043004400450046004700480057
|
||||
S31508006C0C49004A004B004C004D004E004F00500006
|
||||
S31508006C1C51005200530054005500560057005800B6
|
||||
S31508006C2C59005A002100E0FFE1FFE5FFE2FFE3FF10
|
||||
S31508006C3CC000C100C200C300C400C500C600C7001E
|
||||
S31508006C4CC800C900CA00CB00CC00CD00CE00CF00CE
|
||||
S31508006C5CD000D100D200D300D400D500D600D8007D
|
||||
S31508006C6CD900DA00DB00DC00DD00DE00780100016B
|
||||
S31508006C7C02010401060108010A010C010E011001AA
|
||||
S31508006C8C12011401160118011A011C011E0120011A
|
||||
S31508006C9C22012401260128012A012C012E0130018A
|
||||
S31508006CAC32013401360139013B013D013F014101F5
|
||||
S31508006CBC4301450147014A014C014E01500152015D
|
||||
S31508006CCC5401560158015A015C015E0160016201CA
|
||||
S31508006CDC6401660168016A016C016E01700172013A
|
||||
S31508006CEC7401760179017B017D019101910392036F
|
||||
S31508006CFC93039403950396039703980399039A03AE
|
||||
S31508006D0C9B039C039D039E039F03A003A103A3035C
|
||||
S31508006D1CA403A503A603A703A803A903AA0310049F
|
||||
S31508006D2C1104120413041404150416041704180485
|
||||
S31508006D3C19041A041B041C041D041E041F04200435
|
||||
S31508006D4C21042204230424042504260427042804E5
|
||||
S31508006D5C29042A042B042C042D042E042F040104C4
|
||||
S31508006D6C02040304040405040604070408040904BD
|
||||
S31508006D7C0A040B040C040E040F0460216121622121
|
||||
S31508006D8C63216421652166216721682169216A21AD
|
||||
S31508006D9C6B216C216D216E216F2121FF22FF23FFB0
|
||||
S31508006DAC24FF25FF26FF27FF28FF29FF2AFF2BFF95
|
||||
S31508006DBC2CFF2DFF2EFF2FFF30FF31FF32FF33FF45
|
||||
S31508006DCC34FF35FF36FF37FF38FF39FF3AFF00002F
|
||||
S31508006DDC433A2F576F726B2F736F667477617265B0
|
||||
S31508006DEC2F4F70656E424C542F5461726765742F21
|
||||
S31508006DFC44656D6F2F41524D434D345F53544D339B
|
||||
S31508006E0C325F4F6C696D65785F53544D3332453438
|
||||
S31508006E1C30375F43726F7373776F726B732F426F72
|
||||
S31508006E2C6F742F6964652F2E2E2F2E2E2F2E2E2F34
|
||||
S31508006E3C2E2E2F536F757263652F66696C652E63DC
|
||||
S31508006E4C000000004669726D776172652075706482
|
||||
S31508006E5C61746520726571756573742064657465F3
|
||||
S31508006E6C637465640A0D00004F70656E696E672061
|
||||
S31508006E7C6669726D776172652066696C6520666FE6
|
||||
S31508006E8C722072656164696E672E2E2E00000000F2
|
||||
S31508006E9C4552524F520A0D004F4B0A0D0000000086
|
||||
S31508006EAC5374617274696E67207468652070726FAA
|
||||
S31508006EBC6772616D6D696E672073657175656E6352
|
||||
S31508006ECC650A0D0050617273696E67206669726D8A
|
||||
S31508006EDC776172652066696C6520746F206F6274C1
|
||||
S31508006EEC61696E2065726173652073697A652E2EE9
|
||||
S31508006EFC2E00000045726173696E67200000000061
|
||||
S31508006F0C2062797465732066726F6D206D656D6F7E
|
||||
S31508006F1C7279206174203078000000005265616433
|
||||
S31508006F2C696E67206C696E652066726F6D2066697E
|
||||
S31508006F3C6C652E2E2E4552524F520A0D000000003B
|
||||
S31508006F4C496E76616C696420636865636B73756DED
|
||||
S31508006F5C20666F756E642E2E2E4552524F520A0DB0
|
||||
S31508006F6C0000000050726F6772616D6D696E672064
|
||||
S31508006F7C0000000020627974657320746F206D65BB
|
||||
S31508006F8C6D6F7279206174203078000057726974BD
|
||||
S31508006F9C696E672070726F6772616D2063686563CE
|
||||
S31508006FAC6B73756D2E2E2E00436C6F73696E67208E
|
||||
S31508006FBC6669726D776172652066696C650A0D0083
|
||||
S31508006FCC4669726D776172652075706461746520A7
|
||||
S31508006FDC7375636365737366756C6C7920636F6D13
|
||||
S31108006FEC706C657465640A0D00000000F6
|
||||
S31508006FF8010000000100000000000000010203046F
|
||||
S30D0800700801020304060708094A
|
||||
S70508000217D9
|
||||
|
|
|
@ -61,6 +61,33 @@
|
|||
/****************************************************************************************
|
||||
* C O M M U N I C A T I O N I N T E R F A C E C O N F I G U R A T I O N
|
||||
****************************************************************************************/
|
||||
/* The CAN communication interface is selected by setting the BOOT_COM_CAN_ENABLE
|
||||
* configurable to 1. Configurable BOOT_COM_CAN_BAUDRATE selects the communication speed
|
||||
* 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
|
||||
* 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
|
||||
* CAN controller channel.
|
||||
*
|
||||
*/
|
||||
/** \brief Enable/disable CAN transport layer. */
|
||||
#define BOOT_COM_CAN_ENABLE (0)
|
||||
/** \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)
|
||||
/** \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)
|
||||
/** \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. */
|
||||
#define BOOT_COM_CAN_CHANNEL_INDEX (1)
|
||||
|
||||
/* The UART communication interface is selected by setting the BOOT_COM_UART_ENABLE
|
||||
* configurable to 1. Configurable BOOT_COM_UART_BAUDRATE selects the communication speed
|
||||
* in bits/second. The maximum amount of data bytes in a message for data transmission
|
||||
|
|
|
@ -102,6 +102,8 @@
|
|||
<file file_name="../../../../Source/ARMCM4_STM32/types.h"/>
|
||||
<file file_name="../../../../Source/ARMCM4_STM32/uart.c"/>
|
||||
<file file_name="../../../../Source/ARMCM4_STM32/uart.h"/>
|
||||
<file file_name="../../../../Source/ARMCM4_STM32/can.c"/>
|
||||
<file file_name="../../../../Source/ARMCM4_STM32/can.h"/>
|
||||
</folder>
|
||||
<file file_name="../../../../Source/assert.c"/>
|
||||
<file file_name="../../../../Source/assert.h"/>
|
||||
|
|
|
@ -63,7 +63,8 @@
|
|||
<Watches active="0" update="Never" />
|
||||
</Watch4>
|
||||
<Files>
|
||||
<SessionOpenFile useTextEdit="1" useBinaryEdit="0" codecName="Latin1" x="0" debugPath="C:\Work\software\OpenBLT\Target\Demo\ARMCM4_STM32_Olimex_STM32E407_Crossworks\Boot\main.c" y="54" path="C:\Work\software\OpenBLT\Target\Demo\ARMCM4_STM32_Olimex_STM32E407_Crossworks\Boot\main.c" left="18" selected="1" name="unnamed" top="35" />
|
||||
<SessionOpenFile useTextEdit="1" useBinaryEdit="0" codecName="Latin1" x="0" debugPath="C:\Work\software\OpenBLT\Target\Demo\ARMCM4_STM32_Olimex_STM32E407_Crossworks\Boot\main.c" y="54" path="C:\Work\software\OpenBLT\Target\Demo\ARMCM4_STM32_Olimex_STM32E407_Crossworks\Boot\main.c" left="18" selected="0" name="unnamed" top="50" />
|
||||
<SessionOpenFile useTextEdit="1" useBinaryEdit="0" codecName="Latin1" x="0" debugPath="C:\Work\software\OpenBLT\Target\Demo\ARMCM4_STM32_Olimex_STM32E407_Crossworks\Boot\blt_conf.h" y="99" path="C:\Work\software\OpenBLT\Target\Demo\ARMCM4_STM32_Olimex_STM32E407_Crossworks\Boot\blt_conf.h" left="0" selected="1" name="unnamed" top="72" />
|
||||
</Files>
|
||||
<ARMCrossStudioWindow activeProject="openbtl_olimex_stm32e407" autoConnectTarget="SEGGER J-Link" debugSearchFileMap="" fileDialogInitialDirectory="C:\Work\software\OpenBLT\Target\Demo\ARMCM4_STM32_Olimex_STM32E407_Crossworks\Boot" fileDialogDefaultFilter="" autoConnectCapabilities="266111" debugSearchPath="" buildConfiguration="THUMB Debug" />
|
||||
<ARMCrossStudioWindow activeProject="openbtl_olimex_stm32e407" autoConnectTarget="SEGGER J-Link" debugSearchFileMap="" fileDialogInitialDirectory="C:\Work\software\OpenBLT\Target\Source\ARMCM4_STM32" fileDialogDefaultFilter="*.c" autoConnectCapabilities="266111" debugSearchPath="" buildConfiguration="THUMB Debug" />
|
||||
</session>
|
||||
|
|
|
@ -79,6 +79,8 @@ static void Init(void)
|
|||
#elif (BOOT_FILE_SYS_ENABLE > 0)
|
||||
GPIO_InitTypeDef GPIO_InitStructure;
|
||||
USART_InitTypeDef USART_InitStructure;
|
||||
#elif (BOOT_COM_CAN_ENABLE > 0)
|
||||
GPIO_InitTypeDef GPIO_InitStructure;
|
||||
#endif
|
||||
|
||||
/* disable all interrupts to prevent possible jump back to the user program */
|
||||
|
@ -134,6 +136,24 @@ static void Init(void)
|
|||
/* enable UART */
|
||||
USART_Cmd(USART6, ENABLE);
|
||||
#endif
|
||||
#if (BOOT_COM_CAN_ENABLE > 0)
|
||||
/* enable clocks for CAN2 transmitter and receiver pins */
|
||||
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB, ENABLE);
|
||||
/* select alternate function for the CAN2 pins */
|
||||
GPIO_PinAFConfig(GPIOB, GPIO_PinSource5, GPIO_AF_CAN2);
|
||||
GPIO_PinAFConfig(GPIOB, GPIO_PinSource6, GPIO_AF_CAN2);
|
||||
/* configure CAN2 RX and TX pins */
|
||||
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5 | GPIO_Pin_6;
|
||||
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
|
||||
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
|
||||
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
|
||||
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
|
||||
GPIO_Init(GPIOB, &GPIO_InitStructure);
|
||||
/* enable CAN clock. Note that CAN2 shares reception filters with CAN1 so for CAN2
|
||||
* the CAN1 peripheral also needs to be enabled.
|
||||
*/
|
||||
RCC_APB1PeriphClockCmd(RCC_APB1Periph_CAN2 | RCC_APB1Periph_CAN1, ENABLE);
|
||||
#endif
|
||||
} /*** end of Init ***/
|
||||
|
||||
|
||||
|
|
|
@ -182,4 +182,184 @@ static unsigned char UartReceiveByte(unsigned char *data)
|
|||
#endif /* BOOT_COM_UART_ENABLE > 0 */
|
||||
|
||||
|
||||
#if (BOOT_COM_CAN_ENABLE > 0)
|
||||
/****************************************************************************************
|
||||
* C O N T R O L L E R A R E A N E T W O R K I N T E R F A C E
|
||||
****************************************************************************************/
|
||||
|
||||
/****************************************************************************************
|
||||
* Type definitions
|
||||
****************************************************************************************/
|
||||
/** \brief Structure type for grouping CAN bus timing related information. */
|
||||
typedef struct t_can_bus_timing
|
||||
{
|
||||
unsigned char tseg1; /**< CAN time segment 1 */
|
||||
unsigned char tseg2; /**< CAN time segment 2 */
|
||||
} tCanBusTiming;
|
||||
|
||||
|
||||
/****************************************************************************************
|
||||
* Local constant declarations
|
||||
****************************************************************************************/
|
||||
/** \brief CAN bittiming table for dynamically calculating the bittiming settings.
|
||||
* \details According to the CAN protocol 1 bit-time can be made up of between 8..25
|
||||
* time quanta (TQ). The total TQ in a bit is SYNC + TSEG1 + TSEG2 with SYNC
|
||||
* always being 1. The sample point is (SYNC + TSEG1) / (SYNC + TSEG1 + SEG2) *
|
||||
* 100%. This array contains possible and valid time quanta configurations with
|
||||
* a sample point between 68..78%.
|
||||
*/
|
||||
static const tCanBusTiming canTiming[] =
|
||||
{ /* TQ | TSEG1 | TSEG2 | SP */
|
||||
/* ------------------------- */
|
||||
{ 5, 2 }, /* 8 | 5 | 2 | 75% */
|
||||
{ 6, 2 }, /* 9 | 6 | 2 | 78% */
|
||||
{ 6, 3 }, /* 10 | 6 | 3 | 70% */
|
||||
{ 7, 3 }, /* 11 | 7 | 3 | 73% */
|
||||
{ 8, 3 }, /* 12 | 8 | 3 | 75% */
|
||||
{ 9, 3 }, /* 13 | 9 | 3 | 77% */
|
||||
{ 9, 4 }, /* 14 | 9 | 4 | 71% */
|
||||
{ 10, 4 }, /* 15 | 10 | 4 | 73% */
|
||||
{ 11, 4 }, /* 16 | 11 | 4 | 75% */
|
||||
{ 12, 4 }, /* 17 | 12 | 4 | 76% */
|
||||
{ 12, 5 }, /* 18 | 12 | 5 | 72% */
|
||||
{ 13, 5 }, /* 19 | 13 | 5 | 74% */
|
||||
{ 14, 5 }, /* 20 | 14 | 5 | 75% */
|
||||
{ 15, 5 }, /* 21 | 15 | 5 | 76% */
|
||||
{ 15, 6 }, /* 22 | 15 | 6 | 73% */
|
||||
{ 16, 6 }, /* 23 | 16 | 6 | 74% */
|
||||
{ 16, 7 }, /* 24 | 16 | 7 | 71% */
|
||||
{ 16, 8 } /* 25 | 16 | 8 | 68% */
|
||||
};
|
||||
|
||||
|
||||
/************************************************************************************//**
|
||||
** \brief Search algorithm to match the desired baudrate to a possible bus
|
||||
** timing configuration.
|
||||
** \param baud The desired baudrate in kbps. Valid values are 10..1000.
|
||||
** \param prescaler Pointer to where the value for the prescaler will be stored.
|
||||
** \param tseg1 Pointer to where the value for TSEG2 will be stored.
|
||||
** \param tseg2 Pointer to where the value for TSEG2 will be stored.
|
||||
** \return 1 if the CAN bustiming register values were found, 0 otherwise.
|
||||
**
|
||||
****************************************************************************************/
|
||||
static unsigned char CanGetSpeedConfig(unsigned short baud, unsigned short *prescaler,
|
||||
unsigned char *tseg1, unsigned char *tseg2)
|
||||
{
|
||||
unsigned char cnt;
|
||||
|
||||
/* loop through all possible time quanta configurations to find a match */
|
||||
for (cnt=0; cnt < sizeof(canTiming)/sizeof(canTiming[0]); cnt++)
|
||||
{
|
||||
if (((BOOT_CPU_SYSTEM_SPEED_KHZ/4) % (baud*(canTiming[cnt].tseg1+canTiming[cnt].tseg2+1))) == 0)
|
||||
{
|
||||
/* compute the prescaler that goes with this TQ configuration */
|
||||
*prescaler = (BOOT_CPU_SYSTEM_SPEED_KHZ/4)/(baud*(canTiming[cnt].tseg1+canTiming[cnt].tseg2+1));
|
||||
|
||||
/* make sure the prescaler is valid */
|
||||
if ( (*prescaler > 0) && (*prescaler <= 1024) )
|
||||
{
|
||||
/* store the bustiming configuration */
|
||||
*tseg1 = canTiming[cnt].tseg1;
|
||||
*tseg2 = canTiming[cnt].tseg2;
|
||||
/* found a good bus timing configuration */
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
/* could not find a good bus timing configuration */
|
||||
return 0;
|
||||
} /*** end of CanGetSpeedConfig ***/
|
||||
|
||||
|
||||
/************************************************************************************//**
|
||||
** \brief Initializes the CAN communication interface.
|
||||
** \return none.
|
||||
**
|
||||
****************************************************************************************/
|
||||
void BootComInit(void)
|
||||
{
|
||||
GPIO_InitTypeDef GPIO_InitStructure;
|
||||
CAN_InitTypeDef CAN_InitStructure;
|
||||
CAN_FilterInitTypeDef CAN_FilterInitStructure;
|
||||
unsigned short prescaler;
|
||||
unsigned char tseg1, tseg2;
|
||||
|
||||
/* enable clocks for CAN2 transmitter and receiver pins */
|
||||
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB, ENABLE);
|
||||
/* select alternate function for the CAN2 pins */
|
||||
GPIO_PinAFConfig(GPIOB, GPIO_PinSource5, GPIO_AF_CAN2);
|
||||
GPIO_PinAFConfig(GPIOB, GPIO_PinSource6, GPIO_AF_CAN2);
|
||||
/* configure CAN2 RX and TX pins */
|
||||
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5 | GPIO_Pin_6;
|
||||
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
|
||||
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
|
||||
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
|
||||
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
|
||||
GPIO_Init(GPIOB, &GPIO_InitStructure);
|
||||
/* enable CAN clock. Note that CAN2 shares reception filters with CAN1 so for CAN2
|
||||
* the CAN1 peripheral also needs to be enabled.
|
||||
*/
|
||||
RCC_APB1PeriphClockCmd(RCC_APB1Periph_CAN2 | RCC_APB1Periph_CAN1, ENABLE);
|
||||
/* CAN register init */
|
||||
CAN_DeInit(CAN2);
|
||||
CAN_StructInit(&CAN_InitStructure);
|
||||
/* obtain the bittiming configuration for this baudrate */
|
||||
CanGetSpeedConfig(BOOT_COM_CAN_BAUDRATE/1000, &prescaler, &tseg1, &tseg2);
|
||||
/* CAN controller init */
|
||||
CAN_InitStructure.CAN_TTCM = DISABLE;
|
||||
CAN_InitStructure.CAN_ABOM = DISABLE;
|
||||
CAN_InitStructure.CAN_AWUM = DISABLE;
|
||||
CAN_InitStructure.CAN_NART = DISABLE;
|
||||
CAN_InitStructure.CAN_RFLM = DISABLE;
|
||||
CAN_InitStructure.CAN_TXFP = DISABLE;
|
||||
CAN_InitStructure.CAN_Mode = CAN_Mode_Normal;
|
||||
/* CAN Baudrate init */
|
||||
CAN_InitStructure.CAN_SJW = CAN_SJW_1tq;
|
||||
CAN_InitStructure.CAN_BS1 = tseg1 - 1;
|
||||
CAN_InitStructure.CAN_BS2 = tseg2 - 1;
|
||||
CAN_InitStructure.CAN_Prescaler = prescaler;
|
||||
CAN_Init(CAN2, &CAN_InitStructure);
|
||||
/* CAN filter init - receive all messages */
|
||||
CAN_FilterInitStructure.CAN_FilterNumber = 14;
|
||||
CAN_FilterInitStructure.CAN_FilterMode = CAN_FilterMode_IdMask;
|
||||
CAN_FilterInitStructure.CAN_FilterScale = CAN_FilterScale_32bit;
|
||||
CAN_FilterInitStructure.CAN_FilterIdHigh = 0x0000;
|
||||
CAN_FilterInitStructure.CAN_FilterIdLow = 0x0000;
|
||||
CAN_FilterInitStructure.CAN_FilterMaskIdHigh = 0x0000;
|
||||
CAN_FilterInitStructure.CAN_FilterMaskIdLow = 0x0000;
|
||||
CAN_FilterInitStructure.CAN_FilterFIFOAssignment = 0;
|
||||
CAN_FilterInitStructure.CAN_FilterActivation = ENABLE;
|
||||
CAN_FilterInit(&CAN_FilterInitStructure);
|
||||
} /*** end of BootComInit ***/
|
||||
|
||||
|
||||
/************************************************************************************//**
|
||||
** \brief Receives the CONNECT request from the host, which indicates that the
|
||||
** bootloader should be activated and, if so, activates it.
|
||||
** \return none.
|
||||
**
|
||||
****************************************************************************************/
|
||||
void BootComCheckActivationRequest(void)
|
||||
{
|
||||
CanRxMsg RxMessage;
|
||||
|
||||
/* 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 this was an XCP CONNECT command */
|
||||
if ((RxMessage.Data[0] == 0xff) && (RxMessage.Data[1] == 0x00))
|
||||
{
|
||||
/* connection request received so start the bootloader */
|
||||
BootActivate();
|
||||
}
|
||||
}
|
||||
}
|
||||
} /*** end of BootComCheckActivationRequest ***/
|
||||
#endif /* BOOT_COM_CAN_ENABLE > 0 */
|
||||
|
||||
|
||||
/*********************************** end of boot.c *************************************/
|
||||
|
|
|
@ -50,9 +50,9 @@
|
|||
</TraceWindow>
|
||||
<Watch1>
|
||||
<Watches active="1" update="Never" >
|
||||
<Watchpoint linenumber="124" radix="-1" name="free_running_counter_now" expression="free_running_counter_now" filename="d:/usr/feaser/software/openblt/target/source/armcm3_stm32/timer.c" />
|
||||
<Watchpoint linenumber="152" radix="-1" name="free_running_counter_accumulative" expression="free_running_counter_accumulative" filename="d:/usr/feaser/software/openblt/target/source/armcm3_stm32/timer.c" />
|
||||
<Watchpoint linenumber="121" radix="-1" name="free_running_counter_last" expression="free_running_counter_last" filename="d:/usr/feaser/software/openblt/target/source/armcm3_stm32/timer.c" />
|
||||
<Watchpoint linenumber="152" radix="-1" name="free_running_counter_accumulative" expression="free_running_counter_accumulative" filename="d:/usr/feaser/software/openblt/target/source/armcm3_stm32/timer.c" />
|
||||
<Watchpoint linenumber="124" radix="-1" name="free_running_counter_now" expression="free_running_counter_now" filename="d:/usr/feaser/software/openblt/target/source/armcm3_stm32/timer.c" />
|
||||
</Watches>
|
||||
</Watch1>
|
||||
<Watch2>
|
||||
|
@ -65,8 +65,8 @@
|
|||
<Watches active="0" update="Never" />
|
||||
</Watch4>
|
||||
<Files>
|
||||
<SessionOpenFile useTextEdit="1" useBinaryEdit="0" codecName="Latin1" x="0" debugPath="C:\Work\software\OpenBLT\Target\Demo\ARMCM4_STM32_Olimex_STM32E407_Crossworks\Prog\main.c" y="52" path="C:\Work\software\OpenBLT\Target\Demo\ARMCM4_STM32_Olimex_STM32E407_Crossworks\Prog\main.c" left="0" selected="0" name="unnamed" top="48" />
|
||||
<SessionOpenFile useTextEdit="1" useBinaryEdit="0" codecName="Latin1" x="0" debugPath="C:\Work\software\OpenBLT\Target\Demo\ARMCM4_STM32_Olimex_STM32E407_Crossworks\Prog\led.c" y="40" path="C:\Work\software\OpenBLT\Target\Demo\ARMCM4_STM32_Olimex_STM32E407_Crossworks\Prog\led.c" left="0" selected="1" name="unnamed" top="40" />
|
||||
<SessionOpenFile useTextEdit="1" useBinaryEdit="0" codecName="Latin1" x="0" debugPath="C:\Work\software\OpenBLT\Target\Demo\ARMCM4_STM32_Olimex_STM32E407_Crossworks\Prog\main.c" y="68" path="C:\Work\software\OpenBLT\Target\Demo\ARMCM4_STM32_Olimex_STM32E407_Crossworks\Prog\main.c" left="0" selected="0" name="unnamed" top="39" />
|
||||
<SessionOpenFile useTextEdit="1" useBinaryEdit="0" codecName="Latin1" x="0" debugPath="C:\Work\software\OpenBLT\Target\Demo\ARMCM4_STM32_Olimex_STM32E407_Crossworks\Prog\boot.c" y="21" path="C:\Work\software\OpenBLT\Target\Demo\ARMCM4_STM32_Olimex_STM32E407_Crossworks\Prog\boot.c" left="0" selected="1" name="unnamed" top="21" />
|
||||
</Files>
|
||||
<ARMCrossStudioWindow activeProject="demoprog_olimex_stm32e407" autoConnectTarget="SEGGER J-Link" debugSearchFileMap="" fileDialogInitialDirectory="C:\Work\software\OpenBLT\Target\Demo\ARMCM4_STM32_Olimex_STM32E407_Crossworks\Prog\lib\stdperiphlib" fileDialogDefaultFilter="*.c" autoConnectCapabilities="266111" debugSearchPath="" buildConfiguration="THUMB Debug" />
|
||||
</session>
|
||||
|
|
Binary file not shown.
|
@ -7,38 +7,40 @@ start address 0x08000000
|
|||
|
||||
Program Header:
|
||||
LOAD off 0x00008000 vaddr 0x08000000 paddr 0x08000000 align 2**15
|
||||
filesz 0x00005d40 memsz 0x00005d40 flags r-x
|
||||
LOAD off 0x00010000 vaddr 0x20000000 paddr 0x08005d40 align 2**15
|
||||
filesz 0x0000001c memsz 0x0000183c flags rw-
|
||||
filesz 0x00005d6c memsz 0x00005d6c flags r-x
|
||||
LOAD off 0x00010000 vaddr 0x20000000 paddr 0x08005d6c align 2**15
|
||||
filesz 0x0000001c memsz 0x0000001c flags rw-
|
||||
LOAD off 0x00010020 vaddr 0x20000020 paddr 0x08005d90 align 2**15
|
||||
filesz 0x00000000 memsz 0x0000181c flags rw-
|
||||
private flags = 5000002: [Version5 EABI] [has entry point]
|
||||
|
||||
Sections:
|
||||
Idx Name Size VMA LMA File off Algn
|
||||
0 .text 00005d40 08000000 08000000 00008000 2**2
|
||||
0 .text 00005d6c 08000000 08000000 00008000 2**2
|
||||
CONTENTS, ALLOC, LOAD, READONLY, CODE
|
||||
1 .data 0000001c 20000000 08005d40 00010000 2**2
|
||||
1 .data 0000001c 20000000 08005d6c 00010000 2**2
|
||||
CONTENTS, ALLOC, LOAD, DATA
|
||||
2 .bss 0000181c 20000020 08005d60 0001001c 2**3
|
||||
2 .bss 0000181c 20000020 08005d90 00010020 2**3
|
||||
ALLOC
|
||||
3 .debug_info 0000e4c2 00000000 00000000 0001001c 2**0
|
||||
3 .debug_info 0000e4fb 00000000 00000000 0001001c 2**0
|
||||
CONTENTS, READONLY, DEBUGGING
|
||||
4 .debug_abbrev 000027f8 00000000 00000000 0001e4de 2**0
|
||||
4 .debug_abbrev 000027b8 00000000 00000000 0001e517 2**0
|
||||
CONTENTS, READONLY, DEBUGGING
|
||||
5 .debug_loc 0000ac20 00000000 00000000 00020cd6 2**0
|
||||
5 .debug_loc 0000ad42 00000000 00000000 00020ccf 2**0
|
||||
CONTENTS, READONLY, DEBUGGING
|
||||
6 .debug_aranges 00000be8 00000000 00000000 0002b8f6 2**0
|
||||
6 .debug_aranges 00000bf8 00000000 00000000 0002ba11 2**0
|
||||
CONTENTS, READONLY, DEBUGGING
|
||||
7 .debug_ranges 00000cb0 00000000 00000000 0002c4de 2**0
|
||||
7 .debug_ranges 00000c58 00000000 00000000 0002c609 2**0
|
||||
CONTENTS, READONLY, DEBUGGING
|
||||
8 .debug_line 00004696 00000000 00000000 0002d18e 2**0
|
||||
8 .debug_line 000046cc 00000000 00000000 0002d261 2**0
|
||||
CONTENTS, READONLY, DEBUGGING
|
||||
9 .debug_str 0000380f 00000000 00000000 00031824 2**0
|
||||
9 .debug_str 0000381b 00000000 00000000 0003192d 2**0
|
||||
CONTENTS, READONLY, DEBUGGING
|
||||
10 .comment 00000030 00000000 00000000 00035033 2**0
|
||||
10 .comment 00000030 00000000 00000000 00035148 2**0
|
||||
CONTENTS, READONLY
|
||||
11 .ARM.attributes 00000033 00000000 00000000 00035063 2**0
|
||||
11 .ARM.attributes 00000033 00000000 00000000 00035178 2**0
|
||||
CONTENTS, READONLY
|
||||
12 .debug_frame 00001f1c 00000000 00000000 00035098 2**2
|
||||
12 .debug_frame 00001f40 00000000 00000000 000351ac 2**2
|
||||
CONTENTS, READONLY, DEBUGGING
|
||||
SYMBOL TABLE:
|
||||
08000000 l d .text 00000000 .text
|
||||
|
@ -57,9 +59,9 @@ SYMBOL TABLE:
|
|||
00000000 l df *ABS* 00000000 vectors.c
|
||||
00000000 l df *ABS* 00000000 cstart.c
|
||||
080001ca l F .text 00000000 zero_loop2
|
||||
08005248 l F .text 00000000 zero_loop
|
||||
08005274 l F .text 00000000 zero_loop
|
||||
00000000 l df *ABS* 00000000 hooks.c
|
||||
080053e8 l O .text 00000020 firmwareFilename
|
||||
08005414 l O .text 00000020 firmwareFilename
|
||||
20000020 l O .bss 00000228 logfile
|
||||
00000000 l df *ABS* 00000000 main.c
|
||||
00000000 l df *ABS* 00000000 mmc.c
|
||||
|
@ -111,21 +113,21 @@ SYMBOL TABLE:
|
|||
080032b4 l F .text 00000258 dir_register
|
||||
20000318 l O .bss 00000200 LfnBuf
|
||||
20000518 l O .bss 00000002 Fsid
|
||||
0800542c l O .text 00000080 ExCvt
|
||||
080054ac l O .text 0000000d LfnOfs
|
||||
08005458 l O .text 00000080 ExCvt
|
||||
080054d8 l O .text 0000000d LfnOfs
|
||||
2000051c l O .bss 00000004 FatFs
|
||||
00000000 l df *ABS* 00000000 unicode.c
|
||||
080054bc l O .text 000001e0 tbl_lower.4261
|
||||
0800569c l O .text 00000100 Tbl
|
||||
0800579c l O .text 000001e0 tbl_upper.4262
|
||||
080054e8 l O .text 000001e0 tbl_lower.4261
|
||||
080056c8 l O .text 00000100 Tbl
|
||||
080057c8 l O .text 000001e0 tbl_upper.4262
|
||||
00000000 l df *ABS* 00000000 boot.c
|
||||
00000000 l df *ABS* 00000000 com.c
|
||||
20000520 l O .bss 00000001 comEntryStateConnect
|
||||
20000524 l O .bss 00000040 xcpCtoReqPacket.4367
|
||||
20000524 l O .bss 00000040 xcpCtoReqPacket.4386
|
||||
00000000 l df *ABS* 00000000 xcp.c
|
||||
08004038 l F .text 00000010 XcpProtectResources
|
||||
08004048 l F .text 00000018 XcpSetCtoError
|
||||
0800597c l O .text 00000008 xcpStationId
|
||||
080059a8 l O .text 00000008 xcpStationId
|
||||
20000564 l O .bss 0000004c xcpInfo
|
||||
00000000 l df *ABS* 00000000 backdoor.c
|
||||
200005b0 l O .bss 00000001 backdoorOpen
|
||||
|
@ -136,7 +138,6 @@ SYMBOL TABLE:
|
|||
08004480 l F .text 00000024 FileLibByteToHexString
|
||||
080044a4 l F .text 00000048 FileLibLongToIntString
|
||||
080044ec l F .text 00000064 FileLibHexStringToByte
|
||||
08004550 l F .text 0000020c SrecParseLine
|
||||
200005b8 l O .bss 00000040 loggingStr
|
||||
200005f8 l O .bss 00000001 firmwareUpdateState
|
||||
200005fc l O .bss 00000008 eraseInfo
|
||||
|
@ -147,21 +148,21 @@ SYMBOL TABLE:
|
|||
20000be4 l O .bss 00000004 assert_failure_line
|
||||
00000000 l df *ABS* 00000000 cpu.c
|
||||
00000000 l df *ABS* 00000000 flash.c
|
||||
08004c08 l F .text 00000044 FlashGetSector
|
||||
08004c4c l F .text 0000007c FlashWriteBlock
|
||||
08004cc8 l F .text 00000030 FlashInitBlock
|
||||
08004cf8 l F .text 00000044 FlashSwitchBlock
|
||||
08004d3c l F .text 00000092 FlashAddToBlock
|
||||
08005b44 l O .text 00000030 flashSectorNumToMask
|
||||
08005b74 l O .text 00000078 flashLayout
|
||||
08004c34 l F .text 00000044 FlashGetSector
|
||||
08004c78 l F .text 0000007c FlashWriteBlock
|
||||
08004cf4 l F .text 00000030 FlashInitBlock
|
||||
08004d24 l F .text 00000044 FlashSwitchBlock
|
||||
08004d68 l F .text 00000092 FlashAddToBlock
|
||||
08005b70 l O .text 00000030 flashSectorNumToMask
|
||||
08005ba0 l O .text 00000078 flashLayout
|
||||
20000be8 l O .bss 00000204 bootBlockInfo
|
||||
20000dec l O .bss 00000204 blockInfo
|
||||
00000000 l df *ABS* 00000000 uart.c
|
||||
08004fc8 l F .text 0000002c UartReceiveByte
|
||||
08004ff4 l F .text 0000003c UartTransmitByte
|
||||
20000ff0 l O .bss 00000001 xcpCtoRxLength.7754
|
||||
20000ff1 l O .bss 00000001 xcpCtoRxInProgress.7755
|
||||
20000ff4 l O .bss 00000041 xcpCtoReqPacket.7753
|
||||
08004ff4 l F .text 0000002c UartReceiveByte
|
||||
08005020 l F .text 0000003c UartTransmitByte
|
||||
20000ff0 l O .bss 00000041 xcpCtoReqPacket.7772
|
||||
20001034 l O .bss 00000001 xcpCtoRxLength.7773
|
||||
20001035 l O .bss 00000001 xcpCtoRxInProgress.7774
|
||||
00000000 l df *ABS* 00000000 nvm.c
|
||||
00000000 l df *ABS* 00000000 timer.c
|
||||
20001038 l O .bss 00000004 millisecond_counter
|
||||
|
@ -170,14 +171,14 @@ SYMBOL TABLE:
|
|||
00000000 l df *ABS* 00000000
|
||||
00000800 l *ABS* 00000000 __STACKSIZE__
|
||||
08003fc0 g F .text 00000034 ComInit
|
||||
08004de8 g F .text 00000054 FlashWrite
|
||||
08004e14 g F .text 00000054 FlashWrite
|
||||
08003e40 g F .text 0000005e f_gets
|
||||
080016fc g F .text 00000020 FLASH_Unlock
|
||||
08004b9c g F .text 00000018 AssertFailure
|
||||
08004bc8 g F .text 00000018 AssertFailure
|
||||
0800260c g F .text 0000010a get_fat
|
||||
08005210 g F .text 0000005c reset_handler
|
||||
0800523c g F .text 0000005c reset_handler
|
||||
08001910 g F .text 00000038 GPIO_PinAFConfig
|
||||
080051cc g F .text 00000020 TimerUpdate
|
||||
080051f8 g F .text 00000020 TimerUpdate
|
||||
0800408c g F .text 00000010 XcpPacketTransmitted
|
||||
08003ff4 g F .text 00000018 ComTask
|
||||
08001b70 g F .text 0000000c SDIO_ClearFlag
|
||||
|
@ -186,48 +187,50 @@ SYMBOL TABLE:
|
|||
08004020 g F .text 00000010 ComSetConnectEntryState
|
||||
08001aa8 g F .text 0000000c SDIO_SetPowerState
|
||||
08003f8c g F .text 0000001c BootInit
|
||||
08004618 g F .text 00000042 FileSrecVerifyChecksum
|
||||
0800442c g F .text 00000020 BackDoorInit
|
||||
08001ca8 g F .text 0000000c USART_GetFlagStatus
|
||||
08004450 g F .text 00000002 CopService
|
||||
08005d40 g .text 00000000 _etext
|
||||
08005d6c g .text 00000000 _etext
|
||||
080012e0 g F .text 000001b8 SD_WriteBlock
|
||||
08003f5c g F .text 00000030 ff_wtoupper
|
||||
08005274 g F .text 00000174 memcpy
|
||||
080047d0 g F .text 000003cc FileTask
|
||||
08005190 g F .text 00000010 TimerReset
|
||||
080052a0 g F .text 00000174 memcpy
|
||||
080047fc g F .text 000003cc FileTask
|
||||
080051bc g F .text 00000010 TimerReset
|
||||
08001534 g F .text 00000034 disk_initialize
|
||||
08000c1c g F .text 000002e0 SD_GetCardInfo
|
||||
08001b5c g F .text 00000014 SDIO_GetFlagStatus
|
||||
08001c9c g F .text 0000000c USART_ReceiveData
|
||||
08003fa8 g F .text 00000018 BootTask
|
||||
080014e8 g F .text 0000002e SD_GetState
|
||||
08004ee0 g F .text 00000050 FlashWriteChecksum
|
||||
08004f0c g F .text 00000050 FlashWriteChecksum
|
||||
08000efc g F .text 00000084 SD_EnableWideBusOperation
|
||||
08001a18 g F .text 0000001c RCC_APB2PeriphClockCmd
|
||||
08001af0 g F .text 0000000c SDIO_GetCommandResponse
|
||||
08004010 g F .text 0000000e ComTransmitPacket
|
||||
08001860 g F .text 000000a2 GPIO_Init
|
||||
08001568 g F .text 00000028 disk_status
|
||||
0800465c g F .text 000001a0 FileSrecParseLine
|
||||
08001c70 g F .text 00000020 USART_Cmd
|
||||
08001680 g F .text 00000074 disk_ioctl
|
||||
0800479c g F .text 00000034 FileHandleFirmwareUpdateRequest
|
||||
08004590 g F .text 00000034 FileHandleFirmwareUpdateRequest
|
||||
08003204 g F .text 000000b0 gen_numname
|
||||
08000280 g F .text 00000038 FileFirmwareUpdateCompletedHook
|
||||
0800407c g F .text 00000010 XcpIsConnected
|
||||
08003d70 g F .text 000000d0 f_unlink
|
||||
0800515c g F .text 00000008 NvmInit
|
||||
08004dd0 g F .text 00000018 FlashInit
|
||||
08005188 g F .text 00000008 NvmInit
|
||||
08004dfc g F .text 00000018 FlashInit
|
||||
0800171c g F .text 00000010 FLASH_Lock
|
||||
2000103c g .bss 00000000 _ebss
|
||||
08003ea0 g F .text 00000038 f_putc
|
||||
08003ed8 g F .text 00000036 f_puts
|
||||
080051fc g F .text 00000014 UnusedISR
|
||||
08005228 g F .text 00000014 UnusedISR
|
||||
08001a9c g F .text 0000000c SDIO_ClockCmd
|
||||
0800400c g F .text 00000002 ComFree
|
||||
08001b18 g F .text 0000002c SDIO_DataConfig
|
||||
08005030 g F .text 00000044 UartInit
|
||||
0800505c g F .text 00000044 UartInit
|
||||
08001948 g F .text 000000b4 RCC_GetClocksFreq
|
||||
0800516c g F .text 00000008 NvmErase
|
||||
08005198 g F .text 00000008 NvmErase
|
||||
08001b7c g F .text 000000f4 USART_Init
|
||||
20000020 g .bss 00000000 _bss
|
||||
08003b50 g F .text 00000016 f_close
|
||||
|
@ -236,46 +239,47 @@ SYMBOL TABLE:
|
|||
0800172c g F .text 0000000c FLASH_ClearFlag
|
||||
08001780 g F .text 00000034 FLASH_WaitForLastOperation
|
||||
080036d8 g F .text 000001c4 f_read
|
||||
08004f88 g F .text 00000040 FlashDone
|
||||
08004fb4 g F .text 00000040 FlashDone
|
||||
08000fb0 g F .text 00000174 SD_Init
|
||||
08000188 g F .text 00000068 EntryFromProg
|
||||
08000f80 g F .text 00000030 SD_SelectDeselect
|
||||
08001ac4 g F .text 0000002c SDIO_SendCommand
|
||||
080016f4 g F .text 00000008 get_fattime
|
||||
08004060 g F .text 0000001c XcpInit
|
||||
0800475c g F .text 0000002c FileInit
|
||||
08004550 g F .text 0000002c FileInit
|
||||
08001b44 g F .text 0000000c SDIO_ReadData
|
||||
08004e3c g F .text 000000a4 FlashErase
|
||||
08004e68 g F .text 000000a4 FlashErase
|
||||
080002b8 g F .text 00000018 FileFirmwareUpdateErrorHook
|
||||
08000324 g F .text 0000008c main
|
||||
080017f0 g F .text 00000070 FLASH_EraseSector
|
||||
08003a9c g F .text 000000b4 f_sync
|
||||
08001498 g F .text 00000050 SD_SendStatus
|
||||
0800517c g F .text 00000014 NvmDone
|
||||
080045c4 g F .text 00000054 FileSrecGetLineType
|
||||
080051a8 g F .text 00000014 NvmDone
|
||||
0800350c g F .text 0000002c f_mount
|
||||
08005074 g F .text 00000064 UartTransmitPacket
|
||||
08005174 g F .text 00000008 NvmVerifyChecksum
|
||||
08004bdc g F .text 00000024 CpuMemCopy
|
||||
080050a0 g F .text 00000064 UartTransmitPacket
|
||||
080051a0 g F .text 00000008 NvmVerifyChecksum
|
||||
08004c08 g F .text 00000024 CpuMemCopy
|
||||
08001afc g F .text 0000001c SDIO_GetResponse
|
||||
08001cb4 g F .text 000000f8 SystemInit
|
||||
080027c4 g F .text 0000012e put_fat
|
||||
08003b68 g F .text 000001bc f_lseek
|
||||
080050d8 g F .text 00000084 UartReceivePacket
|
||||
08005104 g F .text 00000084 UartReceivePacket
|
||||
0800024c g F .text 00000008 FileGetFirmwareFilenameHook
|
||||
08001124 g F .text 000001bc SD_ReadBlock
|
||||
20000000 g .data 00000000 _data
|
||||
08003d24 g F .text 0000004c f_stat
|
||||
0800444c g F .text 00000002 CopInit
|
||||
08004c00 g F .text 00000008 CpuReset
|
||||
08004c2c g F .text 00000008 CpuReset
|
||||
080007d0 g F .text 0000002c SD_Detect
|
||||
08005164 g F .text 00000008 NvmWrite
|
||||
08004bb4 g F .text 00000028 CpuStartUserProgram
|
||||
08005190 g F .text 00000008 NvmWrite
|
||||
08004be0 g F .text 00000028 CpuStartUserProgram
|
||||
080025ec g F .text 0000001e clust2sect
|
||||
2000183c g .bss 00000000 _estack
|
||||
08001c90 g F .text 0000000c USART_SendData
|
||||
08004f30 g F .text 00000058 FlashVerifyChecksum
|
||||
08004f5c g F .text 00000058 FlashVerifyChecksum
|
||||
2000001c g .data 00000000 _edata
|
||||
08004788 g F .text 00000014 FileIsIdle
|
||||
0800457c g F .text 00000014 FileIsIdle
|
||||
0800389c g F .text 00000200 f_write
|
||||
08000000 g O .text 00000188 _vectab
|
||||
08003538 g F .text 000001a0 f_open
|
||||
|
@ -283,7 +287,7 @@ SYMBOL TABLE:
|
|||
080002d0 g F .text 00000054 FileFirmwareUpdateLogHook
|
||||
20000018 g O .data 00000004 __ctype_ptr__
|
||||
08004030 g F .text 00000008 ComIsConnected
|
||||
08005c3c g O .text 00000101 _ctype_
|
||||
08005c68 g O .text 00000101 _ctype_
|
||||
08001a6c g F .text 00000030 SDIO_Init
|
||||
08000204 g F .text 00000048 FileIsFirmwareUpdateRequestedHook
|
||||
080007fc g F .text 00000270 SD_PowerON
|
||||
|
@ -293,11 +297,11 @@ SYMBOL TABLE:
|
|||
2000103c g .bss 00000000 _stack
|
||||
08001a34 g F .text 0000001c RCC_APB2PeriphResetCmd
|
||||
08003f10 g F .text 0000004c ff_convert
|
||||
080051ec g F .text 00000010 TimerGet
|
||||
08005218 g F .text 00000010 TimerGet
|
||||
08001ab4 g F .text 00000010 SDIO_GetPowerState
|
||||
08000a6c g F .text 000001b0 SD_InitializeCards
|
||||
08001904 g F .text 0000000c GPIO_ReadInputDataBit
|
||||
080051a0 g F .text 0000002c TimerInit
|
||||
080051cc g F .text 0000002c TimerInit
|
||||
08001b50 g F .text 0000000c SDIO_WriteData
|
||||
08000254 g F .text 0000002c FileFirmwareUpdateStartedHook
|
||||
08001a50 g F .text 0000001c SDIO_DeInit
|
||||
|
|
|
@ -1,48 +1,48 @@
|
|||
S024000062696E2F6F70656E62746C5F6F6C696D65785F73746D3332653430372E737265639F
|
||||
S315080000003C18002011520008FD510008FD51000857
|
||||
S31508000010FD510008FD510008FD510008FD5100087A
|
||||
S31508000020FD510008FD510008FD510008FD5100086A
|
||||
S31508000030FD510008FD510008FD510008FD5100085A
|
||||
S31508000040FD510008FD510008FD510008FD5100084A
|
||||
S31508000050FD510008FD510008FD510008FD5100083A
|
||||
S31508000060FD510008FD510008FD510008FD5100082A
|
||||
S31508000070FD510008FD510008FD510008FD5100081A
|
||||
S31508000080FD510008FD510008FD510008FD5100080A
|
||||
S31508000090FD510008FD510008FD510008FD510008FA
|
||||
S315080000A0FD510008FD510008FD510008FD510008EA
|
||||
S315080000B0FD510008FD510008FD510008FD510008DA
|
||||
S315080000C0FD510008FD510008FD510008FD510008CA
|
||||
S315080000D0FD510008FD510008FD510008FD510008BA
|
||||
S315080000E0FD510008FD510008FD510008FD510008AA
|
||||
S315080000F0FD510008FD510008FD510008FD5100089A
|
||||
S31508000100FD510008FD510008FD510008FD51000889
|
||||
S31508000110FD510008FD510008FD510008FD51000879
|
||||
S31508000120FD510008FD510008FD510008FD51000869
|
||||
S31508000130FD510008FD510008FD510008FD51000859
|
||||
S31508000140FD510008FD510008FD510008FD51000849
|
||||
S31508000150FD510008FD510008FD510008FD51000839
|
||||
S31508000160FD510008FD510008FD510008FD51000829
|
||||
S31508000170FD510008FD510008FD510008FD51000819
|
||||
S31508000180FD510008FD51000810B572B61848194906
|
||||
S315080000003C1800203D5200082952000829520008D1
|
||||
S3150800001029520008295200082952000829520008C6
|
||||
S3150800002029520008295200082952000829520008B6
|
||||
S3150800003029520008295200082952000829520008A6
|
||||
S315080000402952000829520008295200082952000896
|
||||
S315080000502952000829520008295200082952000886
|
||||
S315080000602952000829520008295200082952000876
|
||||
S315080000702952000829520008295200082952000866
|
||||
S315080000802952000829520008295200082952000856
|
||||
S315080000902952000829520008295200082952000846
|
||||
S315080000A02952000829520008295200082952000836
|
||||
S315080000B02952000829520008295200082952000826
|
||||
S315080000C02952000829520008295200082952000816
|
||||
S315080000D02952000829520008295200082952000806
|
||||
S315080000E029520008295200082952000829520008F6
|
||||
S315080000F029520008295200082952000829520008E6
|
||||
S3150800010029520008295200082952000829520008D5
|
||||
S3150800011029520008295200082952000829520008C5
|
||||
S3150800012029520008295200082952000829520008B5
|
||||
S3150800013029520008295200082952000829520008A5
|
||||
S315080001402952000829520008295200082952000895
|
||||
S315080001502952000829520008295200082952000885
|
||||
S315080001602952000829520008295200082952000875
|
||||
S315080001702952000829520008295200082952000865
|
||||
S31508000180295200082952000810B572B618481949AC
|
||||
S31508000190016019498D46124B124A9A4211D202F150
|
||||
S315080001A00403114CE41A24F0030404F104044FF088
|
||||
S315080001B0000310460D495A581A5003F10403A34286
|
||||
S315080001C0F9D10E480E494FF000028842B8BF40F8F0
|
||||
S315080001D0042BFFF6FAAF03F023FF00F0A3F810BDD7
|
||||
S315080001E01C000020000000201F000020405D0008C1
|
||||
S315080001E01C000020000000201F0000206C5D000895
|
||||
S315080001F008ED00E0000000083C1800202000002060
|
||||
S315080002003C10002000B589B04FF00003009301931D
|
||||
S315080002100293039304930593069307930A48694642
|
||||
S3150800022003F080FD40B9009B4BB19DF8080080F0B3
|
||||
S315080002301000C0F3001004E04FF0000001E04FF09A
|
||||
S31508000240000009B000BD00BFE85300080048704729
|
||||
S31508000250E853000808B508484FF0000380F8243230
|
||||
S31508000240000009B000BD00BF1454000800487047FC
|
||||
S315080002501454000808B508484FF0000380F8243203
|
||||
S3150800026006494FF00A0203F067F920B94FF0010278
|
||||
S31508000270014B83F8242208BD2000002008540008FA
|
||||
S31508000270014B83F8242208BD2000002034540008CE
|
||||
S3150800028038B50A4B93F82432012B02D1074803F0FC
|
||||
S315080002905FFC074D4FF040042846214601F004FD57
|
||||
S315080002A00028F9D0034803F063FD38BD200000207C
|
||||
S315080002B000140140E853000808B5044B93F82432AB
|
||||
S315080002B0001401401454000808B5044B93F824327E
|
||||
S315080002C0012B02D1014803F043FC08BD20000020A1
|
||||
S315080002D070B50646114B93F82432012B0BD10F4902
|
||||
S315080002E003F0FAFD002806DA0C484FF0000380F800
|
||||
|
@ -347,13 +347,13 @@ S31508001580FE021A70014B187808BD00BF040000203F
|
|||
S315080015902DE9F043ADF5037D88461746C8B120E02E
|
||||
S315080015A04FF000094FF40075E619009502A84FEAB6
|
||||
S315080015B046224B46FFF7B6FDB0B9FFF7ADFF012847
|
||||
S315080015C0FBD008EB442002A92A4603F053FE8CB947
|
||||
S315080015C0FBD008EB442002A92A4603F069FE8CB931
|
||||
S315080015D00DE003F1FF34E4B2002BE1D14FF0010036
|
||||
S315080015E00CE04FF0010009E04FF0010006E04FF073
|
||||
S315080015F0000003E004F1FF34E4B2D5E70DF5037DFE
|
||||
S31508001600BDE8F0832DE9F043ADF5037D0F4690461E
|
||||
S31508001610E0B123E04FF400754FF0000902A807EB8C
|
||||
S3150800162044212A4603F026FE04EB0806009502A884
|
||||
S3150800162044212A4603F03CFE04EB0806009502A86E
|
||||
S315080016304FEA46224B46FFF753FE08B1052810D15C
|
||||
S31508001640FFF76AFF0128FBD08CB90DE003F1FF34E0
|
||||
S31508001650E4B2002BDED14FF001000CE04FF00100A0
|
||||
|
@ -714,7 +714,7 @@ S31508002C70D04620465946FFF7A1FE074600283FF4EE
|
|||
S31508002C805BAF10E04FF004070DE006F1FF365FFA80
|
||||
S31508002C9086F8DDF80890ECE7049C00E0049CDDF873
|
||||
S31508002CA00890D046E5E7384607B0BDE8F08F00BF84
|
||||
S31508002CB0AC5400082DE9F04F85B0824688460B785B
|
||||
S31508002CB0D85400082DE9F04F85B0824688460B782F
|
||||
S31508002CC02F2B01D05C2B01D108F101084FF000032E
|
||||
S31508002CD0CAF8083098F800301F2B0AD850464FF02B
|
||||
S31508002CE00001FFF719FD02464FF00003CAF8143039
|
||||
|
@ -764,8 +764,8 @@ S31508002F90EEE64FF00004D846A8444FF00407E7E6EB
|
|||
S31508002FA009F1FF3936F819302E2B3FF417AF019B7C
|
||||
S31508002FB012E7019A0B2A7FF445AF39E74FF006026C
|
||||
S31508002FC007E0019B0B2B7FF43DAF31E747F0020783
|
||||
S31508002FD05BE7104605B0BDE8F08F00BF185400083F
|
||||
S31508002FE02C540008245400082DE9F0410446C588ED
|
||||
S31508002FD05BE7104605B0BDE8F08F00BF4454000813
|
||||
S31508002FE058540008505400082DE9F0410446C58895
|
||||
S31508002FF0018C4FF6FF73994208BF2946FFF78CFBF1
|
||||
S315080030000346E0B94FF0E5074FF001064FF0000818
|
||||
S3150800301020682169FFF762FA034668B96269177082
|
||||
|
@ -791,7 +791,7 @@ S31508003140464602E0464600E0464620463946FFF730
|
|||
S3150800315035FC054618B92169002986D175B14FF0A5
|
||||
S31508003160000323610AE003F1FF33DEB2F246ECE71F
|
||||
S31508003170F2464646E9E74FF00405F0E7284603B06D
|
||||
S31508003180BDE8F08FAC5400082DE9F04104460E4620
|
||||
S31508003180BDE8F08FD85400082DE9F04104460E46F4
|
||||
S31508003190012926D98369994226D24FF000074FF0B4
|
||||
S315080031A0010820463146FFF731FA0546F8B10128ED
|
||||
S315080031B020D0B0F1FF3F20D0204631463A46FFF7EF
|
||||
|
@ -847,7 +847,7 @@ S315080034C01BE007F1FF371FFA87F8B8F1000F0DD098
|
|||
S315080034D06EE706EB020E1EF801EC01F80E708E443C
|
||||
S315080034E08EF80170B2E70C2A9AD9B6E720682169E6
|
||||
S315080034F0FEF7F4FF82460028C8D0504607B0BDE85C
|
||||
S31508003500F08F00BF4FECC44EAC54000870B9094B9D
|
||||
S31508003500F08F00BF4FECC44ED854000870B9094B71
|
||||
S315080035101B6813B14FF000021A7011B14FF0000387
|
||||
S315080035200B70044B19604FF0000070474FF00B000A
|
||||
S31508003530704700BF1C0500202DE9F0438FB00191AC
|
||||
|
@ -1012,19 +1012,19 @@ S31508003F107F2820D911B9C72808D114E0FF2818D856
|
|||
S31508003F20A0F180000C4B33F8100070470A4A4FF096
|
||||
S31508003F30010332F8021F814207D003F101039BB245
|
||||
S31508003F40802BF6D101E04FF0000303F18000C0B2E8
|
||||
S31508003F5070474FF0000070479C56000861280BD048
|
||||
S31508003F5070474FF000007047C856000861280BD01C
|
||||
S31508003F6008494FF0000202F1010231F8023F43B15D
|
||||
S31508003F708342F8D113B970474FF00002024B33F869
|
||||
S31508003F8012007047BC5400089C57000808B500F09A
|
||||
S31508003F905DFA01F005F901F0E1F800F0DFFB00F049
|
||||
S31508003F8012007047E8540008C857000808B500F042
|
||||
S31508003F905DFA01F01BF901F0F7F800F0D9FA00F024
|
||||
S31508003FA00FF800F043FA08BD08B500F051FA01F021
|
||||
S31508003FB00DF900F00DFC00F01DF800F015FA08BD2B
|
||||
S31508003FB023F900F023FC00F01DF800F015FA08BDFF
|
||||
S31508003FC000B583B04FF0FF038DF804304FF00003BF
|
||||
S31508003FD08DF8053000F044F801F02AF8044B1B78F8
|
||||
S31508003FD08DF8053000F044F801F040F8044B1B78E2
|
||||
S31508003FE0012B02D101A800F059F803B000BD00BFAB
|
||||
S31508003FF02005002008B5044801F06EF8012802D112
|
||||
S31508003FF02005002008B5044801F084F8012802D1FC
|
||||
S31508004000014800F04BF808BD24050020704700BFA2
|
||||
S3150800401008B5C9B201F02EF800F038F808BD00BF9F
|
||||
S3150800401008B5C9B201F044F800F038F808BD00BF89
|
||||
S315080040204FF00102014B1A70704700BF20050020AF
|
||||
S3150800403008B500F023F808BD4FF00002014B5A708E
|
||||
S31508004040704700BF64050020044B4FF0FE02DA708B
|
||||
|
@ -1033,7 +1033,7 @@ S31508004060054B4FF000021A709A6483F84320A3F8B0
|
|||
S3150800407044209A705A70704764050020024B1878DD
|
||||
S31508004080003018BF01207047640500204FF0000279
|
||||
S31508004090014B83F8432070476405002038B5044671
|
||||
S315080040A00378FF2B22D100F06FFB20B94FF01000E8
|
||||
S315080040A00378FF2B22D100F069FA20B94FF01000EF
|
||||
S315080040B0FFF7CAFF81E1FFF7BFFFAF4B4FF00102E1
|
||||
S315080040C01A704FF0FF01D9704FF0100119714FF0B7
|
||||
S315080040D0000159714FF040009871D87119725A72DF
|
||||
|
@ -1047,11 +1047,11 @@ S3150800414057015701570157015701570157015701A1
|
|||
S3150800415057015701570157017900510036006E0083
|
||||
S315080041605701570157019B005701AF00B400C5001E
|
||||
S3150800417042783F2A04D94FF02200FFF765FF1CE179
|
||||
S315080041807D4D05F10400A96C00F028FD4FF0FF03F2
|
||||
S315080041807D4D05F10400A96C00F03EFD4FF0FF03DC
|
||||
S31508004190EB706278AB6CD318AB64637803F10103F8
|
||||
S315080041A0A5F8443009E143783F2B04D94FF02200A3
|
||||
S315080041B0FFF74AFF01E141686F4DA96405F1040064
|
||||
S315080041C0627800F00BFD4FF0FF03EB706278AB6C82
|
||||
S315080041C0627800F021FD4FF0FF03EB706278AB6C6C
|
||||
S315080041D0D318AB64637803F10103A5F84430ECE027
|
||||
S315080041E0654B4FF0FF02DA7042689A644FF001029D
|
||||
S315080041F0A3F84420E1E0604B4FF0FF02DA709B6CB5
|
||||
|
@ -1066,31 +1066,31 @@ S31508004270FF02DA704FF000021A71597859719A7173
|
|||
S31508004280DA711A724FF00602A3F8442095E03A4C08
|
||||
S315080042904FF000032370FFF7CFFE4FF0FF03E370E4
|
||||
S315080042A04FF00103A4F8443087E0334B986C4FF085
|
||||
S315080042B03F0104F1010200F055FF20B94FF031002B
|
||||
S315080042B03F0104F1010200F06BFF20B94FF0310015
|
||||
S315080042C0FFF7C2FE79E02C4B4FF0FF02DA709A6CCA
|
||||
S315080042D002F13F029A644FF00102A3F844206CE011
|
||||
S315080042E043783E2B04D94FF02200FFF7ADFE64E079
|
||||
S315080042F0214B4FF0FF02DA704FF00102A3F8442079
|
||||
S31508004300417841B900F03AFF002856D14FF0310004
|
||||
S31508004300417841B900F050FF002856D14FF03100EE
|
||||
S31508004310FFF79AFE51E0184B986C04F1020200F080
|
||||
S3150800432021FF20B94FF03100FFF78EFE45E0124B12
|
||||
S3150800432037FF20B94FF03100FFF78EFE45E0124BFC
|
||||
S3150800433061789A6C8A189A643FE00F4B4FF0FF0237
|
||||
S31508004340DA704FF000021A715A714FF040019971F4
|
||||
S31508004350DA711A725A724FF00702A3F844202CE059
|
||||
S31508004360054B986C616800F001FF48B94FF03100C1
|
||||
S31508004370FFF76AFE21E000BF640500207C590008AB
|
||||
S31508004360054B986C616800F017FF48B94FF03100AB
|
||||
S31508004370FFF76AFE21E000BF64050020A85900087F
|
||||
S31508004380184B4FF0FF02DA704FF00102A3F84420F1
|
||||
S3150800439013E000F035FC134B4FF0FF02DA704FF0D4
|
||||
S3150800439013E000F04BFC134B4FF0FF02DA704FF0BE
|
||||
S315080043A00102A3F8442008E04FF03100FFF74CFE65
|
||||
S315080043B003E04FF02000FFF747FE0A4B93F843301F
|
||||
S315080043C0012B03D14FF01000FFF73EFE054B4FF0CF
|
||||
S315080043D0010283F8432003F10300B3F84410FFF702
|
||||
S315080043E017FE38BD6405002008B5FFF721FE012831
|
||||
S315080043F017D000F0C9F9A0B10A4B1B78012B10D1D0
|
||||
S3150800440000F0F4FE084B1B6803F13203984208D308
|
||||
S315080044104FF00002034B1A7000F0C0F908B900F01B
|
||||
S31508004420C9FB08BDB0050020B405002008B54FF04B
|
||||
S315080044300102044B1A7000F0D9FE034B1860FFF70F
|
||||
S315080043F017D000F0C3F8A0B10A4B1B78012B10D1D7
|
||||
S3150800440000F00AFF084B1B6803F13203984208D3F1
|
||||
S315080044104FF00002034B1A7000F0BAF808B900F022
|
||||
S31508004420DFFB08BDB0050020B405002008B54FF035
|
||||
S315080044300102044B1A7000F0EFFE034B1860FFF7F9
|
||||
S31508004440D3FF08BDB0050020B4050020704700BFA3
|
||||
S31508004450704700BF00F00F03092802D903F137009F
|
||||
S31508004460704703F13000054B1B681B185B7803F097
|
||||
|
@ -1108,389 +1108,392 @@ S31508004510D2B2162A12D8A1F13A04E4B2062C10D95E
|
|||
S31508004520092A84BFA1F13702D2B202EB001000F0CB
|
||||
S31508004530FF0003F10103022BDFD104E04FF0000076
|
||||
S3150800454001E04FF0000070BC704700BF1800002063
|
||||
S315080045502DE9F04F83B080461746894601B120B948
|
||||
S315080045607C484FF4167100F019FB98F800307A4A27
|
||||
S315080045701268D118497801F00301022908BF203BC7
|
||||
S31508004580532B40F0C38098F80130D218527802F0C5
|
||||
S315080045900402D2B2002A00F0BC80312B00F0C3809E
|
||||
S315080045A0322B00F0C380332B00F0C3804FF0000598
|
||||
S315080045B0B7E02046FFF79AFF3018C6B205F1FF3577
|
||||
S315080045C0ADB204F10204012DF3D82046FFF78EFFA1
|
||||
S315080045D06FEA0606F6B2864240F09E80BAF1010FEF
|
||||
S315080045E02FD0BAF1000F04D0BAF1020F40F097802D
|
||||
S315080045F056E05846FFF77AFF4FEA0024C9F800400C
|
||||
S3150800460008F10600FFF772FF2018C9F8000008F144
|
||||
S315080046100808019BA3F10305ADB2002F00F08180C5
|
||||
S315080046202EB2002E7DDD4FF000044046FFF75EFFF8
|
||||
S31508004630385508F1020804F10104A4B2B442F4DBC7
|
||||
S315080046406FE05846FFF752FF4FEA0044C9F80040AA
|
||||
S3150800465008F10600FFF74AFF04EB0024C9F80040FA
|
||||
S3150800466008F10800FFF742FF2018C9F8000008F112
|
||||
S315080046700A08019BA3F10405ADB2002F51D02EB252
|
||||
S31508004680002E4EDD4FF000044046FFF72FFF385549
|
||||
S3150800469008F1020804F10104A4B2A642F4DC40E0E1
|
||||
S315080046A05846FFF723FF4FEA0064C9F8004008F1AF
|
||||
S315080046B00600FFF71BFF04EB0044C9F8004008F1A9
|
||||
S315080046C00800FFF713FF04EB0024C9F8004008F1BF
|
||||
S315080046D00A00FFF70BFF2018C9F8000008F10C08BC
|
||||
S315080046E0019BA3F10505ADB2DFB12EB2002E18DD90
|
||||
S315080046F04FF000044046FFF7F9FE385508F1020866
|
||||
S3150800470004F10104A4B2B442F4DB0AE04FF0000558
|
||||
S3150800471007E04FF0000504E04FF6FF7501E04FF0A3
|
||||
S31508004720000528B212E04FF0000A04E04FF0010A33
|
||||
S3150800473001E04FF0020A08F10200FFF7D7FE06462D
|
||||
S31508004740019008F1040B05465C4632E703B0BDE864
|
||||
S31508004750F08F00BF845900081800002008B54FF0F4
|
||||
S315080047600000064B18700649FEF7D0FE20B1054832
|
||||
S315080047704FF09E0100F012FA08BD00BFF8050020B0
|
||||
S315080047800406002084590008034B1878D0F101006C
|
||||
S3150800479038BF0020704700BFF805002008B5FFF7AE
|
||||
S315080047A047FC012809D0094B1B784BB9FBF72AFDB2
|
||||
S315080047B0012808D1054B187008BD4FF0000008BD48
|
||||
S315080047C04FF0000008BD4FF0000008BDF8050020B6
|
||||
S315080047D070B5964B1B78002B00F0C481012B2BD1AA
|
||||
S315080047E0FBF738FD9248FBF773FD9248FBF770FD1F
|
||||
S315080047F0FBF72CFD014690484FF00102FEF79CFEA0
|
||||
S3150800480038B18E48FBF764FD4FF00100FBF754FD05
|
||||
S3150800481070BD8B48FBF75CFD8A48FBF759FD8A4853
|
||||
S31508004820FBF756FD894B4FF000021A605A604FF0AD
|
||||
S3150800483002027E4B1A7070BD022B40F0BB80844D7D
|
||||
S3150800484084484FF4807105F50D72FFF7F9FA95F96A
|
||||
S315080048503A32002B0FDA7948FBF73AFD4FF002009F
|
||||
S31508004860FBF72AFD05F50D70FFF772F94FF0000208
|
||||
S315080048706E4B1A7070BDD0B17649084601F5C07105
|
||||
S315080048804FF00002FFF764FE0446B0F1FF3F0ED179
|
||||
S315080048906A48FBF71DFD4FF00300FBF70DFD664860
|
||||
S315080048A0FFF756F94FF00002604B1A7070BD23B23D
|
||||
S315080048B0002B17DD654B5B683BB9644B654AD2F83C
|
||||
S315080048C080211A6024B25C600CE0624AD2F880212A
|
||||
S315080048D05E4909688A423CBF5C490A6003FA84F368
|
||||
S315080048E05A4A53605A4BD3F83C22D3F840329A427C
|
||||
S315080048F040F0388150484FF00001FFF735F970B1A4
|
||||
S315080049004E48FBF7E5FC4FF00400FBF7D5FC4A4898
|
||||
S31508004910FFF71EF94FF00002444B1A7070BD484865
|
||||
S31508004920FBF7D6FC4C48FBF7D3FC484D4B4C686864
|
||||
S315080049302146FFF7B7FD2046FBF7CAFC4848FBF7B8
|
||||
S31508004940C7FC2E684FEA16602146FFF799FDC6F3A5
|
||||
S31508004950074004F10201FFF793FDC6F3072004F1AF
|
||||
S315080049600401FFF78DFDF0B204F10601FFF788FD9B
|
||||
S315080049702046FBF7ADFC3B48FBF7AAFC28686968AC
|
||||
S3150800498000F0F4FB70B92D48FBF7A2FC4FF00500C8
|
||||
S31508004990FBF792FC2848FFF7DBF84FF00002234BA1
|
||||
S315080049A01A7070BD2648FBF793FC4FF003021F4BA5
|
||||
S315080049B01A7070BD032B40F0D580254D25484FF45D
|
||||
S315080049C0807105F50D72FFF73BFA95F93A32002B1F
|
||||
S315080049D00FDA2548FBF77CFC4FF00200FBF76CFC6E
|
||||
S315080049E005F50D70FFF7B4F84FF000020F4B1A707B
|
||||
S315080049F070BD00283CD0174A104602F5C07102F572
|
||||
S31508004A008072FFF7A5FD0446B0F1FF3F30D1174885
|
||||
S31508004A10FBF75EFC4FF00300FBF74EFC0648FFF77A
|
||||
S31508004A2097F84FF00002014B1A7070BDF805002088
|
||||
S31508004A309C590008C059000838080020E8590008A1
|
||||
S31508004A40F0590008F85900081C5A0008FC0500200F
|
||||
S31508004A50040600205C0A00204C5A0008B80500200D
|
||||
S31508004A60585A0008FC5A0008745A0008985A000850
|
||||
S31508004A7023B2002B46DD3C48FBF72AFC24B23B4D0B
|
||||
S31508004A8020462946FFF70EFD2846FBF721FC384845
|
||||
S31508004A90FBF71EFC374E96F883012946FFF7F0FC14
|
||||
S31508004AA096F8820105F10201FFF7EAFC96F8810102
|
||||
S31508004AB005F10401FFF7E4FC96F8800105F106010B
|
||||
S31508004AC0FFF7DEFC2846FBF703FC2B48FBF700FC48
|
||||
S31508004AD0D6F88001214606F5807200F043FB70B9CE
|
||||
S31508004AE02648FBF7F5FB4FF00600FBF7E5FB2448E5
|
||||
S31508004AF0FFF72EF84FF00002224B1A7070BD2248BD
|
||||
S31508004B00FBF7E6FB214BD3F83C22D3F840329A4216
|
||||
S31508004B1028D11F48FBF7DCFB00F030FB70B91748BB
|
||||
S31508004B20FBF7D6FB4FF00700FBF7C6FB1448FFF769
|
||||
S31508004B300FF84FF00002134B1A7070BD1248FBF7BE
|
||||
S31508004B40C7FB1448FBF7C4FB0D48FFF701F81248EA
|
||||
S31508004B50FBF7BEFB4FF000020A4B1A70FBF790FBFF
|
||||
S31508004B6000F028F870BD00BFBC5A0008B805002040
|
||||
S31508004B70CC5A00085C0A0020FC5A0008E8590008CC
|
||||
S31508004B8038080020F8050020F0590008040600201F
|
||||
S31508004B90E45A0008005B0008185B000808B5034BD8
|
||||
S31508004BA01860034B1960FFF753FCFCE7E00B002085
|
||||
S31508004BB0E40B002008B500F0DDFA50B1FFF726FA3D
|
||||
S31508004BC000F0E6FA4FF40042024B1A60024B1B68EB
|
||||
S31508004BD0984708BD08ED00E00480000870B5044653
|
||||
S31508004BE002F1FF36B6B252B100F101039E190D1A51
|
||||
S31508004BF0635D04F8013BFFF72BFCB442F8D170BDA6
|
||||
S31508004C0008B500F005FB08BDF8B507464FF00004E7
|
||||
S31508004C1025460D4EFFF71CFCA359BB420BD831198C
|
||||
S31508004C2049685B189F4206D205EB4502064B03EB23
|
||||
S31508004C308202107AF8BD05F1010504F10C04782CFE
|
||||
S31508004C40E8D14FF0FF00F8BD745B00082DE9F0418C
|
||||
S31508004C5007460068FFF7D8FFFF2830D0FCF74EFD5F
|
||||
S31508004C604FF0F300FCF762FDFCF766FD012818BF5C
|
||||
S31508004C70002404D1FCF752FD4FF0000421E03E6801
|
||||
S31508004C8004EB06083B195D68FFF7E2FB4046294638
|
||||
S31508004C90FCF790FD08280AD1A359AB420AD104F1C2
|
||||
S31508004CA00404B4F5007FEAD14FF0010404E04FF0A4
|
||||
S31508004CB0000401E04FF00004FCF730FD01E04FF07E
|
||||
S31508004CC000042046BDE8F08108B54FEAC1534FEA13
|
||||
S31508004CD0D3535BB903688B420BD040F8041B4FF4DF
|
||||
S31508004CE00072FFF77BFF4FF0010008BD4FF0000090
|
||||
S31508004CF008BD4FF0010008BD38B504460D460C4BFB
|
||||
S31508004D00984206D00B4B994205D0FFF79FFF18B97A
|
||||
S31508004D100AE0094C00E0064C20462946FFF7D4FF76
|
||||
S31508004D20002808BF002401E04FF00004204638BDE3
|
||||
S31508004D30E80B002000800008EC0D00202DE9F84360
|
||||
S31508004D4006460C4617461D464FEA51294FEA492999
|
||||
S31508004D500368B3F1FF3F03D14946FFF7B5FF50B3E8
|
||||
S31508004D6033684B4505D030464946FFF7C5FF06462A
|
||||
S31508004D7028B33368E41A341904F1040440F2FF181E
|
||||
S31508004D8009F50079FFF764FB06F10403E31A4345C6
|
||||
S31508004D9007D930464946FFF7AFFF064698B100F1F6
|
||||
S31508004DA0040417F8013B04F8013B013DEAD14FF032
|
||||
S31508004DB00100BDE8F8834FF00000BDE8F8834FF026
|
||||
S31508004DC00000BDE8F8834FF00000BDE8F88300BF97
|
||||
S31508004DD04FF0FF33024A1360024A1360704700BF60
|
||||
S31508004DE0EC0D0020E80B002070B504460D4616466B
|
||||
S31508004DF0FFF70AFFFF2814D004F1FF304019FFF728
|
||||
S31508004E0003FFFF2810D04FEA5422094BB3EB422F79
|
||||
S31508004E100CBF08480848214632462B46FFF78EFF46
|
||||
S31508004E2070BD4FF0000070BD4FF0000070BD00BFB0
|
||||
S31508004E3000800008E80B0020EC0D0020F8B50646B7
|
||||
S31508004E400D46FFF7E1FE044606F1FF304019FFF76D
|
||||
S31508004E50DBFE0546FF2C3AD0FF283BD084422DD8EE
|
||||
S31508004E60012C2ED90B282FD8FCF748FC4FF0F3005D
|
||||
S31508004E70FCF75CFCFCF760FC012804D1FCF74EFC4F
|
||||
S31508004E804FF00000F8BD154F4FF00206FFF7E0FAA5
|
||||
S31508004E9037F814003146FCF7ABFC082804D0FCF7B9
|
||||
S31508004EA03DFC4FF00000F8BD04F10104E4B2A54250
|
||||
S31508004EB0ECD2FCF733FC4FF00100F8BD4FF00000D0
|
||||
S31508004EC0F8BD4FF00000F8BD4FF00000F8BD4FF0F8
|
||||
S31508004ED00000F8BD4FF00000F8BD00BF445B0008B5
|
||||
S31508004EE000B583B0104B1B68B3F1FF3F18D00E4BCB
|
||||
S31508004EF099685A688918DA6889181A6989185A6976
|
||||
S31508004F0089189A698A18D9695318C3F1000302AA3D
|
||||
S31508004F1042F8043D05484FF00401FFF765FF01E03C
|
||||
S31508004F204FF0010003B000BDE80B0020888100089F
|
||||
S31508004F300E4B1868A3F104031B68C0180C4B1B68BA
|
||||
S31508004F40C0180C4B1B68C0180B4B1B68C0180B4BC2
|
||||
S31508004F501B68C0180A4B1B68C0180A4B1B68C01888
|
||||
S31508004F60D0F1010038BF0020704700BF0480000858
|
||||
S31508004F70088000080C8000081080000814800008CB
|
||||
S31508004F80188000088881000808B50D4B1B68B3F126
|
||||
S31508004F90FF3F03D00A48FFF759FE58B1094B1B6873
|
||||
S31508004FA0B3F1FF3F09D00748FFF750FE003018BF9E
|
||||
S31508004FB0012008BD4FF0000008BD4FF0010008BDF4
|
||||
S31508004FC0E80B0020EC0D002010B5044608484FF009
|
||||
S31508004FD02001FCF769FE012806D10548FCF75EFEAC
|
||||
S31508004FE020704FF0010010BD4FF0000010BD00BF4B
|
||||
S31508004FF00014014038B504460C484FF08001FCF710
|
||||
S3150800500053FE78B109482146FCF742FE074D4FF09A
|
||||
S31508005010800428462146FCF747FE0028F9D04FF0C1
|
||||
S31508005020010038BD4FF0000038BD00BF0014014034
|
||||
S3150800503010B584B04FF4614300934FF00003ADF808
|
||||
S315080050400430ADF80630ADF80830ADF80C304FF046
|
||||
S315080050500C03ADF80A30064C20466946FCF78EFD6F
|
||||
S3150800506020464FF00101FCF703FE04B010BD00BF57
|
||||
S31508005070001401402DE9F04106460C46402904D9A2
|
||||
S3150800508014484FF07601FFF789FD2046FFF7B2FF77
|
||||
S31508005090012804D00F484FF07901FFF77FFD254618
|
||||
S315080050A0ACB14FF00004DFF82C804FF08107FFF712
|
||||
S315080050B0CFF9305DFFF79EFF012803D040463946F9
|
||||
S315080050C0FFF76CFD04F10104A3B2AB42EFD3BDE8D0
|
||||
S315080050D0F08100BFEC5B000810B504461B4B1B783B
|
||||
S315080050E06BB91B48FFF770FF012825D14FF0010265
|
||||
S315080050F0164B1A704FF00000164B187010BD154B62
|
||||
S315080051001878154BC018FFF75FFF012817D1114B08
|
||||
S315080051101A7802F10102D2B21A700D4B1B7893422B
|
||||
S3150800512010D120460C49FFF759FD4FF00002074BF6
|
||||
S315080051301A704FF0010010BD4FF0000010BD4FF07F
|
||||
S31508005140000010BD4FF0000010BD00BFF10F002099
|
||||
S31508005150F40F0020F00F0020F50F002008B5FFF728
|
||||
S3150800516037FE08BD08B5FFF73FFE08BD08B5FFF7CF
|
||||
S3150800517065FE08BD08B5FFF7DBFE08BD08B5FFF7F5
|
||||
S31508005180AFFE10B1FFF700FF08BD4FF0000008BDE5
|
||||
S315080051904FF00002014B1A60704700BF10E000E0B4
|
||||
S315080051A008B5FFF7F5FF064B064A5A604FF00002AE
|
||||
S315080051B09A604FF005011960034B1A6008BD00BFDD
|
||||
S315080051C010E000E03F90020038100020054B1B68F5
|
||||
S315080051D013F4803F04D0044B1A6802F101021A60E6
|
||||
S315080051E0704700BF10E000E03810002008B5FFF750
|
||||
S315080051F0EDFF014B186808BD3810002008B50348B4
|
||||
S315080052004FF03601FFF7CAFC08BD00BF105C000866
|
||||
S3150800521010B572B6114B124A9A4211D202F1040322
|
||||
S31508005220104CE41A24F0030404F104044FF00003BC
|
||||
S3150800523010460D495A581A5003F10403A342F9D1EE
|
||||
S315080052400A480B494FF000028842B8BF40F8042BC1
|
||||
S31508005250FFF6FAAFFBF766F810BD00BF1C0000208A
|
||||
S31508005260000000201F000020405D000820000020EC
|
||||
S315080052703C100020032A2DE9F00F09D82AB1002393
|
||||
S31508005280CC5CC45401339342FAD1BDE8F00F7047A1
|
||||
S31508005290830702440ED0441C4D1C15F8017C04F00B
|
||||
S315080052A00306234601342946013504F8027C002EFC
|
||||
S315080052B0F3D100E0034611F003046DD0D71A0D1B95
|
||||
S315080052C0032F2E6819DDC4F1040C4FEAC4081C1D0F
|
||||
S315080052D04FEACC0C55F8047FC4EB02092346043187
|
||||
S315080052E00434B9F1030F26FA08FA07FA0CFB3E460E
|
||||
S315080052F04BEA0A0744F8087CECDC9A42C5D9013324
|
||||
S315080053000131013211F8014C01330131934203F89E
|
||||
S31508005310024CF7D1B9E70C684033403143F8404CAA
|
||||
S3150800532051F83C4C43F83C4C51F8384C43F8384C4F
|
||||
S3150800533051F8344C43F8344C51F8304C43F8304C5F
|
||||
S3150800534051F82C4C43F82C4C51F8284C43F8284C6F
|
||||
S3150800535051F8244C43F8244C51F8204C43F8204C7F
|
||||
S3150800536051F81C4C43F81C4C51F8184C43F8184C8F
|
||||
S3150800537051F8144C43F8144C51F8104C43F8104C9F
|
||||
S3150800538051F80C4C43F80C4C51F8084C43F8084CAF
|
||||
S3150800539051F8044C43F8044CD41A3F2CBBDC11E0FA
|
||||
S315080053A00C681033103143F8104C51F80C4C43F884
|
||||
S315080053B00C4C51F8084C43F8084C51F8044C43F887
|
||||
S315080053C0044CD41A0F2CEBDC032C96DD1C1D0D1D8A
|
||||
S315080053D055F8047C161B2346294604340435032E47
|
||||
S315080053E044F8087CF4DC88E72F64656D6F70726F8B
|
||||
S315080053F0675F6F6C696D65785F73746D333265349A
|
||||
S3150800540030372E73726563002F626F6F746C6F6727
|
||||
S315080054102E74787400000000222A3A3C3E3F7C7FB6
|
||||
S31508005420000000002B2C3B3D5B5D0000809A9041FC
|
||||
S315080054308E418F804545454949498E8F9092924FB6
|
||||
S31508005440994F555559999A9B9C9D9E9F41494F55F1
|
||||
S31508005450A5A5A6A7A8A9AAABAC21AEAFB0B1B2B311
|
||||
S31508005460B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C376
|
||||
S31508005470C4C5C6C7C8C9CACBCCCDCECFD0D1D2D366
|
||||
S31508005480D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E356
|
||||
S31508005490E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F346
|
||||
S315080054A0F4F5F6F7F8F9FAFBFCFDFEFF010305072C
|
||||
S315080054B0090E10121416181C1E0000006100620066
|
||||
S315080054C063006400650066006700680069006A009A
|
||||
S315080054D06B006C006D006E006F007000710072004A
|
||||
S315080054E073007400750076007700780079007A00FA
|
||||
S315080054F0A100A200A300A500AC00AF00E000E100F7
|
||||
S31508005500E200E300E400E500E600E700E800E90061
|
||||
S31508005510EA00EB00EC00ED00EE00EF00F000F10011
|
||||
S31508005520F200F300F400F500F600F800F900FA00BE
|
||||
S31508005530FB00FC00FD00FE00FF0001010301050160
|
||||
S31508005540070109010B010D010F01110113011501D5
|
||||
S31508005550170119011B011D011F0121012301250145
|
||||
S31508005560270129012B012D012F01310133013501B5
|
||||
S3150800557037013A013C013E0140014201440146011E
|
||||
S3150800558048014B014D014F01510153015501570186
|
||||
S3150800559059015B015D015F016101630165016701F5
|
||||
S315080055A069016B016D016F01710173017501770165
|
||||
S315080055B07A017C017E019201B103B203B303B403FD
|
||||
S315080055C0B503B603B703B803B903BA03BB03BC03F1
|
||||
S315080055D0BD03BE03BF03C003C103C303C403C5039E
|
||||
S315080055E0C603C703C803C903CA0330043104320417
|
||||
S315080055F033043404350436043704380439043A04C9
|
||||
S315080056003B043C043D043E043F0440044104420478
|
||||
S3150800561043044404450446044704480449044A0428
|
||||
S315080056204B044C044D044E044F04510452045304D5
|
||||
S315080056305404550456045704580459045A045B0480
|
||||
S315080056405C045E045F047021712172217321742148
|
||||
S31508005650752176217721782179217A217B217C2170
|
||||
S315080056607D217E217F2141FF42FF43FF44FF45FF05
|
||||
S3150800567046FF47FF48FF49FF4AFF4BFF4CFF4DFFD8
|
||||
S315080056804EFF4FFF50FF51FF52FF53FF54FF55FF88
|
||||
S3150800569056FF57FF58FF59FF5AFF0000C700FC0086
|
||||
S315080056A0E900E200E400E000E500E700EA00EB00BC
|
||||
S315080056B0E800EF00EE00EC00C400C500C900E600F3
|
||||
S315080056C0C600F400F600F200FB00F900FF00D60061
|
||||
S315080056D0DC00A200A300A500A7209201E100ED00CE
|
||||
S315080056E0F300FA00F100D100AA00BA00BF001023A7
|
||||
S315080056F0AC00BD00BC00A100AB00BB009125922503
|
||||
S3150800570093250225242561256225562555256325D9
|
||||
S31508005710512557255D255C255B251025142534253F
|
||||
S315080057202C251C2500253C255E255F255A25542554
|
||||
S3150800573069256625602550256C2567256825642515
|
||||
S31508005740652559255825522553256B256A2518257B
|
||||
S315080057500C25882584258C2590258025B103DF0016
|
||||
S315080057609303C003A303C303B500C403A6039803A6
|
||||
S31508005770A903B4031E22C603B50329226122B10078
|
||||
S315080057806522642220232123F7004822B00019222B
|
||||
S31508005790B7001A227F20B200A025A00041004200CF
|
||||
S315080057A043004400450046004700480049004A00B7
|
||||
S315080057B04B004C004D004E004F0050005100520067
|
||||
S315080057C053005400550056005700580059005A0017
|
||||
S315080057D02100E0FFE1FFE5FFE2FFE3FFC000C100B3
|
||||
S315080057E0C200C300C400C500C600C700C800C9007F
|
||||
S315080057F0CA00CB00CC00CD00CE00CF00D000D1002F
|
||||
S31508005800D200D300D400D500D600D800D900DA00DB
|
||||
S31508005810DB00DC00DD00DE00780100010201040186
|
||||
S31508005820060108010A010C010E01100112011401FA
|
||||
S31508005830160118011A011C011E012001220124016A
|
||||
S31508005840260128012A012C012E01300132013401DA
|
||||
S31508005850360139013B013D013F0141014301450143
|
||||
S3150800586047014A014C014E015001520154015601AB
|
||||
S3150800587058015A015C015E0160016201640166011A
|
||||
S3150800588068016A016C016E0170017201740176018A
|
||||
S3150800589079017B017D01910191039203930394039E
|
||||
S315080058A0950396039703980399039A039B039C030E
|
||||
S315080058B09D039E039F03A003A103A303A403A503BB
|
||||
S315080058C0A603A703A803A903AA0310041104120434
|
||||
S315080058D013041404150416041704180419041A04E6
|
||||
S315080058E01B041C041D041E041F0420042104220496
|
||||
S315080058F023042404250426042704280429042A0446
|
||||
S315080059002B042C042D042E042F0401040204030482
|
||||
S315080059100404050406040704080409040A040B041D
|
||||
S315080059200C040E040F0460216121622163216421A5
|
||||
S31508005930652166216721682169216A216B216C210D
|
||||
S315080059406D216E216F2121FF22FF23FF24FF25FFF2
|
||||
S3150800595026FF27FF28FF29FF2AFF2BFF2CFF2DFFF5
|
||||
S315080059602EFF2FFF30FF31FF32FF33FF34FF35FFA5
|
||||
S3150800597036FF37FF38FF39FF3AFF00004F70656E74
|
||||
S31508005980424C54002E2E2F2E2E2F2E2E2F536F754F
|
||||
S315080059907263652F66696C652E6300004669726DD1
|
||||
S315080059A077617265207570646174652072657175BA
|
||||
S315080059B06573742064657465637465640A0D000014
|
||||
S315080059C04F70656E696E67206669726D776172657C
|
||||
S315080059D02066696C6520666F722072656164696EFF
|
||||
S315080059E0672E2E2E000000004552524F520A0D0017
|
||||
S315080059F04F4B0A0D000000005374617274696E679C
|
||||
S31508005A00207468652070726F6772616D6D696E6764
|
||||
S31508005A102073657175656E63650A0D005061727352
|
||||
S31508005A20696E67206669726D776172652066696C52
|
||||
S31508005A306520746F206F627461696E206572617388
|
||||
S31508005A40652073697A652E2E2E00000045726173F3
|
||||
S31508005A50696E67200000000020627974657320660D
|
||||
S31508005A60726F6D206D656D6F727920617420307864
|
||||
S31508005A700000000052656164696E67206C696E6596
|
||||
S31508005A802066726F6D2066696C652E2E2E45525201
|
||||
S31508005A904F520A0D00000000496E76616C69642059
|
||||
S31508005AA0636865636B73756D20666F756E642E2EFD
|
||||
S31508005AB02E4552524F520A0D0000000050726F6771
|
||||
S31508005AC072616D6D696E672000000000206279744E
|
||||
S31508005AD0657320746F206D656D6F7279206174200F
|
||||
S31508005AE03078000057726974696E672070726F6744
|
||||
S31508005AF072616D20636865636B73756D2E2E2E005B
|
||||
S31508005B00436C6F73696E67206669726D776172653B
|
||||
S31508005B102066696C650A0D004669726D7761726563
|
||||
S31508005B202075706461746520737563636573736645
|
||||
S31508005B30756C6C7920636F6D706C657465640A0D9D
|
||||
S31508005B4000000000000008001000180020002800CF
|
||||
S31508005B503000380040004800500058008000880097
|
||||
S31508005B6090009800A000A800B000B800C000C800C7
|
||||
S31508005B70D000D800008000080040000002000000A5
|
||||
S31508005B8000C00008004000000300000000000108F3
|
||||
S31508005B9000000100040000000000020800000200E6
|
||||
S31508005BA005000000000004080000020006000000CE
|
||||
S31508005BB000000608000002000700000000000808B0
|
||||
S31508005BC0000002000800000000000A0800000200A9
|
||||
S31508005BD00900000000000C08000002000A0000008E
|
||||
S31508005BE000000E08000002000B0000002E2E2F2ECB
|
||||
S31508005BF02E2F2E2E2F536F757263652F41524D43EC
|
||||
S31508005C004D345F53544D33322F756172742E6300D1
|
||||
S31508005C102E2E2F2E2E2F2E2E2F536F757263652F35
|
||||
S31508005C2041524D434D345F53544D33322F4743430E
|
||||
S31508005C302F766563746F72732E6300000020202030
|
||||
S31508005C40202020202020282828282820202020201E
|
||||
S31508005C5020202020202020202020202020881010EE
|
||||
S31508005C60101010101010101010101010100404044A
|
||||
S31508005C700404040404040410101010101010414108
|
||||
S31508005C8041414141010101010101010101010101F6
|
||||
S31508005C90010101010101010110101010101042420A
|
||||
S31508005CA042424242020202020202020202020202C6
|
||||
S31508005CB00202020202020202101010102000000066
|
||||
S31508005CC000000000000000000000000000000000C6
|
||||
S31508005CD000000000000000000000000000000000B6
|
||||
S31508005CE000000000000000000000000000000000A6
|
||||
S3150800455008B54FF00000064B18700649FEF7D6FF5F
|
||||
S3150800456020B105484FF07C0100F02EFB08BD00BFC6
|
||||
S31508004570F805002004060020B0590008034B1878F7
|
||||
S31508004580D0F1010038BF0020704700BFF8050020B1
|
||||
S3150800459008B5FFF74DFD012809D0094B1B784BB923
|
||||
S315080045A0FBF730FE012808D1054B187008BD4FF0FF
|
||||
S315080045B0000008BD4FF0000008BD4FF0000008BD20
|
||||
S315080045C0F80500200378134A1268D118497801F0D3
|
||||
S315080045D00301022908BF203B532B0FD1407812183C
|
||||
S315080045E0537803F00403DBB25BB131280CD03228D0
|
||||
S315080045F00DD0332814BF0320022070474FF0030064
|
||||
S3150800460070474FF0030070474FF0000070474FF0B7
|
||||
S31508004610010070471800002070B5044600F102003A
|
||||
S31508004620FFF764FF0646054604F104042046FFF733
|
||||
S315080046305DFF3018C6B205F1FF35ADB204F10204CC
|
||||
S31508004640012DF3D82046FFF751FF6FEA0606F6B2AA
|
||||
S31508004650864214BF0020012070BD00BF2DE9F0413D
|
||||
S3150800466004461546884601B120B9634840F236210A
|
||||
S3150800467000F0AAFA2046FFF7A5FF0646032800F031
|
||||
S31508004680B0802046FFF7C8FF002800F0AD80012E55
|
||||
S3150800469034D01EB1022E40F0AA8065E004F1020073
|
||||
S315080046A0FFF724FF074604F10400FFF71FFF4FEA50
|
||||
S315080046B00026C8F8006004F10600FFF717FF301857
|
||||
S315080046C0C8F8000004F10806A7F10307BFB2002DD9
|
||||
S315080046D000F08F800FFA87F8B8F1000F40F3898051
|
||||
S315080046E04FF000043046FFF701FF285506F1020691
|
||||
S315080046F004F10104A4B24445F4DB7AE004F10200B3
|
||||
S31508004700FFF7F4FE074604F10400FFF7EFFE4FEA51
|
||||
S315080047100046C8F8006004F10600FFF7E7FE06EB5E
|
||||
S315080047200026C8F8006004F10800FFF7DFFE30181D
|
||||
S31508004730C8F8000004F10A06A7F10407BFB2002D65
|
||||
S3150800474057D00FFA87F8B8F1000F52DD4FF0000482
|
||||
S315080047503046FFF7CBFE285506F1020604F10104A0
|
||||
S31508004760A4B24445F4DB44E004F10200FFF7BEFEC0
|
||||
S31508004770074604F10400FFF7B9FE4FEA0066C8F8D9
|
||||
S31508004780006004F10600FFF7B1FE06EB0046C8F824
|
||||
S31508004790006004F10800FFF7A9FE06EB0026C8F83A
|
||||
S315080047A0006004F10A00FFF7A1FE3018C8F80000FF
|
||||
S315080047B004F10C06A7F10507BFB2D5B10FFA87F8C1
|
||||
S315080047C0B8F1000F15DD4FF000043046FFF78EFEF6
|
||||
S315080047D0285506F1020604F10104A4B24445F4DBA7
|
||||
S315080047E007E04FF0000704E04FF6FF7701E04FF0CF
|
||||
S315080047F0000738B2BDE8F081B059000870B5964B8D
|
||||
S315080048001B78002B00F0C481012B2BD1FBF722FD6E
|
||||
S315080048109248FBF75DFD9248FBF75AFDFBF716FD3C
|
||||
S31508004820014690484FF00102FEF786FE38B18E48E1
|
||||
S31508004830FBF74EFD4FF00100FBF73EFD70BD8B48C0
|
||||
S31508004840FBF746FD8A48FBF743FD8A48FBF740FD20
|
||||
S31508004850894B4FF000021A605A604FF002027E4BF5
|
||||
S315080048601A7070BD022B40F0BB80844D84484FF40B
|
||||
S31508004870807105F50D72FFF7E3FA95F93A32002BC8
|
||||
S315080048800FDA7948FBF724FD4FF00200FBF714FD19
|
||||
S3150800489005F50D70FFF75CF94FF000026E4B1A70C4
|
||||
S315080048A070BDD0B17649084601F5C0714FF00002D7
|
||||
S315080048B0FFF7D4FE0446B0F1FF3F0ED16A48FBF776
|
||||
S315080048C007FD4FF00300FBF7F7FC6648FFF740F9D2
|
||||
S315080048D04FF00002604B1A7070BD23B2002B17DD33
|
||||
S315080048E0654B5B683BB9644B654AD2F880211A6010
|
||||
S315080048F024B25C600CE0624AD2F880215E490968FD
|
||||
S315080049008A423CBF5C490A6003FA84F35A4A5360F8
|
||||
S315080049105A4BD3F83C22D3F840329A4240F03881B9
|
||||
S3150800492050484FF00001FFF71FF970B14E48FBF7EA
|
||||
S31508004930CFFC4FF00400FBF7BFFC4A48FFF708F925
|
||||
S315080049404FF00002444B1A7070BD4848FBF7C0FC94
|
||||
S315080049504C48FBF7BDFC484D4B4C68682146FFF7B1
|
||||
S31508004960A1FD2046FBF7B4FC4848FBF7B1FC2E68CE
|
||||
S315080049704FEA16602146FFF783FDC6F3074004F1A8
|
||||
S315080049800201FFF77DFDC6F3072004F10401FFF7D6
|
||||
S3150800499077FDF0B204F10601FFF772FD2046FBF73A
|
||||
S315080049A097FC3B48FBF794FC2868696800F0F4FB21
|
||||
S315080049B070B92D48FBF78CFC4FF00500FBF77CFC23
|
||||
S315080049C02848FFF7C5F84FF00002234B1A7070BD50
|
||||
S315080049D02648FBF77DFC4FF003021F4B1A7070BD8B
|
||||
S315080049E0032B40F0D580254D25484FF4807105F5F9
|
||||
S315080049F00D72FFF725FA95F93A32002B0FDA25489A
|
||||
S31508004A00FBF766FC4FF00200FBF756FC05F50D7048
|
||||
S31508004A10FFF79EF84FF000020F4B1A7070BD002882
|
||||
S31508004A203CD0174A104602F5C07102F58072FFF7AE
|
||||
S31508004A3015FE0446B0F1FF3F30D11748FBF748FC96
|
||||
S31508004A404FF00300FBF738FC0648FFF781F84FF0F4
|
||||
S31508004A500002014B1A7070BDF8050020C8590008FD
|
||||
S31508004A60EC59000838080020145A00081C5A000897
|
||||
S31508004A70245A0008485A0008FC05002004060020AD
|
||||
S31508004A805C0A0020785A0008B8050020845A0008F5
|
||||
S31508004A90285B0008A05A0008C45A000823B2002B55
|
||||
S31508004AA046DD3C48FBF714FC24B23B4D204629461C
|
||||
S31508004AB0FFF7F8FC2846FBF70BFC3848FBF708FC21
|
||||
S31508004AC0374E96F883012946FFF7DAFC96F88201F5
|
||||
S31508004AD005F10201FFF7D4FC96F8810105F10401FE
|
||||
S31508004AE0FFF7CEFC96F8800105F10601FFF7C8FC32
|
||||
S31508004AF02846FBF7EDFB2B48FBF7EAFBD6F88001C7
|
||||
S31508004B00214606F5807200F043FB70B92648FBF78C
|
||||
S31508004B10DFFB4FF00600FBF7CFFB2448FFF718F83A
|
||||
S31508004B204FF00002224B1A7070BD2248FBF7D0FBEB
|
||||
S31508004B30214BD3F83C22D3F840329A4228D11F4859
|
||||
S31508004B40FBF7C6FB00F030FB70B91748FBF7C0FB54
|
||||
S31508004B504FF00700FBF7B0FB1448FEF7F9FF4FF0DC
|
||||
S31508004B600002134B1A7070BD1248FBF7B1FB1448CC
|
||||
S31508004B70FBF7AEFB0D48FEF7EBFF1248FBF7A8FB69
|
||||
S31508004B804FF000020A4B1A70FBF77AFB00F028F880
|
||||
S31508004B9070BD00BFE85A0008B8050020F85A00089A
|
||||
S31508004BA05C0A0020285B0008145A00083808002010
|
||||
S31508004BB0F80500201C5A000804060020105B0008AF
|
||||
S31508004BC02C5B0008445B000808B5034B1860034BD0
|
||||
S31508004BD01960FFF73DFCFCE7E00B0020E40B002022
|
||||
S31508004BE008B500F0DDFA50B1FFF710FA00F0E6FA62
|
||||
S31508004BF04FF40042024B1A60024B1B68984708BDE7
|
||||
S31508004C0008ED00E00480000870B5044602F1FF369E
|
||||
S31508004C10B6B252B100F101039E190D1A635D04F88C
|
||||
S31508004C20013BFFF715FCB442F8D170BD08B500F09A
|
||||
S31508004C3005FB08BDF8B507464FF0000425460D4E9E
|
||||
S31508004C40FFF706FCA359BB420BD8311949685B1814
|
||||
S31508004C509F4206D205EB4502064B03EB8202107A09
|
||||
S31508004C60F8BD05F1010504F10C04782CE8D14FF0E4
|
||||
S31508004C70FF00F8BDA05B00082DE9F0410746006873
|
||||
S31508004C80FFF7D8FFFF2830D0FCF738FD4FF0F300C8
|
||||
S31508004C90FCF74CFDFCF750FD012818BF002404D191
|
||||
S31508004CA0FCF73CFD4FF0000421E03E6804EB0608E3
|
||||
S31508004CB03B195D68FFF7CCFB40462946FCF77AFDB1
|
||||
S31508004CC008280AD1A359AB420AD104F10404B4F561
|
||||
S31508004CD0007FEAD14FF0010404E04FF0000401E040
|
||||
S31508004CE04FF00004FCF71AFD01E04FF000042046DF
|
||||
S31508004CF0BDE8F08108B54FEAC1534FEAD3535BB913
|
||||
S31508004D0003688B420BD040F8041B4FF40072FFF780
|
||||
S31508004D107BFF4FF0010008BD4FF0000008BD4FF0C3
|
||||
S31508004D20010008BD38B504460D460C4B984206D01E
|
||||
S31508004D300B4B994205D0FFF79FFF18B90AE0094CBB
|
||||
S31508004D4000E0064C20462946FFF7D4FF002808BF96
|
||||
S31508004D50002401E04FF00004204638BDE80B00208F
|
||||
S31508004D6000800008EC0D00202DE9F84306460C46A5
|
||||
S31508004D7017461D464FEA51294FEA49290368B3F1F8
|
||||
S31508004D80FF3F03D14946FFF7B5FF50B333684B459C
|
||||
S31508004D9005D030464946FFF7C5FF064628B33368AF
|
||||
S31508004DA0E41A341904F1040440F2FF1809F50079ED
|
||||
S31508004DB0FFF74EFB06F10403E31A434507D93046CD
|
||||
S31508004DC04946FFF7AFFF064698B100F1040417F805
|
||||
S31508004DD0013B04F8013B013DEAD14FF00100BDE873
|
||||
S31508004DE0F8834FF00000BDE8F8834FF00000BDE8F7
|
||||
S31508004DF0F8834FF00000BDE8F88300BF4FF0FF339B
|
||||
S31508004E00024A1360024A1360704700BFEC0D002087
|
||||
S31508004E10E80B002070B504460D461646FFF70AFF54
|
||||
S31508004E20FF2814D004F1FF304019FFF703FFFF28CD
|
||||
S31508004E3010D04FEA5422094BB3EB422F0CBF084857
|
||||
S31508004E400848214632462B46FFF78EFF70BD4FF0C5
|
||||
S31508004E50000070BD4FF0000070BD00BF0080000864
|
||||
S31508004E60E80B0020EC0D0020F8B506460D46FFF7C6
|
||||
S31508004E70E1FE044606F1FF304019FFF7DBFE054662
|
||||
S31508004E80FF2C3AD0FF283BD084422DD8012C2ED9AE
|
||||
S31508004E900B282FD8FCF732FC4FF0F300FCF746FC42
|
||||
S31508004EA0FCF74AFC012804D1FCF738FC4FF0000057
|
||||
S31508004EB0F8BD154F4FF00206FFF7CAFA37F8140087
|
||||
S31508004EC03146FCF795FC082804D0FCF727FC4FF080
|
||||
S31508004ED00000F8BD04F10104E4B2A542ECD2FCF7E7
|
||||
S31508004EE01DFC4FF00100F8BD4FF00000F8BD4FF073
|
||||
S31508004EF00000F8BD4FF00000F8BD4FF00000F8BD07
|
||||
S31508004F004FF00000F8BD00BF705B000800B583B025
|
||||
S31508004F10104B1B68B3F1FF3F18D00E4B99685A68BF
|
||||
S31508004F208918DA6889181A6989185A6989189A6964
|
||||
S31508004F308A18D9695318C3F1000302AA42F8043D36
|
||||
S31508004F4005484FF00401FFF765FF01E04FF0010047
|
||||
S31508004F5003B000BDE80B0020888100080E4B1868D6
|
||||
S31508004F60A3F104031B68C0180C4B1B68C0180C4B34
|
||||
S31508004F701B68C0180B4B1B68C0180B4B1B68C01866
|
||||
S31508004F800A4B1B68C0180A4B1B68C018D0F10100F1
|
||||
S31508004F9038BF0020704700BF04800008088000085A
|
||||
S31508004FA00C8000081080000814800008188000088B
|
||||
S31508004FB08881000808B50D4B1B68B3F1FF3F03D085
|
||||
S31508004FC00A48FFF759FE58B1094B1B68B3F1FF3F72
|
||||
S31508004FD009D00748FFF750FE003018BF012008BD6A
|
||||
S31508004FE04FF0000008BD4FF0010008BDE80B002097
|
||||
S31508004FF0EC0D002010B5044608484FF02001FCF7D8
|
||||
S3150800500053FE012806D10548FCF748FE20704FF0EC
|
||||
S31508005010010010BD4FF0000010BD00BF0014014094
|
||||
S3150800502038B504460C484FF08001FCF73DFE78B1D0
|
||||
S3150800503009482146FCF72CFE074D4FF08004284608
|
||||
S315080050402146FCF731FE0028F9D04FF0010038BDA3
|
||||
S315080050504FF0000038BD00BF0014014010B584B001
|
||||
S315080050604FF4614300934FF00003ADF80430ADF8F8
|
||||
S315080050700630ADF80830ADF80C304FF00C03ADF83B
|
||||
S315080050800A30064C20466946FCF778FD20464FF064
|
||||
S315080050900101FCF7EDFD04B010BD00BF001401408E
|
||||
S315080050A02DE9F04106460C46402904D914484FF02C
|
||||
S315080050B07601FFF789FD2046FFF7B2FF012804D0E5
|
||||
S315080050C00F484FF07901FFF77FFD2546ACB14FF049
|
||||
S315080050D00004DFF82C804FF08107FFF7B9F9305D3F
|
||||
S315080050E0FFF79EFF012803D040463946FFF76CFDBF
|
||||
S315080050F004F10104A3B2AB42EFD3BDE8F08100BFCF
|
||||
S31508005100185C000810B504461B4B1B786BB91B4886
|
||||
S31508005110FFF770FF012825D14FF00102164B1A70D0
|
||||
S315080051204FF00000164B187010BD154B1878154B2C
|
||||
S31508005130C018FFF75FFF012817D1114B1A7802F143
|
||||
S315080051400102D2B21A700D4B1B78934210D1204639
|
||||
S315080051500C49FFF759FD4FF00002074B1A704FF044
|
||||
S31508005160010010BD4FF0000010BD4FF0000010BD4B
|
||||
S315080051704FF0000010BD00BF35100020F00F0020D2
|
||||
S3150800518034100020F10F002008B5FFF737FE08BDE0
|
||||
S3150800519008B5FFF73FFE08BD08B5FFF765FE08BD71
|
||||
S315080051A008B5FFF7DBFE08BD08B5FFF7AFFE10B17F
|
||||
S315080051B0FFF700FF08BD4FF0000008BD4FF00002E2
|
||||
S315080051C0014B1A60704700BF10E000E008B5FFF712
|
||||
S315080051D0F5FF064B064A5A604FF000029A604FF0F8
|
||||
S315080051E005011960034B1A6008BD00BF10E000E016
|
||||
S315080051F03F90020038100020054B1B6813F4803FCF
|
||||
S3150800520004D0044B1A6802F101021A60704700BF05
|
||||
S3150800521010E000E03810002008B5FFF7EDFF014B5D
|
||||
S31508005220186808BD3810002008B503484FF0360145
|
||||
S31508005230FFF7CAFC08BD00BF3C5C000810B572B693
|
||||
S31508005240114B124A9A4211D202F10403104CE41A85
|
||||
S3150800525024F0030404F104044FF0000310460D493A
|
||||
S315080052605A581A5003F10403A342F9D10A480B49C4
|
||||
S315080052704FF000028842B8BF40F8042BFFF6FAAF99
|
||||
S31508005280FBF750F810BD00BF1C00002000000020EE
|
||||
S315080052901F0000206C5D0008200000203C10002044
|
||||
S315080052A0032A2DE9F00F09D82AB10023CC5CC4548F
|
||||
S315080052B001339342FAD1BDE8F00F704783070244E1
|
||||
S315080052C00ED0441C4D1C15F8017C04F00306234639
|
||||
S315080052D001342946013504F8027C002EF3D100E09A
|
||||
S315080052E0034611F003046DD0D71A0D1B032F2E6841
|
||||
S315080052F019DDC4F1040C4FEAC4081C1D4FEACC0C96
|
||||
S3150800530055F8047FC4EB0209234604310434B9F185
|
||||
S31508005310030F26FA08FA07FA0CFB3E464BEA0A0779
|
||||
S3150800532044F8087CECDC9A42C5D9013301310132D4
|
||||
S3150800533011F8014C01330131934203F8024CF7D1BD
|
||||
S31508005340B9E70C684033403143F8404C51F83C4CBF
|
||||
S3150800535043F83C4C51F8384C43F8384C51F8344C27
|
||||
S3150800536043F8344C51F8304C43F8304C51F82C4C37
|
||||
S3150800537043F82C4C51F8284C43F8284C51F8244C47
|
||||
S3150800538043F8244C51F8204C43F8204C51F81C4C57
|
||||
S3150800539043F81C4C51F8184C43F8184C51F8144C67
|
||||
S315080053A043F8144C51F8104C43F8104C51F80C4C77
|
||||
S315080053B043F80C4C51F8084C43F8084C51F8044C87
|
||||
S315080053C043F8044CD41A3F2CBBDC11E00C681033AC
|
||||
S315080053D0103143F8104C51F80C4C43F80C4C51F86A
|
||||
S315080053E0084C43F8084C51F8044C43F8044CD41ABA
|
||||
S315080053F00F2CEBDC032C96DD1C1D0D1D55F8047CCB
|
||||
S31508005400161B2346294604340435032E44F8087C23
|
||||
S31508005410F4DC88E72F64656D6F70726F675F6F6C79
|
||||
S31508005420696D65785F73746D3332653430372E7302
|
||||
S31508005430726563002F626F6F746C6F672E74787471
|
||||
S3150800544000000000222A3A3C3E3F7C7F0000000014
|
||||
S315080054502B2C3B3D5B5D0000809A90418E418F80EE
|
||||
S315080054604545454949498E8F9092924F994F5555D2
|
||||
S3150800547059999A9B9C9D9E9F41494F55A5A5A6A7BC
|
||||
S31508005480A8A9AAABAC21AEAFB0B1B2B3B4B5B6B7A2
|
||||
S31508005490B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C706
|
||||
S315080054A0C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7F6
|
||||
S315080054B0D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E6
|
||||
S315080054C0E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7D6
|
||||
S315080054D0F8F9FAFBFCFDFEFF01030507090E101299
|
||||
S315080054E01416181C1E0000006100620063006400A8
|
||||
S315080054F0650066006700680069006A006B006C005A
|
||||
S315080055006D006E006F007000710072007300740009
|
||||
S31508005510750076007700780079007A00A100A2006D
|
||||
S31508005520A300A500AC00AF00E000E100E200E30044
|
||||
S31508005530E400E500E600E700E800E900EA00EB0021
|
||||
S31508005540EC00ED00EE00EF00F000F100F200F300D1
|
||||
S31508005550F400F500F600F800F900FA00FB00FC007C
|
||||
S31508005560FD00FE00FF000101030105010701090115
|
||||
S315080055700B010D010F011101130115011701190185
|
||||
S315080055801B011D011F0121012301250127012901F5
|
||||
S315080055902B012D012F0131013301350137013A0164
|
||||
S315080055A03C013E01400142014401460148014B01CC
|
||||
S315080055B04D014F01510153015501570159015B0135
|
||||
S315080055C05D015F01610163016501670169016B01A5
|
||||
S315080055D06D016F0171017301750177017A017C0113
|
||||
S315080055E07E019201B103B203B303B403B503B60354
|
||||
S315080055F0B703B803B903BA03BB03BC03BD03BE03B1
|
||||
S31508005600BF03C003C103C303C403C503C603C7035B
|
||||
S31508005610C803C903CA03300431043204330434040A
|
||||
S31508005620350436043704380439043A043B043C0488
|
||||
S315080056303D043E043F044004410442044304440438
|
||||
S31508005640450446044704480449044A044B044C04E8
|
||||
S315080056504D044E044F045104520453045404550493
|
||||
S3150800566056045704580459045A045B045C045E043F
|
||||
S315080056705F047021712172217321742175217621AD
|
||||
S315080056807721782179217A217B217C217D217E2130
|
||||
S315080056907F2141FF42FF43FF44FF45FF46FF47FF87
|
||||
S315080056A048FF49FF4AFF4BFF4CFF4DFF4EFF4FFF98
|
||||
S315080056B050FF51FF52FF53FF54FF55FF56FF57FF48
|
||||
S315080056C058FF59FF5AFF0000C700FC00E900E20036
|
||||
S315080056D0E400E000E500E700EA00EB00E800EF0080
|
||||
S315080056E0EE00EC00C400C500C900E600C600F400E0
|
||||
S315080056F0F600F200FB00F900FF00D600DC00A2006D
|
||||
S31508005700A300A500A7209201E100ED00F300FA002E
|
||||
S31508005710F100D100AA00BA00BF001023AC00BD00FA
|
||||
S31508005720BC00A100AB00BB0091259225932502255C
|
||||
S315080057302425612562255625552563255125572596
|
||||
S315080057405D255C255B251025142534252C251C256F
|
||||
S3150800575000253C255E255F255A255425692566259D
|
||||
S31508005760602550256C2567256825642565255925F6
|
||||
S315080057705825522553256B256A2518250C25882575
|
||||
S3150800578084258C2590258025B103DF009303C0036B
|
||||
S31508005790A303C303B500C403A6039803A903B4036C
|
||||
S315080057A01E22C603B50329226122B100652264229E
|
||||
S315080057B020232123F7004822B0001922B7001A2215
|
||||
S315080057C07F20B200A025A00041004200430044000B
|
||||
S315080057D0450046004700480049004A004B004C0077
|
||||
S315080057E04D004E004F005000510052005300540027
|
||||
S315080057F0550056005700580059005A002100E0FF8E
|
||||
S31508005800E1FFE5FFE2FFE3FFC000C100C200C300FD
|
||||
S31508005810C400C500C600C700C800C900CA00CB003E
|
||||
S31508005820CC00CD00CE00CF00D000D100D200D300EE
|
||||
S31508005830D400D500D600D800D900DA00DB00DC0099
|
||||
S31508005840DD00DE00780100010201040106010801FD
|
||||
S315080058500A010C010E0110011201140116011801AA
|
||||
S315080058601A011C011E01200122012401260128011A
|
||||
S315080058702A012C012E013001320134013601390189
|
||||
S315080058803B013D013F0141014301450147014A01F1
|
||||
S315080058904C014E01500152015401560158015A015A
|
||||
S315080058A05C015E01600162016401660168016A01CA
|
||||
S315080058B06C016E01700172017401760179017B0138
|
||||
S315080058C07D01910191039203930394039503960333
|
||||
S315080058D09703980399039A039B039C039D039E03CE
|
||||
S315080058E09F03A003A103A303A403A503A603A70379
|
||||
S315080058F0A803A903AA031004110412041304140428
|
||||
S31508005900150416041704180419041A041B041C04A5
|
||||
S315080059101D041E041F042004210422042304240455
|
||||
S31508005920250426042704280429042A042B042C0405
|
||||
S315080059302D042E042F0401040204030404040504A0
|
||||
S3150800594006040704080409040A040B040C040E04DC
|
||||
S315080059500F0460216121622163216421652166218A
|
||||
S315080059606721682169216A216B216C216D216E21CD
|
||||
S315080059706F2121FF22FF23FF24FF25FF26FF27FF94
|
||||
S3150800598028FF29FF2AFF2BFF2CFF2DFF2EFF2FFFB5
|
||||
S3150800599030FF31FF32FF33FF34FF35FF36FF37FF65
|
||||
S315080059A038FF39FF3AFF00004F70656E424C5400CD
|
||||
S315080059B02E2E2F2E2E2F2E2E2F536F757263652F98
|
||||
S315080059C066696C652E6300004669726D776172655B
|
||||
S315080059D020757064617465207265717565737420CD
|
||||
S315080059E064657465637465640A0D00004F70656EBE
|
||||
S315080059F0696E67206669726D776172652066696C83
|
||||
S31508005A006520666F722072656164696E672E2E2E38
|
||||
S31508005A10000000004552524F520A0D004F4B0A0D26
|
||||
S31508005A20000000005374617274696E6720746865BB
|
||||
S31508005A302070726F6772616D6D696E67207365712C
|
||||
S31508005A4075656E63650A0D0050617273696E67202D
|
||||
S31508005A506669726D776172652066696C6520746F18
|
||||
S31508005A60206F627461696E2065726173652073695F
|
||||
S31508005A707A652E2E2E00000045726173696E6720C6
|
||||
S31508005A80000000002062797465732066726F6D20CD
|
||||
S31508005A906D656D6F727920617420307800000000A2
|
||||
S31508005AA052656164696E67206C696E652066726FFF
|
||||
S31508005AB06D2066696C652E2E2E4552524F520A0D80
|
||||
S31508005AC000000000496E76616C696420636865634E
|
||||
S31508005AD06B73756D20666F756E642E2E2E45525249
|
||||
S31508005AE04F520A0D0000000050726F6772616D6DAB
|
||||
S31508005AF0696E67200000000020627974657320745F
|
||||
S31508005B006F206D656D6F72792061742030780000A2
|
||||
S31508005B1057726974696E672070726F6772616D205B
|
||||
S31508005B20636865636B73756D2E2E2E00436C6F73F9
|
||||
S31508005B30696E67206669726D776172652066696C41
|
||||
S31508005B40650A0D004669726D776172652075706425
|
||||
S31508005B50617465207375636365737366756C6C79B8
|
||||
S31508005B6020636F6D706C657465640A0D0000000033
|
||||
S31508005B700000080010001800200028003000380037
|
||||
S31508005B8040004800500058008000880090009800A7
|
||||
S31508005B90A000A800B000B800C000C800D000D80017
|
||||
S31508005BA000800008004000000200000000C0000855
|
||||
S31508005BB0004000000300000000000108000001008A
|
||||
S31508005BC004000000000002080000020005000000B2
|
||||
S31508005BD00000040800000200060000000000060895
|
||||
S31508005BE0000002000700000000000808000002008C
|
||||
S31508005BF00800000000000A08000002000900000072
|
||||
S31508005C0000000C08000002000A00000000000E0850
|
||||
S31508005C10000002000B0000002E2E2F2E2E2F2E2EF7
|
||||
S31508005C202F536F757263652F41524D434D345F5341
|
||||
S31508005C30544D33322F756172742E63002E2E2F2E1B
|
||||
S31508005C402E2F2E2E2F536F757263652F41524D439B
|
||||
S31508005C504D345F53544D33322F4743432F76656394
|
||||
S31508005C60746F72732E6300000020202020202020ED
|
||||
S31508005C7020202828282828202020202020202020EE
|
||||
S31508005C8020202020202020202088101010101010FE
|
||||
S31508005C90101010101010101010040404040404044A
|
||||
S31508005CA004040410101010101010414141414141E4
|
||||
S31508005CB001010101010101010101010101010101C6
|
||||
S31508005CC001010101101010101010424242424242D6
|
||||
S31508005CD00202020202020202020202020202020296
|
||||
S31508005CE0020202021010101020000000000000003E
|
||||
S31508005CF00000000000000000000000000000000096
|
||||
S31508005D000000000000000000000000000000000085
|
||||
S31508005D100000000000000000000000000000000075
|
||||
S31508005D200000000000000000000000000000000065
|
||||
S31508005D300000000000000000000000000000000055
|
||||
S31508005D400100000001000000000000000102030439
|
||||
S31108005D5001020304060708093C5C000871
|
||||
S31508005D400000000000000000000000000000000045
|
||||
S31508005D500000000000000000000000000000000035
|
||||
S31108005D6000000000000000000000000029
|
||||
S31508005D6C010000000100000000000000010203040D
|
||||
S31108005D7C0102030406070809685C000819
|
||||
S70508000000F2
|
||||
|
|
|
@ -61,6 +61,33 @@
|
|||
/****************************************************************************************
|
||||
* C O M M U N I C A T I O N I N T E R F A C E C O N F I G U R A T I O N
|
||||
****************************************************************************************/
|
||||
/* The CAN communication interface is selected by setting the BOOT_COM_CAN_ENABLE
|
||||
* configurable to 1. Configurable BOOT_COM_CAN_BAUDRATE selects the communication speed
|
||||
* 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
|
||||
* 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
|
||||
* CAN controller channel.
|
||||
*
|
||||
*/
|
||||
/** \brief Enable/disable CAN transport layer. */
|
||||
#define BOOT_COM_CAN_ENABLE (0)
|
||||
/** \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)
|
||||
/** \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)
|
||||
/** \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. */
|
||||
#define BOOT_COM_CAN_CHANNEL_INDEX (1)
|
||||
|
||||
/* The UART communication interface is selected by setting the BOOT_COM_UART_ENABLE
|
||||
* configurable to 1. Configurable BOOT_COM_UART_BAUDRATE selects the communication speed
|
||||
* in bits/second. The maximum amount of data bytes in a message for data transmission
|
||||
|
|
|
@ -229,6 +229,16 @@ continue
|
|||
<File Name="../../../../Source/ARMCM4_STM32/GCC/cstart.c"/>
|
||||
<File Name="../../../../Source/ARMCM4_STM32/GCC/vectors.c"/>
|
||||
</VirtualDirectory>
|
||||
<VirtualDirectory Name="Crossworks">
|
||||
<File Name="../../../../Source/ARMCM4_STM32/Crossworks/cstart.s"/>
|
||||
<File Name="../../../../Source/ARMCM4_STM32/Crossworks/vectors.c"/>
|
||||
</VirtualDirectory>
|
||||
<VirtualDirectory Name="IAR">
|
||||
<File Name="../../../../Source/ARMCM4_STM32/IAR/cstart.s"/>
|
||||
<File Name="../../../../Source/ARMCM4_STM32/IAR/vectors.c"/>
|
||||
</VirtualDirectory>
|
||||
<File Name="../../../../Source/ARMCM4_STM32/can.c"/>
|
||||
<File Name="../../../../Source/ARMCM4_STM32/can.h"/>
|
||||
</VirtualDirectory>
|
||||
</VirtualDirectory>
|
||||
</CodeLite_Project>
|
||||
|
|
|
@ -79,6 +79,8 @@ static void Init(void)
|
|||
#elif (BOOT_FILE_SYS_ENABLE > 0)
|
||||
GPIO_InitTypeDef GPIO_InitStructure;
|
||||
USART_InitTypeDef USART_InitStructure;
|
||||
#elif (BOOT_COM_CAN_ENABLE > 0)
|
||||
GPIO_InitTypeDef GPIO_InitStructure;
|
||||
#endif
|
||||
|
||||
/* disable all interrupts to prevent possible jump back to the user program */
|
||||
|
@ -134,6 +136,24 @@ static void Init(void)
|
|||
/* enable UART */
|
||||
USART_Cmd(USART6, ENABLE);
|
||||
#endif
|
||||
#if (BOOT_COM_CAN_ENABLE > 0)
|
||||
/* enable clocks for CAN2 transmitter and receiver pins */
|
||||
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB, ENABLE);
|
||||
/* select alternate function for the CAN2 pins */
|
||||
GPIO_PinAFConfig(GPIOB, GPIO_PinSource5, GPIO_AF_CAN2);
|
||||
GPIO_PinAFConfig(GPIOB, GPIO_PinSource6, GPIO_AF_CAN2);
|
||||
/* configure CAN2 RX and TX pins */
|
||||
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5 | GPIO_Pin_6;
|
||||
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
|
||||
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
|
||||
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
|
||||
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
|
||||
GPIO_Init(GPIOB, &GPIO_InitStructure);
|
||||
/* enable CAN clock. Note that CAN2 shares reception filters with CAN1 so for CAN2
|
||||
* the CAN1 peripheral also needs to be enabled.
|
||||
*/
|
||||
RCC_APB1PeriphClockCmd(RCC_APB1Periph_CAN2 | RCC_APB1Periph_CAN1, ENABLE);
|
||||
#endif
|
||||
} /*** end of Init ***/
|
||||
|
||||
|
||||
|
|
|
@ -126,6 +126,8 @@ main.c \
|
|||
../../../Source/assert.h \
|
||||
../../../Source/plausibility.h \
|
||||
../../../Source/ARMCM4_STM32/types.h \
|
||||
../../../Source/ARMCM4_STM32/can.c \
|
||||
../../../Source/ARMCM4_STM32/can.h \
|
||||
../../../Source/ARMCM4_STM32/cpu.c \
|
||||
../../../Source/ARMCM4_STM32/cpu.h \
|
||||
../../../Source/ARMCM4_STM32/flash.c \
|
||||
|
|
|
@ -182,4 +182,184 @@ static unsigned char UartReceiveByte(unsigned char *data)
|
|||
#endif /* BOOT_COM_UART_ENABLE > 0 */
|
||||
|
||||
|
||||
#if (BOOT_COM_CAN_ENABLE > 0)
|
||||
/****************************************************************************************
|
||||
* C O N T R O L L E R A R E A N E T W O R K I N T E R F A C E
|
||||
****************************************************************************************/
|
||||
|
||||
/****************************************************************************************
|
||||
* Type definitions
|
||||
****************************************************************************************/
|
||||
/** \brief Structure type for grouping CAN bus timing related information. */
|
||||
typedef struct t_can_bus_timing
|
||||
{
|
||||
unsigned char tseg1; /**< CAN time segment 1 */
|
||||
unsigned char tseg2; /**< CAN time segment 2 */
|
||||
} tCanBusTiming;
|
||||
|
||||
|
||||
/****************************************************************************************
|
||||
* Local constant declarations
|
||||
****************************************************************************************/
|
||||
/** \brief CAN bittiming table for dynamically calculating the bittiming settings.
|
||||
* \details According to the CAN protocol 1 bit-time can be made up of between 8..25
|
||||
* time quanta (TQ). The total TQ in a bit is SYNC + TSEG1 + TSEG2 with SYNC
|
||||
* always being 1. The sample point is (SYNC + TSEG1) / (SYNC + TSEG1 + SEG2) *
|
||||
* 100%. This array contains possible and valid time quanta configurations with
|
||||
* a sample point between 68..78%.
|
||||
*/
|
||||
static const tCanBusTiming canTiming[] =
|
||||
{ /* TQ | TSEG1 | TSEG2 | SP */
|
||||
/* ------------------------- */
|
||||
{ 5, 2 }, /* 8 | 5 | 2 | 75% */
|
||||
{ 6, 2 }, /* 9 | 6 | 2 | 78% */
|
||||
{ 6, 3 }, /* 10 | 6 | 3 | 70% */
|
||||
{ 7, 3 }, /* 11 | 7 | 3 | 73% */
|
||||
{ 8, 3 }, /* 12 | 8 | 3 | 75% */
|
||||
{ 9, 3 }, /* 13 | 9 | 3 | 77% */
|
||||
{ 9, 4 }, /* 14 | 9 | 4 | 71% */
|
||||
{ 10, 4 }, /* 15 | 10 | 4 | 73% */
|
||||
{ 11, 4 }, /* 16 | 11 | 4 | 75% */
|
||||
{ 12, 4 }, /* 17 | 12 | 4 | 76% */
|
||||
{ 12, 5 }, /* 18 | 12 | 5 | 72% */
|
||||
{ 13, 5 }, /* 19 | 13 | 5 | 74% */
|
||||
{ 14, 5 }, /* 20 | 14 | 5 | 75% */
|
||||
{ 15, 5 }, /* 21 | 15 | 5 | 76% */
|
||||
{ 15, 6 }, /* 22 | 15 | 6 | 73% */
|
||||
{ 16, 6 }, /* 23 | 16 | 6 | 74% */
|
||||
{ 16, 7 }, /* 24 | 16 | 7 | 71% */
|
||||
{ 16, 8 } /* 25 | 16 | 8 | 68% */
|
||||
};
|
||||
|
||||
|
||||
/************************************************************************************//**
|
||||
** \brief Search algorithm to match the desired baudrate to a possible bus
|
||||
** timing configuration.
|
||||
** \param baud The desired baudrate in kbps. Valid values are 10..1000.
|
||||
** \param prescaler Pointer to where the value for the prescaler will be stored.
|
||||
** \param tseg1 Pointer to where the value for TSEG2 will be stored.
|
||||
** \param tseg2 Pointer to where the value for TSEG2 will be stored.
|
||||
** \return 1 if the CAN bustiming register values were found, 0 otherwise.
|
||||
**
|
||||
****************************************************************************************/
|
||||
static unsigned char CanGetSpeedConfig(unsigned short baud, unsigned short *prescaler,
|
||||
unsigned char *tseg1, unsigned char *tseg2)
|
||||
{
|
||||
unsigned char cnt;
|
||||
|
||||
/* loop through all possible time quanta configurations to find a match */
|
||||
for (cnt=0; cnt < sizeof(canTiming)/sizeof(canTiming[0]); cnt++)
|
||||
{
|
||||
if (((BOOT_CPU_SYSTEM_SPEED_KHZ/4) % (baud*(canTiming[cnt].tseg1+canTiming[cnt].tseg2+1))) == 0)
|
||||
{
|
||||
/* compute the prescaler that goes with this TQ configuration */
|
||||
*prescaler = (BOOT_CPU_SYSTEM_SPEED_KHZ/4)/(baud*(canTiming[cnt].tseg1+canTiming[cnt].tseg2+1));
|
||||
|
||||
/* make sure the prescaler is valid */
|
||||
if ( (*prescaler > 0) && (*prescaler <= 1024) )
|
||||
{
|
||||
/* store the bustiming configuration */
|
||||
*tseg1 = canTiming[cnt].tseg1;
|
||||
*tseg2 = canTiming[cnt].tseg2;
|
||||
/* found a good bus timing configuration */
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
/* could not find a good bus timing configuration */
|
||||
return 0;
|
||||
} /*** end of CanGetSpeedConfig ***/
|
||||
|
||||
|
||||
/************************************************************************************//**
|
||||
** \brief Initializes the CAN communication interface.
|
||||
** \return none.
|
||||
**
|
||||
****************************************************************************************/
|
||||
void BootComInit(void)
|
||||
{
|
||||
GPIO_InitTypeDef GPIO_InitStructure;
|
||||
CAN_InitTypeDef CAN_InitStructure;
|
||||
CAN_FilterInitTypeDef CAN_FilterInitStructure;
|
||||
unsigned short prescaler;
|
||||
unsigned char tseg1, tseg2;
|
||||
|
||||
/* enable clocks for CAN2 transmitter and receiver pins */
|
||||
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB, ENABLE);
|
||||
/* select alternate function for the CAN2 pins */
|
||||
GPIO_PinAFConfig(GPIOB, GPIO_PinSource5, GPIO_AF_CAN2);
|
||||
GPIO_PinAFConfig(GPIOB, GPIO_PinSource6, GPIO_AF_CAN2);
|
||||
/* configure CAN2 RX and TX pins */
|
||||
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5 | GPIO_Pin_6;
|
||||
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
|
||||
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
|
||||
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
|
||||
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
|
||||
GPIO_Init(GPIOB, &GPIO_InitStructure);
|
||||
/* enable CAN clock. Note that CAN2 shares reception filters with CAN1 so for CAN2
|
||||
* the CAN1 peripheral also needs to be enabled.
|
||||
*/
|
||||
RCC_APB1PeriphClockCmd(RCC_APB1Periph_CAN2 | RCC_APB1Periph_CAN1, ENABLE);
|
||||
/* CAN register init */
|
||||
CAN_DeInit(CAN2);
|
||||
CAN_StructInit(&CAN_InitStructure);
|
||||
/* obtain the bittiming configuration for this baudrate */
|
||||
CanGetSpeedConfig(BOOT_COM_CAN_BAUDRATE/1000, &prescaler, &tseg1, &tseg2);
|
||||
/* CAN controller init */
|
||||
CAN_InitStructure.CAN_TTCM = DISABLE;
|
||||
CAN_InitStructure.CAN_ABOM = DISABLE;
|
||||
CAN_InitStructure.CAN_AWUM = DISABLE;
|
||||
CAN_InitStructure.CAN_NART = DISABLE;
|
||||
CAN_InitStructure.CAN_RFLM = DISABLE;
|
||||
CAN_InitStructure.CAN_TXFP = DISABLE;
|
||||
CAN_InitStructure.CAN_Mode = CAN_Mode_Normal;
|
||||
/* CAN Baudrate init */
|
||||
CAN_InitStructure.CAN_SJW = CAN_SJW_1tq;
|
||||
CAN_InitStructure.CAN_BS1 = tseg1 - 1;
|
||||
CAN_InitStructure.CAN_BS2 = tseg2 - 1;
|
||||
CAN_InitStructure.CAN_Prescaler = prescaler;
|
||||
CAN_Init(CAN2, &CAN_InitStructure);
|
||||
/* CAN filter init - receive all messages */
|
||||
CAN_FilterInitStructure.CAN_FilterNumber = 14;
|
||||
CAN_FilterInitStructure.CAN_FilterMode = CAN_FilterMode_IdMask;
|
||||
CAN_FilterInitStructure.CAN_FilterScale = CAN_FilterScale_32bit;
|
||||
CAN_FilterInitStructure.CAN_FilterIdHigh = 0x0000;
|
||||
CAN_FilterInitStructure.CAN_FilterIdLow = 0x0000;
|
||||
CAN_FilterInitStructure.CAN_FilterMaskIdHigh = 0x0000;
|
||||
CAN_FilterInitStructure.CAN_FilterMaskIdLow = 0x0000;
|
||||
CAN_FilterInitStructure.CAN_FilterFIFOAssignment = 0;
|
||||
CAN_FilterInitStructure.CAN_FilterActivation = ENABLE;
|
||||
CAN_FilterInit(&CAN_FilterInitStructure);
|
||||
} /*** end of BootComInit ***/
|
||||
|
||||
|
||||
/************************************************************************************//**
|
||||
** \brief Receives the CONNECT request from the host, which indicates that the
|
||||
** bootloader should be activated and, if so, activates it.
|
||||
** \return none.
|
||||
**
|
||||
****************************************************************************************/
|
||||
void BootComCheckActivationRequest(void)
|
||||
{
|
||||
CanRxMsg RxMessage;
|
||||
|
||||
/* 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 this was an XCP CONNECT command */
|
||||
if ((RxMessage.Data[0] == 0xff) && (RxMessage.Data[1] == 0x00))
|
||||
{
|
||||
/* connection request received so start the bootloader */
|
||||
BootActivate();
|
||||
}
|
||||
}
|
||||
}
|
||||
} /*** end of BootComCheckActivationRequest ***/
|
||||
#endif /* BOOT_COM_CAN_ENABLE > 0 */
|
||||
|
||||
|
||||
/*********************************** end of boot.c *************************************/
|
||||
|
|
Binary file not shown.
|
@ -1055,7 +1055,7 @@ S315080041B8022B44BF0B7803707047083A07D3B1E857
|
|||
S315080041C80810083A40F8043B40F804CBF7D25307DE
|
||||
S315080041D8E4E7FF0010B5DFF8D00600210170DFF824
|
||||
S315080041E8CC160020FDF7DEFB0400E4B2002C04D050
|
||||
S315080041F89E21DFF8BC0600F0F7FB10BDDFF8A8061D
|
||||
S315080041F87C21DFF8BC0600F0F7FB10BDDFF8A8063F
|
||||
S315080042080078002801D1012000E00020704780B519
|
||||
S3150800421800F02EFC012801D1002011E0DFF88806FD
|
||||
S315080042280078002801D000200AE000F025FC0128C3
|
||||
|
@ -1135,7 +1135,7 @@ S315080046B800F070F90500AE19A41C200000F06AF98C
|
|||
S315080046C8801906006D1EA41CADB2022DF5DAF6B2E5
|
||||
S315080046D8F643200000F05EF9F6B2864201D00020C3
|
||||
S315080046E800E0012070BD2DE9F84F82460C00150040
|
||||
S315080046F80027002C02D0BAF1000F04D14FF4167126
|
||||
S315080046F80027002C02D0BAF1000F04D140F2362167
|
||||
S315080047086B4800F071F95046FFF7AEFF0600F6B29F
|
||||
S31508004718032E01D10020C4E05046FFF7C4FF002845
|
||||
S3150800472802D15FF0FF30BCE0F6B2002E03D0022EAD
|
||||
|
|
|
@ -63,6 +63,33 @@
|
|||
/****************************************************************************************
|
||||
* C O M M U N I C A T I O N I N T E R F A C E C O N F I G U R A T I O N
|
||||
****************************************************************************************/
|
||||
/* The CAN communication interface is selected by setting the BOOT_COM_CAN_ENABLE
|
||||
* configurable to 1. Configurable BOOT_COM_CAN_BAUDRATE selects the communication speed
|
||||
* 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
|
||||
* 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
|
||||
* CAN controller channel.
|
||||
*
|
||||
*/
|
||||
/** \brief Enable/disable CAN transport layer. */
|
||||
#define BOOT_COM_CAN_ENABLE (0)
|
||||
/** \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)
|
||||
/** \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)
|
||||
/** \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. */
|
||||
#define BOOT_COM_CAN_CHANNEL_INDEX (1)
|
||||
|
||||
/* The UART communication interface is selected by setting the BOOT_COM_UART_ENABLE
|
||||
* configurable to 1. Configurable BOOT_COM_UART_BAUDRATE selects the communication speed
|
||||
* in bits/second. The maximum amount of data bytes in a message for data transmission
|
||||
|
|
|
@ -83,14 +83,14 @@
|
|||
|
||||
|
||||
|
||||
<Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\main.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>33</YPos2><SelStart2>2900</SelStart2><SelEnd2>2900</SelEnd2></Tab><ActiveTab>0</ActiveTab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\..\..\..\Source\ARMCM4_STM32\flash.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>315</YPos2><SelStart2>19406</SelStart2><SelEnd2>19406</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\config.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>57</YPos2><SelStart2>5405</SelStart2><SelEnd2>5405</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\..\..\..\Source\ARMCM4_STM32\nvm.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>145</YPos2><SelStart2>6479</SelStart2><SelEnd2>6479</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\lib\fatfs\mmc.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>597</YPos2><SelStart2>27816</SelStart2><SelEnd2>27816</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\..\..\..\Source\fatfs\src\ff.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>3114</YPos2><SelStart2>111111</SelStart2><SelEnd2>111111</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\..\..\..\Source\xcp.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>216</YPos2><SelStart2>11560</SelStart2><SelEnd2>11560</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\..\..\..\Source\boot.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>33</YPos2><SelStart2>2798</SelStart2><SelEnd2>2798</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\..\..\..\Source\backdoor.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>89</YPos2><SelStart2>5799</SelStart2><SelEnd2>5799</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\..\..\..\Source\ARMCM4_STM32\cpu.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>91</YPos2><SelStart2>5211</SelStart2><SelEnd2>5211</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\..\..\..\Source\ARMCM4_STM32\timer.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>63</YPos2><SelStart2>4186</SelStart2><SelEnd2>4186</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\..\..\..\Source\file.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>108</YPos2><SelStart2>5993</SelStart2><SelEnd2>6018</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\..\..\..\Source\ARMCM4_STM32\uart.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>144</YPos2><SelStart2>7489</SelStart2><SelEnd2>7489</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\..\..\..\Source\com.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>133</YPos2><SelStart2>7085</SelStart2><SelEnd2>7085</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\hooks.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>339</YPos2><SelStart2>16576</SelStart2><SelEnd2>16601</SelEnd2></Tab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
|
||||
<Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\main.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>33</YPos2><SelStart2>2963</SelStart2><SelEnd2>2963</SelEnd2></Tab><ActiveTab>0</ActiveTab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\blt_conf.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>54</YPos2><SelStart2>3384</SelStart2><SelEnd2>3384</SelEnd2></Tab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
|
||||
<Positions>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<Top><Row0><Sizes><Toolbar-02afcf20><key>iaridepm.enu1</key></Toolbar-02afcf20></Sizes></Row0><Row1><Sizes><Toolbar-0d0af0b0><key>debuggergui.enu1</key></Toolbar-0d0af0b0></Sizes></Row1></Top><Left><Row0><Sizes><Wnd1><Rect><Top>-2</Top><Left>-2</Left><Bottom>741</Bottom><Right>198</Right><x>-2</x><y>-2</y><xscreen>200</xscreen><yscreen>200</yscreen><sizeHorzCX>104167</sizeHorzCX><sizeHorzCY>198413</sizeHorzCY><sizeVertCX>104167</sizeVertCX><sizeVertCY>737103</sizeVertCY></Rect></Wnd1></Sizes></Row0></Left><Right><Row0><Sizes><Wnd3><Rect><Top>-2</Top><Left>-2</Left><Bottom>741</Bottom><Right>461</Right><x>-2</x><y>-2</y><xscreen>200</xscreen><yscreen>200</yscreen><sizeHorzCX>104167</sizeHorzCX><sizeHorzCY>198413</sizeHorzCY><sizeVertCX>241146</sizeVertCX><sizeVertCY>737103</sizeVertCY></Rect></Wnd3></Sizes></Row0></Right><Bottom><Row0><Sizes><Wnd0><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>198413</sizeHorzCY><sizeVertCX>104167</sizeVertCX><sizeVertCY>198413</sizeVertCY></Rect></Wnd0></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
|
||||
<Top><Row0><Sizes><Toolbar-028deb38><key>iaridepm.enu1</key></Toolbar-028deb38></Sizes></Row0><Row1><Sizes><Toolbar-0a394190><key>debuggergui.enu1</key></Toolbar-0a394190></Sizes></Row1></Top><Left><Row0><Sizes><Wnd1><Rect><Top>-2</Top><Left>-2</Left><Bottom>741</Bottom><Right>198</Right><x>-2</x><y>-2</y><xscreen>200</xscreen><yscreen>200</yscreen><sizeHorzCX>104167</sizeHorzCX><sizeHorzCY>198413</sizeHorzCY><sizeVertCX>104167</sizeVertCX><sizeVertCY>737103</sizeVertCY></Rect></Wnd1></Sizes></Row0></Left><Right><Row0><Sizes><Wnd3><Rect><Top>-2</Top><Left>-2</Left><Bottom>741</Bottom><Right>461</Right><x>-2</x><y>-2</y><xscreen>200</xscreen><yscreen>200</yscreen><sizeHorzCX>104167</sizeHorzCX><sizeHorzCY>198413</sizeHorzCY><sizeVertCX>241146</sizeVertCX><sizeVertCY>737103</sizeVertCY></Rect></Wnd3></Sizes></Row0></Right><Bottom><Row0><Sizes><Wnd0><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>198413</sizeHorzCY><sizeVertCX>104167</sizeVertCX><sizeVertCY>198413</sizeVertCY></Rect></Wnd0></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
|
||||
</Desktop>
|
||||
</Project>
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@ TriggerName=main
|
|||
LimitSize=0
|
||||
ByteLimit=50
|
||||
[DebugChecksum]
|
||||
Checksum=-471197012
|
||||
Checksum=1695986847
|
||||
[Exceptions]
|
||||
StopOnUncaught=_ 0
|
||||
StopOnThrow=_ 0
|
||||
|
|
|
@ -12,20 +12,20 @@
|
|||
|
||||
|
||||
|
||||
<Column0>203</Column0><Column1>27</Column1><Column2>27</Column2><Column3>27</Column3></ColumnWidths>
|
||||
<Column0>338</Column0><Column1>27</Column1><Column2>27</Column2><Column3>27</Column3></ColumnWidths>
|
||||
</Workspace>
|
||||
<Build>
|
||||
|
||||
|
||||
|
||||
|
||||
<ColumnWidth0>20</ColumnWidth0><ColumnWidth1>1395</ColumnWidth1><ColumnWidth2>372</ColumnWidth2><ColumnWidth3>93</ColumnWidth3></Build>
|
||||
<PreferedWindows><Position>2</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows><Window><Factory>Find-in-Files</Factory></Window></Windows></PreferedWindows><ColumnWidth0>20</ColumnWidth0><ColumnWidth1>1395</ColumnWidth1><ColumnWidth2>372</ColumnWidth2><ColumnWidth3>93</ColumnWidth3></Build>
|
||||
<TerminalIO/>
|
||||
<Find-in-Files>
|
||||
|
||||
|
||||
|
||||
<ColumnWidth0>190</ColumnWidth0><ColumnWidth1>27</ColumnWidth1><ColumnWidth2>326</ColumnWidth2></Find-in-Files>
|
||||
<ColumnWidth0>190</ColumnWidth0><ColumnWidth1>27</ColumnWidth1><ColumnWidth2>326</ColumnWidth2><PreferedWindows><Position>2</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows><Window><Factory>Build</Factory></Window></Windows></PreferedWindows></Find-in-Files>
|
||||
<PROJECT_GUI_CALL_GRAPH><col-names><item>File</item><item>Function</item><item>Line</item></col-names><col-widths><item>200</item><item>700</item><item>100</item></col-widths><PreferedWindows><Position>3</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows/></PreferedWindows></PROJECT_GUI_CALL_GRAPH></Static>
|
||||
<Windows>
|
||||
|
||||
|
@ -42,36 +42,20 @@
|
|||
</Tab>
|
||||
</Tabs>
|
||||
|
||||
<SelectedTab>0</SelectedTab></Wnd0><Wnd2>
|
||||
<Tabs>
|
||||
<Tab>
|
||||
<Identity>TabID-3456-10024</Identity>
|
||||
<TabName>Build</TabName>
|
||||
<Factory>Build</Factory>
|
||||
<Session/>
|
||||
</Tab>
|
||||
<Tab>
|
||||
<Identity>TabID-19098-11164</Identity>
|
||||
<TabName>Find in Files</TabName>
|
||||
<Factory>Find-in-Files</Factory>
|
||||
<Session/>
|
||||
</Tab>
|
||||
</Tabs>
|
||||
|
||||
<SelectedTab>0</SelectedTab></Wnd2></Windows>
|
||||
<SelectedTab>0</SelectedTab></Wnd0><Wnd1><Tabs><Tab><Identity>TabID-19870-1384</Identity><TabName>Build</TabName><Factory>Build</Factory><Session/></Tab></Tabs><SelectedTab>0</SelectedTab></Wnd1></Windows>
|
||||
<Editor>
|
||||
|
||||
|
||||
|
||||
|
||||
<Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\main.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>0</YPos2><SelStart2>0</SelStart2><SelEnd2>0</SelEnd2></Tab><ActiveTab>0</ActiveTab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
|
||||
<Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\main.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>33</YPos2><SelStart2>2963</SelStart2><SelEnd2>2963</SelEnd2></Tab><ActiveTab>0</ActiveTab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\blt_conf.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>54</YPos2><SelStart2>3384</SelStart2><SelEnd2>3384</SelEnd2></Tab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
|
||||
<Positions>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<Top><Row0><Sizes><Toolbar-00a8cf20><key>iaridepm.enu1</key></Toolbar-00a8cf20></Sizes></Row0></Top><Left><Row0><Sizes><Wnd0><Rect><Top>-2</Top><Left>-2</Left><Bottom>778</Bottom><Right>277</Right><x>-2</x><y>-2</y><xscreen>135</xscreen><yscreen>163</yscreen><sizeHorzCX>104328</sizeHorzCX><sizeHorzCY>198056</sizeHorzCY><sizeVertCX>215611</sizeVertCX><sizeVertCY>947752</sizeVertCY></Rect></Wnd0></Sizes></Row0></Left><Right><Row0><Sizes><Wnd2><Rect><Top>-2</Top><Left>-2</Left><Bottom>778</Bottom><Right>374</Right><x>-2</x><y>-2</y><xscreen>1297</xscreen><yscreen>163</yscreen><sizeHorzCX>1002318</sizeHorzCX><sizeHorzCY>198056</sizeHorzCY><sizeVertCX>290572</sizeVertCX><sizeVertCY>947752</sizeVertCY></Rect></Wnd2></Sizes></Row0></Right><Bottom><Row0><Sizes/></Row0></Bottom><Float><Sizes/></Float></Positions>
|
||||
<Top><Row0><Sizes><Toolbar-028deb38><key>iaridepm.enu1</key></Toolbar-028deb38></Sizes></Row0><Row1><Sizes/></Row1></Top><Left><Row0><Sizes><Wnd0><Rect><Top>-2</Top><Left>-2</Left><Bottom>963</Bottom><Right>412</Right><x>-2</x><y>-2</y><xscreen>200</xscreen><yscreen>200</yscreen><sizeHorzCX>104167</sizeHorzCX><sizeHorzCY>198413</sizeHorzCY><sizeVertCX>215625</sizeVertCX><sizeVertCY>957341</sizeVertCY></Rect></Wnd0></Sizes></Row0></Left><Right><Row0><Sizes><Wnd1><Rect><Top>-2</Top><Left>-2</Left><Bottom>963</Bottom><Right>420</Right><x>-2</x><y>-2</y><xscreen>200</xscreen><yscreen>200</yscreen><sizeHorzCX>104167</sizeHorzCX><sizeHorzCY>198413</sizeHorzCY><sizeVertCX>219792</sizeVertCX><sizeVertCY>957341</sizeVertCY></Rect></Wnd1></Sizes></Row0></Right><Bottom><Row0><Sizes/></Row0></Bottom><Float><Sizes/></Float></Positions>
|
||||
</Desktop>
|
||||
</Workspace>
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -2079,6 +2079,12 @@
|
|||
<name>$PROJ_DIR$\..\..\..\..\Source\ARMCM4_STM32\IAR\vectors.c</name>
|
||||
</file>
|
||||
</group>
|
||||
<file>
|
||||
<name>$PROJ_DIR$\..\..\..\..\Source\ARMCM4_STM32\can.c</name>
|
||||
</file>
|
||||
<file>
|
||||
<name>$PROJ_DIR$\..\..\..\..\Source\ARMCM4_STM32\can.h</name>
|
||||
</file>
|
||||
<file>
|
||||
<name>$PROJ_DIR$\..\..\..\..\Source\ARMCM4_STM32\cpu.c</name>
|
||||
</file>
|
||||
|
|
|
@ -79,6 +79,8 @@ static void Init(void)
|
|||
#elif (BOOT_FILE_SYS_ENABLE > 0)
|
||||
GPIO_InitTypeDef GPIO_InitStructure;
|
||||
USART_InitTypeDef USART_InitStructure;
|
||||
#elif (BOOT_COM_CAN_ENABLE > 0)
|
||||
GPIO_InitTypeDef GPIO_InitStructure;
|
||||
#endif
|
||||
|
||||
/* disable all interrupts to prevent possible jump back to the user program */
|
||||
|
@ -134,6 +136,24 @@ static void Init(void)
|
|||
/* enable UART */
|
||||
USART_Cmd(USART6, ENABLE);
|
||||
#endif
|
||||
#if (BOOT_COM_CAN_ENABLE > 0)
|
||||
/* enable clocks for CAN2 transmitter and receiver pins */
|
||||
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB, ENABLE);
|
||||
/* select alternate function for the CAN2 pins */
|
||||
GPIO_PinAFConfig(GPIOB, GPIO_PinSource5, GPIO_AF_CAN2);
|
||||
GPIO_PinAFConfig(GPIOB, GPIO_PinSource6, GPIO_AF_CAN2);
|
||||
/* configure CAN2 RX and TX pins */
|
||||
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5 | GPIO_Pin_6;
|
||||
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
|
||||
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
|
||||
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
|
||||
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
|
||||
GPIO_Init(GPIOB, &GPIO_InitStructure);
|
||||
/* enable CAN clock. Note that CAN2 shares reception filters with CAN1 so for CAN2
|
||||
* the CAN1 peripheral also needs to be enabled.
|
||||
*/
|
||||
RCC_APB1PeriphClockCmd(RCC_APB1Periph_CAN2 | RCC_APB1Periph_CAN1, ENABLE);
|
||||
#endif
|
||||
} /*** end of Init ***/
|
||||
|
||||
|
||||
|
|
Binary file not shown.
|
@ -182,4 +182,184 @@ static unsigned char UartReceiveByte(unsigned char *data)
|
|||
#endif /* BOOT_COM_UART_ENABLE > 0 */
|
||||
|
||||
|
||||
#if (BOOT_COM_CAN_ENABLE > 0)
|
||||
/****************************************************************************************
|
||||
* C O N T R O L L E R A R E A N E T W O R K I N T E R F A C E
|
||||
****************************************************************************************/
|
||||
|
||||
/****************************************************************************************
|
||||
* Type definitions
|
||||
****************************************************************************************/
|
||||
/** \brief Structure type for grouping CAN bus timing related information. */
|
||||
typedef struct t_can_bus_timing
|
||||
{
|
||||
unsigned char tseg1; /**< CAN time segment 1 */
|
||||
unsigned char tseg2; /**< CAN time segment 2 */
|
||||
} tCanBusTiming;
|
||||
|
||||
|
||||
/****************************************************************************************
|
||||
* Local constant declarations
|
||||
****************************************************************************************/
|
||||
/** \brief CAN bittiming table for dynamically calculating the bittiming settings.
|
||||
* \details According to the CAN protocol 1 bit-time can be made up of between 8..25
|
||||
* time quanta (TQ). The total TQ in a bit is SYNC + TSEG1 + TSEG2 with SYNC
|
||||
* always being 1. The sample point is (SYNC + TSEG1) / (SYNC + TSEG1 + SEG2) *
|
||||
* 100%. This array contains possible and valid time quanta configurations with
|
||||
* a sample point between 68..78%.
|
||||
*/
|
||||
static const tCanBusTiming canTiming[] =
|
||||
{ /* TQ | TSEG1 | TSEG2 | SP */
|
||||
/* ------------------------- */
|
||||
{ 5, 2 }, /* 8 | 5 | 2 | 75% */
|
||||
{ 6, 2 }, /* 9 | 6 | 2 | 78% */
|
||||
{ 6, 3 }, /* 10 | 6 | 3 | 70% */
|
||||
{ 7, 3 }, /* 11 | 7 | 3 | 73% */
|
||||
{ 8, 3 }, /* 12 | 8 | 3 | 75% */
|
||||
{ 9, 3 }, /* 13 | 9 | 3 | 77% */
|
||||
{ 9, 4 }, /* 14 | 9 | 4 | 71% */
|
||||
{ 10, 4 }, /* 15 | 10 | 4 | 73% */
|
||||
{ 11, 4 }, /* 16 | 11 | 4 | 75% */
|
||||
{ 12, 4 }, /* 17 | 12 | 4 | 76% */
|
||||
{ 12, 5 }, /* 18 | 12 | 5 | 72% */
|
||||
{ 13, 5 }, /* 19 | 13 | 5 | 74% */
|
||||
{ 14, 5 }, /* 20 | 14 | 5 | 75% */
|
||||
{ 15, 5 }, /* 21 | 15 | 5 | 76% */
|
||||
{ 15, 6 }, /* 22 | 15 | 6 | 73% */
|
||||
{ 16, 6 }, /* 23 | 16 | 6 | 74% */
|
||||
{ 16, 7 }, /* 24 | 16 | 7 | 71% */
|
||||
{ 16, 8 } /* 25 | 16 | 8 | 68% */
|
||||
};
|
||||
|
||||
|
||||
/************************************************************************************//**
|
||||
** \brief Search algorithm to match the desired baudrate to a possible bus
|
||||
** timing configuration.
|
||||
** \param baud The desired baudrate in kbps. Valid values are 10..1000.
|
||||
** \param prescaler Pointer to where the value for the prescaler will be stored.
|
||||
** \param tseg1 Pointer to where the value for TSEG2 will be stored.
|
||||
** \param tseg2 Pointer to where the value for TSEG2 will be stored.
|
||||
** \return 1 if the CAN bustiming register values were found, 0 otherwise.
|
||||
**
|
||||
****************************************************************************************/
|
||||
static unsigned char CanGetSpeedConfig(unsigned short baud, unsigned short *prescaler,
|
||||
unsigned char *tseg1, unsigned char *tseg2)
|
||||
{
|
||||
unsigned char cnt;
|
||||
|
||||
/* loop through all possible time quanta configurations to find a match */
|
||||
for (cnt=0; cnt < sizeof(canTiming)/sizeof(canTiming[0]); cnt++)
|
||||
{
|
||||
if (((BOOT_CPU_SYSTEM_SPEED_KHZ/4) % (baud*(canTiming[cnt].tseg1+canTiming[cnt].tseg2+1))) == 0)
|
||||
{
|
||||
/* compute the prescaler that goes with this TQ configuration */
|
||||
*prescaler = (BOOT_CPU_SYSTEM_SPEED_KHZ/4)/(baud*(canTiming[cnt].tseg1+canTiming[cnt].tseg2+1));
|
||||
|
||||
/* make sure the prescaler is valid */
|
||||
if ( (*prescaler > 0) && (*prescaler <= 1024) )
|
||||
{
|
||||
/* store the bustiming configuration */
|
||||
*tseg1 = canTiming[cnt].tseg1;
|
||||
*tseg2 = canTiming[cnt].tseg2;
|
||||
/* found a good bus timing configuration */
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
/* could not find a good bus timing configuration */
|
||||
return 0;
|
||||
} /*** end of CanGetSpeedConfig ***/
|
||||
|
||||
|
||||
/************************************************************************************//**
|
||||
** \brief Initializes the CAN communication interface.
|
||||
** \return none.
|
||||
**
|
||||
****************************************************************************************/
|
||||
void BootComInit(void)
|
||||
{
|
||||
GPIO_InitTypeDef GPIO_InitStructure;
|
||||
CAN_InitTypeDef CAN_InitStructure;
|
||||
CAN_FilterInitTypeDef CAN_FilterInitStructure;
|
||||
unsigned short prescaler;
|
||||
unsigned char tseg1, tseg2;
|
||||
|
||||
/* enable clocks for CAN2 transmitter and receiver pins */
|
||||
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB, ENABLE);
|
||||
/* select alternate function for the CAN2 pins */
|
||||
GPIO_PinAFConfig(GPIOB, GPIO_PinSource5, GPIO_AF_CAN2);
|
||||
GPIO_PinAFConfig(GPIOB, GPIO_PinSource6, GPIO_AF_CAN2);
|
||||
/* configure CAN2 RX and TX pins */
|
||||
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5 | GPIO_Pin_6;
|
||||
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
|
||||
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
|
||||
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
|
||||
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
|
||||
GPIO_Init(GPIOB, &GPIO_InitStructure);
|
||||
/* enable CAN clock. Note that CAN2 shares reception filters with CAN1 so for CAN2
|
||||
* the CAN1 peripheral also needs to be enabled.
|
||||
*/
|
||||
RCC_APB1PeriphClockCmd(RCC_APB1Periph_CAN2 | RCC_APB1Periph_CAN1, ENABLE);
|
||||
/* CAN register init */
|
||||
CAN_DeInit(CAN2);
|
||||
CAN_StructInit(&CAN_InitStructure);
|
||||
/* obtain the bittiming configuration for this baudrate */
|
||||
CanGetSpeedConfig(BOOT_COM_CAN_BAUDRATE/1000, &prescaler, &tseg1, &tseg2);
|
||||
/* CAN controller init */
|
||||
CAN_InitStructure.CAN_TTCM = DISABLE;
|
||||
CAN_InitStructure.CAN_ABOM = DISABLE;
|
||||
CAN_InitStructure.CAN_AWUM = DISABLE;
|
||||
CAN_InitStructure.CAN_NART = DISABLE;
|
||||
CAN_InitStructure.CAN_RFLM = DISABLE;
|
||||
CAN_InitStructure.CAN_TXFP = DISABLE;
|
||||
CAN_InitStructure.CAN_Mode = CAN_Mode_Normal;
|
||||
/* CAN Baudrate init */
|
||||
CAN_InitStructure.CAN_SJW = CAN_SJW_1tq;
|
||||
CAN_InitStructure.CAN_BS1 = tseg1 - 1;
|
||||
CAN_InitStructure.CAN_BS2 = tseg2 - 1;
|
||||
CAN_InitStructure.CAN_Prescaler = prescaler;
|
||||
CAN_Init(CAN2, &CAN_InitStructure);
|
||||
/* CAN filter init - receive all messages */
|
||||
CAN_FilterInitStructure.CAN_FilterNumber = 14;
|
||||
CAN_FilterInitStructure.CAN_FilterMode = CAN_FilterMode_IdMask;
|
||||
CAN_FilterInitStructure.CAN_FilterScale = CAN_FilterScale_32bit;
|
||||
CAN_FilterInitStructure.CAN_FilterIdHigh = 0x0000;
|
||||
CAN_FilterInitStructure.CAN_FilterIdLow = 0x0000;
|
||||
CAN_FilterInitStructure.CAN_FilterMaskIdHigh = 0x0000;
|
||||
CAN_FilterInitStructure.CAN_FilterMaskIdLow = 0x0000;
|
||||
CAN_FilterInitStructure.CAN_FilterFIFOAssignment = 0;
|
||||
CAN_FilterInitStructure.CAN_FilterActivation = ENABLE;
|
||||
CAN_FilterInit(&CAN_FilterInitStructure);
|
||||
} /*** end of BootComInit ***/
|
||||
|
||||
|
||||
/************************************************************************************//**
|
||||
** \brief Receives the CONNECT request from the host, which indicates that the
|
||||
** bootloader should be activated and, if so, activates it.
|
||||
** \return none.
|
||||
**
|
||||
****************************************************************************************/
|
||||
void BootComCheckActivationRequest(void)
|
||||
{
|
||||
CanRxMsg RxMessage;
|
||||
|
||||
/* 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 this was an XCP CONNECT command */
|
||||
if ((RxMessage.Data[0] == 0xff) && (RxMessage.Data[1] == 0x00))
|
||||
{
|
||||
/* connection request received so start the bootloader */
|
||||
BootActivate();
|
||||
}
|
||||
}
|
||||
}
|
||||
} /*** end of BootComCheckActivationRequest ***/
|
||||
#endif /* BOOT_COM_CAN_ENABLE > 0 */
|
||||
|
||||
|
||||
/*********************************** end of boot.c *************************************/
|
||||
|
|
|
@ -12,12 +12,12 @@
|
|||
|
||||
|
||||
|
||||
<Column0>181</Column0><Column1>27</Column1><Column2>27</Column2><Column3>27</Column3></ColumnWidths>
|
||||
<Column0>305</Column0><Column1>27</Column1><Column2>27</Column2><Column3>27</Column3></ColumnWidths>
|
||||
</Workspace>
|
||||
<Build><ColumnWidth0>20</ColumnWidth0><ColumnWidth1>1395</ColumnWidth1><ColumnWidth2>372</ColumnWidth2><ColumnWidth3>93</ColumnWidth3></Build><TerminalIO/></Static>
|
||||
<Windows>
|
||||
|
||||
<Wnd0>
|
||||
<Wnd2>
|
||||
<Tabs>
|
||||
<Tab>
|
||||
<Identity>TabID-29163-19963</Identity>
|
||||
|
@ -29,20 +29,20 @@
|
|||
</Tab>
|
||||
</Tabs>
|
||||
|
||||
<SelectedTab>0</SelectedTab></Wnd0><Wnd1><Tabs><Tab><Identity>TabID-19063-20767</Identity><TabName>Build</TabName><Factory>Build</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></Tabs><SelectedTab>0</SelectedTab></Wnd3></Windows>
|
||||
<Editor>
|
||||
|
||||
|
||||
|
||||
|
||||
<Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\main.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>36</YPos2><SelStart2>2627</SelStart2><SelEnd2>2627</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\led.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>30</YPos2><SelStart2>2259</SelStart2><SelEnd2>2259</SelEnd2></Tab><ActiveTab>1</ActiveTab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\boot.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>27</YPos2><SelStart2>7214</SelStart2><SelEnd2>7214</SelEnd2></Tab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
|
||||
<Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\main.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>45</YPos2><SelStart2>2856</SelStart2><SelEnd2>2856</SelEnd2></Tab><ActiveTab>0</ActiveTab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
|
||||
<Positions>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<Top><Row0><Sizes><Toolbar-0294cf20><key>iaridepm.enu1</key></Toolbar-0294cf20></Sizes></Row0></Top><Left><Row0><Sizes><Wnd0><Rect><Top>-2</Top><Left>-2</Left><Bottom>617</Bottom><Right>255</Right><x>-2</x><y>-2</y><xscreen>135</xscreen><yscreen>163</yscreen><sizeHorzCX>104328</sizeHorzCX><sizeHorzCY>198056</sizeHorzCY><sizeVertCX>198609</sizeVertCX><sizeVertCY>752126</sizeVertCY></Rect></Wnd0></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd1><Rect><Top>-2</Top><Left>-2</Left><Bottom>161</Bottom><Right>1296</Right><x>-2</x><y>-2</y><xscreen>1298</xscreen><yscreen>163</yscreen><sizeHorzCX>1003091</sizeHorzCX><sizeHorzCY>198056</sizeHorzCY><sizeVertCX>104328</sizeVertCX><sizeVertCY>198056</sizeVertCY></Rect></Wnd1></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
|
||||
<Top><Row0><Sizes><Toolbar-02b7eb38><key>iaridepm.enu1</key></Toolbar-02b7eb38></Sizes></Row0></Top><Left><Row0><Sizes><Wnd2><Rect><Top>-2</Top><Left>-2</Left><Bottom>765</Bottom><Right>379</Right><x>-2</x><y>-2</y><xscreen>200</xscreen><yscreen>200</yscreen><sizeHorzCX>104167</sizeHorzCX><sizeHorzCY>198413</sizeHorzCY><sizeVertCX>198438</sizeVertCX><sizeVertCY>760913</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>198413</sizeHorzCY><sizeVertCX>104167</sizeVertCX><sizeVertCY>198413</sizeVertCY></Rect></Wnd3></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
|
||||
</Desktop>
|
||||
</Workspace>
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -289,9 +289,6 @@ void CanInit(void)
|
|||
****************************************************************************************/
|
||||
void CanTransmitPacket(blt_int8u *data, blt_int8u len)
|
||||
{
|
||||
blt_int8u byte_count;
|
||||
blt_int8u mailbox;
|
||||
|
||||
/* make sure that transmit mailbox 0 is available */
|
||||
ASSERT_RT((CANx->TSR&CAN_BIT_TME0) == CAN_BIT_TME0);
|
||||
/* store the 11-bit message identifier */
|
||||
|
@ -327,7 +324,6 @@ void CanTransmitPacket(blt_int8u *data, blt_int8u len)
|
|||
****************************************************************************************/
|
||||
blt_bool CanReceivePacket(blt_int8u *data)
|
||||
{
|
||||
blt_int8u byte_count;
|
||||
blt_int32u rxMsgId;
|
||||
blt_bool result = BLT_FALSE;
|
||||
|
||||
|
|
|
@ -0,0 +1,388 @@
|
|||
/************************************************************************************//**
|
||||
* \file Source\ARMCM4_STM32\can.c
|
||||
* \brief Bootloader CAN communication interface source file.
|
||||
* \ingroup Target_ARMCM4_STM32
|
||||
* \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 should have received a copy of the GNU General Public License along with OpenBLT.
|
||||
* If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* A special exception to the GPL is included to allow you to distribute a combined work
|
||||
* that includes OpenBLT without being obliged to provide the source code for any
|
||||
* proprietary components. The exception text is included at the bottom of the license
|
||||
* file <license.html>.
|
||||
*
|
||||
* \endinternal
|
||||
****************************************************************************************/
|
||||
|
||||
|
||||
/****************************************************************************************
|
||||
* Include files
|
||||
****************************************************************************************/
|
||||
#include "boot.h" /* bootloader generic header */
|
||||
|
||||
|
||||
#if (BOOT_COM_CAN_ENABLE > 0)
|
||||
/****************************************************************************************
|
||||
* Type definitions
|
||||
****************************************************************************************/
|
||||
/** \brief CAN transmission mailbox layout. */
|
||||
typedef struct
|
||||
{
|
||||
volatile blt_int32u TIR;
|
||||
volatile blt_int32u TDTR;
|
||||
volatile blt_int32u TDLR;
|
||||
volatile blt_int32u TDHR;
|
||||
} tCanTxMailBox;
|
||||
|
||||
/** \brief CAN reception FIFO mailbox layout. */
|
||||
typedef struct
|
||||
{
|
||||
volatile blt_int32u RIR;
|
||||
volatile blt_int32u RDTR;
|
||||
volatile blt_int32u RDLR;
|
||||
volatile blt_int32u RDHR;
|
||||
} tCanRxFIFOMailBox;
|
||||
|
||||
/** \brief CAN filter register layout. */
|
||||
typedef struct
|
||||
{
|
||||
volatile blt_int32u FR1;
|
||||
volatile blt_int32u FR2;
|
||||
} tCanFilter;
|
||||
|
||||
/** \brief CAN controller register layout. */
|
||||
typedef struct
|
||||
{
|
||||
volatile blt_int32u MCR;
|
||||
volatile blt_int32u MSR;
|
||||
volatile blt_int32u TSR;
|
||||
volatile blt_int32u RF0R;
|
||||
volatile blt_int32u RF1R;
|
||||
volatile blt_int32u IER;
|
||||
volatile blt_int32u ESR;
|
||||
volatile blt_int32u BTR;
|
||||
blt_int32u RESERVED0[88];
|
||||
tCanTxMailBox sTxMailBox[3];
|
||||
tCanRxFIFOMailBox sFIFOMailBox[2];
|
||||
blt_int32u RESERVED1[12];
|
||||
volatile blt_int32u FMR;
|
||||
volatile blt_int32u FM1R;
|
||||
blt_int32u RESERVED2;
|
||||
volatile blt_int32u FS1R;
|
||||
blt_int32u RESERVED3;
|
||||
volatile blt_int32u FFA1R;
|
||||
blt_int32u RESERVED4;
|
||||
volatile blt_int32u FA1R;
|
||||
blt_int32u RESERVED5[8];
|
||||
tCanFilter sFilterRegister[28];
|
||||
} tCanRegs;
|
||||
|
||||
|
||||
/****************************************************************************************
|
||||
* Macro definitions
|
||||
****************************************************************************************/
|
||||
/** \brief Reset request bit. */
|
||||
#define CAN_BIT_RESET ((blt_int32u)0x00008000)
|
||||
/** \brief Initialization request bit. */
|
||||
#define CAN_BIT_INRQ ((blt_int32u)0x00000001)
|
||||
/** \brief Initialization acknowledge bit. */
|
||||
#define CAN_BIT_INAK ((blt_int32u)0x00000001)
|
||||
/** \brief Sleep mode request bit. */
|
||||
#define CAN_BIT_SLEEP ((blt_int32u)0x00000002)
|
||||
/** \brief Filter 0 selection bit. */
|
||||
#define CAN_BIT_FILTER0 ((blt_int32u)0x00000001)
|
||||
/** \brief Filter 14 selection bit. */
|
||||
#define CAN_BIT_FILTER14 ((blt_int32u)0x00004000)
|
||||
/** \brief Filter init mode bit. */
|
||||
#define CAN_BIT_FINIT ((blt_int32u)0x00000001)
|
||||
/** \brief Transmit mailbox 0 empty bit. */
|
||||
#define CAN_BIT_TME0 ((blt_int32u)0x04000000)
|
||||
/** \brief Transmit mailbox request bit. */
|
||||
#define CAN_BIT_TXRQ ((blt_int32u)0x00000001)
|
||||
/** \brief Release FIFO 0 mailbox bit. */
|
||||
#define CAN_BIT_RFOM0 ((blt_int32u)0x00000020)
|
||||
|
||||
|
||||
/****************************************************************************************
|
||||
* Register definitions
|
||||
****************************************************************************************/
|
||||
#if (BOOT_COM_CAN_CHANNEL_INDEX == 0)
|
||||
/** \brief Macro for accessing CAN1 controller registers. */
|
||||
#define CANx ((tCanRegs *) (blt_int32u)0x40006400)
|
||||
#else
|
||||
/** \brief Macro for accessing CAN2 controller registers. */
|
||||
#define CANx ((tCanRegs *) (blt_int32u)0x40006800)
|
||||
#endif
|
||||
/** \brief Macro for accessing CAN1 controller registers. */
|
||||
#define CAN1 ((tCanRegs *) (blt_int32u)0x40006400)
|
||||
|
||||
|
||||
/****************************************************************************************
|
||||
* Type definitions
|
||||
****************************************************************************************/
|
||||
/** \brief Structure type for grouping CAN bus timing related information. */
|
||||
typedef struct t_can_bus_timing
|
||||
{
|
||||
blt_int8u tseg1; /**< CAN time segment 1 */
|
||||
blt_int8u tseg2; /**< CAN time segment 2 */
|
||||
} tCanBusTiming;
|
||||
|
||||
|
||||
/****************************************************************************************
|
||||
* Local constant declarations
|
||||
****************************************************************************************/
|
||||
/** \brief CAN bittiming table for dynamically calculating the bittiming settings.
|
||||
* \details According to the CAN protocol 1 bit-time can be made up of between 8..25
|
||||
* time quanta (TQ). The total TQ in a bit is SYNC + TSEG1 + TSEG2 with SYNC
|
||||
* always being 1. The sample point is (SYNC + TSEG1) / (SYNC + TSEG1 + SEG2) *
|
||||
* 100%. This array contains possible and valid time quanta configurations with
|
||||
* a sample point between 68..78%.
|
||||
*/
|
||||
static const tCanBusTiming canTiming[] =
|
||||
{ /* TQ | TSEG1 | TSEG2 | SP */
|
||||
/* ------------------------- */
|
||||
{ 5, 2 }, /* 8 | 5 | 2 | 75% */
|
||||
{ 6, 2 }, /* 9 | 6 | 2 | 78% */
|
||||
{ 6, 3 }, /* 10 | 6 | 3 | 70% */
|
||||
{ 7, 3 }, /* 11 | 7 | 3 | 73% */
|
||||
{ 8, 3 }, /* 12 | 8 | 3 | 75% */
|
||||
{ 9, 3 }, /* 13 | 9 | 3 | 77% */
|
||||
{ 9, 4 }, /* 14 | 9 | 4 | 71% */
|
||||
{ 10, 4 }, /* 15 | 10 | 4 | 73% */
|
||||
{ 11, 4 }, /* 16 | 11 | 4 | 75% */
|
||||
{ 12, 4 }, /* 17 | 12 | 4 | 76% */
|
||||
{ 12, 5 }, /* 18 | 12 | 5 | 72% */
|
||||
{ 13, 5 }, /* 19 | 13 | 5 | 74% */
|
||||
{ 14, 5 }, /* 20 | 14 | 5 | 75% */
|
||||
{ 15, 5 }, /* 21 | 15 | 5 | 76% */
|
||||
{ 15, 6 }, /* 22 | 15 | 6 | 73% */
|
||||
{ 16, 6 }, /* 23 | 16 | 6 | 74% */
|
||||
{ 16, 7 }, /* 24 | 16 | 7 | 71% */
|
||||
{ 16, 8 } /* 25 | 16 | 8 | 68% */
|
||||
};
|
||||
|
||||
|
||||
/************************************************************************************//**
|
||||
** \brief Search algorithm to match the desired baudrate to a possible bus
|
||||
** timing configuration.
|
||||
** \param baud The desired baudrate in kbps. Valid values are 10..1000.
|
||||
** \param prescaler Pointer to where the value for the prescaler will be stored.
|
||||
** \param tseg1 Pointer to where the value for TSEG2 will be stored.
|
||||
** \param tseg2 Pointer to where the value for TSEG2 will be stored.
|
||||
** \return BLT_TRUE if the CAN bustiming register values were found, BLT_FALSE
|
||||
** otherwise.
|
||||
**
|
||||
****************************************************************************************/
|
||||
static blt_bool CanGetSpeedConfig(blt_int16u baud, blt_int16u *prescaler,
|
||||
blt_int8u *tseg1, blt_int8u *tseg2)
|
||||
{
|
||||
blt_int8u cnt;
|
||||
|
||||
/* loop through all possible time quanta configurations to find a match */
|
||||
for (cnt=0; cnt < sizeof(canTiming)/sizeof(canTiming[0]); cnt++)
|
||||
{
|
||||
if (((BOOT_CPU_SYSTEM_SPEED_KHZ/4) % (baud*(canTiming[cnt].tseg1+canTiming[cnt].tseg2+1))) == 0)
|
||||
{
|
||||
/* compute the prescaler that goes with this TQ configuration */
|
||||
*prescaler = (BOOT_CPU_SYSTEM_SPEED_KHZ/4)/(baud*(canTiming[cnt].tseg1+canTiming[cnt].tseg2+1));
|
||||
|
||||
/* make sure the prescaler is valid */
|
||||
if ( (*prescaler > 0) && (*prescaler <= 1024) )
|
||||
{
|
||||
/* store the bustiming configuration */
|
||||
*tseg1 = canTiming[cnt].tseg1;
|
||||
*tseg2 = canTiming[cnt].tseg2;
|
||||
/* found a good bus timing configuration */
|
||||
return BLT_TRUE;
|
||||
}
|
||||
}
|
||||
}
|
||||
/* could not find a good bus timing configuration */
|
||||
return BLT_FALSE;
|
||||
} /*** end of CanGetSpeedConfig ***/
|
||||
|
||||
|
||||
/************************************************************************************//**
|
||||
** \brief Initializes the CAN controller and synchronizes it to the CAN bus.
|
||||
** \return none.
|
||||
**
|
||||
****************************************************************************************/
|
||||
void CanInit(void)
|
||||
{
|
||||
blt_int16u prescaler;
|
||||
blt_int8u tseg1, tseg2;
|
||||
blt_bool result;
|
||||
|
||||
/* the current implementation supports CAN1 and 2. throw an assertion error in case a
|
||||
* different CAN channel is configured.
|
||||
*/
|
||||
ASSERT_CT((BOOT_COM_CAN_CHANNEL_INDEX == 0 || BOOT_COM_CAN_CHANNEL_INDEX == 1));
|
||||
|
||||
/* obtain bittiming configuration information */
|
||||
result = CanGetSpeedConfig(BOOT_COM_CAN_BAUDRATE/1000, &prescaler, &tseg1, &tseg2);
|
||||
ASSERT_RT(result == BLT_TRUE);
|
||||
/* disable all can interrupt. this driver works in polling mode */
|
||||
CANx->IER = (blt_int32u)0;
|
||||
/* set request to reset the can controller */
|
||||
CANx->MCR |= CAN_BIT_RESET ;
|
||||
/* wait for acknowledge that the can controller was reset */
|
||||
while ((CANx->MCR & CAN_BIT_RESET) != 0)
|
||||
{
|
||||
/* keep the watchdog happy */
|
||||
CopService();
|
||||
}
|
||||
/* exit from sleep mode, which is the default mode after reset */
|
||||
CANx->MCR &= ~CAN_BIT_SLEEP;
|
||||
/* set request to enter initialisation mode */
|
||||
CANx->MCR |= CAN_BIT_INRQ ;
|
||||
/* wait for acknowledge that initialization mode was entered */
|
||||
while ((CANx->MSR & CAN_BIT_INAK) == 0)
|
||||
{
|
||||
/* keep the watchdog happy */
|
||||
CopService();
|
||||
}
|
||||
/* configure the bittming */
|
||||
CANx->BTR = (blt_int32u)((blt_int32u)(tseg1 - 1) << 16) | \
|
||||
(blt_int32u)((blt_int32u)(tseg2 - 1) << 20) | \
|
||||
(blt_int32u)(prescaler - 1);
|
||||
/* set request to leave initialisation mode */
|
||||
CANx->MCR &= ~CAN_BIT_INRQ;
|
||||
/* wait for acknowledge that initialization mode was exited */
|
||||
while ((CANx->MSR & CAN_BIT_INAK) != 0)
|
||||
{
|
||||
/* keep the watchdog happy */
|
||||
CopService();
|
||||
}
|
||||
|
||||
#if (BOOT_COM_CAN_CHANNEL_INDEX == 0)
|
||||
/* enter initialisation mode for the acceptance filter */
|
||||
CAN1->FMR |= CAN_BIT_FINIT;
|
||||
/* deactivate filter 0 */
|
||||
CAN1->FA1R &= ~CAN_BIT_FILTER0;
|
||||
/* 32-bit scale for the filter */
|
||||
CAN1->FS1R |= CAN_BIT_FILTER0;
|
||||
/* open up the acceptance filter to receive all messages */
|
||||
CAN1->sFilterRegister[0].FR1 = 0;
|
||||
CAN1->sFilterRegister[0].FR2 = 0;
|
||||
/* select id/mask mode for the filter */
|
||||
CAN1->FM1R &= ~CAN_BIT_FILTER0;
|
||||
/* FIFO 0 assignation for the filter */
|
||||
CAN1->FFA1R &= ~CAN_BIT_FILTER0;
|
||||
/* filter activation */
|
||||
CAN1->FA1R |= CAN_BIT_FILTER0;
|
||||
/* leave initialisation mode for the acceptance filter */
|
||||
CAN1->FMR &= ~CAN_BIT_FINIT;
|
||||
#else
|
||||
/* enter initialisation mode for the acceptance filter */
|
||||
CAN1->FMR |= CAN_BIT_FINIT;
|
||||
/* deactivate filter 14 */
|
||||
CAN1->FA1R &= ~CAN_BIT_FILTER14;
|
||||
/* 32-bit scale for the filter */
|
||||
CAN1->FS1R |= CAN_BIT_FILTER14;
|
||||
/* open up the acceptance filter to receive all messages */
|
||||
CAN1->sFilterRegister[14].FR1 = 0;
|
||||
CAN1->sFilterRegister[14].FR2 = 0;
|
||||
/* select id/mask mode for the filter */
|
||||
CAN1->FM1R &= ~CAN_BIT_FILTER14;
|
||||
/* FIFO 0 assignation for the filter */
|
||||
CAN1->FFA1R &= ~CAN_BIT_FILTER14;
|
||||
/* filter activation */
|
||||
CAN1->FA1R |= CAN_BIT_FILTER14;
|
||||
/* leave initialisation mode for the acceptance filter */
|
||||
CAN1->FMR &= ~CAN_BIT_FINIT;
|
||||
#endif
|
||||
} /*** end of CanInit ***/
|
||||
|
||||
|
||||
/************************************************************************************//**
|
||||
** \brief Transmits a packet formatted for the communication interface.
|
||||
** \param data Pointer to byte array with data that it to be transmitted.
|
||||
** \param len Number of bytes that are to be transmitted.
|
||||
** \return none.
|
||||
**
|
||||
****************************************************************************************/
|
||||
void CanTransmitPacket(blt_int8u *data, blt_int8u len)
|
||||
{
|
||||
/* make sure that transmit mailbox 0 is available */
|
||||
ASSERT_RT((CANx->TSR&CAN_BIT_TME0) == CAN_BIT_TME0);
|
||||
/* store the 11-bit message identifier */
|
||||
CANx->sTxMailBox[0].TIR &= CAN_BIT_TXRQ;
|
||||
CANx->sTxMailBox[0].TIR |= ((blt_int32u)BOOT_COM_CAN_TX_MSG_ID << 21);
|
||||
/* store the message date length code (DLC) */
|
||||
CANx->sTxMailBox[0].TDTR = len;
|
||||
/* store the message data bytes */
|
||||
CANx->sTxMailBox[0].TDLR = (((blt_int32u)data[3] << 24) | \
|
||||
((blt_int32u)data[2] << 16) | \
|
||||
((blt_int32u)data[1] << 8) | \
|
||||
((blt_int32u)data[0]));
|
||||
CANx->sTxMailBox[0].TDHR = (((blt_int32u)data[7] << 24) | \
|
||||
((blt_int32u)data[6] << 16) | \
|
||||
((blt_int32u)data[5] << 8) | \
|
||||
((blt_int32u)data[4]));
|
||||
/* request the start of message transmission */
|
||||
CANx->sTxMailBox[0].TIR |= CAN_BIT_TXRQ;
|
||||
/* wait for transmit completion */
|
||||
while ((CANx->TSR&CAN_BIT_TME0) == 0)
|
||||
{
|
||||
/* keep the watchdog happy */
|
||||
CopService();
|
||||
}
|
||||
} /*** end of CanTransmitPacket ***/
|
||||
|
||||
|
||||
/************************************************************************************//**
|
||||
** \brief Receives a communication interface packet if one is present.
|
||||
** \param data Pointer to byte array where the data is to be stored.
|
||||
** \return BLT_TRUE is a packet was received, BLT_FALSE otherwise.
|
||||
**
|
||||
****************************************************************************************/
|
||||
blt_bool CanReceivePacket(blt_int8u *data)
|
||||
{
|
||||
blt_int32u rxMsgId;
|
||||
blt_bool result = BLT_FALSE;
|
||||
|
||||
/* 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);
|
||||
/* is this the packet identifier */
|
||||
if (rxMsgId == BOOT_COM_CAN_RX_MSG_ID)
|
||||
{
|
||||
result = BLT_TRUE;
|
||||
/* store the received packet data */
|
||||
data[0] = (blt_int8u)0xFF & CANx->sFIFOMailBox[0].RDLR;
|
||||
data[1] = (blt_int8u)0xFF & (CANx->sFIFOMailBox[0].RDLR >> 8);
|
||||
data[2] = (blt_int8u)0xFF & (CANx->sFIFOMailBox[0].RDLR >> 16);
|
||||
data[3] = (blt_int8u)0xFF & (CANx->sFIFOMailBox[0].RDLR >> 24);
|
||||
data[4] = (blt_int8u)0xFF & CANx->sFIFOMailBox[0].RDHR;
|
||||
data[5] = (blt_int8u)0xFF & (CANx->sFIFOMailBox[0].RDHR >> 8);
|
||||
data[6] = (blt_int8u)0xFF & (CANx->sFIFOMailBox[0].RDHR >> 16);
|
||||
data[7] = (blt_int8u)0xFF & (CANx->sFIFOMailBox[0].RDHR >> 24);
|
||||
}
|
||||
/* release FIFO0 */
|
||||
CANx->RF0R |= CAN_BIT_RFOM0;
|
||||
}
|
||||
return result;
|
||||
} /*** end of CanReceivePacket ***/
|
||||
#endif /* BOOT_COM_CAN_ENABLE > 0 */
|
||||
|
||||
|
||||
/*********************************** end of can.c **************************************/
|
|
@ -0,0 +1,47 @@
|
|||
/************************************************************************************//**
|
||||
* \file Source\ARMCM4_STM32\can.h
|
||||
* \brief Bootloader CAN communication interface header file.
|
||||
* \ingroup Target_ARMCM4_STM32
|
||||
* \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 should have received a copy of the GNU General Public License along with OpenBLT.
|
||||
* If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* A special exception to the GPL is included to allow you to distribute a combined work
|
||||
* that includes OpenBLT without being obliged to provide the source code for any
|
||||
* proprietary components. The exception text is included at the bottom of the license
|
||||
* file <license.html>.
|
||||
*
|
||||
* \endinternal
|
||||
****************************************************************************************/
|
||||
#ifndef CAN_H
|
||||
#define CAN_H
|
||||
|
||||
#if (BOOT_COM_CAN_ENABLE > 0)
|
||||
/****************************************************************************************
|
||||
* Function prototypes
|
||||
****************************************************************************************/
|
||||
void CanInit(void);
|
||||
void CanTransmitPacket(blt_int8u *data, blt_int8u len);
|
||||
blt_bool CanReceivePacket(blt_int8u *data);
|
||||
#endif /* BOOT_COM_CAN_ENABLE > 0 */
|
||||
|
||||
|
||||
#endif /* CAN_H */
|
||||
/*********************************** end of can.h **************************************/
|
|
@ -41,7 +41,7 @@
|
|||
/** \brief Minor version of the bootloader core. */
|
||||
#define BOOT_VERSION_CORE_MINOR (96u)
|
||||
/** \brief Bufgix version of the bootloader core. */
|
||||
#define BOOT_VERSION_CORE_BUGFIX (0u)
|
||||
#define BOOT_VERSION_CORE_BUGFIX (1u)
|
||||
|
||||
|
||||
/****************************************************************************************
|
||||
|
|
|
@ -40,19 +40,6 @@
|
|||
|
||||
|
||||
#if (BOOT_FILE_SYS_ENABLE > 0)
|
||||
/****************************************************************************************
|
||||
* Defines
|
||||
****************************************************************************************/
|
||||
/** \brief Maximum number of characters that can be on a line in the firmware file. */
|
||||
#define MAX_CHARS_PER_LINE (256)
|
||||
/** \brief Maximum number of data bytes that can be on a line in the firmware file
|
||||
* (S-record).
|
||||
*/
|
||||
#define MAX_DATA_BYTES_PER_LINE (MAX_CHARS_PER_LINE/2)
|
||||
/** \brief Return code in case an invalid checksum was detected on an S-record line. */
|
||||
#define ERROR_SREC_INVALID_CHECKSUM (-1)
|
||||
|
||||
|
||||
/****************************************************************************************
|
||||
* Type definitions
|
||||
****************************************************************************************/
|
||||
|
@ -65,15 +52,6 @@ typedef enum
|
|||
FIRMWARE_UPDATE_STATE_PROGRAMMING /**< programming state */
|
||||
} tFirmwareUpdateState;
|
||||
|
||||
/** \brief Enumeration for the different S-record line types. */
|
||||
typedef enum
|
||||
{
|
||||
LINE_TYPE_S1, /**< 16-bit address line */
|
||||
LINE_TYPE_S2, /**< 24-bit address line */
|
||||
LINE_TYPE_S3, /**< 32-bit address line */
|
||||
LINE_TYPE_UNSUPPORTED /**< unsupported line */
|
||||
} tSrecLineType;
|
||||
|
||||
/** \brief Structure type with information for the memory erase opeartion. */
|
||||
typedef struct
|
||||
{
|
||||
|
@ -88,21 +66,9 @@ typedef struct
|
|||
FIL file; /**< file object for firmware file */
|
||||
} tFatFsObjects;
|
||||
|
||||
/** \brief Structure type for grouping the parsing results of an S-record line. */
|
||||
typedef struct
|
||||
{
|
||||
blt_char line[MAX_CHARS_PER_LINE]; /**< string buffer for the line chars */
|
||||
blt_int8u data[MAX_DATA_BYTES_PER_LINE]; /**< array for S1, S2 or S3 data bytes*/
|
||||
blt_addr address; /**< address on S1, S2 or S3 line */
|
||||
} tSrecLineParseObject;
|
||||
|
||||
|
||||
/****************************************************************************************
|
||||
* Function prototypes
|
||||
****************************************************************************************/
|
||||
static tSrecLineType SrecGetLineType(const blt_char *line);
|
||||
static blt_bool SrecVerifyChecksum(const blt_char *line);
|
||||
static blt_int16s SrecParseLine(const blt_char *line, blt_addr *address, blt_int8u *data);
|
||||
#if (BOOT_FILE_LOGGING_ENABLE > 0)
|
||||
static blt_char FileLibByteNibbleToChar(blt_int8u nibble);
|
||||
static blt_char *FileLibByteToHexString(blt_int8u byte_val, blt_char *destination);
|
||||
|
@ -284,7 +250,7 @@ void FileTask(void)
|
|||
/* parse the S-Record line without copying the data values if the line is not empty */
|
||||
if (read_line_ptr != BLT_NULL)
|
||||
{
|
||||
parse_result = SrecParseLine(lineParseObject.line, &lineParseObject.address, BLT_NULL);
|
||||
parse_result = FileSrecParseLine(lineParseObject.line, &lineParseObject.address, BLT_NULL);
|
||||
/* check parsing result */
|
||||
if (parse_result == ERROR_SREC_INVALID_CHECKSUM)
|
||||
{
|
||||
|
@ -399,7 +365,7 @@ void FileTask(void)
|
|||
/* parse the S-Record line if the line is not empty */
|
||||
if (read_line_ptr != BLT_NULL)
|
||||
{
|
||||
parse_result = SrecParseLine(lineParseObject.line, &lineParseObject.address, lineParseObject.data);
|
||||
parse_result = FileSrecParseLine(lineParseObject.line, &lineParseObject.address, lineParseObject.data);
|
||||
/* check parsing result */
|
||||
if (parse_result == ERROR_SREC_INVALID_CHECKSUM)
|
||||
{
|
||||
|
@ -505,7 +471,7 @@ void FileTask(void)
|
|||
** \return the S-Record line type.
|
||||
**
|
||||
****************************************************************************************/
|
||||
static tSrecLineType SrecGetLineType(const blt_char *line)
|
||||
tSrecLineType FileSrecGetLineType(const blt_char *line)
|
||||
{
|
||||
/* check if the line starts with the 'S' character, followed by a digit */
|
||||
if ( (toupper(line[0]) != 'S') || (isdigit(line[1]) == 0) )
|
||||
|
@ -528,7 +494,7 @@ static tSrecLineType SrecGetLineType(const blt_char *line)
|
|||
}
|
||||
/* still here so not a supported line type found */
|
||||
return LINE_TYPE_UNSUPPORTED;
|
||||
} /*** end of SrecGetLineType ***/
|
||||
} /*** end of FileSrecGetLineType ***/
|
||||
|
||||
|
||||
/************************************************************************************//**
|
||||
|
@ -538,7 +504,7 @@ static tSrecLineType SrecGetLineType(const blt_char *line)
|
|||
** \return BLT_TRUE if the checksum is correct, BLT_FALSE otherwise.
|
||||
**
|
||||
****************************************************************************************/
|
||||
static blt_bool SrecVerifyChecksum(const blt_char *line)
|
||||
blt_bool FileSrecVerifyChecksum(const blt_char *line)
|
||||
{
|
||||
blt_int16u bytes_on_line;
|
||||
blt_int8u checksum = 0;
|
||||
|
@ -573,7 +539,7 @@ static blt_bool SrecVerifyChecksum(const blt_char *line)
|
|||
}
|
||||
/* still here so the checksum was correct */
|
||||
return BLT_TRUE;
|
||||
} /*** end of SrecVerifyChecksum ***/
|
||||
} /*** end of FileSrecVerifyChecksum ***/
|
||||
|
||||
|
||||
/************************************************************************************//**
|
||||
|
@ -589,7 +555,7 @@ static blt_bool SrecVerifyChecksum(const blt_char *line)
|
|||
** in case the checksum validation failed.
|
||||
**
|
||||
****************************************************************************************/
|
||||
static blt_int16s SrecParseLine(const blt_char *line, blt_addr *address, blt_int8u *data)
|
||||
blt_int16s FileSrecParseLine(const blt_char *line, blt_addr *address, blt_int8u *data)
|
||||
{
|
||||
tSrecLineType lineType;
|
||||
blt_int16s data_byte_count = 0;
|
||||
|
@ -599,7 +565,7 @@ static blt_int16s SrecParseLine(const blt_char *line, blt_addr *address, blt_int
|
|||
/* check pointers and not that data can be a null pointer */
|
||||
ASSERT_RT((address != BLT_NULL) && (line != BLT_NULL));
|
||||
/* figure out what type of line we are dealing with */
|
||||
lineType = SrecGetLineType(line);
|
||||
lineType = FileSrecGetLineType(line);
|
||||
/* make sure it is one that we can parse */
|
||||
if (lineType == LINE_TYPE_UNSUPPORTED)
|
||||
{
|
||||
|
@ -607,7 +573,7 @@ static blt_int16s SrecParseLine(const blt_char *line, blt_addr *address, blt_int
|
|||
return 0;
|
||||
}
|
||||
/* verify the checksum */
|
||||
if (SrecVerifyChecksum(line) == BLT_FALSE)
|
||||
if (FileSrecVerifyChecksum(line) == BLT_FALSE)
|
||||
{
|
||||
/* error on data line encountered */
|
||||
return ERROR_SREC_INVALID_CHECKSUM;
|
||||
|
@ -704,7 +670,7 @@ static blt_int16s SrecParseLine(const blt_char *line, blt_addr *address, blt_int
|
|||
}
|
||||
|
||||
return data_byte_count;
|
||||
} /*** end of SrecParseLine ***/
|
||||
} /*** end of FileSrecParseLine ***/
|
||||
|
||||
|
||||
#if (BOOT_FILE_LOGGING_ENABLE > 0)
|
||||
|
|
|
@ -58,14 +58,48 @@
|
|||
/** \brief Error code because the program's checksum could not be written to memory. */
|
||||
#define FILE_ERROR_CANNOT_WRITE_CHECKSUM (7)
|
||||
|
||||
/** \brief Maximum number of characters that can be on a line in the firmware file. */
|
||||
#define MAX_CHARS_PER_LINE (256)
|
||||
/** \brief Maximum number of data bytes that can be on a line in the firmware file
|
||||
* (S-record).
|
||||
*/
|
||||
#define MAX_DATA_BYTES_PER_LINE (MAX_CHARS_PER_LINE/2)
|
||||
/** \brief Return code in case an invalid checksum was detected on an S-record line. */
|
||||
#define ERROR_SREC_INVALID_CHECKSUM (-1)
|
||||
|
||||
|
||||
/****************************************************************************************
|
||||
* Type definitions
|
||||
****************************************************************************************/
|
||||
/** \brief Enumeration for the different S-record line types. */
|
||||
typedef enum
|
||||
{
|
||||
LINE_TYPE_S1, /**< 16-bit address line */
|
||||
LINE_TYPE_S2, /**< 24-bit address line */
|
||||
LINE_TYPE_S3, /**< 32-bit address line */
|
||||
LINE_TYPE_UNSUPPORTED /**< unsupported line */
|
||||
} tSrecLineType;
|
||||
|
||||
/** \brief Structure type for grouping the parsing results of an S-record line. */
|
||||
typedef struct
|
||||
{
|
||||
blt_char line[MAX_CHARS_PER_LINE]; /**< string buffer for the line chars */
|
||||
blt_int8u data[MAX_DATA_BYTES_PER_LINE]; /**< array for S1, S2 or S3 data bytes*/
|
||||
blt_addr address; /**< address on S1, S2 or S3 line */
|
||||
} tSrecLineParseObject;
|
||||
|
||||
|
||||
/****************************************************************************************
|
||||
* Function prototypes
|
||||
****************************************************************************************/
|
||||
void FileInit(void);
|
||||
void FileTask(void);
|
||||
blt_bool FileIsIdle(void);
|
||||
blt_bool FileHandleFirmwareUpdateRequest(void);
|
||||
void FileInit(void);
|
||||
void FileTask(void);
|
||||
blt_bool FileIsIdle(void);
|
||||
blt_bool FileHandleFirmwareUpdateRequest(void);
|
||||
/* functions for reading data from a Motorola S-record file. */
|
||||
tSrecLineType FileSrecGetLineType(const blt_char *line);
|
||||
blt_bool FileSrecVerifyChecksum(const blt_char *line);
|
||||
blt_int16s FileSrecParseLine(const blt_char *line, blt_addr *address, blt_int8u *data);
|
||||
|
||||
#endif /* BOOT_FILE_SYS_ENABLE > 0 */
|
||||
|
||||
|
|
Loading…
Reference in New Issue