From 6a6d2555a49e295cb5acb520c58a051dd68291a6 Mon Sep 17 00:00:00 2001 From: Frank Voorburg Date: Sat, 23 Jul 2016 16:30:55 +0000 Subject: [PATCH] - Added CAN support to the STM32Fxx port and the Olimex STM32-P207 demo programs. git-svn-id: https://svn.code.sf.net/p/openblt/code/trunk@146 5dc33758-31d5-4daf-9ae8-b24bf3d40d73 --- .../Boot/bin/openblt_stm32f207.elf | Bin 672726 -> 677625 bytes .../Boot/bin/openblt_stm32f207.map | 1284 ++++++----- .../Boot/bin/openblt_stm32f207.srec | 2048 +++++++++-------- .../Boot/blt_conf.h | 27 + .../Boot/ide/stm32f207.depend | 9 +- .../Boot/ide/stm32f207.ebp | 4 + .../Boot/ide/stm32f207.elay | 11 +- .../Boot/main.c | 18 + .../Prog/bin/demoprog_stm32f207.elf | Bin 522076 -> 533860 bytes .../Prog/bin/demoprog_stm32f207.map | 732 +++--- .../Prog/bin/demoprog_stm32f207.srec | 587 +++-- .../Prog/boot.c | 186 ++ .../Prog/ide/stm32f207.depend | 4 +- .../Prog/ide/stm32f207.elay | 4 +- Target/Source/ARMCM3_STM32F2/can.c | 384 ++++ 15 files changed, 3084 insertions(+), 2214 deletions(-) create mode 100644 Target/Source/ARMCM3_STM32F2/can.c diff --git a/Target/Demo/ARMCM3_STM32F2_Olimex_STM32P207_GCC/Boot/bin/openblt_stm32f207.elf b/Target/Demo/ARMCM3_STM32F2_Olimex_STM32P207_GCC/Boot/bin/openblt_stm32f207.elf index 235a1728fe94ada8d7540bd918de537487a885d0..cf53a13c69f0d9bbab2378f20749fff1b24d06a3 100644 GIT binary patch delta 153294 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 delta 148502 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�Ia0hqE$@pTg{#@1ETke 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[R?CMdkWK^1V@TpcN9=FM+yYJtbz&19!uE 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 diff --git a/Target/Demo/ARMCM3_STM32F2_Olimex_STM32P207_GCC/Boot/bin/openblt_stm32f207.map b/Target/Demo/ARMCM3_STM32F2_Olimex_STM32P207_GCC/Boot/bin/openblt_stm32f207.map index 7fbe277a..6e646e4b 100644 --- a/Target/Demo/ARMCM3_STM32F2_Olimex_STM32P207_GCC/Boot/bin/openblt_stm32f207.map +++ b/Target/Demo/ARMCM3_STM32F2_Olimex_STM32P207_GCC/Boot/bin/openblt_stm32f207.map @@ -124,14 +124,14 @@ Discarded input sections .debug_macro 0x00000000 0x1c ..\obj\led.o .debug_macro 0x00000000 0x1c ..\obj\led.o .debug_macro 0x00000000 0x22 ..\obj\led.o - .debug_macro 0x00000000 0x87 ..\obj\led.o - .debug_macro 0x00000000 0x49 ..\obj\led.o + .debug_macro 0x00000000 0xb7 ..\obj\led.o + .debug_macro 0x00000000 0x37 ..\obj\led.o .debug_macro 0x00000000 0x1c ..\obj\led.o .debug_macro 0x00000000 0x97 ..\obj\led.o .debug_macro 0x00000000 0xee ..\obj\led.o .debug_macro 0x00000000 0x40 ..\obj\led.o .debug_macro 0x00000000 0x9f ..\obj\led.o - .debug_macro 0x00000000 0x28 ..\obj\led.o + .debug_macro 0x00000000 0x40 ..\obj\led.o .debug_macro 0x00000000 0x4c ..\obj\led.o .debug_macro 0x00000000 0x3a ..\obj\led.o .debug_macro 0x00000000 0x16 ..\obj\led.o @@ -4068,14 +4068,14 @@ Discarded input sections .debug_macro 0x00000000 0x1c ..\obj\main.o .debug_macro 0x00000000 0x1c ..\obj\main.o .debug_macro 0x00000000 0x22 ..\obj\main.o - .debug_macro 0x00000000 0x87 ..\obj\main.o - .debug_macro 0x00000000 0x49 ..\obj\main.o + .debug_macro 0x00000000 0xb7 ..\obj\main.o + .debug_macro 0x00000000 0x37 ..\obj\main.o .debug_macro 0x00000000 0x1c ..\obj\main.o .debug_macro 0x00000000 0x97 ..\obj\main.o .debug_macro 0x00000000 0xee ..\obj\main.o .debug_macro 0x00000000 0x40 ..\obj\main.o .debug_macro 0x00000000 0x9f ..\obj\main.o - .debug_macro 0x00000000 0x28 ..\obj\main.o + .debug_macro 0x00000000 0x40 ..\obj\main.o .debug_macro 0x00000000 0x4c ..\obj\main.o .debug_macro 0x00000000 0x3a ..\obj\main.o .debug_macro 0x00000000 0x16 ..\obj\main.o @@ -4110,6 +4110,33 @@ Discarded input sections .debug_macro 0x00000000 0x34 ..\obj\main.o .debug_macro 0x00000000 0x82 ..\obj\main.o .debug_macro 0x00000000 0x35 ..\obj\main.o + .group 0x00000000 0x8 ..\obj\~#\~#\~#\source\armcm3_stm32f2\can.o + .group 0x00000000 0x8 ..\obj\~#\~#\~#\source\armcm3_stm32f2\can.o + .group 0x00000000 0x8 ..\obj\~#\~#\~#\source\armcm3_stm32f2\can.o + .group 0x00000000 0x8 ..\obj\~#\~#\~#\source\armcm3_stm32f2\can.o + .group 0x00000000 0x8 ..\obj\~#\~#\~#\source\armcm3_stm32f2\can.o + .group 0x00000000 0x8 ..\obj\~#\~#\~#\source\armcm3_stm32f2\can.o + .group 0x00000000 0x8 ..\obj\~#\~#\~#\source\armcm3_stm32f2\can.o + .group 0x00000000 0x8 ..\obj\~#\~#\~#\source\armcm3_stm32f2\can.o + .group 0x00000000 0x8 ..\obj\~#\~#\~#\source\armcm3_stm32f2\can.o + .group 0x00000000 0x8 ..\obj\~#\~#\~#\source\armcm3_stm32f2\can.o + .group 0x00000000 0x8 ..\obj\~#\~#\~#\source\armcm3_stm32f2\can.o + .group 0x00000000 0x8 ..\obj\~#\~#\~#\source\armcm3_stm32f2\can.o + .text 0x00000000 0x0 ..\obj\~#\~#\~#\source\armcm3_stm32f2\can.o + .data 0x00000000 0x0 ..\obj\~#\~#\~#\source\armcm3_stm32f2\can.o + .bss 0x00000000 0x0 ..\obj\~#\~#\~#\source\armcm3_stm32f2\can.o + .debug_macro 0x00000000 0x862 ..\obj\~#\~#\~#\source\armcm3_stm32f2\can.o + .debug_macro 0x00000000 0x1c ..\obj\~#\~#\~#\source\armcm3_stm32f2\can.o + .debug_macro 0x00000000 0x1c ..\obj\~#\~#\~#\source\armcm3_stm32f2\can.o + .debug_macro 0x00000000 0x22 ..\obj\~#\~#\~#\source\armcm3_stm32f2\can.o + .debug_macro 0x00000000 0xb7 ..\obj\~#\~#\~#\source\armcm3_stm32f2\can.o + .debug_macro 0x00000000 0x37 ..\obj\~#\~#\~#\source\armcm3_stm32f2\can.o + .debug_macro 0x00000000 0x1c ..\obj\~#\~#\~#\source\armcm3_stm32f2\can.o + .debug_macro 0x00000000 0x97 ..\obj\~#\~#\~#\source\armcm3_stm32f2\can.o + .debug_macro 0x00000000 0xee ..\obj\~#\~#\~#\source\armcm3_stm32f2\can.o + .debug_macro 0x00000000 0x40 ..\obj\~#\~#\~#\source\armcm3_stm32f2\can.o + .debug_macro 0x00000000 0x9f ..\obj\~#\~#\~#\source\armcm3_stm32f2\can.o + .debug_macro 0x00000000 0x40 ..\obj\~#\~#\~#\source\armcm3_stm32f2\can.o .group 0x00000000 0x8 ..\obj\~#\~#\~#\source\armcm3_stm32f2\cpu.o .group 0x00000000 0x8 ..\obj\~#\~#\~#\source\armcm3_stm32f2\cpu.o .group 0x00000000 0x8 ..\obj\~#\~#\~#\source\armcm3_stm32f2\cpu.o @@ -4131,14 +4158,14 @@ Discarded input sections .debug_macro 0x00000000 0x1c ..\obj\~#\~#\~#\source\armcm3_stm32f2\cpu.o .debug_macro 0x00000000 0x1c ..\obj\~#\~#\~#\source\armcm3_stm32f2\cpu.o .debug_macro 0x00000000 0x22 ..\obj\~#\~#\~#\source\armcm3_stm32f2\cpu.o - .debug_macro 0x00000000 0x87 ..\obj\~#\~#\~#\source\armcm3_stm32f2\cpu.o - .debug_macro 0x00000000 0x49 ..\obj\~#\~#\~#\source\armcm3_stm32f2\cpu.o + .debug_macro 0x00000000 0xb7 ..\obj\~#\~#\~#\source\armcm3_stm32f2\cpu.o + .debug_macro 0x00000000 0x37 ..\obj\~#\~#\~#\source\armcm3_stm32f2\cpu.o .debug_macro 0x00000000 0x1c ..\obj\~#\~#\~#\source\armcm3_stm32f2\cpu.o .debug_macro 0x00000000 0x97 ..\obj\~#\~#\~#\source\armcm3_stm32f2\cpu.o .debug_macro 0x00000000 0xee ..\obj\~#\~#\~#\source\armcm3_stm32f2\cpu.o .debug_macro 0x00000000 0x40 ..\obj\~#\~#\~#\source\armcm3_stm32f2\cpu.o .debug_macro 0x00000000 0x9f ..\obj\~#\~#\~#\source\armcm3_stm32f2\cpu.o - .debug_macro 0x00000000 0x28 ..\obj\~#\~#\~#\source\armcm3_stm32f2\cpu.o + .debug_macro 0x00000000 0x40 ..\obj\~#\~#\~#\source\armcm3_stm32f2\cpu.o .group 0x00000000 0x8 ..\obj\~#\~#\~#\source\armcm3_stm32f2\flash.o .group 0x00000000 0x8 ..\obj\~#\~#\~#\source\armcm3_stm32f2\flash.o .group 0x00000000 0x8 ..\obj\~#\~#\~#\source\armcm3_stm32f2\flash.o @@ -4192,14 +4219,14 @@ Discarded input sections .debug_macro 0x00000000 0x1c ..\obj\~#\~#\~#\source\armcm3_stm32f2\flash.o .debug_macro 0x00000000 0x1c ..\obj\~#\~#\~#\source\armcm3_stm32f2\flash.o .debug_macro 0x00000000 0x22 ..\obj\~#\~#\~#\source\armcm3_stm32f2\flash.o - .debug_macro 0x00000000 0x87 ..\obj\~#\~#\~#\source\armcm3_stm32f2\flash.o - .debug_macro 0x00000000 0x49 ..\obj\~#\~#\~#\source\armcm3_stm32f2\flash.o + .debug_macro 0x00000000 0xb7 ..\obj\~#\~#\~#\source\armcm3_stm32f2\flash.o + .debug_macro 0x00000000 0x37 ..\obj\~#\~#\~#\source\armcm3_stm32f2\flash.o .debug_macro 0x00000000 0x1c ..\obj\~#\~#\~#\source\armcm3_stm32f2\flash.o .debug_macro 0x00000000 0x97 ..\obj\~#\~#\~#\source\armcm3_stm32f2\flash.o .debug_macro 0x00000000 0xee ..\obj\~#\~#\~#\source\armcm3_stm32f2\flash.o .debug_macro 0x00000000 0x40 ..\obj\~#\~#\~#\source\armcm3_stm32f2\flash.o .debug_macro 0x00000000 0x9f ..\obj\~#\~#\~#\source\armcm3_stm32f2\flash.o - .debug_macro 0x00000000 0x28 ..\obj\~#\~#\~#\source\armcm3_stm32f2\flash.o + .debug_macro 0x00000000 0x40 ..\obj\~#\~#\~#\source\armcm3_stm32f2\flash.o .debug_macro 0x00000000 0x4c ..\obj\~#\~#\~#\source\armcm3_stm32f2\flash.o .debug_macro 0x00000000 0x3a ..\obj\~#\~#\~#\source\armcm3_stm32f2\flash.o .debug_macro 0x00000000 0x16 ..\obj\~#\~#\~#\source\armcm3_stm32f2\flash.o @@ -4255,14 +4282,14 @@ Discarded input sections .debug_macro 0x00000000 0x1c ..\obj\~#\~#\~#\source\armcm3_stm32f2\nvm.o .debug_macro 0x00000000 0x1c ..\obj\~#\~#\~#\source\armcm3_stm32f2\nvm.o .debug_macro 0x00000000 0x22 ..\obj\~#\~#\~#\source\armcm3_stm32f2\nvm.o - .debug_macro 0x00000000 0x87 ..\obj\~#\~#\~#\source\armcm3_stm32f2\nvm.o - .debug_macro 0x00000000 0x49 ..\obj\~#\~#\~#\source\armcm3_stm32f2\nvm.o + .debug_macro 0x00000000 0xb7 ..\obj\~#\~#\~#\source\armcm3_stm32f2\nvm.o + .debug_macro 0x00000000 0x37 ..\obj\~#\~#\~#\source\armcm3_stm32f2\nvm.o .debug_macro 0x00000000 0x1c ..\obj\~#\~#\~#\source\armcm3_stm32f2\nvm.o .debug_macro 0x00000000 0x97 ..\obj\~#\~#\~#\source\armcm3_stm32f2\nvm.o .debug_macro 0x00000000 0xee ..\obj\~#\~#\~#\source\armcm3_stm32f2\nvm.o .debug_macro 0x00000000 0x40 ..\obj\~#\~#\~#\source\armcm3_stm32f2\nvm.o .debug_macro 0x00000000 0x9f ..\obj\~#\~#\~#\source\armcm3_stm32f2\nvm.o - .debug_macro 0x00000000 0x28 ..\obj\~#\~#\~#\source\armcm3_stm32f2\nvm.o + .debug_macro 0x00000000 0x40 ..\obj\~#\~#\~#\source\armcm3_stm32f2\nvm.o .group 0x00000000 0x8 ..\obj\~#\~#\~#\source\armcm3_stm32f2\timer.o .group 0x00000000 0x8 ..\obj\~#\~#\~#\source\armcm3_stm32f2\timer.o .group 0x00000000 0x8 ..\obj\~#\~#\~#\source\armcm3_stm32f2\timer.o @@ -4316,14 +4343,14 @@ Discarded input sections .debug_macro 0x00000000 0x1c ..\obj\~#\~#\~#\source\armcm3_stm32f2\timer.o .debug_macro 0x00000000 0x1c ..\obj\~#\~#\~#\source\armcm3_stm32f2\timer.o .debug_macro 0x00000000 0x22 ..\obj\~#\~#\~#\source\armcm3_stm32f2\timer.o - .debug_macro 0x00000000 0x87 ..\obj\~#\~#\~#\source\armcm3_stm32f2\timer.o - .debug_macro 0x00000000 0x49 ..\obj\~#\~#\~#\source\armcm3_stm32f2\timer.o + .debug_macro 0x00000000 0xb7 ..\obj\~#\~#\~#\source\armcm3_stm32f2\timer.o + .debug_macro 0x00000000 0x37 ..\obj\~#\~#\~#\source\armcm3_stm32f2\timer.o .debug_macro 0x00000000 0x1c ..\obj\~#\~#\~#\source\armcm3_stm32f2\timer.o .debug_macro 0x00000000 0x97 ..\obj\~#\~#\~#\source\armcm3_stm32f2\timer.o .debug_macro 0x00000000 0xee ..\obj\~#\~#\~#\source\armcm3_stm32f2\timer.o .debug_macro 0x00000000 0x40 ..\obj\~#\~#\~#\source\armcm3_stm32f2\timer.o .debug_macro 0x00000000 0x9f ..\obj\~#\~#\~#\source\armcm3_stm32f2\timer.o - .debug_macro 0x00000000 0x28 ..\obj\~#\~#\~#\source\armcm3_stm32f2\timer.o + .debug_macro 0x00000000 0x40 ..\obj\~#\~#\~#\source\armcm3_stm32f2\timer.o .debug_macro 0x00000000 0x4c ..\obj\~#\~#\~#\source\armcm3_stm32f2\timer.o .debug_macro 0x00000000 0x3a ..\obj\~#\~#\~#\source\armcm3_stm32f2\timer.o .debug_macro 0x00000000 0x16 ..\obj\~#\~#\~#\source\armcm3_stm32f2\timer.o @@ -4411,14 +4438,14 @@ Discarded input sections .debug_macro 0x00000000 0x1c ..\obj\~#\~#\~#\source\armcm3_stm32f2\uart.o .debug_macro 0x00000000 0x1c ..\obj\~#\~#\~#\source\armcm3_stm32f2\uart.o .debug_macro 0x00000000 0x22 ..\obj\~#\~#\~#\source\armcm3_stm32f2\uart.o - .debug_macro 0x00000000 0x87 ..\obj\~#\~#\~#\source\armcm3_stm32f2\uart.o - .debug_macro 0x00000000 0x49 ..\obj\~#\~#\~#\source\armcm3_stm32f2\uart.o + .debug_macro 0x00000000 0xb7 ..\obj\~#\~#\~#\source\armcm3_stm32f2\uart.o + .debug_macro 0x00000000 0x37 ..\obj\~#\~#\~#\source\armcm3_stm32f2\uart.o .debug_macro 0x00000000 0x1c ..\obj\~#\~#\~#\source\armcm3_stm32f2\uart.o .debug_macro 0x00000000 0x97 ..\obj\~#\~#\~#\source\armcm3_stm32f2\uart.o .debug_macro 0x00000000 0xee ..\obj\~#\~#\~#\source\armcm3_stm32f2\uart.o .debug_macro 0x00000000 0x40 ..\obj\~#\~#\~#\source\armcm3_stm32f2\uart.o .debug_macro 0x00000000 0x9f ..\obj\~#\~#\~#\source\armcm3_stm32f2\uart.o - .debug_macro 0x00000000 0x28 ..\obj\~#\~#\~#\source\armcm3_stm32f2\uart.o + .debug_macro 0x00000000 0x40 ..\obj\~#\~#\~#\source\armcm3_stm32f2\uart.o .debug_macro 0x00000000 0x4c ..\obj\~#\~#\~#\source\armcm3_stm32f2\uart.o .debug_macro 0x00000000 0x3a ..\obj\~#\~#\~#\source\armcm3_stm32f2\uart.o .debug_macro 0x00000000 0x16 ..\obj\~#\~#\~#\source\armcm3_stm32f2\uart.o @@ -4472,14 +4499,14 @@ Discarded input sections .debug_macro 0x00000000 0x1c ..\obj\~#\~#\~#\source\assert.o .debug_macro 0x00000000 0x1c ..\obj\~#\~#\~#\source\assert.o .debug_macro 0x00000000 0x22 ..\obj\~#\~#\~#\source\assert.o - .debug_macro 0x00000000 0x87 ..\obj\~#\~#\~#\source\assert.o - .debug_macro 0x00000000 0x49 ..\obj\~#\~#\~#\source\assert.o + .debug_macro 0x00000000 0xb7 ..\obj\~#\~#\~#\source\assert.o + .debug_macro 0x00000000 0x37 ..\obj\~#\~#\~#\source\assert.o .debug_macro 0x00000000 0x1c ..\obj\~#\~#\~#\source\assert.o .debug_macro 0x00000000 0x97 ..\obj\~#\~#\~#\source\assert.o .debug_macro 0x00000000 0xee ..\obj\~#\~#\~#\source\assert.o .debug_macro 0x00000000 0x40 ..\obj\~#\~#\~#\source\assert.o .debug_macro 0x00000000 0x9f ..\obj\~#\~#\~#\source\assert.o - .debug_macro 0x00000000 0x28 ..\obj\~#\~#\~#\source\assert.o + .debug_macro 0x00000000 0x40 ..\obj\~#\~#\~#\source\assert.o .group 0x00000000 0x8 ..\obj\~#\~#\~#\source\backdoor.o .group 0x00000000 0x8 ..\obj\~#\~#\~#\source\backdoor.o .group 0x00000000 0x8 ..\obj\~#\~#\~#\source\backdoor.o @@ -4499,14 +4526,14 @@ Discarded input sections .debug_macro 0x00000000 0x1c ..\obj\~#\~#\~#\source\backdoor.o .debug_macro 0x00000000 0x1c ..\obj\~#\~#\~#\source\backdoor.o .debug_macro 0x00000000 0x22 ..\obj\~#\~#\~#\source\backdoor.o - .debug_macro 0x00000000 0x87 ..\obj\~#\~#\~#\source\backdoor.o - .debug_macro 0x00000000 0x49 ..\obj\~#\~#\~#\source\backdoor.o + .debug_macro 0x00000000 0xb7 ..\obj\~#\~#\~#\source\backdoor.o + .debug_macro 0x00000000 0x37 ..\obj\~#\~#\~#\source\backdoor.o .debug_macro 0x00000000 0x1c ..\obj\~#\~#\~#\source\backdoor.o .debug_macro 0x00000000 0x97 ..\obj\~#\~#\~#\source\backdoor.o .debug_macro 0x00000000 0xee ..\obj\~#\~#\~#\source\backdoor.o .debug_macro 0x00000000 0x40 ..\obj\~#\~#\~#\source\backdoor.o .debug_macro 0x00000000 0x9f ..\obj\~#\~#\~#\source\backdoor.o - .debug_macro 0x00000000 0x28 ..\obj\~#\~#\~#\source\backdoor.o + .debug_macro 0x00000000 0x40 ..\obj\~#\~#\~#\source\backdoor.o .group 0x00000000 0x8 ..\obj\~#\~#\~#\source\boot.o .group 0x00000000 0x8 ..\obj\~#\~#\~#\source\boot.o .group 0x00000000 0x8 ..\obj\~#\~#\~#\source\boot.o @@ -4526,14 +4553,14 @@ Discarded input sections .debug_macro 0x00000000 0x1c ..\obj\~#\~#\~#\source\boot.o .debug_macro 0x00000000 0x1c ..\obj\~#\~#\~#\source\boot.o .debug_macro 0x00000000 0x22 ..\obj\~#\~#\~#\source\boot.o - .debug_macro 0x00000000 0x87 ..\obj\~#\~#\~#\source\boot.o - .debug_macro 0x00000000 0x49 ..\obj\~#\~#\~#\source\boot.o + .debug_macro 0x00000000 0xb7 ..\obj\~#\~#\~#\source\boot.o + .debug_macro 0x00000000 0x37 ..\obj\~#\~#\~#\source\boot.o .debug_macro 0x00000000 0x1c ..\obj\~#\~#\~#\source\boot.o .debug_macro 0x00000000 0x97 ..\obj\~#\~#\~#\source\boot.o .debug_macro 0x00000000 0xee ..\obj\~#\~#\~#\source\boot.o .debug_macro 0x00000000 0x40 ..\obj\~#\~#\~#\source\boot.o .debug_macro 0x00000000 0x9f ..\obj\~#\~#\~#\source\boot.o - .debug_macro 0x00000000 0x28 ..\obj\~#\~#\~#\source\boot.o + .debug_macro 0x00000000 0x40 ..\obj\~#\~#\~#\source\boot.o .group 0x00000000 0x8 ..\obj\~#\~#\~#\source\com.o .group 0x00000000 0x8 ..\obj\~#\~#\~#\source\com.o .group 0x00000000 0x8 ..\obj\~#\~#\~#\source\com.o @@ -4553,14 +4580,14 @@ Discarded input sections .debug_macro 0x00000000 0x1c ..\obj\~#\~#\~#\source\com.o .debug_macro 0x00000000 0x1c ..\obj\~#\~#\~#\source\com.o .debug_macro 0x00000000 0x22 ..\obj\~#\~#\~#\source\com.o - .debug_macro 0x00000000 0x87 ..\obj\~#\~#\~#\source\com.o - .debug_macro 0x00000000 0x49 ..\obj\~#\~#\~#\source\com.o + .debug_macro 0x00000000 0xb7 ..\obj\~#\~#\~#\source\com.o + .debug_macro 0x00000000 0x37 ..\obj\~#\~#\~#\source\com.o .debug_macro 0x00000000 0x1c ..\obj\~#\~#\~#\source\com.o .debug_macro 0x00000000 0x97 ..\obj\~#\~#\~#\source\com.o .debug_macro 0x00000000 0xee ..\obj\~#\~#\~#\source\com.o .debug_macro 0x00000000 0x40 ..\obj\~#\~#\~#\source\com.o .debug_macro 0x00000000 0x9f ..\obj\~#\~#\~#\source\com.o - .debug_macro 0x00000000 0x28 ..\obj\~#\~#\~#\source\com.o + .debug_macro 0x00000000 0x40 ..\obj\~#\~#\~#\source\com.o .group 0x00000000 0x8 ..\obj\~#\~#\~#\source\cop.o .group 0x00000000 0x8 ..\obj\~#\~#\~#\source\cop.o .group 0x00000000 0x8 ..\obj\~#\~#\~#\source\cop.o @@ -4580,14 +4607,14 @@ Discarded input sections .debug_macro 0x00000000 0x1c ..\obj\~#\~#\~#\source\cop.o .debug_macro 0x00000000 0x1c ..\obj\~#\~#\~#\source\cop.o .debug_macro 0x00000000 0x22 ..\obj\~#\~#\~#\source\cop.o - .debug_macro 0x00000000 0x87 ..\obj\~#\~#\~#\source\cop.o - .debug_macro 0x00000000 0x49 ..\obj\~#\~#\~#\source\cop.o + .debug_macro 0x00000000 0xb7 ..\obj\~#\~#\~#\source\cop.o + .debug_macro 0x00000000 0x37 ..\obj\~#\~#\~#\source\cop.o .debug_macro 0x00000000 0x1c ..\obj\~#\~#\~#\source\cop.o .debug_macro 0x00000000 0x97 ..\obj\~#\~#\~#\source\cop.o .debug_macro 0x00000000 0xee ..\obj\~#\~#\~#\source\cop.o .debug_macro 0x00000000 0x40 ..\obj\~#\~#\~#\source\cop.o .debug_macro 0x00000000 0x9f ..\obj\~#\~#\~#\source\cop.o - .debug_macro 0x00000000 0x28 ..\obj\~#\~#\~#\source\cop.o + .debug_macro 0x00000000 0x40 ..\obj\~#\~#\~#\source\cop.o .group 0x00000000 0x8 ..\obj\~#\~#\~#\source\file.o .group 0x00000000 0x8 ..\obj\~#\~#\~#\source\file.o .group 0x00000000 0x8 ..\obj\~#\~#\~#\source\file.o @@ -4622,14 +4649,14 @@ Discarded input sections .debug_macro 0x00000000 0x1c ..\obj\~#\~#\~#\source\file.o .debug_macro 0x00000000 0x1c ..\obj\~#\~#\~#\source\file.o .debug_macro 0x00000000 0x22 ..\obj\~#\~#\~#\source\file.o - .debug_macro 0x00000000 0x87 ..\obj\~#\~#\~#\source\file.o - .debug_macro 0x00000000 0x49 ..\obj\~#\~#\~#\source\file.o + .debug_macro 0x00000000 0xb7 ..\obj\~#\~#\~#\source\file.o + .debug_macro 0x00000000 0x37 ..\obj\~#\~#\~#\source\file.o .debug_macro 0x00000000 0x1c ..\obj\~#\~#\~#\source\file.o .debug_macro 0x00000000 0x97 ..\obj\~#\~#\~#\source\file.o .debug_macro 0x00000000 0xee ..\obj\~#\~#\~#\source\file.o .debug_macro 0x00000000 0x40 ..\obj\~#\~#\~#\source\file.o .debug_macro 0x00000000 0x9f ..\obj\~#\~#\~#\source\file.o - .debug_macro 0x00000000 0x28 ..\obj\~#\~#\~#\source\file.o + .debug_macro 0x00000000 0x40 ..\obj\~#\~#\~#\source\file.o .debug_macro 0x00000000 0x16 ..\obj\~#\~#\~#\source\file.o .group 0x00000000 0x8 ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o .group 0x00000000 0x8 ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o @@ -4685,14 +4712,14 @@ Discarded input sections .debug_macro 0x00000000 0x1c ..\obj\~#\~#\~#\source\xcp.o .debug_macro 0x00000000 0x1c ..\obj\~#\~#\~#\source\xcp.o .debug_macro 0x00000000 0x22 ..\obj\~#\~#\~#\source\xcp.o - .debug_macro 0x00000000 0x87 ..\obj\~#\~#\~#\source\xcp.o - .debug_macro 0x00000000 0x49 ..\obj\~#\~#\~#\source\xcp.o + .debug_macro 0x00000000 0xb7 ..\obj\~#\~#\~#\source\xcp.o + .debug_macro 0x00000000 0x37 ..\obj\~#\~#\~#\source\xcp.o .debug_macro 0x00000000 0x1c ..\obj\~#\~#\~#\source\xcp.o .debug_macro 0x00000000 0x97 ..\obj\~#\~#\~#\source\xcp.o .debug_macro 0x00000000 0xee ..\obj\~#\~#\~#\source\xcp.o .debug_macro 0x00000000 0x40 ..\obj\~#\~#\~#\source\xcp.o .debug_macro 0x00000000 0x9f ..\obj\~#\~#\~#\source\xcp.o - .debug_macro 0x00000000 0x28 ..\obj\~#\~#\~#\source\xcp.o + .debug_macro 0x00000000 0x40 ..\obj\~#\~#\~#\source\xcp.o .text 0x00000000 0x0 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7-m\libg_n.a(lib_a-ctype_.o) .data 0x00000000 0x0 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7-m\libg_n.a(lib_a-ctype_.o) .bss 0x00000000 0x0 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7-m\libg_n.a(lib_a-ctype_.o) @@ -4735,7 +4762,7 @@ LOAD c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none- 0x00000000 __HEAP_SIZE = 0x0 0x00000100 __STACK_SIZE = 0x100 -.text 0x08000000 0x4da8 +.text 0x08000000 0x50d0 *(.isr_vector) .isr_vector 0x08000000 0x184 ..\obj\~#\~#\~#\source\armcm3_stm32f2\gcc\cstart.o 0x08000000 __isr_vector @@ -4891,350 +4918,358 @@ LOAD c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none- .text.SystemInit 0x08001190 0xdc ..\obj\lib\system_stm32f2xx.o 0x08001190 SystemInit - .text.main 0x0800126c 0xc4 ..\obj\main.o + .text.main 0x0800126c 0x10c ..\obj\main.o 0x0800126c main + .text.CanInit 0x08001378 0x138 ..\obj\~#\~#\~#\source\armcm3_stm32f2\can.o + 0x08001378 CanInit + .text.CanTransmitPacket + 0x080014b0 0x98 ..\obj\~#\~#\~#\source\armcm3_stm32f2\can.o + 0x080014b0 CanTransmitPacket + .text.CanReceivePacket + 0x08001548 0x74 ..\obj\~#\~#\~#\source\armcm3_stm32f2\can.o + 0x08001548 CanReceivePacket .text.CpuStartUserProgram - 0x08001330 0x34 ..\obj\~#\~#\~#\source\armcm3_stm32f2\cpu.o - 0x08001330 CpuStartUserProgram + 0x080015bc 0x34 ..\obj\~#\~#\~#\source\armcm3_stm32f2\cpu.o + 0x080015bc CpuStartUserProgram .text.CpuMemCopy - 0x08001364 0x20 ..\obj\~#\~#\~#\source\armcm3_stm32f2\cpu.o - 0x08001364 CpuMemCopy + 0x080015f0 0x20 ..\obj\~#\~#\~#\source\armcm3_stm32f2\cpu.o + 0x080015f0 CpuMemCopy .text.FlashGetSector - 0x08001384 0x3c ..\obj\~#\~#\~#\source\armcm3_stm32f2\flash.o + 0x08001610 0x3c ..\obj\~#\~#\~#\source\armcm3_stm32f2\flash.o .text.FlashWriteBlock - 0x080013c0 0x78 ..\obj\~#\~#\~#\source\armcm3_stm32f2\flash.o + 0x0800164c 0x78 ..\obj\~#\~#\~#\source\armcm3_stm32f2\flash.o .text.FlashSwitchBlock - 0x08001438 0x58 ..\obj\~#\~#\~#\source\armcm3_stm32f2\flash.o + 0x080016c4 0x58 ..\obj\~#\~#\~#\source\armcm3_stm32f2\flash.o .text.FlashAddToBlock - 0x08001490 0x84 ..\obj\~#\~#\~#\source\armcm3_stm32f2\flash.o + 0x0800171c 0x84 ..\obj\~#\~#\~#\source\armcm3_stm32f2\flash.o .text.FlashInit - 0x08001514 0x18 ..\obj\~#\~#\~#\source\armcm3_stm32f2\flash.o - 0x08001514 FlashInit + 0x080017a0 0x18 ..\obj\~#\~#\~#\source\armcm3_stm32f2\flash.o + 0x080017a0 FlashInit .text.FlashWrite - 0x0800152c 0x50 ..\obj\~#\~#\~#\source\armcm3_stm32f2\flash.o - 0x0800152c FlashWrite + 0x080017b8 0x50 ..\obj\~#\~#\~#\source\armcm3_stm32f2\flash.o + 0x080017b8 FlashWrite .text.FlashErase - 0x0800157c 0x8c ..\obj\~#\~#\~#\source\armcm3_stm32f2\flash.o - 0x0800157c FlashErase + 0x08001808 0x8c ..\obj\~#\~#\~#\source\armcm3_stm32f2\flash.o + 0x08001808 FlashErase .text.FlashWriteChecksum - 0x08001608 0x4c ..\obj\~#\~#\~#\source\armcm3_stm32f2\flash.o - 0x08001608 FlashWriteChecksum + 0x08001894 0x4c ..\obj\~#\~#\~#\source\armcm3_stm32f2\flash.o + 0x08001894 FlashWriteChecksum .text.FlashVerifyChecksum - 0x08001654 0x54 ..\obj\~#\~#\~#\source\armcm3_stm32f2\flash.o - 0x08001654 FlashVerifyChecksum + 0x080018e0 0x54 ..\obj\~#\~#\~#\source\armcm3_stm32f2\flash.o + 0x080018e0 FlashVerifyChecksum .text.FlashDone - 0x080016a8 0x3c ..\obj\~#\~#\~#\source\armcm3_stm32f2\flash.o - 0x080016a8 FlashDone + 0x08001934 0x3c ..\obj\~#\~#\~#\source\armcm3_stm32f2\flash.o + 0x08001934 FlashDone .text.FlashGetUserProgBaseAddress - 0x080016e4 0x8 ..\obj\~#\~#\~#\source\armcm3_stm32f2\flash.o - 0x080016e4 FlashGetUserProgBaseAddress - .text 0x080016ec 0x110 ..\obj\~#\~#\~#\source\armcm3_stm32f2\gcc\cstart.o - 0x080016ec Reset_Handler - 0x0800173e NMI_Handler - 0x08001740 HardFault_Handler - 0x08001742 MemManage_Handler - 0x08001744 BusFault_Handler - 0x08001746 UsageFault_Handler - 0x08001748 SVC_Handler - 0x0800174a DebugMon_Handler - 0x0800174c PendSV_Handler - 0x0800174e SysTick_Handler - 0x08001750 Default_Handler - 0x08001752 WWDG_IRQHandler - 0x08001754 PVD_IRQHandler - 0x08001756 TAMP_STAMP_IRQHandler - 0x08001758 RTC_WKUP_IRQHandler - 0x0800175a FLASH_IRQHandler - 0x0800175c RCC_IRQHandler - 0x0800175e EXTI0_IRQHandler - 0x08001760 EXTI1_IRQHandler - 0x08001762 EXTI2_IRQHandler - 0x08001764 EXTI3_IRQHandler - 0x08001766 EXTI4_IRQHandler - 0x08001768 DMA1_Stream0_IRQHandler - 0x0800176a DMA1_Stream1_IRQHandler - 0x0800176c DMA1_Stream2_IRQHandler - 0x0800176e DMA1_Stream3_IRQHandler - 0x08001770 DMA1_Stream4_IRQHandler - 0x08001772 DMA1_Stream5_IRQHandler - 0x08001774 DMA1_Stream6_IRQHandler - 0x08001776 ADC_IRQHandler - 0x08001778 CAN1_TX_IRQHandler - 0x0800177a CAN1_RX0_IRQHandler - 0x0800177c CAN1_RX1_IRQHandler - 0x0800177e CAN1_SCE_IRQHandler - 0x08001780 EXTI9_5_IRQHandler - 0x08001782 TIM1_BRK_TIM9_IRQHandler - 0x08001784 TIM1_UP_TIM10_IRQHandler - 0x08001786 TIM1_TRG_COM_TIM11_IRQHandler - 0x08001788 TIM1_CC_IRQHandler - 0x0800178a TIM2_IRQHandler - 0x0800178c TIM3_IRQHandler - 0x0800178e TIM4_IRQHandler - 0x08001790 I2C1_EV_IRQHandler - 0x08001792 I2C1_ER_IRQHandler - 0x08001794 I2C2_EV_IRQHandler - 0x08001796 I2C2_ER_IRQHandler - 0x08001798 SPI1_IRQHandler - 0x0800179a SPI2_IRQHandler - 0x0800179c USART1_IRQHandler - 0x0800179e USART2_IRQHandler - 0x080017a0 USART3_IRQHandler - 0x080017a2 EXTI15_10_IRQHandler - 0x080017a4 RTC_Alarm_IRQHandler - 0x080017a6 OTG_FS_WKUP_IRQHandler - 0x080017a8 TIM8_BRK_TIM12_IRQHandler - 0x080017aa TIM8_UP_TIM13_IRQHandler - 0x080017ac TIM8_TRG_COM_TIM14_IRQHandler - 0x080017ae TIM8_CC_IRQHandler - 0x080017b0 DMA1_Stream7_IRQHandler - 0x080017b2 FSMC_IRQHandler - 0x080017b4 SDIO_IRQHandler - 0x080017b6 TIM5_IRQHandler - 0x080017b8 SPI3_IRQHandler - 0x080017ba UART4_IRQHandler - 0x080017bc UART5_IRQHandler - 0x080017be TIM6_DAC_IRQHandler - 0x080017c0 TIM7_IRQHandler - 0x080017c2 DMA2_Stream0_IRQHandler - 0x080017c4 DMA2_Stream1_IRQHandler - 0x080017c6 DMA2_Stream2_IRQHandler - 0x080017c8 DMA2_Stream3_IRQHandler - 0x080017ca DMA2_Stream4_IRQHandler - 0x080017cc ETH_IRQHandler - 0x080017ce ETH_WKUP_IRQHandler - 0x080017d0 CAN2_TX_IRQHandler - 0x080017d2 CAN2_RX0_IRQHandler - 0x080017d4 CAN2_RX1_IRQHandler - 0x080017d6 CAN2_SCE_IRQHandler - 0x080017d8 OTG_FS_IRQHandler - 0x080017da DMA2_Stream5_IRQHandler - 0x080017dc DMA2_Stream6_IRQHandler - 0x080017de DMA2_Stream7_IRQHandler - 0x080017e0 USART6_IRQHandler - 0x080017e2 I2C3_EV_IRQHandler - 0x080017e4 I2C3_ER_IRQHandler - 0x080017e6 OTG_HS_EP1_OUT_IRQHandler - 0x080017e8 OTG_HS_EP1_IN_IRQHandler - 0x080017ea OTG_HS_WKUP_IRQHandler - 0x080017ec OTG_HS_IRQHandler - 0x080017ee DCMI_IRQHandler - 0x080017f0 CRYP_IRQHandler - 0x080017f2 HASH_RNG_IRQHandler - .text.NvmInit 0x080017fc 0x8 ..\obj\~#\~#\~#\source\armcm3_stm32f2\nvm.o - 0x080017fc NvmInit + 0x08001970 0x8 ..\obj\~#\~#\~#\source\armcm3_stm32f2\flash.o + 0x08001970 FlashGetUserProgBaseAddress + .text 0x08001978 0x110 ..\obj\~#\~#\~#\source\armcm3_stm32f2\gcc\cstart.o + 0x08001978 Reset_Handler + 0x080019ca NMI_Handler + 0x080019cc HardFault_Handler + 0x080019ce MemManage_Handler + 0x080019d0 BusFault_Handler + 0x080019d2 UsageFault_Handler + 0x080019d4 SVC_Handler + 0x080019d6 DebugMon_Handler + 0x080019d8 PendSV_Handler + 0x080019da SysTick_Handler + 0x080019dc Default_Handler + 0x080019de WWDG_IRQHandler + 0x080019e0 PVD_IRQHandler + 0x080019e2 TAMP_STAMP_IRQHandler + 0x080019e4 RTC_WKUP_IRQHandler + 0x080019e6 FLASH_IRQHandler + 0x080019e8 RCC_IRQHandler + 0x080019ea EXTI0_IRQHandler + 0x080019ec EXTI1_IRQHandler + 0x080019ee EXTI2_IRQHandler + 0x080019f0 EXTI3_IRQHandler + 0x080019f2 EXTI4_IRQHandler + 0x080019f4 DMA1_Stream0_IRQHandler + 0x080019f6 DMA1_Stream1_IRQHandler + 0x080019f8 DMA1_Stream2_IRQHandler + 0x080019fa DMA1_Stream3_IRQHandler + 0x080019fc DMA1_Stream4_IRQHandler + 0x080019fe DMA1_Stream5_IRQHandler + 0x08001a00 DMA1_Stream6_IRQHandler + 0x08001a02 ADC_IRQHandler + 0x08001a04 CAN1_TX_IRQHandler + 0x08001a06 CAN1_RX0_IRQHandler + 0x08001a08 CAN1_RX1_IRQHandler + 0x08001a0a CAN1_SCE_IRQHandler + 0x08001a0c EXTI9_5_IRQHandler + 0x08001a0e TIM1_BRK_TIM9_IRQHandler + 0x08001a10 TIM1_UP_TIM10_IRQHandler + 0x08001a12 TIM1_TRG_COM_TIM11_IRQHandler + 0x08001a14 TIM1_CC_IRQHandler + 0x08001a16 TIM2_IRQHandler + 0x08001a18 TIM3_IRQHandler + 0x08001a1a TIM4_IRQHandler + 0x08001a1c I2C1_EV_IRQHandler + 0x08001a1e I2C1_ER_IRQHandler + 0x08001a20 I2C2_EV_IRQHandler + 0x08001a22 I2C2_ER_IRQHandler + 0x08001a24 SPI1_IRQHandler + 0x08001a26 SPI2_IRQHandler + 0x08001a28 USART1_IRQHandler + 0x08001a2a USART2_IRQHandler + 0x08001a2c USART3_IRQHandler + 0x08001a2e EXTI15_10_IRQHandler + 0x08001a30 RTC_Alarm_IRQHandler + 0x08001a32 OTG_FS_WKUP_IRQHandler + 0x08001a34 TIM8_BRK_TIM12_IRQHandler + 0x08001a36 TIM8_UP_TIM13_IRQHandler + 0x08001a38 TIM8_TRG_COM_TIM14_IRQHandler + 0x08001a3a TIM8_CC_IRQHandler + 0x08001a3c DMA1_Stream7_IRQHandler + 0x08001a3e FSMC_IRQHandler + 0x08001a40 SDIO_IRQHandler + 0x08001a42 TIM5_IRQHandler + 0x08001a44 SPI3_IRQHandler + 0x08001a46 UART4_IRQHandler + 0x08001a48 UART5_IRQHandler + 0x08001a4a TIM6_DAC_IRQHandler + 0x08001a4c TIM7_IRQHandler + 0x08001a4e DMA2_Stream0_IRQHandler + 0x08001a50 DMA2_Stream1_IRQHandler + 0x08001a52 DMA2_Stream2_IRQHandler + 0x08001a54 DMA2_Stream3_IRQHandler + 0x08001a56 DMA2_Stream4_IRQHandler + 0x08001a58 ETH_IRQHandler + 0x08001a5a ETH_WKUP_IRQHandler + 0x08001a5c CAN2_TX_IRQHandler + 0x08001a5e CAN2_RX0_IRQHandler + 0x08001a60 CAN2_RX1_IRQHandler + 0x08001a62 CAN2_SCE_IRQHandler + 0x08001a64 OTG_FS_IRQHandler + 0x08001a66 DMA2_Stream5_IRQHandler + 0x08001a68 DMA2_Stream6_IRQHandler + 0x08001a6a DMA2_Stream7_IRQHandler + 0x08001a6c USART6_IRQHandler + 0x08001a6e I2C3_EV_IRQHandler + 0x08001a70 I2C3_ER_IRQHandler + 0x08001a72 OTG_HS_EP1_OUT_IRQHandler + 0x08001a74 OTG_HS_EP1_IN_IRQHandler + 0x08001a76 OTG_HS_WKUP_IRQHandler + 0x08001a78 OTG_HS_IRQHandler + 0x08001a7a DCMI_IRQHandler + 0x08001a7c CRYP_IRQHandler + 0x08001a7e HASH_RNG_IRQHandler + .text.NvmInit 0x08001a88 0x8 ..\obj\~#\~#\~#\source\armcm3_stm32f2\nvm.o + 0x08001a88 NvmInit .text.NvmWrite - 0x08001804 0x8 ..\obj\~#\~#\~#\source\armcm3_stm32f2\nvm.o - 0x08001804 NvmWrite + 0x08001a90 0x8 ..\obj\~#\~#\~#\source\armcm3_stm32f2\nvm.o + 0x08001a90 NvmWrite .text.NvmErase - 0x0800180c 0x8 ..\obj\~#\~#\~#\source\armcm3_stm32f2\nvm.o - 0x0800180c NvmErase + 0x08001a98 0x8 ..\obj\~#\~#\~#\source\armcm3_stm32f2\nvm.o + 0x08001a98 NvmErase .text.NvmVerifyChecksum - 0x08001814 0x8 ..\obj\~#\~#\~#\source\armcm3_stm32f2\nvm.o - 0x08001814 NvmVerifyChecksum + 0x08001aa0 0x8 ..\obj\~#\~#\~#\source\armcm3_stm32f2\nvm.o + 0x08001aa0 NvmVerifyChecksum .text.NvmGetUserProgBaseAddress - 0x0800181c 0x8 ..\obj\~#\~#\~#\source\armcm3_stm32f2\nvm.o - 0x0800181c NvmGetUserProgBaseAddress - .text.NvmDone 0x08001824 0x14 ..\obj\~#\~#\~#\source\armcm3_stm32f2\nvm.o - 0x08001824 NvmDone + 0x08001aa8 0x8 ..\obj\~#\~#\~#\source\armcm3_stm32f2\nvm.o + 0x08001aa8 NvmGetUserProgBaseAddress + .text.NvmDone 0x08001ab0 0x14 ..\obj\~#\~#\~#\source\armcm3_stm32f2\nvm.o + 0x08001ab0 NvmDone .text.TimerInit - 0x08001838 0x24 ..\obj\~#\~#\~#\source\armcm3_stm32f2\timer.o - 0x08001838 TimerInit + 0x08001ac4 0x24 ..\obj\~#\~#\~#\source\armcm3_stm32f2\timer.o + 0x08001ac4 TimerInit .text.TimerReset - 0x0800185c 0xc ..\obj\~#\~#\~#\source\armcm3_stm32f2\timer.o - 0x0800185c TimerReset + 0x08001ae8 0xc ..\obj\~#\~#\~#\source\armcm3_stm32f2\timer.o + 0x08001ae8 TimerReset .text.TimerUpdate - 0x08001868 0x1c ..\obj\~#\~#\~#\source\armcm3_stm32f2\timer.o - 0x08001868 TimerUpdate + 0x08001af4 0x1c ..\obj\~#\~#\~#\source\armcm3_stm32f2\timer.o + 0x08001af4 TimerUpdate .text.TimerGet - 0x08001884 0x10 ..\obj\~#\~#\~#\source\armcm3_stm32f2\timer.o - 0x08001884 TimerGet + 0x08001b10 0x10 ..\obj\~#\~#\~#\source\armcm3_stm32f2\timer.o + 0x08001b10 TimerGet .text.UartTransmitByte - 0x08001894 0x34 ..\obj\~#\~#\~#\source\armcm3_stm32f2\uart.o + 0x08001b20 0x34 ..\obj\~#\~#\~#\source\armcm3_stm32f2\uart.o .text.UartReceiveByte - 0x080018c8 0x24 ..\obj\~#\~#\~#\source\armcm3_stm32f2\uart.o + 0x08001b54 0x24 ..\obj\~#\~#\~#\source\armcm3_stm32f2\uart.o .text.UartInit - 0x080018ec 0x3c ..\obj\~#\~#\~#\source\armcm3_stm32f2\uart.o - 0x080018ec UartInit + 0x08001b78 0x3c ..\obj\~#\~#\~#\source\armcm3_stm32f2\uart.o + 0x08001b78 UartInit .text.UartTransmitPacket - 0x08001928 0x58 ..\obj\~#\~#\~#\source\armcm3_stm32f2\uart.o - 0x08001928 UartTransmitPacket + 0x08001bb4 0x58 ..\obj\~#\~#\~#\source\armcm3_stm32f2\uart.o + 0x08001bb4 UartTransmitPacket .text.UartReceivePacket - 0x08001980 0xa0 ..\obj\~#\~#\~#\source\armcm3_stm32f2\uart.o - 0x08001980 UartReceivePacket + 0x08001c0c 0xa0 ..\obj\~#\~#\~#\source\armcm3_stm32f2\uart.o + 0x08001c0c UartReceivePacket .text.AssertFailure - 0x08001a20 0x18 ..\obj\~#\~#\~#\source\assert.o - 0x08001a20 AssertFailure + 0x08001cac 0x18 ..\obj\~#\~#\~#\source\assert.o + 0x08001cac AssertFailure .text.BackDoorCheck - 0x08001a38 0x44 ..\obj\~#\~#\~#\source\backdoor.o - 0x08001a38 BackDoorCheck + 0x08001cc4 0x44 ..\obj\~#\~#\~#\source\backdoor.o + 0x08001cc4 BackDoorCheck .text.BackDoorInit - 0x08001a7c 0x20 ..\obj\~#\~#\~#\source\backdoor.o - 0x08001a7c BackDoorInit + 0x08001d08 0x20 ..\obj\~#\~#\~#\source\backdoor.o + 0x08001d08 BackDoorInit .text.BootInit - 0x08001a9c 0x1c ..\obj\~#\~#\~#\source\boot.o - 0x08001a9c BootInit + 0x08001d28 0x1c ..\obj\~#\~#\~#\source\boot.o + 0x08001d28 BootInit .text.BootTask - 0x08001ab8 0x18 ..\obj\~#\~#\~#\source\boot.o - 0x08001ab8 BootTask - .text.ComInit 0x08001ad0 0x18 ..\obj\~#\~#\~#\source\com.o - 0x08001ad0 ComInit - .text.ComTask 0x08001ae8 0x24 ..\obj\~#\~#\~#\source\com.o - 0x08001ae8 ComTask - .text.ComFree 0x08001b0c 0x4 ..\obj\~#\~#\~#\source\com.o - 0x08001b0c ComFree + 0x08001d44 0x18 ..\obj\~#\~#\~#\source\boot.o + 0x08001d44 BootTask + .text.ComInit 0x08001d5c 0x20 ..\obj\~#\~#\~#\source\com.o + 0x08001d5c ComInit + .text.ComTask 0x08001d7c 0x38 ..\obj\~#\~#\~#\source\com.o + 0x08001d7c ComTask + .text.ComFree 0x08001db4 0x4 ..\obj\~#\~#\~#\source\com.o + 0x08001db4 ComFree .text.ComTransmitPacket - 0x08001b10 0x18 ..\obj\~#\~#\~#\source\com.o - 0x08001b10 ComTransmitPacket + 0x08001db8 0x2c ..\obj\~#\~#\~#\source\com.o + 0x08001db8 ComTransmitPacket .text.ComGetActiveInterfaceMaxRxLen - 0x08001b28 0x14 ..\obj\~#\~#\~#\source\com.o - 0x08001b28 ComGetActiveInterfaceMaxRxLen + 0x08001de4 0x24 ..\obj\~#\~#\~#\source\com.o + 0x08001de4 ComGetActiveInterfaceMaxRxLen .text.ComGetActiveInterfaceMaxTxLen - 0x08001b3c 0x14 ..\obj\~#\~#\~#\source\com.o - 0x08001b3c ComGetActiveInterfaceMaxTxLen + 0x08001e08 0x24 ..\obj\~#\~#\~#\source\com.o + 0x08001e08 ComGetActiveInterfaceMaxTxLen .text.ComIsConnected - 0x08001b50 0x8 ..\obj\~#\~#\~#\source\com.o - 0x08001b50 ComIsConnected - .text.CopInit 0x08001b58 0x8 ..\obj\~#\~#\~#\source\cop.o - 0x08001b58 CopInit + 0x08001e2c 0x8 ..\obj\~#\~#\~#\source\com.o + 0x08001e2c ComIsConnected + .text.CopInit 0x08001e34 0x8 ..\obj\~#\~#\~#\source\cop.o + 0x08001e34 CopInit .text.CopService - 0x08001b60 0x8 ..\obj\~#\~#\~#\source\cop.o - 0x08001b60 CopService + 0x08001e3c 0x8 ..\obj\~#\~#\~#\source\cop.o + 0x08001e3c CopService .text.FileLibByteNibbleToChar - 0x08001b68 0x2c ..\obj\~#\~#\~#\source\file.o + 0x08001e44 0x2c ..\obj\~#\~#\~#\source\file.o .text.FileLibByteToHexString - 0x08001b94 0x20 ..\obj\~#\~#\~#\source\file.o + 0x08001e70 0x20 ..\obj\~#\~#\~#\source\file.o .text.FileLibLongToIntString - 0x08001bb4 0x40 ..\obj\~#\~#\~#\source\file.o + 0x08001e90 0x40 ..\obj\~#\~#\~#\source\file.o .text.FileLibHexStringToByte - 0x08001bf4 0x5c ..\obj\~#\~#\~#\source\file.o + 0x08001ed0 0x5c ..\obj\~#\~#\~#\source\file.o .text.FileInit - 0x08001c50 0x28 ..\obj\~#\~#\~#\source\file.o - 0x08001c50 FileInit + 0x08001f2c 0x28 ..\obj\~#\~#\~#\source\file.o + 0x08001f2c FileInit .text.FileIsIdle - 0x08001c78 0x14 ..\obj\~#\~#\~#\source\file.o - 0x08001c78 FileIsIdle + 0x08001f54 0x14 ..\obj\~#\~#\~#\source\file.o + 0x08001f54 FileIsIdle .text.FileHandleFirmwareUpdateRequest - 0x08001c8c 0x30 ..\obj\~#\~#\~#\source\file.o - 0x08001c8c FileHandleFirmwareUpdateRequest + 0x08001f68 0x30 ..\obj\~#\~#\~#\source\file.o + 0x08001f68 FileHandleFirmwareUpdateRequest .text.FileSrecGetLineType - 0x08001cbc 0x4c ..\obj\~#\~#\~#\source\file.o - 0x08001cbc FileSrecGetLineType + 0x08001f98 0x4c ..\obj\~#\~#\~#\source\file.o + 0x08001f98 FileSrecGetLineType .text.FileSrecVerifyChecksum - 0x08001d08 0x38 ..\obj\~#\~#\~#\source\file.o - 0x08001d08 FileSrecVerifyChecksum + 0x08001fe4 0x38 ..\obj\~#\~#\~#\source\file.o + 0x08001fe4 FileSrecVerifyChecksum .text.FileSrecParseLine - 0x08001d40 0x180 ..\obj\~#\~#\~#\source\file.o - 0x08001d40 FileSrecParseLine + 0x0800201c 0x180 ..\obj\~#\~#\~#\source\file.o + 0x0800201c FileSrecParseLine .text.FileTask - 0x08001ec0 0x370 ..\obj\~#\~#\~#\source\file.o - 0x08001ec0 FileTask - .text.mem_cpy 0x08002230 0x14 ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o + 0x0800219c 0x370 ..\obj\~#\~#\~#\source\file.o + 0x0800219c FileTask + .text.mem_cpy 0x0800250c 0x14 ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o .text.ld_clust - 0x08002244 0x20 ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o - .text.sum_sfn 0x08002264 0x20 ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o + 0x08002520 0x20 ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o + .text.sum_sfn 0x08002540 0x20 ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o .text.check_fs - 0x08002284 0x8c ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o + 0x08002560 0x8c ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o .text.sync_window - 0x08002310 0x78 ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o + 0x080025ec 0x78 ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o .text.move_window - 0x08002388 0x38 ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o + 0x08002664 0x38 ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o .text.validate - 0x080023c0 0x38 ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o + 0x0800269c 0x38 ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o .text.chk_mounted - 0x080023f8 0x388 ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o + 0x080026d4 0x388 ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o .text.get_fileinfo - 0x08002780 0x130 ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o - .text.sync_fs 0x080028b0 0xbc ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o + 0x08002a5c 0x130 ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o + .text.sync_fs 0x08002b8c 0xbc ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o .text.clust2sect - 0x0800296c 0x18 ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o - 0x0800296c clust2sect - .text.get_fat 0x08002984 0xec ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o - 0x08002984 get_fat - .text.dir_sdi 0x08002a70 0x98 ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o - .text.put_fat 0x08002b08 0x10c ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o - 0x08002b08 put_fat + 0x08002c48 0x18 ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o + 0x08002c48 clust2sect + .text.get_fat 0x08002c60 0xec ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o + 0x08002c60 get_fat + .text.dir_sdi 0x08002d4c 0x98 ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o + .text.put_fat 0x08002de4 0x10c ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o + 0x08002de4 put_fat .text.create_chain - 0x08002c14 0xc4 ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o + 0x08002ef0 0xc4 ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o .text.dir_next - 0x08002cd8 0x12c ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o + 0x08002fb4 0x12c ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o .text.dir_find - 0x08002e04 0x180 ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o + 0x080030e0 0x180 ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o .text.follow_path - 0x08002f84 0x314 ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o + 0x08003260 0x314 ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o .text.dir_read - 0x08003298 0x134 ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o + 0x08003574 0x134 ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o .text.dir_remove - 0x080033cc 0x58 ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o + 0x080036a8 0x58 ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o .text.remove_chain - 0x08003424 0x70 ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o + 0x08003700 0x70 ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o .text.gen_numname - 0x08003494 0x98 ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o - 0x08003494 gen_numname + 0x08003770 0x98 ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o + 0x08003770 gen_numname .text.dir_register - 0x0800352c 0x210 ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o - .text.f_mount 0x0800373c 0x24 ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o - 0x0800373c f_mount - .text.f_open 0x08003760 0x168 ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o - 0x08003760 f_open - .text.f_read 0x080038c8 0x1a8 ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o - 0x080038c8 f_read - .text.f_write 0x08003a70 0x1d8 ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o - 0x08003a70 f_write - .text.f_sync 0x08003c48 0xac ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o - 0x08003c48 f_sync - .text.f_close 0x08003cf4 0x14 ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o - 0x08003cf4 f_close - .text.f_lseek 0x08003d08 0x198 ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o - 0x08003d08 f_lseek - .text.f_stat 0x08003ea0 0x48 ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o - 0x08003ea0 f_stat + 0x08003808 0x210 ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o + .text.f_mount 0x08003a18 0x24 ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o + 0x08003a18 f_mount + .text.f_open 0x08003a3c 0x168 ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o + 0x08003a3c f_open + .text.f_read 0x08003ba4 0x1a8 ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o + 0x08003ba4 f_read + .text.f_write 0x08003d4c 0x1d8 ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o + 0x08003d4c f_write + .text.f_sync 0x08003f24 0xac ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o + 0x08003f24 f_sync + .text.f_close 0x08003fd0 0x14 ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o + 0x08003fd0 f_close + .text.f_lseek 0x08003fe4 0x198 ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o + 0x08003fe4 f_lseek + .text.f_stat 0x0800417c 0x48 ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o + 0x0800417c f_stat .text.f_unlink - 0x08003ee8 0xbc ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o - 0x08003ee8 f_unlink - .text.f_gets 0x08003fa4 0x4c ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o - 0x08003fa4 f_gets - .text.f_putc 0x08003ff0 0x34 ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o - 0x08003ff0 f_putc - .text.f_puts 0x08004024 0x2c ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o - 0x08004024 f_puts + 0x080041c4 0xbc ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o + 0x080041c4 f_unlink + .text.f_gets 0x08004280 0x4c ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o + 0x08004280 f_gets + .text.f_putc 0x080042cc 0x34 ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o + 0x080042cc f_putc + .text.f_puts 0x08004300 0x2c ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o + 0x08004300 f_puts .text.ff_convert - 0x08004050 0x40 ..\obj\~#\~#\~#\source\third_party\fatfs\src\option\unicode.o - 0x08004050 ff_convert + 0x0800432c 0x40 ..\obj\~#\~#\~#\source\third_party\fatfs\src\option\unicode.o + 0x0800432c ff_convert .text.ff_wtoupper - 0x08004090 0x2c ..\obj\~#\~#\~#\source\third_party\fatfs\src\option\unicode.o - 0x08004090 ff_wtoupper + 0x0800436c 0x2c ..\obj\~#\~#\~#\source\third_party\fatfs\src\option\unicode.o + 0x0800436c ff_wtoupper .text.XcpSetCtoError - 0x080040bc 0x14 ..\obj\~#\~#\~#\source\xcp.o - .text.XcpInit 0x080040d0 0x1c ..\obj\~#\~#\~#\source\xcp.o - 0x080040d0 XcpInit + 0x08004398 0x14 ..\obj\~#\~#\~#\source\xcp.o + .text.XcpInit 0x080043ac 0x1c ..\obj\~#\~#\~#\source\xcp.o + 0x080043ac XcpInit .text.XcpIsConnected - 0x080040ec 0x10 ..\obj\~#\~#\~#\source\xcp.o - 0x080040ec XcpIsConnected + 0x080043c8 0x10 ..\obj\~#\~#\~#\source\xcp.o + 0x080043c8 XcpIsConnected .text.XcpPacketTransmitted - 0x080040fc 0x10 ..\obj\~#\~#\~#\source\xcp.o - 0x080040fc XcpPacketTransmitted + 0x080043d8 0x10 ..\obj\~#\~#\~#\source\xcp.o + 0x080043d8 XcpPacketTransmitted .text.XcpPacketReceived - 0x0800410c 0x308 ..\obj\~#\~#\~#\source\xcp.o - 0x0800410c XcpPacketReceived - .text.exit 0x08004414 0x28 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7-m\libg_n.a(lib_a-exit.o) - 0x08004414 exit + 0x080043e8 0x308 ..\obj\~#\~#\~#\source\xcp.o + 0x080043e8 XcpPacketReceived + .text.exit 0x080046f0 0x28 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7-m\libg_n.a(lib_a-exit.o) + 0x080046f0 exit .text.__libc_init_array - 0x0800443c 0x4c c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7-m\libg_n.a(lib_a-init.o) - 0x0800443c __libc_init_array - .text.memset 0x08004488 0x10 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7-m\libg_n.a(lib_a-memset.o) - 0x08004488 memset - .text 0x08004498 0x2 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7-m\libnosys_s.a(_exit.o) - 0x08004498 _exit + 0x08004718 0x4c c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7-m\libg_n.a(lib_a-init.o) + 0x08004718 __libc_init_array + .text.memset 0x08004764 0x10 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7-m\libg_n.a(lib_a-memset.o) + 0x08004764 memset + .text 0x08004774 0x2 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7-m\libnosys_s.a(_exit.o) + 0x08004774 _exit *(.init) - *fill* 0x0800449a 0x2 - .init 0x0800449c 0x4 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv7-m/crti.o - 0x0800449c _init - .init 0x080044a0 0x8 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv7-m/crtn.o + *fill* 0x08004776 0x2 + .init 0x08004778 0x4 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv7-m/crti.o + 0x08004778 _init + .init 0x0800477c 0x8 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv7-m/crtn.o *(.fini) - .fini 0x080044a8 0x4 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv7-m/crti.o - 0x080044a8 _fini - .fini 0x080044ac 0x8 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv7-m/crtn.o + .fini 0x08004784 0x4 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv7-m/crti.o + 0x08004784 _fini + .fini 0x08004788 0x8 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv7-m/crtn.o *crtbegin.o(.ctors) *crtbegin?.o(.ctors) *(EXCLUDE_FILE(*crtend.o *crtend?.o) .ctors) @@ -5247,77 +5282,81 @@ LOAD c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none- *(.dtors) *(.rodata*) .rodata.firmwareFilename - 0x080044b4 0x1c ..\obj\hooks.o + 0x08004790 0x1c ..\obj\hooks.o .rodata.str1.4 - 0x080044d0 0xd ..\obj\hooks.o + 0x080047ac 0xd ..\obj\hooks.o 0x10 (size before relaxing) - *fill* 0x080044dd 0x3 + *fill* 0x080047b9 0x3 + .rodata.str1.4 + 0x080047bc 0x28 ..\obj\~#\~#\~#\source\armcm3_stm32f2\can.o + .rodata.canTiming + 0x080047e4 0x24 ..\obj\~#\~#\~#\source\armcm3_stm32f2\can.o .rodata.flashSectorNumToMask - 0x080044e0 0x18 ..\obj\~#\~#\~#\source\armcm3_stm32f2\flash.o + 0x08004808 0x18 ..\obj\~#\~#\~#\source\armcm3_stm32f2\flash.o .rodata.flashLayout - 0x080044f8 0x48 ..\obj\~#\~#\~#\source\armcm3_stm32f2\flash.o + 0x08004820 0x48 ..\obj\~#\~#\~#\source\armcm3_stm32f2\flash.o .rodata.str1.4 - 0x08004540 0x29 ..\obj\~#\~#\~#\source\armcm3_stm32f2\uart.o + 0x08004868 0x29 ..\obj\~#\~#\~#\source\armcm3_stm32f2\uart.o 0x2c (size before relaxing) - *fill* 0x08004569 0x3 + *fill* 0x08004891 0x3 .rodata.str1.4 - 0x0800456c 0x1c1 ..\obj\~#\~#\~#\source\file.o + 0x08004894 0x1c1 ..\obj\~#\~#\~#\source\file.o 0x1c8 (size before relaxing) - *fill* 0x0800472d 0x3 + *fill* 0x08004a55 0x3 .rodata.str1.4 - 0x08004730 0x14 ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o - .rodata.ExCvt 0x08004744 0x80 ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o + 0x08004a58 0x14 ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o + .rodata.ExCvt 0x08004a6c 0x80 ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o .rodata.LfnOfs - 0x080047c4 0x10 ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o + 0x08004aec 0x10 ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o .rodata.tbl_lower.4264 - 0x080047d4 0x1e0 ..\obj\~#\~#\~#\source\third_party\fatfs\src\option\unicode.o - .rodata.Tbl 0x080049b4 0x100 ..\obj\~#\~#\~#\source\third_party\fatfs\src\option\unicode.o + 0x08004afc 0x1e0 ..\obj\~#\~#\~#\source\third_party\fatfs\src\option\unicode.o + .rodata.Tbl 0x08004cdc 0x100 ..\obj\~#\~#\~#\source\third_party\fatfs\src\option\unicode.o .rodata.tbl_upper.4265 - 0x08004ab4 0x1e0 ..\obj\~#\~#\~#\source\third_party\fatfs\src\option\unicode.o + 0x08004ddc 0x1e0 ..\obj\~#\~#\~#\source\third_party\fatfs\src\option\unicode.o .rodata.xcpStationId - 0x08004c94 0x8 ..\obj\~#\~#\~#\source\xcp.o + 0x08004fbc 0x8 ..\obj\~#\~#\~#\source\xcp.o .rodata._ctype_ - 0x08004c9c 0x101 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7-m\libg_n.a(lib_a-ctype_.o) - 0x08004c9c _ctype_ + 0x08004fc4 0x101 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7-m\libg_n.a(lib_a-ctype_.o) + 0x08004fc4 _ctype_ .rodata.str1.1 - 0x08004d9d 0x2 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7-m\libg_n.a(lib_a-impure.o) - *fill* 0x08004d9f 0x1 + 0x080050c5 0x2 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7-m\libg_n.a(lib_a-impure.o) + *fill* 0x080050c7 0x1 .rodata._global_impure_ptr - 0x08004da0 0x4 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7-m\libg_n.a(lib_a-impure.o) - 0x08004da0 _global_impure_ptr + 0x080050c8 0x4 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7-m\libg_n.a(lib_a-impure.o) + 0x080050c8 _global_impure_ptr *(.eh_frame*) - .eh_frame 0x08004da4 0x0 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv7-m/crtbegin.o - .eh_frame 0x08004da4 0x4 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv7-m/crtend.o + .eh_frame 0x080050cc 0x0 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv7-m/crtbegin.o + .eh_frame 0x080050cc 0x4 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv7-m/crtend.o -.glue_7 0x08004da8 0x0 +.glue_7 0x080050d0 0x0 .glue_7 0x00000000 0x0 linker stubs -.glue_7t 0x08004da8 0x0 +.glue_7t 0x080050d0 0x0 .glue_7t 0x00000000 0x0 linker stubs -.vfp11_veneer 0x08004da8 0x0 +.vfp11_veneer 0x080050d0 0x0 .vfp11_veneer 0x00000000 0x0 linker stubs -.v4_bx 0x08004da8 0x0 +.v4_bx 0x080050d0 0x0 .v4_bx 0x00000000 0x0 linker stubs -.iplt 0x08004da8 0x0 +.iplt 0x080050d0 0x0 .iplt 0x00000000 0x0 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv7-m/crtbegin.o .ARM.extab *(.ARM.extab* .gnu.linkonce.armextab.*) - 0x08004da8 __exidx_start = . + 0x080050d0 __exidx_start = . -.ARM.exidx 0x08004da8 0x8 +.ARM.exidx 0x080050d0 0x8 *(.ARM.exidx* .gnu.linkonce.armexidx.*) - .ARM.exidx 0x08004da8 0x8 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7-m/crt0.o - 0x08004db0 __exidx_end = . - 0x08004db0 __etext = . + .ARM.exidx 0x080050d0 0x8 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7-m/crt0.o + 0x080050d8 __exidx_end = . + 0x080050d8 __etext = . -.rel.dyn 0x08004db0 0x0 +.rel.dyn 0x080050d8 0x0 .rel.iplt 0x00000000 0x0 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv7-m/crtbegin.o -.data 0x20000000 0x84 load address 0x08004db0 +.data 0x20000000 0x84 load address 0x080050d8 0x20000000 __data_start__ = . *(vtable) *(.data*) @@ -5352,13 +5391,13 @@ LOAD c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none- 0x20000084 . = ALIGN (0x4) 0x20000084 __data_end__ = . -.jcr 0x20000084 0x0 load address 0x08004e34 +.jcr 0x20000084 0x0 load address 0x0800515c .jcr 0x20000084 0x0 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv7-m/crtbegin.o -.igot.plt 0x20000084 0x0 load address 0x08004e34 +.igot.plt 0x20000084 0x0 load address 0x0800515c .igot.plt 0x00000000 0x0 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv7-m/crtbegin.o -.bss 0x20000084 0xf7c load address 0x08004e34 +.bss 0x20000084 0xf7c load address 0x0800515c 0x20000084 __bss_start__ = . *(.bss*) .bss 0x20000084 0x1c c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv7-m/crtbegin.o @@ -5397,7 +5436,7 @@ LOAD c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none- *fill* 0x2000073d 0x3 .bss.backdoorOpenTime 0x20000740 0x4 ..\obj\~#\~#\~#\source\backdoor.o - .bss.xcpCtoReqPacket.4378 + .bss.xcpCtoReqPacket.4385 0x20000744 0x40 ..\obj\~#\~#\~#\source\com.o .bss.loggingStr 0x20000784 0x40 ..\obj\~#\~#\~#\source\file.o @@ -5468,6 +5507,7 @@ LOAD ..\obj\lib\spl\src\stm32f2xx_usart.o LOAD ..\obj\lib\spl\src\stm32f2xx_wwdg.o LOAD ..\obj\lib\system_stm32f2xx.o LOAD ..\obj\main.o +LOAD ..\obj\~#\~#\~#\source\armcm3_stm32f2\can.o LOAD ..\obj\~#\~#\~#\source\armcm3_stm32f2\cpu.o LOAD ..\obj\~#\~#\~#\source\armcm3_stm32f2\flash.o LOAD ..\obj\~#\~#\~#\source\armcm3_stm32f2\gcc\cstart.o @@ -5526,51 +5566,53 @@ OUTPUT(..\bin\openblt_stm32f207.elf elf32-littlearm) .ARM.attributes 0x00000230 0x33 ..\obj\main.o .ARM.attributes - 0x00000263 0x33 ..\obj\~#\~#\~#\source\armcm3_stm32f2\cpu.o + 0x00000263 0x33 ..\obj\~#\~#\~#\source\armcm3_stm32f2\can.o .ARM.attributes - 0x00000296 0x33 ..\obj\~#\~#\~#\source\armcm3_stm32f2\flash.o + 0x00000296 0x33 ..\obj\~#\~#\~#\source\armcm3_stm32f2\cpu.o .ARM.attributes - 0x000002c9 0x1b ..\obj\~#\~#\~#\source\armcm3_stm32f2\gcc\cstart.o + 0x000002c9 0x33 ..\obj\~#\~#\~#\source\armcm3_stm32f2\flash.o .ARM.attributes - 0x000002e4 0x33 ..\obj\~#\~#\~#\source\armcm3_stm32f2\nvm.o + 0x000002fc 0x1b ..\obj\~#\~#\~#\source\armcm3_stm32f2\gcc\cstart.o .ARM.attributes - 0x00000317 0x33 ..\obj\~#\~#\~#\source\armcm3_stm32f2\timer.o + 0x00000317 0x33 ..\obj\~#\~#\~#\source\armcm3_stm32f2\nvm.o .ARM.attributes - 0x0000034a 0x33 ..\obj\~#\~#\~#\source\armcm3_stm32f2\uart.o + 0x0000034a 0x33 ..\obj\~#\~#\~#\source\armcm3_stm32f2\timer.o .ARM.attributes - 0x0000037d 0x33 ..\obj\~#\~#\~#\source\assert.o + 0x0000037d 0x33 ..\obj\~#\~#\~#\source\armcm3_stm32f2\uart.o .ARM.attributes - 0x000003b0 0x33 ..\obj\~#\~#\~#\source\backdoor.o + 0x000003b0 0x33 ..\obj\~#\~#\~#\source\assert.o .ARM.attributes - 0x000003e3 0x33 ..\obj\~#\~#\~#\source\boot.o + 0x000003e3 0x33 ..\obj\~#\~#\~#\source\backdoor.o .ARM.attributes - 0x00000416 0x33 ..\obj\~#\~#\~#\source\com.o + 0x00000416 0x33 ..\obj\~#\~#\~#\source\boot.o .ARM.attributes - 0x00000449 0x33 ..\obj\~#\~#\~#\source\cop.o + 0x00000449 0x33 ..\obj\~#\~#\~#\source\com.o .ARM.attributes - 0x0000047c 0x33 ..\obj\~#\~#\~#\source\file.o + 0x0000047c 0x33 ..\obj\~#\~#\~#\source\cop.o .ARM.attributes - 0x000004af 0x33 ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o + 0x000004af 0x33 ..\obj\~#\~#\~#\source\file.o .ARM.attributes - 0x000004e2 0x33 ..\obj\~#\~#\~#\source\third_party\fatfs\src\option\unicode.o + 0x000004e2 0x33 ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o .ARM.attributes - 0x00000515 0x33 ..\obj\~#\~#\~#\source\xcp.o + 0x00000515 0x33 ..\obj\~#\~#\~#\source\third_party\fatfs\src\option\unicode.o .ARM.attributes - 0x00000548 0x2d c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7-m\libg_n.a(lib_a-ctype_.o) + 0x00000548 0x33 ..\obj\~#\~#\~#\source\xcp.o .ARM.attributes - 0x00000575 0x2d c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7-m\libg_n.a(lib_a-exit.o) + 0x0000057b 0x2d c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7-m\libg_n.a(lib_a-ctype_.o) .ARM.attributes - 0x000005a2 0x2d c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7-m\libg_n.a(lib_a-impure.o) + 0x000005a8 0x2d c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7-m\libg_n.a(lib_a-exit.o) .ARM.attributes - 0x000005cf 0x2d c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7-m\libg_n.a(lib_a-init.o) + 0x000005d5 0x2d c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7-m\libg_n.a(lib_a-impure.o) .ARM.attributes - 0x000005fc 0x2d c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7-m\libg_n.a(lib_a-memset.o) + 0x00000602 0x2d c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7-m\libg_n.a(lib_a-init.o) .ARM.attributes - 0x00000629 0x2d c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7-m\libnosys_s.a(_exit.o) + 0x0000062f 0x2d c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7-m\libg_n.a(lib_a-memset.o) .ARM.attributes - 0x00000656 0x2d c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv7-m/crtend.o + 0x0000065c 0x2d c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7-m\libnosys_s.a(_exit.o) .ARM.attributes - 0x00000683 0x1d c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv7-m/crtn.o + 0x00000689 0x2d c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv7-m/crtend.o + .ARM.attributes + 0x000006b6 0x1d c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv7-m/crtn.o .comment 0x00000000 0x46 .comment 0x00000000 0x46 ..\obj\hooks.o @@ -5584,6 +5626,7 @@ OUTPUT(..\bin\openblt_stm32f207.elf elf32-littlearm) .comment 0x00000000 0x47 ..\obj\lib\spl\src\stm32f2xx_usart.o .comment 0x00000000 0x47 ..\obj\lib\system_stm32f2xx.o .comment 0x00000000 0x47 ..\obj\main.o + .comment 0x00000000 0x47 ..\obj\~#\~#\~#\source\armcm3_stm32f2\can.o .comment 0x00000000 0x47 ..\obj\~#\~#\~#\source\armcm3_stm32f2\cpu.o .comment 0x00000000 0x47 ..\obj\~#\~#\~#\source\armcm3_stm32f2\flash.o .comment 0x00000000 0x47 ..\obj\~#\~#\~#\source\armcm3_stm32f2\nvm.o @@ -5599,7 +5642,7 @@ OUTPUT(..\bin\openblt_stm32f207.elf elf32-littlearm) .comment 0x00000000 0x47 ..\obj\~#\~#\~#\source\third_party\fatfs\src\option\unicode.o .comment 0x00000000 0x47 ..\obj\~#\~#\~#\source\xcp.o -.debug_info 0x00000000 0xc659 +.debug_info 0x00000000 0xcc9c .debug_info 0x00000000 0x99f ..\obj\hooks.o .debug_info 0x0000099f 0x2ce ..\obj\led.o .debug_info 0x00000c6d 0x13f5 ..\obj\lib\fatfs\mmc.o @@ -5609,24 +5652,25 @@ OUTPUT(..\bin\openblt_stm32f207.elf elf32-littlearm) .debug_info 0x00003cbc 0xb73 ..\obj\lib\spl\src\stm32f2xx_spi.o .debug_info 0x0000482f 0xb49 ..\obj\lib\spl\src\stm32f2xx_usart.o .debug_info 0x00005378 0x590 ..\obj\lib\system_stm32f2xx.o - .debug_info 0x00005908 0x4ca ..\obj\main.o - .debug_info 0x00005dd2 0x1d4 ..\obj\~#\~#\~#\source\armcm3_stm32f2\cpu.o - .debug_info 0x00005fa6 0x88f ..\obj\~#\~#\~#\source\armcm3_stm32f2\flash.o - .debug_info 0x00006835 0xa7 ..\obj\~#\~#\~#\source\armcm3_stm32f2\gcc\cstart.o - .debug_info 0x000068dc 0x255 ..\obj\~#\~#\~#\source\armcm3_stm32f2\nvm.o - .debug_info 0x00006b31 0x19b ..\obj\~#\~#\~#\source\armcm3_stm32f2\timer.o - .debug_info 0x00006ccc 0x608 ..\obj\~#\~#\~#\source\armcm3_stm32f2\uart.o - .debug_info 0x000072d4 0x102 ..\obj\~#\~#\~#\source\assert.o - .debug_info 0x000073d6 0x146 ..\obj\~#\~#\~#\source\backdoor.o - .debug_info 0x0000751c 0x14c ..\obj\~#\~#\~#\source\boot.o - .debug_info 0x00007668 0x297 ..\obj\~#\~#\~#\source\com.o - .debug_info 0x000078ff 0xbc ..\obj\~#\~#\~#\source\cop.o - .debug_info 0x000079bb 0x1175 ..\obj\~#\~#\~#\source\file.o - .debug_info 0x00008b30 0x3142 ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o - .debug_info 0x0000bc72 0x165 ..\obj\~#\~#\~#\source\third_party\fatfs\src\option\unicode.o - .debug_info 0x0000bdd7 0x882 ..\obj\~#\~#\~#\source\xcp.o + .debug_info 0x00005908 0x555 ..\obj\main.o + .debug_info 0x00005e5d 0x52e ..\obj\~#\~#\~#\source\armcm3_stm32f2\can.o + .debug_info 0x0000638b 0x1d4 ..\obj\~#\~#\~#\source\armcm3_stm32f2\cpu.o + .debug_info 0x0000655f 0x88f ..\obj\~#\~#\~#\source\armcm3_stm32f2\flash.o + .debug_info 0x00006dee 0xa7 ..\obj\~#\~#\~#\source\armcm3_stm32f2\gcc\cstart.o + .debug_info 0x00006e95 0x255 ..\obj\~#\~#\~#\source\armcm3_stm32f2\nvm.o + .debug_info 0x000070ea 0x19b ..\obj\~#\~#\~#\source\armcm3_stm32f2\timer.o + .debug_info 0x00007285 0x608 ..\obj\~#\~#\~#\source\armcm3_stm32f2\uart.o + .debug_info 0x0000788d 0x102 ..\obj\~#\~#\~#\source\assert.o + .debug_info 0x0000798f 0x146 ..\obj\~#\~#\~#\source\backdoor.o + .debug_info 0x00007ad5 0x14c ..\obj\~#\~#\~#\source\boot.o + .debug_info 0x00007c21 0x321 ..\obj\~#\~#\~#\source\com.o + .debug_info 0x00007f42 0xbc ..\obj\~#\~#\~#\source\cop.o + .debug_info 0x00007ffe 0x1175 ..\obj\~#\~#\~#\source\file.o + .debug_info 0x00009173 0x3142 ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o + .debug_info 0x0000c2b5 0x165 ..\obj\~#\~#\~#\source\third_party\fatfs\src\option\unicode.o + .debug_info 0x0000c41a 0x882 ..\obj\~#\~#\~#\source\xcp.o -.debug_abbrev 0x00000000 0x276f +.debug_abbrev 0x00000000 0x29ac .debug_abbrev 0x00000000 0x29f ..\obj\hooks.o .debug_abbrev 0x0000029f 0x14a ..\obj\led.o .debug_abbrev 0x000003e9 0x31a ..\obj\lib\fatfs\mmc.o @@ -5637,23 +5681,24 @@ OUTPUT(..\bin\openblt_stm32f207.elf elf32-littlearm) .debug_abbrev 0x00000ea3 0x1d2 ..\obj\lib\spl\src\stm32f2xx_usart.o .debug_abbrev 0x00001075 0x164 ..\obj\lib\system_stm32f2xx.o .debug_abbrev 0x000011d9 0x19b ..\obj\main.o - .debug_abbrev 0x00001374 0xe9 ..\obj\~#\~#\~#\source\armcm3_stm32f2\cpu.o - .debug_abbrev 0x0000145d 0x2fb ..\obj\~#\~#\~#\source\armcm3_stm32f2\flash.o - .debug_abbrev 0x00001758 0x14 ..\obj\~#\~#\~#\source\armcm3_stm32f2\gcc\cstart.o - .debug_abbrev 0x0000176c 0xf9 ..\obj\~#\~#\~#\source\armcm3_stm32f2\nvm.o - .debug_abbrev 0x00001865 0x129 ..\obj\~#\~#\~#\source\armcm3_stm32f2\timer.o - .debug_abbrev 0x0000198e 0x212 ..\obj\~#\~#\~#\source\armcm3_stm32f2\uart.o - .debug_abbrev 0x00001ba0 0x9e ..\obj\~#\~#\~#\source\assert.o - .debug_abbrev 0x00001c3e 0x92 ..\obj\~#\~#\~#\source\backdoor.o - .debug_abbrev 0x00001cd0 0x63 ..\obj\~#\~#\~#\source\boot.o - .debug_abbrev 0x00001d33 0x191 ..\obj\~#\~#\~#\source\com.o - .debug_abbrev 0x00001ec4 0x63 ..\obj\~#\~#\~#\source\cop.o - .debug_abbrev 0x00001f27 0x243 ..\obj\~#\~#\~#\source\file.o - .debug_abbrev 0x0000216a 0x2f3 ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o - .debug_abbrev 0x0000245d 0xab ..\obj\~#\~#\~#\source\third_party\fatfs\src\option\unicode.o - .debug_abbrev 0x00002508 0x267 ..\obj\~#\~#\~#\source\xcp.o + .debug_abbrev 0x00001374 0x23b ..\obj\~#\~#\~#\source\armcm3_stm32f2\can.o + .debug_abbrev 0x000015af 0xe9 ..\obj\~#\~#\~#\source\armcm3_stm32f2\cpu.o + .debug_abbrev 0x00001698 0x2fb ..\obj\~#\~#\~#\source\armcm3_stm32f2\flash.o + .debug_abbrev 0x00001993 0x14 ..\obj\~#\~#\~#\source\armcm3_stm32f2\gcc\cstart.o + .debug_abbrev 0x000019a7 0xf9 ..\obj\~#\~#\~#\source\armcm3_stm32f2\nvm.o + .debug_abbrev 0x00001aa0 0x129 ..\obj\~#\~#\~#\source\armcm3_stm32f2\timer.o + .debug_abbrev 0x00001bc9 0x212 ..\obj\~#\~#\~#\source\armcm3_stm32f2\uart.o + .debug_abbrev 0x00001ddb 0x9e ..\obj\~#\~#\~#\source\assert.o + .debug_abbrev 0x00001e79 0x92 ..\obj\~#\~#\~#\source\backdoor.o + .debug_abbrev 0x00001f0b 0x63 ..\obj\~#\~#\~#\source\boot.o + .debug_abbrev 0x00001f6e 0x193 ..\obj\~#\~#\~#\source\com.o + .debug_abbrev 0x00002101 0x63 ..\obj\~#\~#\~#\source\cop.o + .debug_abbrev 0x00002164 0x243 ..\obj\~#\~#\~#\source\file.o + .debug_abbrev 0x000023a7 0x2f3 ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o + .debug_abbrev 0x0000269a 0xab ..\obj\~#\~#\~#\source\third_party\fatfs\src\option\unicode.o + .debug_abbrev 0x00002745 0x267 ..\obj\~#\~#\~#\source\xcp.o -.debug_loc 0x00000000 0x9e57 +.debug_loc 0x00000000 0x9ff2 .debug_loc 0x00000000 0x6a ..\obj\hooks.o .debug_loc 0x0000006a 0x1030 ..\obj\lib\fatfs\mmc.o .debug_loc 0x0000109a 0x5a8 ..\obj\lib\spl\src\stm32f2xx_flash.o @@ -5662,18 +5707,19 @@ OUTPUT(..\bin\openblt_stm32f207.elf elf32-littlearm) .debug_loc 0x0000239e 0x577 ..\obj\lib\spl\src\stm32f2xx_spi.o .debug_loc 0x00002915 0x838 ..\obj\lib\spl\src\stm32f2xx_usart.o .debug_loc 0x0000314d 0x11f ..\obj\lib\system_stm32f2xx.o - .debug_loc 0x0000326c 0xc1 ..\obj\~#\~#\~#\source\armcm3_stm32f2\cpu.o - .debug_loc 0x0000332d 0x71d ..\obj\~#\~#\~#\source\armcm3_stm32f2\flash.o - .debug_loc 0x00003a4a 0xa5 ..\obj\~#\~#\~#\source\armcm3_stm32f2\nvm.o - .debug_loc 0x00003aef 0x133 ..\obj\~#\~#\~#\source\armcm3_stm32f2\uart.o - .debug_loc 0x00003c22 0x42 ..\obj\~#\~#\~#\source\assert.o - .debug_loc 0x00003c64 0x42 ..\obj\~#\~#\~#\source\com.o - .debug_loc 0x00003ca6 0xb3c ..\obj\~#\~#\~#\source\file.o - .debug_loc 0x000047e2 0x5160 ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o - .debug_loc 0x00009942 0x149 ..\obj\~#\~#\~#\source\third_party\fatfs\src\option\unicode.o - .debug_loc 0x00009a8b 0x3cc ..\obj\~#\~#\~#\source\xcp.o + .debug_loc 0x0000326c 0x152 ..\obj\~#\~#\~#\source\armcm3_stm32f2\can.o + .debug_loc 0x000033be 0xc1 ..\obj\~#\~#\~#\source\armcm3_stm32f2\cpu.o + .debug_loc 0x0000347f 0x71d ..\obj\~#\~#\~#\source\armcm3_stm32f2\flash.o + .debug_loc 0x00003b9c 0xa5 ..\obj\~#\~#\~#\source\armcm3_stm32f2\nvm.o + .debug_loc 0x00003c41 0x133 ..\obj\~#\~#\~#\source\armcm3_stm32f2\uart.o + .debug_loc 0x00003d74 0x42 ..\obj\~#\~#\~#\source\assert.o + .debug_loc 0x00003db6 0x8b ..\obj\~#\~#\~#\source\com.o + .debug_loc 0x00003e41 0xb3c ..\obj\~#\~#\~#\source\file.o + .debug_loc 0x0000497d 0x5160 ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o + .debug_loc 0x00009add 0x149 ..\obj\~#\~#\~#\source\third_party\fatfs\src\option\unicode.o + .debug_loc 0x00009c26 0x3cc ..\obj\~#\~#\~#\source\xcp.o -.debug_aranges 0x00000000 0xaf8 +.debug_aranges 0x00000000 0xb28 .debug_aranges 0x00000000 0x60 ..\obj\hooks.o .debug_aranges @@ -5695,37 +5741,39 @@ OUTPUT(..\bin\openblt_stm32f207.elf elf32-littlearm) .debug_aranges 0x00000620 0x20 ..\obj\main.o .debug_aranges - 0x00000640 0x30 ..\obj\~#\~#\~#\source\armcm3_stm32f2\cpu.o + 0x00000640 0x30 ..\obj\~#\~#\~#\source\armcm3_stm32f2\can.o .debug_aranges - 0x00000670 0x70 ..\obj\~#\~#\~#\source\armcm3_stm32f2\flash.o + 0x00000670 0x30 ..\obj\~#\~#\~#\source\armcm3_stm32f2\cpu.o .debug_aranges - 0x000006e0 0x20 ..\obj\~#\~#\~#\source\armcm3_stm32f2\gcc\cstart.o + 0x000006a0 0x70 ..\obj\~#\~#\~#\source\armcm3_stm32f2\flash.o .debug_aranges - 0x00000700 0x48 ..\obj\~#\~#\~#\source\armcm3_stm32f2\nvm.o + 0x00000710 0x20 ..\obj\~#\~#\~#\source\armcm3_stm32f2\gcc\cstart.o .debug_aranges - 0x00000748 0x38 ..\obj\~#\~#\~#\source\armcm3_stm32f2\timer.o + 0x00000730 0x48 ..\obj\~#\~#\~#\source\armcm3_stm32f2\nvm.o .debug_aranges - 0x00000780 0x40 ..\obj\~#\~#\~#\source\armcm3_stm32f2\uart.o + 0x00000778 0x38 ..\obj\~#\~#\~#\source\armcm3_stm32f2\timer.o .debug_aranges - 0x000007c0 0x20 ..\obj\~#\~#\~#\source\assert.o + 0x000007b0 0x40 ..\obj\~#\~#\~#\source\armcm3_stm32f2\uart.o .debug_aranges - 0x000007e0 0x28 ..\obj\~#\~#\~#\source\backdoor.o + 0x000007f0 0x20 ..\obj\~#\~#\~#\source\assert.o .debug_aranges - 0x00000808 0x28 ..\obj\~#\~#\~#\source\boot.o + 0x00000810 0x28 ..\obj\~#\~#\~#\source\backdoor.o .debug_aranges - 0x00000830 0x50 ..\obj\~#\~#\~#\source\com.o + 0x00000838 0x28 ..\obj\~#\~#\~#\source\boot.o .debug_aranges - 0x00000880 0x28 ..\obj\~#\~#\~#\source\cop.o + 0x00000860 0x50 ..\obj\~#\~#\~#\source\com.o .debug_aranges - 0x000008a8 0x70 ..\obj\~#\~#\~#\source\file.o + 0x000008b0 0x28 ..\obj\~#\~#\~#\source\cop.o .debug_aranges - 0x00000918 0x178 ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o + 0x000008d8 0x70 ..\obj\~#\~#\~#\source\file.o .debug_aranges - 0x00000a90 0x28 ..\obj\~#\~#\~#\source\third_party\fatfs\src\option\unicode.o + 0x00000948 0x178 ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o .debug_aranges - 0x00000ab8 0x40 ..\obj\~#\~#\~#\source\xcp.o + 0x00000ac0 0x28 ..\obj\~#\~#\~#\source\third_party\fatfs\src\option\unicode.o + .debug_aranges + 0x00000ae8 0x40 ..\obj\~#\~#\~#\source\xcp.o -.debug_ranges 0x00000000 0xa08 +.debug_ranges 0x00000000 0xa28 .debug_ranges 0x00000000 0x50 ..\obj\hooks.o .debug_ranges 0x00000050 0x20 ..\obj\led.o .debug_ranges 0x00000070 0x78 ..\obj\lib\fatfs\mmc.o @@ -5736,117 +5784,119 @@ OUTPUT(..\bin\openblt_stm32f207.elf elf32-littlearm) .debug_ranges 0x00000488 0xf0 ..\obj\lib\spl\src\stm32f2xx_usart.o .debug_ranges 0x00000578 0x18 ..\obj\lib\system_stm32f2xx.o .debug_ranges 0x00000590 0x10 ..\obj\main.o - .debug_ranges 0x000005a0 0x20 ..\obj\~#\~#\~#\source\armcm3_stm32f2\cpu.o - .debug_ranges 0x000005c0 0x78 ..\obj\~#\~#\~#\source\armcm3_stm32f2\flash.o - .debug_ranges 0x00000638 0x38 ..\obj\~#\~#\~#\source\armcm3_stm32f2\nvm.o - .debug_ranges 0x00000670 0x28 ..\obj\~#\~#\~#\source\armcm3_stm32f2\timer.o - .debug_ranges 0x00000698 0x30 ..\obj\~#\~#\~#\source\armcm3_stm32f2\uart.o - .debug_ranges 0x000006c8 0x10 ..\obj\~#\~#\~#\source\assert.o - .debug_ranges 0x000006d8 0x18 ..\obj\~#\~#\~#\source\backdoor.o - .debug_ranges 0x000006f0 0x18 ..\obj\~#\~#\~#\source\boot.o - .debug_ranges 0x00000708 0x40 ..\obj\~#\~#\~#\source\com.o - .debug_ranges 0x00000748 0x18 ..\obj\~#\~#\~#\source\cop.o - .debug_ranges 0x00000760 0x78 ..\obj\~#\~#\~#\source\file.o - .debug_ranges 0x000007d8 0x1e8 ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o - .debug_ranges 0x000009c0 0x18 ..\obj\~#\~#\~#\source\third_party\fatfs\src\option\unicode.o - .debug_ranges 0x000009d8 0x30 ..\obj\~#\~#\~#\source\xcp.o + .debug_ranges 0x000005a0 0x20 ..\obj\~#\~#\~#\source\armcm3_stm32f2\can.o + .debug_ranges 0x000005c0 0x20 ..\obj\~#\~#\~#\source\armcm3_stm32f2\cpu.o + .debug_ranges 0x000005e0 0x78 ..\obj\~#\~#\~#\source\armcm3_stm32f2\flash.o + .debug_ranges 0x00000658 0x38 ..\obj\~#\~#\~#\source\armcm3_stm32f2\nvm.o + .debug_ranges 0x00000690 0x28 ..\obj\~#\~#\~#\source\armcm3_stm32f2\timer.o + .debug_ranges 0x000006b8 0x30 ..\obj\~#\~#\~#\source\armcm3_stm32f2\uart.o + .debug_ranges 0x000006e8 0x10 ..\obj\~#\~#\~#\source\assert.o + .debug_ranges 0x000006f8 0x18 ..\obj\~#\~#\~#\source\backdoor.o + .debug_ranges 0x00000710 0x18 ..\obj\~#\~#\~#\source\boot.o + .debug_ranges 0x00000728 0x40 ..\obj\~#\~#\~#\source\com.o + .debug_ranges 0x00000768 0x18 ..\obj\~#\~#\~#\source\cop.o + .debug_ranges 0x00000780 0x78 ..\obj\~#\~#\~#\source\file.o + .debug_ranges 0x000007f8 0x1e8 ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o + .debug_ranges 0x000009e0 0x18 ..\obj\~#\~#\~#\source\third_party\fatfs\src\option\unicode.o + .debug_ranges 0x000009f8 0x30 ..\obj\~#\~#\~#\source\xcp.o -.debug_macro 0x00000000 0x1104c +.debug_macro 0x00000000 0x1118d .debug_macro 0x00000000 0x239 ..\obj\hooks.o .debug_macro 0x00000239 0x862 ..\obj\hooks.o .debug_macro 0x00000a9b 0x1c ..\obj\hooks.o .debug_macro 0x00000ab7 0x1c ..\obj\hooks.o .debug_macro 0x00000ad3 0x22 ..\obj\hooks.o - .debug_macro 0x00000af5 0x87 ..\obj\hooks.o - .debug_macro 0x00000b7c 0x49 ..\obj\hooks.o - .debug_macro 0x00000bc5 0x1c ..\obj\hooks.o - .debug_macro 0x00000be1 0x97 ..\obj\hooks.o - .debug_macro 0x00000c78 0xee ..\obj\hooks.o - .debug_macro 0x00000d66 0x40 ..\obj\hooks.o - .debug_macro 0x00000da6 0x9f ..\obj\hooks.o - .debug_macro 0x00000e45 0x28 ..\obj\hooks.o - .debug_macro 0x00000e6d 0x4c ..\obj\hooks.o - .debug_macro 0x00000eb9 0x3a ..\obj\hooks.o - .debug_macro 0x00000ef3 0x16 ..\obj\hooks.o - .debug_macro 0x00000f09 0x44 ..\obj\hooks.o - .debug_macro 0x00000f4d 0x209 ..\obj\hooks.o - .debug_macro 0x00001156 0x18 ..\obj\hooks.o - .debug_macro 0x0000116e 0xb08 ..\obj\hooks.o - .debug_macro 0x00001c76 0x7f1c ..\obj\hooks.o - .debug_macro 0x00009b92 0x44f ..\obj\hooks.o - .debug_macro 0x00009fe1 0x3cf ..\obj\hooks.o - .debug_macro 0x0000a3b0 0x111 ..\obj\hooks.o - .debug_macro 0x0000a4c1 0x188 ..\obj\hooks.o - .debug_macro 0x0000a649 0xb2 ..\obj\hooks.o - .debug_macro 0x0000a6fb 0x149 ..\obj\hooks.o - .debug_macro 0x0000a844 0x477 ..\obj\hooks.o - .debug_macro 0x0000acbb 0xae ..\obj\hooks.o - .debug_macro 0x0000ad69 0x242 ..\obj\hooks.o - .debug_macro 0x0000afab 0x279 ..\obj\hooks.o - .debug_macro 0x0000b224 0xb5 ..\obj\hooks.o - .debug_macro 0x0000b2d9 0x25e ..\obj\hooks.o - .debug_macro 0x0000b537 0x2b3 ..\obj\hooks.o - .debug_macro 0x0000b7ea 0x64 ..\obj\hooks.o - .debug_macro 0x0000b84e 0x88 ..\obj\hooks.o - .debug_macro 0x0000b8d6 0x536 ..\obj\hooks.o - .debug_macro 0x0000be0c 0x40 ..\obj\hooks.o - .debug_macro 0x0000be4c 0x3f3 ..\obj\hooks.o - .debug_macro 0x0000c23f 0x342 ..\obj\hooks.o - .debug_macro 0x0000c581 0x357 ..\obj\hooks.o - .debug_macro 0x0000c8d8 0xe1 ..\obj\hooks.o - .debug_macro 0x0000c9b9 0x73b ..\obj\hooks.o - .debug_macro 0x0000d0f4 0x221 ..\obj\hooks.o - .debug_macro 0x0000d315 0x34 ..\obj\hooks.o - .debug_macro 0x0000d349 0x82 ..\obj\hooks.o - .debug_macro 0x0000d3cb 0x35 ..\obj\hooks.o - .debug_macro 0x0000d400 0x239 ..\obj\led.o - .debug_macro 0x0000d639 0x228 ..\obj\lib\fatfs\mmc.o - .debug_macro 0x0000d861 0x16 ..\obj\lib\fatfs\mmc.o - .debug_macro 0x0000d877 0x9a ..\obj\lib\fatfs\mmc.o - .debug_macro 0x0000d911 0x198 ..\obj\lib\spl\src\stm32f2xx_flash.o - .debug_macro 0x0000daa9 0x23c ..\obj\lib\spl\src\stm32f2xx_flash.o - .debug_macro 0x0000dce5 0x192 ..\obj\lib\spl\src\stm32f2xx_gpio.o - .debug_macro 0x0000de77 0x258 ..\obj\lib\spl\src\stm32f2xx_gpio.o - .debug_macro 0x0000e0cf 0x23b ..\obj\lib\spl\src\stm32f2xx_rcc.o - .debug_macro 0x0000e30a 0x530 ..\obj\lib\spl\src\stm32f2xx_rcc.o - .debug_macro 0x0000e83a 0x1bc ..\obj\lib\spl\src\stm32f2xx_spi.o - .debug_macro 0x0000e9f6 0x351 ..\obj\lib\spl\src\stm32f2xx_spi.o - .debug_macro 0x0000ed47 0x1aa ..\obj\lib\spl\src\stm32f2xx_usart.o - .debug_macro 0x0000eef1 0x21b ..\obj\lib\spl\src\stm32f2xx_usart.o - .debug_macro 0x0000f10c 0x1ab ..\obj\lib\system_stm32f2xx.o - .debug_macro 0x0000f2b7 0x22f ..\obj\main.o - .debug_macro 0x0000f4e6 0xca ..\obj\~#\~#\~#\source\armcm3_stm32f2\cpu.o - .debug_macro 0x0000f5b0 0x24d ..\obj\~#\~#\~#\source\armcm3_stm32f2\flash.o - .debug_macro 0x0000f7fd 0xc2 ..\obj\~#\~#\~#\source\armcm3_stm32f2\nvm.o - .debug_macro 0x0000f8bf 0x22f ..\obj\~#\~#\~#\source\armcm3_stm32f2\timer.o - .debug_macro 0x0000faee 0x23b ..\obj\~#\~#\~#\source\armcm3_stm32f2\uart.o - .debug_macro 0x0000fd29 0xb8 ..\obj\~#\~#\~#\source\assert.o - .debug_macro 0x0000fde1 0xbe ..\obj\~#\~#\~#\source\backdoor.o - .debug_macro 0x0000fe9f 0xb8 ..\obj\~#\~#\~#\source\boot.o - .debug_macro 0x0000ff57 0xc2 ..\obj\~#\~#\~#\source\com.o - .debug_macro 0x00010019 0xb8 ..\obj\~#\~#\~#\source\cop.o - .debug_macro 0x000100d1 0x180 ..\obj\~#\~#\~#\source\file.o - .debug_macro 0x00010251 0x58 ..\obj\~#\~#\~#\source\file.o - .debug_macro 0x000102a9 0x35 ..\obj\~#\~#\~#\source\file.o - .debug_macro 0x000102de 0xa2 ..\obj\~#\~#\~#\source\file.o - .debug_macro 0x00010380 0x166 ..\obj\~#\~#\~#\source\file.o - .debug_macro 0x000104e6 0x4a ..\obj\~#\~#\~#\source\file.o - .debug_macro 0x00010530 0x52 ..\obj\~#\~#\~#\source\file.o - .debug_macro 0x00010582 0x16 ..\obj\~#\~#\~#\source\file.o - .debug_macro 0x00010598 0x43 ..\obj\~#\~#\~#\source\file.o - .debug_macro 0x000105db 0x180 ..\obj\~#\~#\~#\source\file.o - .debug_macro 0x0001075b 0x2a6 ..\obj\~#\~#\~#\source\file.o - .debug_macro 0x00010a01 0x10 ..\obj\~#\~#\~#\source\file.o - .debug_macro 0x00010a11 0x35 ..\obj\~#\~#\~#\source\file.o - .debug_macro 0x00010a46 0x1f ..\obj\~#\~#\~#\source\file.o - .debug_macro 0x00010a65 0xac ..\obj\~#\~#\~#\source\file.o - .debug_macro 0x00010b11 0x27c ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o - .debug_macro 0x00010d8d 0xac ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o - .debug_macro 0x00010e39 0x58 ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o - .debug_macro 0x00010e91 0x3d ..\obj\~#\~#\~#\source\third_party\fatfs\src\option\unicode.o - .debug_macro 0x00010ece 0x17e ..\obj\~#\~#\~#\source\xcp.o + .debug_macro 0x00000af5 0xb7 ..\obj\hooks.o + .debug_macro 0x00000bac 0x37 ..\obj\hooks.o + .debug_macro 0x00000be3 0x1c ..\obj\hooks.o + .debug_macro 0x00000bff 0x97 ..\obj\hooks.o + .debug_macro 0x00000c96 0xee ..\obj\hooks.o + .debug_macro 0x00000d84 0x40 ..\obj\hooks.o + .debug_macro 0x00000dc4 0x9f ..\obj\hooks.o + .debug_macro 0x00000e63 0x40 ..\obj\hooks.o + .debug_macro 0x00000ea3 0x4c ..\obj\hooks.o + .debug_macro 0x00000eef 0x3a ..\obj\hooks.o + .debug_macro 0x00000f29 0x16 ..\obj\hooks.o + .debug_macro 0x00000f3f 0x44 ..\obj\hooks.o + .debug_macro 0x00000f83 0x209 ..\obj\hooks.o + .debug_macro 0x0000118c 0x18 ..\obj\hooks.o + .debug_macro 0x000011a4 0xb08 ..\obj\hooks.o + .debug_macro 0x00001cac 0x7f1c ..\obj\hooks.o + .debug_macro 0x00009bc8 0x44f ..\obj\hooks.o + .debug_macro 0x0000a017 0x3cf ..\obj\hooks.o + .debug_macro 0x0000a3e6 0x111 ..\obj\hooks.o + .debug_macro 0x0000a4f7 0x188 ..\obj\hooks.o + .debug_macro 0x0000a67f 0xb2 ..\obj\hooks.o + .debug_macro 0x0000a731 0x149 ..\obj\hooks.o + .debug_macro 0x0000a87a 0x477 ..\obj\hooks.o + .debug_macro 0x0000acf1 0xae ..\obj\hooks.o + .debug_macro 0x0000ad9f 0x242 ..\obj\hooks.o + .debug_macro 0x0000afe1 0x279 ..\obj\hooks.o + .debug_macro 0x0000b25a 0xb5 ..\obj\hooks.o + .debug_macro 0x0000b30f 0x25e ..\obj\hooks.o + .debug_macro 0x0000b56d 0x2b3 ..\obj\hooks.o + .debug_macro 0x0000b820 0x64 ..\obj\hooks.o + .debug_macro 0x0000b884 0x88 ..\obj\hooks.o + .debug_macro 0x0000b90c 0x536 ..\obj\hooks.o + .debug_macro 0x0000be42 0x40 ..\obj\hooks.o + .debug_macro 0x0000be82 0x3f3 ..\obj\hooks.o + .debug_macro 0x0000c275 0x342 ..\obj\hooks.o + .debug_macro 0x0000c5b7 0x357 ..\obj\hooks.o + .debug_macro 0x0000c90e 0xe1 ..\obj\hooks.o + .debug_macro 0x0000c9ef 0x73b ..\obj\hooks.o + .debug_macro 0x0000d12a 0x221 ..\obj\hooks.o + .debug_macro 0x0000d34b 0x34 ..\obj\hooks.o + .debug_macro 0x0000d37f 0x82 ..\obj\hooks.o + .debug_macro 0x0000d401 0x35 ..\obj\hooks.o + .debug_macro 0x0000d436 0x239 ..\obj\led.o + .debug_macro 0x0000d66f 0x228 ..\obj\lib\fatfs\mmc.o + .debug_macro 0x0000d897 0x16 ..\obj\lib\fatfs\mmc.o + .debug_macro 0x0000d8ad 0x9a ..\obj\lib\fatfs\mmc.o + .debug_macro 0x0000d947 0x198 ..\obj\lib\spl\src\stm32f2xx_flash.o + .debug_macro 0x0000dadf 0x23c ..\obj\lib\spl\src\stm32f2xx_flash.o + .debug_macro 0x0000dd1b 0x192 ..\obj\lib\spl\src\stm32f2xx_gpio.o + .debug_macro 0x0000dead 0x258 ..\obj\lib\spl\src\stm32f2xx_gpio.o + .debug_macro 0x0000e105 0x23b ..\obj\lib\spl\src\stm32f2xx_rcc.o + .debug_macro 0x0000e340 0x530 ..\obj\lib\spl\src\stm32f2xx_rcc.o + .debug_macro 0x0000e870 0x1bc ..\obj\lib\spl\src\stm32f2xx_spi.o + .debug_macro 0x0000ea2c 0x351 ..\obj\lib\spl\src\stm32f2xx_spi.o + .debug_macro 0x0000ed7d 0x1aa ..\obj\lib\spl\src\stm32f2xx_usart.o + .debug_macro 0x0000ef27 0x21b ..\obj\lib\spl\src\stm32f2xx_usart.o + .debug_macro 0x0000f142 0x1ab ..\obj\lib\system_stm32f2xx.o + .debug_macro 0x0000f2ed 0x22f ..\obj\main.o + .debug_macro 0x0000f51c 0x101 ..\obj\~#\~#\~#\source\armcm3_stm32f2\can.o + .debug_macro 0x0000f61d 0xca ..\obj\~#\~#\~#\source\armcm3_stm32f2\cpu.o + .debug_macro 0x0000f6e7 0x24d ..\obj\~#\~#\~#\source\armcm3_stm32f2\flash.o + .debug_macro 0x0000f934 0xc2 ..\obj\~#\~#\~#\source\armcm3_stm32f2\nvm.o + .debug_macro 0x0000f9f6 0x22f ..\obj\~#\~#\~#\source\armcm3_stm32f2\timer.o + .debug_macro 0x0000fc25 0x23b ..\obj\~#\~#\~#\source\armcm3_stm32f2\uart.o + .debug_macro 0x0000fe60 0xb8 ..\obj\~#\~#\~#\source\assert.o + .debug_macro 0x0000ff18 0xbe ..\obj\~#\~#\~#\source\backdoor.o + .debug_macro 0x0000ffd6 0xb8 ..\obj\~#\~#\~#\source\boot.o + .debug_macro 0x0001008e 0xcc ..\obj\~#\~#\~#\source\com.o + .debug_macro 0x0001015a 0xb8 ..\obj\~#\~#\~#\source\cop.o + .debug_macro 0x00010212 0x180 ..\obj\~#\~#\~#\source\file.o + .debug_macro 0x00010392 0x58 ..\obj\~#\~#\~#\source\file.o + .debug_macro 0x000103ea 0x35 ..\obj\~#\~#\~#\source\file.o + .debug_macro 0x0001041f 0xa2 ..\obj\~#\~#\~#\source\file.o + .debug_macro 0x000104c1 0x166 ..\obj\~#\~#\~#\source\file.o + .debug_macro 0x00010627 0x4a ..\obj\~#\~#\~#\source\file.o + .debug_macro 0x00010671 0x52 ..\obj\~#\~#\~#\source\file.o + .debug_macro 0x000106c3 0x16 ..\obj\~#\~#\~#\source\file.o + .debug_macro 0x000106d9 0x43 ..\obj\~#\~#\~#\source\file.o + .debug_macro 0x0001071c 0x180 ..\obj\~#\~#\~#\source\file.o + .debug_macro 0x0001089c 0x2a6 ..\obj\~#\~#\~#\source\file.o + .debug_macro 0x00010b42 0x10 ..\obj\~#\~#\~#\source\file.o + .debug_macro 0x00010b52 0x35 ..\obj\~#\~#\~#\source\file.o + .debug_macro 0x00010b87 0x1f ..\obj\~#\~#\~#\source\file.o + .debug_macro 0x00010ba6 0xac ..\obj\~#\~#\~#\source\file.o + .debug_macro 0x00010c52 0x27c ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o + .debug_macro 0x00010ece 0xac ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o + .debug_macro 0x00010f7a 0x58 ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o + .debug_macro 0x00010fd2 0x3d ..\obj\~#\~#\~#\source\third_party\fatfs\src\option\unicode.o + .debug_macro 0x0001100f 0x17e ..\obj\~#\~#\~#\source\xcp.o -.debug_line 0x00000000 0x7354 +.debug_line 0x00000000 0x754d .debug_line 0x00000000 0x623 ..\obj\hooks.o .debug_line 0x00000623 0x588 ..\obj\led.o .debug_line 0x00000bab 0x775 ..\obj\lib\fatfs\mmc.o @@ -5856,74 +5906,77 @@ OUTPUT(..\bin\openblt_stm32f207.elf elf32-littlearm) .debug_line 0x000026fd 0x65e ..\obj\lib\spl\src\stm32f2xx_spi.o .debug_line 0x00002d5b 0x6b8 ..\obj\lib\spl\src\stm32f2xx_usart.o .debug_line 0x00003413 0x491 ..\obj\lib\system_stm32f2xx.o - .debug_line 0x000038a4 0x57b ..\obj\main.o - .debug_line 0x00003e1f 0x182 ..\obj\~#\~#\~#\source\armcm3_stm32f2\cpu.o - .debug_line 0x00003fa1 0x6d4 ..\obj\~#\~#\~#\source\armcm3_stm32f2\flash.o - .debug_line 0x00004675 0xea ..\obj\~#\~#\~#\source\armcm3_stm32f2\gcc\cstart.o - .debug_line 0x0000475f 0x1c4 ..\obj\~#\~#\~#\source\armcm3_stm32f2\nvm.o - .debug_line 0x00004923 0x592 ..\obj\~#\~#\~#\source\armcm3_stm32f2\timer.o - .debug_line 0x00004eb5 0x5ea ..\obj\~#\~#\~#\source\armcm3_stm32f2\uart.o - .debug_line 0x0000549f 0x15f ..\obj\~#\~#\~#\source\assert.o - .debug_line 0x000055fe 0x179 ..\obj\~#\~#\~#\source\backdoor.o - .debug_line 0x00005777 0x171 ..\obj\~#\~#\~#\source\boot.o - .debug_line 0x000058e8 0x1dd ..\obj\~#\~#\~#\source\com.o - .debug_line 0x00005ac5 0x166 ..\obj\~#\~#\~#\source\cop.o - .debug_line 0x00005c2b 0x5d3 ..\obj\~#\~#\~#\source\file.o - .debug_line 0x000061fe 0xde9 ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o - .debug_line 0x00006fe7 0x11e ..\obj\~#\~#\~#\source\third_party\fatfs\src\option\unicode.o - .debug_line 0x00007105 0x24f ..\obj\~#\~#\~#\source\xcp.o + .debug_line 0x000038a4 0x587 ..\obj\main.o + .debug_line 0x00003e2b 0x1dd ..\obj\~#\~#\~#\source\armcm3_stm32f2\can.o + .debug_line 0x00004008 0x182 ..\obj\~#\~#\~#\source\armcm3_stm32f2\cpu.o + .debug_line 0x0000418a 0x6d4 ..\obj\~#\~#\~#\source\armcm3_stm32f2\flash.o + .debug_line 0x0000485e 0xea ..\obj\~#\~#\~#\source\armcm3_stm32f2\gcc\cstart.o + .debug_line 0x00004948 0x1c4 ..\obj\~#\~#\~#\source\armcm3_stm32f2\nvm.o + .debug_line 0x00004b0c 0x592 ..\obj\~#\~#\~#\source\armcm3_stm32f2\timer.o + .debug_line 0x0000509e 0x5ea ..\obj\~#\~#\~#\source\armcm3_stm32f2\uart.o + .debug_line 0x00005688 0x15f ..\obj\~#\~#\~#\source\assert.o + .debug_line 0x000057e7 0x179 ..\obj\~#\~#\~#\source\backdoor.o + .debug_line 0x00005960 0x171 ..\obj\~#\~#\~#\source\boot.o + .debug_line 0x00005ad1 0x1ed ..\obj\~#\~#\~#\source\com.o + .debug_line 0x00005cbe 0x166 ..\obj\~#\~#\~#\source\cop.o + .debug_line 0x00005e24 0x5d3 ..\obj\~#\~#\~#\source\file.o + .debug_line 0x000063f7 0xde9 ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o + .debug_line 0x000071e0 0x11e ..\obj\~#\~#\~#\source\third_party\fatfs\src\option\unicode.o + .debug_line 0x000072fe 0x24f ..\obj\~#\~#\~#\source\xcp.o -.debug_str 0x00000000 0x5ba4c - .debug_str 0x00000000 0x5554a ..\obj\hooks.o - 0x5571a (size before relaxing) - .debug_str 0x0005554a 0x59 ..\obj\led.o - 0x552fa (size before relaxing) - .debug_str 0x000555a3 0x705 ..\obj\lib\fatfs\mmc.o +.debug_str 0x00000000 0x5be4a + .debug_str 0x00000000 0x55626 ..\obj\hooks.o + 0x557f6 (size before relaxing) + .debug_str 0x00055626 0x59 ..\obj\led.o + 0x553d6 (size before relaxing) + .debug_str 0x0005567f 0x705 ..\obj\lib\fatfs\mmc.o 0x54b01 (size before relaxing) - .debug_str 0x00055ca8 0x3d7 ..\obj\lib\spl\src\stm32f2xx_flash.o + .debug_str 0x00055d84 0x3d7 ..\obj\lib\spl\src\stm32f2xx_flash.o 0x546ec (size before relaxing) - .debug_str 0x0005607f 0x131 ..\obj\lib\spl\src\stm32f2xx_gpio.o + .debug_str 0x0005615b 0x131 ..\obj\lib\spl\src\stm32f2xx_gpio.o 0x54601 (size before relaxing) - .debug_str 0x000561b0 0xa9b ..\obj\lib\spl\src\stm32f2xx_rcc.o + .debug_str 0x0005628c 0xa9b ..\obj\lib\spl\src\stm32f2xx_rcc.o 0x54e5b (size before relaxing) - .debug_str 0x00056c4b 0x2cb ..\obj\lib\spl\src\stm32f2xx_spi.o + .debug_str 0x00056d27 0x2cb ..\obj\lib\spl\src\stm32f2xx_spi.o 0x548ac (size before relaxing) - .debug_str 0x00056f16 0x4f4 ..\obj\lib\spl\src\stm32f2xx_usart.o + .debug_str 0x00056ff2 0x4f4 ..\obj\lib\spl\src\stm32f2xx_usart.o 0x5492a (size before relaxing) - .debug_str 0x0005740a 0xfc ..\obj\lib\system_stm32f2xx.o + .debug_str 0x000574e6 0xfc ..\obj\lib\system_stm32f2xx.o 0x5450b (size before relaxing) - .debug_str 0x00057506 0x1c ..\obj\main.o - 0x55459 (size before relaxing) - .debug_str 0x00057522 0x19f ..\obj\~#\~#\~#\source\armcm3_stm32f2\cpu.o - 0x3561 (size before relaxing) - .debug_str 0x000576c1 0x2a4 ..\obj\~#\~#\~#\source\armcm3_stm32f2\flash.o - 0x55626 (size before relaxing) - .debug_str 0x00057965 0x4a ..\obj\~#\~#\~#\source\armcm3_stm32f2\nvm.o - 0x349e (size before relaxing) - .debug_str 0x000579af 0x71 ..\obj\~#\~#\~#\source\armcm3_stm32f2\timer.o - 0x5528e (size before relaxing) - .debug_str 0x00057a20 0x123 ..\obj\~#\~#\~#\source\armcm3_stm32f2\uart.o - 0x554e1 (size before relaxing) - .debug_str 0x00057b43 0x44 ..\obj\~#\~#\~#\source\assert.o - 0x33fc (size before relaxing) - .debug_str 0x00057b87 0xb1 ..\obj\~#\~#\~#\source\backdoor.o - 0x3463 (size before relaxing) - .debug_str 0x00057c38 0x44 ..\obj\~#\~#\~#\source\boot.o - 0x341b (size before relaxing) - .debug_str 0x00057c7c 0x10a ..\obj\~#\~#\~#\source\com.o - 0x351a (size before relaxing) - .debug_str 0x00057d86 0x19 ..\obj\~#\~#\~#\source\cop.o - 0x33c8 (size before relaxing) - .debug_str 0x00057d9f 0x2bd8 ..\obj\~#\~#\~#\source\file.o - 0x653e (size before relaxing) - .debug_str 0x0005a977 0xb5d ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o + .debug_str 0x000575e2 0x1c ..\obj\main.o + 0x55535 (size before relaxing) + .debug_str 0x000575fe 0x33b ..\obj\~#\~#\~#\source\armcm3_stm32f2\can.o + 0x3817 (size before relaxing) + .debug_str 0x00057939 0x194 ..\obj\~#\~#\~#\source\armcm3_stm32f2\cpu.o + 0x363d (size before relaxing) + .debug_str 0x00057acd 0x2a4 ..\obj\~#\~#\~#\source\armcm3_stm32f2\flash.o + 0x55702 (size before relaxing) + .debug_str 0x00057d71 0x4a ..\obj\~#\~#\~#\source\armcm3_stm32f2\nvm.o + 0x357a (size before relaxing) + .debug_str 0x00057dbb 0x71 ..\obj\~#\~#\~#\source\armcm3_stm32f2\timer.o + 0x5536a (size before relaxing) + .debug_str 0x00057e2c 0x115 ..\obj\~#\~#\~#\source\armcm3_stm32f2\uart.o + 0x555bd (size before relaxing) + .debug_str 0x00057f41 0x44 ..\obj\~#\~#\~#\source\assert.o + 0x34d8 (size before relaxing) + .debug_str 0x00057f85 0xb1 ..\obj\~#\~#\~#\source\backdoor.o + 0x353f (size before relaxing) + .debug_str 0x00058036 0x44 ..\obj\~#\~#\~#\source\boot.o + 0x34f7 (size before relaxing) + .debug_str 0x0005807a 0x10a ..\obj\~#\~#\~#\source\com.o + 0x3628 (size before relaxing) + .debug_str 0x00058184 0x19 ..\obj\~#\~#\~#\source\cop.o + 0x34a4 (size before relaxing) + .debug_str 0x0005819d 0x2bd8 ..\obj\~#\~#\~#\source\file.o + 0x661a (size before relaxing) + .debug_str 0x0005ad75 0xb5d ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o 0x39de (size before relaxing) - .debug_str 0x0005b4d4 0x58 ..\obj\~#\~#\~#\source\third_party\fatfs\src\option\unicode.o + .debug_str 0x0005b8d2 0x58 ..\obj\~#\~#\~#\source\third_party\fatfs\src\option\unicode.o 0x29bd (size before relaxing) - .debug_str 0x0005b52c 0x520 ..\obj\~#\~#\~#\source\xcp.o - 0x39cb (size before relaxing) + .debug_str 0x0005b92a 0x520 ..\obj\~#\~#\~#\source\xcp.o + 0x3aa7 (size before relaxing) -.debug_frame 0x00000000 0x197c +.debug_frame 0x00000000 0x19dc .debug_frame 0x00000000 0xe8 ..\obj\hooks.o .debug_frame 0x000000e8 0x50 ..\obj\led.o .debug_frame 0x00000138 0x180 ..\obj\lib\fatfs\mmc.o @@ -5934,21 +5987,22 @@ OUTPUT(..\bin\openblt_stm32f207.elf elf32-littlearm) .debug_frame 0x00000ad0 0x20c ..\obj\lib\spl\src\stm32f2xx_usart.o .debug_frame 0x00000cdc 0x34 ..\obj\lib\system_stm32f2xx.o .debug_frame 0x00000d10 0x2c ..\obj\main.o - .debug_frame 0x00000d3c 0x5c ..\obj\~#\~#\~#\source\armcm3_stm32f2\cpu.o - .debug_frame 0x00000d98 0x12c ..\obj\~#\~#\~#\source\armcm3_stm32f2\flash.o - .debug_frame 0x00000ec4 0xa0 ..\obj\~#\~#\~#\source\armcm3_stm32f2\nvm.o - .debug_frame 0x00000f64 0x58 ..\obj\~#\~#\~#\source\armcm3_stm32f2\timer.o - .debug_frame 0x00000fbc 0x9c ..\obj\~#\~#\~#\source\armcm3_stm32f2\uart.o - .debug_frame 0x00001058 0x28 ..\obj\~#\~#\~#\source\assert.o - .debug_frame 0x00001080 0x40 ..\obj\~#\~#\~#\source\backdoor.o - .debug_frame 0x000010c0 0x40 ..\obj\~#\~#\~#\source\boot.o - .debug_frame 0x00001100 0xa0 ..\obj\~#\~#\~#\source\com.o - .debug_frame 0x000011a0 0x40 ..\obj\~#\~#\~#\source\cop.o - .debug_frame 0x000011e0 0x118 ..\obj\~#\~#\~#\source\file.o - .debug_frame 0x000012f8 0x554 ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o - .debug_frame 0x0000184c 0x30 ..\obj\~#\~#\~#\source\third_party\fatfs\src\option\unicode.o - .debug_frame 0x0000187c 0x6c ..\obj\~#\~#\~#\source\xcp.o - .debug_frame 0x000018e8 0x28 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7-m\libg_n.a(lib_a-exit.o) - .debug_frame 0x00001910 0x2c c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7-m\libg_n.a(lib_a-init.o) - .debug_frame 0x0000193c 0x20 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7-m\libg_n.a(lib_a-memset.o) - .debug_frame 0x0000195c 0x20 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7-m\libnosys_s.a(_exit.o) + .debug_frame 0x00000d3c 0x5c ..\obj\~#\~#\~#\source\armcm3_stm32f2\can.o + .debug_frame 0x00000d98 0x5c ..\obj\~#\~#\~#\source\armcm3_stm32f2\cpu.o + .debug_frame 0x00000df4 0x12c ..\obj\~#\~#\~#\source\armcm3_stm32f2\flash.o + .debug_frame 0x00000f20 0xa0 ..\obj\~#\~#\~#\source\armcm3_stm32f2\nvm.o + .debug_frame 0x00000fc0 0x58 ..\obj\~#\~#\~#\source\armcm3_stm32f2\timer.o + .debug_frame 0x00001018 0x9c ..\obj\~#\~#\~#\source\armcm3_stm32f2\uart.o + .debug_frame 0x000010b4 0x28 ..\obj\~#\~#\~#\source\assert.o + .debug_frame 0x000010dc 0x40 ..\obj\~#\~#\~#\source\backdoor.o + .debug_frame 0x0000111c 0x40 ..\obj\~#\~#\~#\source\boot.o + .debug_frame 0x0000115c 0xa4 ..\obj\~#\~#\~#\source\com.o + .debug_frame 0x00001200 0x40 ..\obj\~#\~#\~#\source\cop.o + .debug_frame 0x00001240 0x118 ..\obj\~#\~#\~#\source\file.o + .debug_frame 0x00001358 0x554 ..\obj\~#\~#\~#\source\third_party\fatfs\src\ff.o + .debug_frame 0x000018ac 0x30 ..\obj\~#\~#\~#\source\third_party\fatfs\src\option\unicode.o + .debug_frame 0x000018dc 0x6c ..\obj\~#\~#\~#\source\xcp.o + .debug_frame 0x00001948 0x28 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7-m\libg_n.a(lib_a-exit.o) + .debug_frame 0x00001970 0x2c c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7-m\libg_n.a(lib_a-init.o) + .debug_frame 0x0000199c 0x20 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7-m\libg_n.a(lib_a-memset.o) + .debug_frame 0x000019bc 0x20 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7-m\libnosys_s.a(_exit.o) diff --git a/Target/Demo/ARMCM3_STM32F2_Olimex_STM32P207_GCC/Boot/bin/openblt_stm32f207.srec b/Target/Demo/ARMCM3_STM32F2_Olimex_STM32P207_GCC/Boot/bin/openblt_stm32f207.srec index 9f536957..07d2cf08 100644 --- a/Target/Demo/ARMCM3_STM32F2_Olimex_STM32P207_GCC/Boot/bin/openblt_stm32f207.srec +++ b/Target/Demo/ARMCM3_STM32F2_Olimex_STM32P207_GCC/Boot/bin/openblt_stm32f207.srec @@ -1,67 +1,67 @@ S02000002E2E5C62696E5C6F70656E626C745F73746D3332663230372E73726563AC -S3150800000000800020ED1600083F1700084117000879 -S3150800001043170008451700084717000800000000A6 -S31508000020000000000000000000000000491700085A -S315080000304B170008000000004D1700084F1700086E -S3150800004053170008551700085717000859170008CE -S315080000505B1700085D1700085F170008611700089E -S31508000060631700086517000867170008691700086E -S315080000706B1700086D1700086F170008711700083E -S31508000080731700087517000877170008791700080E -S315080000907B1700087D1700087F17000881170008DE -S315080000A083170008851700088717000889170008AE -S315080000B08B1700088D1700088F170008911700087E -S315080000C0931700089517000897170008991700084E -S315080000D09B1700089D1700089F170008A11700081E -S315080000E0A3170008A5170008A7170008A9170008EE -S315080000F0AB170008AD170008AF170008B1170008BE -S31508000100B3170008B5170008B7170008B91700088D -S31508000110BB170008BD170008BF170008C11700085D -S31508000120C3170008C5170008C7170008C91700082D -S31508000130CB170008CD170008CF170008D1170008FD -S31508000140D3170008D5170008D7170008D9170008CD -S31508000150DB170008DD170008DF170008E11700089D -S31508000160E3170008E5170008E7170008E91700086D -S31508000170EB170008ED170008EF170008F11700083D -S31508000180F317000810B5054C237833B9044B13B19F +S315080000000080002079190008CB190008CD190008CE +S31508000010CF190008D1190008D319000800000000FC +S31508000020000000000000000000000000D5190008CC +S31508000030D719000800000000D9190008DB190008C4 +S31508000040DF190008E1190008E3190008E519000896 +S31508000050E7190008E9190008EB190008ED19000866 +S31508000060EF190008F1190008F3190008F519000836 +S31508000070F7190008F9190008FB190008FD19000806 +S31508000080FF190008011A0008031A0008051A0008D3 +S31508000090071A0008091A00080B1A00080D1A0008A2 +S315080000A00F1A0008111A0008131A0008151A000872 +S315080000B0171A0008191A00081B1A00081D1A000842 +S315080000C01F1A0008211A0008231A0008251A000812 +S315080000D0271A0008291A00082B1A00082D1A0008E2 +S315080000E02F1A0008311A0008331A0008351A0008B2 +S315080000F0371A0008391A00083B1A00083D1A000882 +S315080001003F1A0008411A0008431A0008451A000851 +S31508000110471A0008491A00084B1A00084D1A000821 +S315080001204F1A0008511A0008531A0008551A0008F1 +S31508000130571A0008591A00085B1A00085D1A0008C1 +S315080001405F1A0008611A0008631A0008651A000891 +S31508000150671A0008691A00086B1A00086D1A000861 +S315080001606F1A0008711A0008731A0008751A000831 +S31508000170771A0008791A00087B1A00087D1A000801 +S315080001807F1A000810B5054C237833B9044B13B110 S315080001900448AFF300800123237010BD84000020BB -S315080001A000000000A44D000808B5064B1BB1064820 +S315080001A000000000CC50000808B5064B1BB10648F5 S315080001B00649AFF300800648036813B1054B03B13F -S315080001C0984708BD00000000A44D000888000020DC +S315080001C0984708BD00000000CC50000888000020B1 S315080001D08400002000000000154B002B08BF134BBD S315080001E09D46A3F5803A00218B460F461348144ACC -S315080001F0121A04F049F90F4B002B00D098470E4B02 +S315080001F0121A04F0B7FA0F4B002B00D098470E4B93 S31508000200002B00D098470020002104000D000D485F -S31508000210002802D00C48AFF3008004F00FF9200044 -S31508000220290001F023F804F0F5F800BF00000800E3 +S31508000210002802D00C48AFF3008004F07DFA2000D5 +S31508000220290001F023F804F063FA00BF0000080073 S31508000230008000200000000000000000840000206C S3150800024000100020000000000000000008B500F0C3 S31508000250D9F804484FF4005100F036FE003018BFB4 S31508000260012008BD0008024008B5642000F098F88F S3150800027008BD00BF08B500F099F808BD00B589B0FB S315080002800023009301930293039304930593069323 -S3150800029007930A48694603F003FE40B9009B43B139 +S3150800029007930A48694603F071FF40B9009B43B1CA S315080002A09DF8080080F01000C0F3001002E000205E -S315080002B000E0002009B05DF804FB00BFB444000864 -S315080002C000487047B444000808B50748002380F87A -S315080002D0243206490A2203F043FA18B90122024BCE -S315080002E083F8242208BD00BFA0000020D0440008DF +S315080002B000E0002009B05DF804FB00BF9047000885 +S315080002C0004870479047000808B50748002380F89B +S315080002D0243206490A2203F0B1FB18B90122024B5F +S315080002E083F8242208BD00BFA0000020AC47000800 S315080002F070B50E4B93F82432012B02D10B4803F04C -S31508000300F9FC01F0BFFA00F16406094D402403E048 -S3150800031001F0B8FA864205D32846214600F032FF96 -S315080003200028F5D0034803F0DFFD70BDA0000020CB -S3150800033000440040B444000808B5044B93F824323E -S31508000340012B02D1014803F0D5FC08BDA00000200E +S3150800030067FE01F005FC00F16406094D402403E090 +S3150800031001F0FEFB864205D32846214600F032FF4F +S315080003200028F5D0034803F04DFF70BDA00000205B +S31508000330004400409047000808B5044B93F824325F +S31508000340012B02D1014803F043FE08BDA00000209E S3150800035070B50646104B93F82432012B0AD10E4984 -S3150800036003F060FE002805DA0B48002380F82432E3 -S3150800037003F0C0FC317871B1084C8025204600F0A6 +S3150800036003F0CEFF002805DA0B48002380F8243274 +S3150800037003F02EFE317871B1084C8025204600F036 S31508000380F9FE2046294600F0FDFE0028F9D016F8A9 S31508000390011F0029F2D170BDA000002000480040CE S315080003A0014B1880704700BFCC02002008B501F049 -S315080003B069FA104B1B6898421AD30F4B1B7843B93E +S315080003B0AFFB104B1B6898421AD30F4B1B7843B9F7 S315080003C001220D4B1A700D484FF4807100F082FD22 S315080003D007E00022084B1A7008484FF4807100F0B5 -S315080003E07BFD01F04FFA064B1B881844014A106042 +S315080003E07BFD01F095FB064B1B881844014A1060FB S315080003F008BD00BFC8020020CE020020001402403B S31508000400CC02002008B503484FF4807100F064FD63 S3150800041008BD00BF0014024038B50146074800F081 @@ -296,960 +296,1010 @@ S31508001250054B9A6002B070470038024010300024EF S31508001260193C4005003C024000ED00E080B582B024 S3150800127020200121FFF7A2FE04200121FFF79EFE90 S315080012804FF480200121FFF7A7FE08200121FFF770 -S3150800129095FE4FF48077009700268DF806604FF08C -S315080012A001088DF8078002258DF805508DF8048011 -S315080012B01D4C20466946FFF7BFFD20463946FFF715 +S3150800129095FE4FF48078CDF8008000268DF806601C +S315080012A001258DF8075002248DF805408DF8045065 +S315080012B02F4F38466946FFF7BFFD38464146FFF7C8 S315080012C00BFE8DF804608DF807604FF40053009309 -S315080012D016486946FFF7B0FDA4F5006420460821C4 -S315080012E00722FFF7FBFD204609210722FFF7F6FD37 -S315080012F08DF806608DF807808DF8045000978DF8F4 -S31508001300055020466946FFF797FD8DF804504FF4BF -S315080013100073009320466946FFF78EFD00F0BEFB7A -S3150800132000F0CAFBFCE700BF0014024000080240B8 -S3150800133008B500F06FFA90B1FEF788FF78B100F0B3 -S31508001340E5FB00F08BFA00F069FA20F0604020F027 -S315080013507F00034B186000F061FA4368984708BDA0 -S3150800136008ED00E070B5561EB6B24AB14C1E0E44E2 -S31508001370451A14F8013F2B5500F0F2FBB442F8D198 -S3150800138070BD00BFF8B50746002425460B4E00F091 -S31508001390E7FBA359BB420BD8311949680B449F4256 -S315080013A006D205EB4502054B03EB8202107AF8BD1F -S315080013B001350C34482CEAD1FF20F8BDF844000862 -S315080013C02DE9F84380460068FFF7DCFFFF282FD099 -S315080013D0FFF784FCF320FFF799FCFFF79DFC012833 -S315080013E004D1FFF78BFC0020BDE8F883002408F140 -S315080013F00409D8F80060A71959F8045000F0B0FBA2 -S3150800140038462946FFF7FAFC082807D1A359AB4204 -S3150800141006D10434B4F5007FEBD103E0002402E0E2 -S31508001420002400E00124FFF769FC2046BDE8F883A4 -S315080014300020BDE8F88300BF38B504460D46114BB9 -S31508001440984206D0104B994208D0FFF7B9FF08B961 -S3150800145011E00E4CC5F308037BB900E0094C23687C -S315080014609D420CD0204640F8045B29464FF4007292 -S31508001470FFF778FF03E0002038BD002038BD20467E -S3150800148038BD00BFDC02002000800008E004002010 -S315080014902DE9F04106460C4617461D4621F4FF780D -S315080014A028F001080368B3F1FF3F06D140F8048B22 -S315080014B041464FF40072FFF755FF3368434505D0A0 -S315080014C030464146FFF7B8FF0646D0B13368E41AFE -S315080014D03444043408F5007800F042FB331DE31A5F -S315080014E0B3F5007F06D330464146FFF7A5FF06460B -S315080014F050B1041D17F8013B04F8013B013DEBD13F -S3150800150005E00020BDE8F0810020BDE8F08101205B -S31508001510BDE8F0814FF0FF33024A1360024A1360B8 -S31508001520704700BFE0040020DC02002070B50446C6 -S315080015300D461646FFF726FFFF2814D0681E2044DE -S31508001540FFF720FFFF2810D024F4FF7323F00103D0 -S31508001550074A93420CBF07480748214632462B469E -S31508001560FFF796FF70BD002070BD002070BD00BF5C -S3150800157000800008DC020020E0040020F8B50546DB -S315080015800E46FFF7FFFE0446701E2844FFF7FAFED4 -S315080015900546FF2C31D0FF2831D0844227D8012CAC -S315080015A027D9072827D8FFF799FBF320FFF7AEFBC3 -S315080015B0FFF7B2FB012803D1FFF7A0FB0020F8BD17 -S315080015C0104F022600F0CCFA37F814003146FFF720 -S315080015D0DFFB082803D0FFF791FB0020F8BD013494 -S315080015E0E4B2A542EED2FFF789FB0120F8BD002040 -S315080015F0F8BD0020F8BD0020F8BD0020F8BD002089 -S31508001600F8BD00BFE044000800B583B00F4B1B6867 -S31508001610B3F1FF3F16D00D4B99685A681144DA6842 -S3150800162011441A6911445A6911449A690A44D969D4 -S3150800163053185B4202AA42F8043D05480421FFF705 -S3150800164075FF00E0012003B05DF804FBDC02002012 -S31508001650848100080D4B1868043B1B6818440C4B22 -S315080016601B6818440B4B1B6818440B4B1B68184423 -S315080016700A4B1B6818440A4B1B681844094B1B681D -S315080016801844D0F1010038BF0020704704800008D4 -S31508001690088000080C8000081080000814800008E4 -S315080016A0188000088481000808B50C4B1B68B3F144 -S315080016B0FF3F04D00948FFF783FE034660B1084B95 -S315080016C01B68B3F1FF3F06D00548FFF779FE031CF8 -S315080016D018BF012300E00123184608BDDC020020DC -S315080016E0E0040020004870470080000872B60849E8 -S315080016F08D460849084A094B9A42BEBF51F8040B61 -S3150800170042F8040BF8E706488047064800470000F9 -S3150800171000800020B04D0008000000208400002052 -S3150800172091110008D90100083249334A002301E023 -S3150800173041F8043B9142FBD3FFF798FDFEE7FEE72D -S31508001740FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE763 -S31508001750FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE753 -S31508001760FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE743 -S31508001770FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE733 -S31508001780FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE723 -S31508001790FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE713 -S315080017A0FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE703 -S315080017B0FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE7F3 -S315080017C0FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE7E3 -S315080017D0FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE7D3 -S315080017E0FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE7C3 -S315080017F0FEE7FEE7840000200010002008B5FFF78A -S3150800180089FE08BD08B5FFF791FE08BD08B5FFF7C4 -S31508001810B5FE08BD08B5FFF71DFF08BD08B5FFF7FB -S3150800182061FF08BD08B5FFF7EFFE034610B1FFF7E5 -S315080018303BFF0346184608BD054B00221A600549BA -S3150800184059609A6005211960034B1A60704700BFFA -S3150800185010E000E0BFD40100E40600200022014B9E -S315080018601A60704710E000E0044B1B6813F4803FD1 -S3150800187003D0034B1A6801321A60704710E000E083 -S31508001880E406002008B5FFF7EFFF014B186808BD0E -S31508001890E406002038B504460A488021FFF772FCA2 -S315080018A060B108482146FFF765FC064D80242846A6 -S315080018B02146FFF767FC0028F9D001E0002038BD73 -S315080018C0012038BD0048004010B5044606482021CE -S315080018D0FFF758FC012805D10348FFF74FFC207095 -S315080018E0012010BD002010BD0048004010B584B08E -S315080018F04FF4614300930023ADF80430ADF8063089 -S31508001900ADF80830ADF80C300C23ADF80A30054CAC -S3150800191020466946FFF7B8FB20460121FFF71CFC65 -S3150800192004B010BD004800402DE9F04106460C46BB -S31508001930402903D91148752100F072F82046FFF7AF -S31508001940A9FF012803D00D48792100F069F825463A -S3150800195094B10024DFF82480822700F001F9305D75 -S31508001960FFF798FF012803D04046394600F058F89B -S315080019700134A3B2AB42F0D3BDE8F081404500087C -S3150800198038B50546214B1B789BB92148FFF79CFFC4 -S31508001990012833D11E4B1C78002C34D0FFF772FF78 -S315080019A01C4B186000241C4B1C700122174B1A7024 -S315080019B029E0194B1878194B1844FFF785FF044698 -S315080019C0012810D1144B1A780132D2B21A70104B72 -S315080019D01B78934214D128461049FFF7C3FC00220E -S315080019E00A4B1A700FE0FFF74DFF0A4B1B6864336A -S315080019F0984207D90024054B1C7004E0002402E035 -S31508001A00002400E00024204638BD00BF2D07002032 -S31508001A10E8060020300700202C070020E9060020F1 -S31508001A2008B5034B1860034B196000F099F8FCE7FA -S31508001A30340700203807002008B500F089F8012887 -S31508001A4016D000F019F998B10A4B1B78012B0FD163 -S31508001A50FFF718FF084B1B6803F5FA73984207D37C -S31508001A600022044B1A7000F011F908B9FFF760FC60 -S31508001A7008BD00BF3C0700204007002008B501222A -S31508001A80044B1A70FFF7FEFE034B1860FFF7D4FFEE -S31508001A9008BD00BF3C0700204007002008B500F03D -S31508001AA05BF8FFF7C9FEFFF7A9FE00F0D1F800F0D2 -S31508001AB00FF8FFF7E3FF08BD08B500F051F8FFF788 -S31508001AC0D3FE00F0FDF900F00FF8FFF7B5FF08BDEB -S31508001AD008B502F0FDFAFFF709FF0022014B1A705C -S31508001AE008BD00BF1400002008B50648FFF748FFE8 -S31508001AF0012805D10022044B1A70024802F006FBA1 -S31508001B0008BD00BF4407002014000020704700BF2E -S31508001B1008B5044B1B7813B9C9B2FFF705FF02F0E5 -S31508001B20EDFA08BD14000020034B1B78013B022B7D -S31508001B308CBF40200020704714000020034B1B7800 -S31508001B40013B022B8CBF4020002070471400002068 -S31508001B5008B502F0CBFA08BD08B5FEF785FB08BD47 -S31508001B6008B5FEF787FB08BD00F00F03092802D960 -S31508001B7003F13700704703F13000054B1B68034437 -S31508001B805B7803F00303022B08BF2038C0B2704706 -S31508001B901800002038B505460C460009FFF7E4FF93 -S31508001BA0207005F00F00FFF7DFFF60700023A370B9 -S31508001BB0204638BD30B4024603460D480131A0FB25 -S31508001BC00343DB08FAD1002301F80139084D08461A -S31508001BD0A5FB0243DB0803EB8304A2EB4402303285 -S31508001BE001F801291A46002BF1D130BC704700BF15 -S31508001BF0CDCCCCCC70B4154B1E6800231C46C15CFA -S31508001C007218527802F00302022A08BF2039C9B2B4 -S31508001C10A1F13002D2B2162A11D8A1F13A05EDB2D5 -S31508001C20062D0ED9092A84BFA1F13702D2B202EBDA -S31508001C30041404F0FF040133022BE0D103E0002072 -S31508001C4002E0002000E0204670BC70471800002023 -S31508001C5008B50020054B1870054901F06FFD18B14D -S31508001C6004487721FFF7DCFE08BD00BFC407002043 -S31508001C70D00700206C450008034B1878D0F1010006 -S31508001C8038BF0020704700BFC407002008B5FFF71B -S31508001C905FFF01280AD0084B1B784BB9FEF7EEFA0E -S31508001CA0012807D10122044B1A7008BD002008BD7F -S31508001CB0002008BD002008BDC40700200378114A8B -S31508001CC01268D118497801F00301022908BF203BA0 -S31508001CD0532B0ED143781A44527812F0040F0AD0C7 -S31508001CE0312B0AD0322B0AD0332B14BF0320022003 -S31508001CF07047032070470320704700207047012073 -S31508001D00704700BF1800002070B504460230FFF780 -S31508001D1071FF0646054604342046FFF76BFF30443C -S31508001D20C6B2013DADB20234012DF5D82046FFF703 -S31508001D3061FFF643F6B2864214BF0020012070BD4B -S31508001D402DE9F041044615460F4601B120B95B4816 -S31508001D5040F23121FFF764FE2046FFF7AFFF064643 -S31508001D60032800F08F802046FFF7CEFF002800F0FA -S31508001D708B80012E28D016B1022E51D087E0A01CE8 -S31508001D80FFF738FF8046201DFFF734FF06023E6046 -S31508001D90A01DFFF72FFF3044386004F10806A8F1AC -S31508001DA003081FFA88F8002D73D00FFA88F7002F5A -S31508001DB071DD00243046FFF71DFF28550236013431 -S31508001DC0A4B2BC42F6DB68E0A01CFFF713FF80460E -S31508001DD0201DFFF70FFF06043E60A01DFFF70AFF50 -S31508001DE006EB00263E6004F10800FFF703FF3044C7 -S31508001DF0386004F10A06A8F104081FFA88F8002DCD -S31508001E004DD00FFA88F7002F4BDD00243046FFF738 -S31508001E10F1FE285502360134A4B2BC42F6DB42E094 -S31508001E20A01CFFF7E7FE8046201DFFF7E3FE060627 -S31508001E303E60A01DFFF7DEFE06EB00463E6004F19D -S31508001E400800FFF7D7FE06EB00263E6004F10A00FD -S31508001E50FFF7D0FE3044386004F10C06A8F10508F7 -S31508001E601FFA88F80DB30FFA88F7002F1FDD002434 -S31508001E703046FFF7BFFE285502360134A4B2BC42ED -S31508001E80F6DB16E0002015E04FF6FF7012E00020A2 -S31508001E9010E040460EE040460CE040460AE0404668 -S31508001EA008E0404606E0404604E0404602E0404678 -S31508001EB000E0404600B2BDE8F08100BF6C4500086E -S31508001EC070B5B84B1B78002B00F0A781012B27D1E2 -S31508001ED0FEF7FAF9B448FEF73BFAB448FEF738FAC3 -S31508001EE0FEF7EEF90146B248012201F039FC30B19D -S31508001EF0B048FEF72DFA0120FEF71EFA70BDAE486F -S31508001F00FEF726FAAD48FEF723FAAD48FEF720FAA3 -S31508001F10AC4B00221A605A600222A24B1A7070BD9E -S31508001F20022B40F0A980A84CA8484FF4807104F50C -S31508001F300D7202F037F894F93A32002B0DDA9D4803 -S31508001F40FEF706FA0220FEF7F7F904F50D7001F020 -S31508001F50D1FE0022934B1A7070BD00282ED09B49E3 -S31508001F60084601F5C0710022FFF7EAFEB0F1FF3F0F -S31508001F700CD19048FEF7ECF90320FEF7DDF98C4802 -S31508001F8001F0B8FE0022874B1A7070BD002815DDD7 -S31508001F908C4B5B6833B98B4B8C4AD2F880211A601C -S31508001FA058600BE0894AD2F88021864909688A4236 -S31508001FB03CBF84490A600344824A5360824BD3F883 -S31508001FC03C22D3F840329A4240F0278178480021D3 -S31508001FD001F09AFE60B17748FEF7BAF90420FEF7D9 -S31508001FE0ABF9734801F086FE00226E4B1A7070BD7D -S31508001FF07148FEF7ADF97648FEF7AAF9714D754CAA -S3150800200068682146FFF7D6FD2046FEF7A1F9724813 -S31508002010FEF79EF92E68300E2146FFF7BBFDC6F384 -S315080020200740A11CFFF7B6FDC6F30720211DFFF7E1 -S31508002030B1FDF0B2A11DFFF7ADFD2046FEF788F908 -S315080020406648FEF785F928686968FFF7DFFB60B917 -S315080020505848FEF77DF90520FEF76EF9544801F059 -S3150800206049FE00224F4B1A7070BD5348FEF770F9AF -S3150800207003224C4B1A7070BD032B40F0CE80524C95 -S3150800208052484FF4807104F50D7201F08BFF94F9F4 -S315080020903A32002B0DDA5248FEF75AF90220FEF7BB -S315080020A04BF904F50D7001F025FE00223D4B1A7020 -S315080020B070BD00285BD0454A104602F5C07102F58E -S315080020C08072FFF73DFE0646B0F1FF3F0CD145484A -S315080020D0FEF73EF90320FEF72FF9354801F00AFE10 -S315080020E00022304B1A7070BD002840DD3E48FEF7CE -S315080020F02FF9384C30462146FFF75CFD2046FEF79F -S3150800210027F93A48FEF724F9304D95F88301214618 -S31508002110FFF740FD95F88201A11CFFF73BFD95F8F6 -S315080021208101211DFFF736FD95F88001A11DFFF7F6 -S3150800213031FD2046FEF70CF92848FEF709F9D5F8CF -S315080021408001314605F58072FFF75CFB60B91948D6 -S31508002150FEF7FEF80620FEF7EFF8154801F0CAFD6F -S315080021600022104B1A7070BD1348FEF7F1F8164B93 -S31508002170D3F83C22D3F840329A424ED11C48FEF797 -S31508002180E7F8FFF74FFBA8BB0A48FEF7E1F8072078 -S31508002190FEF7D2F8064801F0ADFD0022014B1A7091 -S315080021A070BD00BFC407002088450008AC4500087C -S315080021B0040A0020D4450008DC450008E445000868 -S315080021C008460008C8070020D0070020280C002071 -S315080021D0384600088407002044460008E8460008F8 -S315080021E06046000884460008A8460008B846000865 -S315080021F0D04600080948FEF7ABF80948FEF7A8F8E4 -S31508002200084801F077FD0848FEF7A2F80022074BB8 -S315080022101A70FEF76DF8FFF78BF870BDDC450008FD -S31508002220EC460008040A002004470008C4070020FA -S3150800223032B1821811F8013B00F8013B9042F9D1FE -S31508002240704700BFCA7E8B7E43EA02230278032AC0 -S3150800225005D1487D0A7D42EA002243EA0243184630 -S31508002260704700BF00F10B010023DA0142EA53036D -S3150800227010F8012B134403F0FF038842F5D11846E2 -S31508002280704700BF10B504460A46407804F1340189 -S315080022900123FEF741FB88BB94F8332294F83232C7 -S315080022A043EA022212B2184B9A4229D194F86D20B9 -S315080022B094F86C301B0443EA026294F86A301343BC -S315080022C094F86B2043EA022222F07F420F4B9A428F -S315080022D018D094F8890094F888301B0443EA006003 -S315080022E094F88630034394F8870043EA002020F0E8 -S315080022F07F40064BC01A18BF012010BD032010BD31 -S31508002300022010BD002010BD55AAFFFF464154000B -S315080023102DE9F041044603791BB3056B00F1340738 -S31508002320407839462A460123FEF740FBE0B90023E8 -S315080023302371636A9D421AD3E26913449D4219D2F6 -S31508002340E678012E19D94FF00108E269154460783C -S3150800235039462A464346FEF729FB013E012EF4D1AB -S315080023600EE00020BDE8F0810120BDE8F0810020E4 -S31508002370BDE8F0810020BDE8F0810020BDE8F081CD -S315080023800020BDE8F08100BF70B504460E46036B19 -S315080023908B420DD0FFF7BCFF054658B9607804F1AB -S315080023A0340132460123FEF7B7FA28B9266304E05A -S315080023B0002502E0012500E00125284670BD00BF82 -S315080023C008B588B103688BB1197889B1D98882882C -S315080023D091420FD15878FEF795FA00F001000028CF -S315080023E00CBF0020032008BD092008BD092008BD30 -S315080023F0092008BD092008BD2DE9F04115460368E6 -S315080024001C78303C092C00F2A4815A783A2A40F00C -S31508002410A0810233036000230B60002C40F060812A -S31508002420D24B1C68002C00F05E810C6023788BB1BF -S315080024306078FEF767FA10F0010F0BD1002D00F057 -S31508002440558100F00400C0B2002814BF0A200020FD -S31508002450BDE8F081002020706070FEF7CDF810F01E -S31508002460010F40F046811DB110F0040F40F0448181 -S3150800247020460021FFF706FF012817D194F8F63108 -S31508002480002B00F03C8194F8FD2194F8FC311B04E4 -S3150800249043EA026294F8FA31134394F8FB5143EA8B -S315080024A0052520462946FFF7EDFE00E0002503280E -S315080024B000F02881002840F0288194F8402094F8FC -S315080024C03F3043EA02231BB2B3F5007F40F0208178 -S315080024D094F84B0094F84A3053EA00200DD194F84A -S315080024E05B2094F85A301B0443EA026294F8583089 -S315080024F0134394F8590043EA0020E06194F8441025 -S31508002500E1704B1EDBB2012B00F2058194F84130D5 -S31508002510A370002B00F002815A1E1A4240F0018176 -S3150800252094F8466094F8452042EA0622228112F081 -S315080025300F0F40F0F98094F8487094F8476056EA0F -S3150800254007260DD194F8577094F85660360446EA73 -S31508002550076794F854603E4394F8557046EA072690 -S3150800256094F843C094F8427057EA0C2700F0DF80CD -S3150800257001FB00FC07EB121161448E42C0F0DA80C1 -S31508002580761AB6FBF3F3002B00F0D78040F6F57603 -S31508002590B3428CBF022601264FF6F578434500F272 -S315080025A0DB800233A36125622F4467622944E16216 -S315080025B0032E13D1002A40F0C38094F8631094F8D0 -S315080025C06220120442EA016194F860200A4394F8F2 -S315080025D0611042EA0122A2629B000DE0002A00F087 -S315080025E0B2806744A762022E0FBF5B0003EB43026B -S315080025F003F0010303EB520303F2FF13B0EB532F6F -S31508002600C0F0A4804FF0FF3323610023E360032E5C -S315080026105AD1637194F8652094F8643043EA02222B -S315080026202A446261607804F134010123FEF774F9E3 -S31508002630002849D194F8332294F8323243EA022228 -S3150800264012B24B4B9A423FD194F8372094F8363061 -S315080026501B0443EA026294F83430134394F8352095 -S3150800266043EA0222434B9A422ED194F81B2294F84D -S315080026701A321B0443EA026294F81832134394F898 -S31508002680192243EA02223C4B9A421DD194F823228E -S3150800269094F822321B0443EA026294F82032134368 -S315080026A094F8212243EA0223E36094F81F2294F85F -S315080026B01E321B0443EA026294F81C32134394F850 -S315080026C01D2243EA0223236126702C4A138801330C -S315080026D09BB21380E380002020632071BDE8F0815F -S315080026E00B20BDE8F0810C20BDE8F0810020BDE894 -S315080026F0F0810320BDE8F0810A20BDE8F0810D20B5 -S31508002700BDE8F0810120BDE8F0810D20BDE8F0812B -S315080027100D20BDE8F0810D20BDE8F0810D20BDE853 -S31508002720F0810D20BDE8F0810D20BDE8F0810D2077 -S31508002730BDE8F0810D20BDE8F0810D20BDE8F081EF -S315080027400D20BDE8F0810D20BDE8F0810D20BDE823 -S31508002750F08100230B6063E60233A36125622F44F0 -S3150800276067622944E162032624E700BFB00F002010 -S3150800277055AAFFFF5252614172724161AC0F0020A7 -S315080027802DE9F0410D4601F109020369002B5ED0DF -S31508002790416991F80C800B78202B1BD00E4600243B -S315080027A008F00807FFB203E016F8013F202B11D006 -S315080027B0052B08BFE52347B1A3F1410C5FFA8CFC52 -S315080027C0BCF1190F9CBF2033DBB202F8013B013480 -S315080027D0082CE9D10B7A202B22D0561C2E231370F5 -S315080027E00B7A202B1BD001F10804171D324608F07E -S315080027F010085FFA88F603E014F8013F202B0FD083 -S3150800280046B1A3F1410C5FFA8CFCBCF1190F9CBFD1 -S315080028102033DBB202F8013BBA42EDD100E0324682 -S31508002820CB7A2B72CC7F8B7F1B0443EA04630C7F25 -S3150800283023434C7F43EA04232B604C7E0B7E43EAFA -S315080028400423AB80CC7D8B7D43EA0423EB800023F5 -S315080028501370AE694EB3EB693BB30369D3B1028C0F -S315080028604FF6FF739A4217D0C7693888B0B100246B -S31508002870A046414601F0ECFB90B1EA69013AA24252 -S3150800288010D90134321902F8010C37F8140000285F -S31508002890EFD108E0002406E0002404E0002402E06A -S315080028A0002400E0002400233355BDE8F08100BF72 -S315080028B010B50446FFF72CFD0346002854D12378AB -S315080028C0032B49D16379002B46D00023236304F1F7 -S315080028D0340104F50D700B46002203F8012B8342E0 -S315080028E0FBD1552384F83232AA2384F83332522393 -S315080028F084F8343084F83530612384F83630412240 -S3150800290084F83720722084F8180284F8190284F8AB -S315080029101A2284F81B32236984F81C32C3F307226F -S3150800292084F81D221A0C84F81E221B0E84F81F3206 -S31508002930E36884F82032C3F3072284F821221A0CAC -S3150800294084F822221B0E84F82332607862690123F8 -S31508002950FEF72CF800236371607800210A46FEF71B -S315080029607FF8031C18BF0123184610BD0239836976 -S31508002970023B99423DBF8278C36A02FB01300020C0 -S31508002980704700BFF8B505460C4601295CD983692E -S3150800299099425BD20378022B28D0032B38D0012B1F -S315080029A056D101EB5106416A01EB5621FFF7ECFCC3 -S315080029B0002850D1C6F308032B4493F83470013627 -S315080029C0696A284601EB5621FFF7DEFC002845D147 -S315080029D0C6F30806354495F8340047EA002014F093 -S315080029E0010F14BF0009C0F30B00F8BD416A01EBE3 -S315080029F01421FFF7C9FCA0BB640004F4FF742B196B -S31508002A0093F834302C4494F8350043EA0020F8BD96 -S31508002A10416A01EBD411FFF7B7FC28BBA40004F404 -S31508002A20FE742B1993F8360093F83720120642EAFB -S31508002A30004293F8350042EA00202C4494F83430DA -S31508002A40184320F07040F8BD0120F8BD0120F8BDFC -S31508002A504FF0FF30F8BD4FF0FF30F8BD4FF0FF30B4 -S31508002A60F8BD4FF0FF30F8BD4FF0FF30F8BD00BF9E -S31508002A7070B504460D46E1808168012938D003689F -S31508002A809A69914236D271B91A78032A01D1996A9C -S31508002A9049B90022E2601A89AA422DD99B6A03EB3A -S31508002AA0151323611BE09E783601B54210D32068C2 -S31508002AB0FFF768FF0146B0F1FF3F1FD001281FD975 -S31508002AC023689B6998421DD2AD1BADB2AE42EED9C2 -S31508002AD0E1602068FFF74AFF00EB1510206105F05A -S31508002AE00F05236803EB451334336361002070BD7B -S31508002AF0022070BD022070BD022070BD012070BD8D -S31508002B00022070BD022070BDF8B505460C46164673 -S31508002B10012979D98369994278D20378022B3ED064 -S31508002B20032B4ED0012B6BD101EB5107416A01EB08 -S31508002B305721FFF729FC0346002862D1C7F308038B -S31508002B4014F0010409D0EA1892F8342002F00F02B2 -S31508002B50F1B242EA0112D2B200E0F2B22B4483F893 -S31508002B603420013701232B71696A284601EB572166 -S31508002B70FFF70AFC0346002843D1C7F3080714B138 -S31508002B80C6F3071607E0EA1992F8342022F00F0276 -S31508002B90C6F3032616432F4487F8346031E0416AAA -S31508002BA001EB1421FFF7F0FB034650BB640004F465 -S31508002BB0FF742A1982F83460C6F3072682F835604E -S31508002BC01FE0416A01EBD411FFF7DEFB0346C0B9EB -S31508002BD0A40004F4FE742A1992F8371009062C4446 -S31508002BE001F070410E4384F83460C6F3072182F879 -S31508002BF03510310C82F83610360E82F8376000E050 -S31508002C00022301222A7102E0022300E00223184669 -S31508002C10F8BD00BF2DE9F0410546884631B9C668BA -S31508002C206EB183699E4228BF012609E0FFF7AAFE16 -S31508002C30012841D9AB6998424CD3464600E00126A3 -S31508002C40344602270134AB699C4202D3012E36D999 -S31508002C503C4628462146FFF795FE38B1B0F1FF3FBE -S31508002C6030D0012830D0B442ECD12FE02646284691 -S31508002C7021466FF07042FFF747FF0346A8B9B8F13F -S31508002C80000F06D0284641462246FFF73DFF034679 -S31508002C9058B9EE602B69B3F1FF3F1AD0013B2B619F -S31508002CA001236B712046BDE8F081012B14BF01207A -S31508002CB04FF0FF30BDE8F0810120BDE8F08100202B -S31508002CC0BDE8F081BDE8F081BDE8F0810020BDE8EF -S31508002CD0F0812046BDE8F0812DE9F84304460E460A -S31508002CE0C5880135ADB2002D6AD00369002B6AD0BC -S31508002CF015F00F075BD101330361C16821B9036879 -S31508002D001B89AB4262D952E000688378013B13EA1B -S31508002D1015134CD1FFF736FE8046012859D9B0F174 -S31508002D20FF3F59D020688369984539D3002E56D07D -S31508002D30E168FFF76FFF8046002853D0012854D07A -S31508002D40B0F1FF3F54D02068FFF7E2FA002852D1CD -S31508002D50236803F1340100231A46CA540133B3F534 -S31508002D60007FFAD1266830464146FFF7FFFD3063FB -S31508002D7000264FF001090BE083F804902068FFF75E -S31508002D80C7FA0136002839D123681A6B01321A634B -S31508002D90F2B2236899789142EED8196B8A1A1A63A7 -S31508002DA0C4F80C8020684146FFF7E0FD2061E58005 -S31508002DB0236803EB4713343363610020BDE8F883C7 -S31508002DC00420BDE8F8830420BDE8F8830420BDE8A4 -S31508002DD0F8830220BDE8F8830120BDE8F8830420C3 -S31508002DE0BDE8F8830720BDE8F8830220BDE8F8832C -S31508002DF00120BDE8F8830120BDE8F8830120BDE87D -S31508002E00F88300BF2DE9F04F85B005460021FFF78E -S31508002E102FFE002840F09E804FF0FF094F46C84617 -S31508002E20DFF85CB10BF10C02009228682969FFF7FC -S31508002E30ABFA002840F08F806C692678002E00F0E7 -S31508002E408B80E37A03F03F02E52E74D013F0080F67 -S31508002E5002D00F2A71D101E00F2A51D1D5F81CA052 -S31508002E60BAF1000F6ED016F0400F06D094F80D9008 -S31508002E7006F0BF06EB882B8403E0B74218BF474627 -S31508002E8060D1637B01934B4559D1237823F04003E6 -S31508002E90013B03EB430203EB820202920BF1FF377D -S31508002EA04FF0010917F8013FE2185078E35C43EA4E -S31508002EB00020B9F1000F10D001F0EAF88146029A15 -S31508002EC0FE2A55D8531C03933AF8120001F0E0F88D -S31508002ED081454DD1039A029203E04FF6FF7398425B -S31508002EE046D1009A9742DDD1237813F0400F3AD0A5 -S31508002EF0B9F1000F37D0029A3AF812309BB337E08F -S31508002F0027B92046FFF7AEF9484527D04FF6FF7395 -S31508002F102B84AB69DA7A12F0010F12D104F10B0097 -S31508002F2001E084421CD014F8011B13F8012B9142CE -S31508002F30F7D0474606E0474604E0474602E04746DC -S31508002F4000E0474628460021FFF7C6FE00283FF462 -S31508002F506CAF07E010E00FE004200DE000200BE066 -S31508002F60002009E008E0013EF7B2DDF80490E9E741 -S31508002F70DDF804904746E5E705B0BDE8F08F00BFE9 -S31508002F80C44700082DE9F04F85B0824689460B787C -S31508002F902F2B01D05C2B01D109F101090023CAF8B6 -S31508002FA0083099F800301F2B08D850460021FFF743 -S31508002FB05FFD03460022CAF8142062E1DFF8D4B2A6 -S31508002FC0C84619F8013B2F2BFAD05C2BF8D0DAF853 -S31508002FD01C5098F800001F2840F226812F2800F080 -S31508002FE029815C2800F02981AF1E46460124A146A6 -S31508002FF00AE02F2B00F023815C2B00F02081B2F52C -S31508003000807F00F034811446494601F021F80146D4 -S31508003010002800F02C817F2809D8222900F0278172 -S315080030205A4612F8013F13B19842FAD11FE127F820 -S31508003030021F621C16F8013F18461F2BD9D8F5E067 -S31508003040002C00F0148105EB440232F8023D202BD7 -S3150800305001D02E2B02D1013CF7D108E1002C00F05B -S315080030600681670005EB070E002325F81430DAF809 -S31508003070183003F10B00202103F8011B8342FBD112 -S31508003080A91E002300E0013331F8022F202AFAD0C6 -S315080030902E2AF8D0002B00F0D68046F00306D2E0A0 -S315080030A0013C07D1082101914FF00008CDF80880AE -S315080030B0039405E0023A32F8021C2E29F0D1F1E712 -S315080030C05F1C35F8130000285ED0202804D02E286F -S315080030D006D1BC4200F0CD8046F003063B46EFE73A -S315080030E0019A904502D2BC4217D1B4E0019B0B2B42 -S315080030F003D146F00306029949E0BC4203D046F0E4 -S315080031000306A74242D802998B00DBB20293039BBF -S315080031100B2201924FF00808D2E77F280DD900212B -S3150800312000F096FF0346002800F0A88057490B4494 -S3150800313013F8800C46F0020650B101462B2807D03A -S31508003140534A12F8013F002B00F08A809942F8D1C1 -S3150800315046F003065F200FE0029A42F0020202924E -S315080031600AE0A0F161039BB2192B05D8029B43F034 -S3150800317001030293203880B2DAF8183003F8080001 -S315080031803B4608F101089BE7029900E00299DAF844 -S3150800319018301A78E52A04BF05221A70019A082AF7 -S315080031A002D18900C9B20291029901F00C030C2BD5 -S315080031B003D001F00302032A01D146F0020616F0F5 -S315080031C0020F0AD1029901F00302012A08BF46F04C -S315080031D01006042B08BF46F00806DAF81830DE7227 -S315080031E05046FFF70FFEDAF81830DA7A034648B188 -S315080031F0042846D102F00403DBB2002B14BF0346B1 -S3150800320005233EE012F0040F3BD1DAF81410CB7A0E -S3150800321013F0100F06D0DAF80000FFF713F8CAF813 -S315080032200800CDE605232CE00024012208EB02095C -S31508003230042605E70024012201E00024012208EB08 -S3150800324002090026FCE62F4437F8022C2E2A3FF402 -S3150800325029AF724624E7019A0B2A7FF454AF48E750 -S31508003260A0F141039BB2192B7FF676AF79E70623C7 -S3150800327007E0019B0B2B7FF446AF3AE746F00206C0 -S3150800328066E7184605B0BDE8F08F00BF444700085A -S315080032903C470008304700082DE9F04F83B0044644 -S315080032A088464FF0FF094E4604254F46DFF818A119 -S315080032B00AF10C0B74E02068FFF766F8054600284B -S315080032C072D162691378002B78D0D17AE52B5AD05F -S315080032D02E2B5AD001F03F01082914BF00200120E7 -S315080032E0404554D10F2944D113F0400F06D092F827 -S315080032F00D9003F0BF03E188218403E09E4218BFC6 -S315080033003E4647D192F80DE0CE4542D1E16900919B -S31508003310117801F03F01013901EB410501EB850503 -S315080033200AF1FF314FF0010C4FF6FF79019363461E -S31508003330DDF800C011F8010F16187678105C40EA1F -S31508003340062033B1FE2D36D82CF815000346013574 -S3150800335001E048452FD15945ECD1019B127812F06E -S31508003360400F24D0FE2D26D80022009921F81520DA -S315080033701DE010461EB9FEF775FF484520D04FF6EA -S31508003380FF7323841CE03E4604E03E4602E03E46C8 -S3150800339000E03E4620460021FFF79EFC054618B988 -S315080033A02169002987D15DB10023236108E0013B2B -S315080033B0DEB2F146EEE7F1463E46EBE70425F3E7D3 -S315080033C0284603B0BDE8F08FC44700082DE9F04150 -S315080033D00446C588018C4FF6FF73994208BF2946F3 -S315080033E0FFF746FB0346D0B9E52701264FF000084C -S315080033F020682169FEF7C8FF034668B96269177035 -S3150800340022681671E288AA4209D220464146FFF789 -S3150800341063FC03460028EBD0042B08BF022318469A -S31508003420BDE8F0812DE9F04104460E46012924D96C -S315080034308369994223D200274FF001082046314676 -S31508003440FFF7A0FA0546E0B101281CD0B0F1FF3F0E -S315080034501BD0204631463A46FFF756FB0146A8B927 -S315080034602369B3F1FF3F03D00133236184F8058054 -S31508003470A369AB420AD92E46E0E7022106E00221FB -S3150800348004E0002102E0022100E001210846BDE82F -S31508003490F08100BF70B582B0054616461C460B2261 -S315080034A0FEF7C6FE052C0AD9B21EE30343EA540406 -S315080034B032F8023F1C44A4B25388002BF5D10722E8 -S315080034C004F00F0101F13003392B88BF01F13703EE -S315080034D0013A00A911444B702409F1D114467E2102 -S315080034E002AB134403F8081C62B12B78202B0BD0CF -S315080034F0294600230133A34207D011F8010F2028DB -S31508003500F8D102E0002300E000232020072A05D88E -S3150800351002A9114411F8081C013200E00146E954D9 -S315080035200133072BF2D902B070BD00BF2DE9F04F69 -S3150800353085B004468769C66901A839460C22FEF794 -S3150800354077FE9DF80F3013F0010F1CD00023FB7295 -S31508003550E3610125384601A932462B46FFF79AFF53 -S315080035602046FFF74FFC20B90135ADB2642DF1D1E5 -S31508003570C0E0642D00F0C080042840F0BF809DF8AC -S315080035800F30FB72E6619DF80F3013F0020F13D06F -S3150800359033883BB1002301339BB236F81320002A47 -S315080035A0F9D100E000231933624F87FB0327DB17A5 -S315080035B0C3EBA707BFB200E0012720460021FFF7AB -S315080035C057FA0346002840F0B1800025A846012690 -S315080035D020682169FEF7D8FE0346002840F0A68039 -S315080035E063691B78E52B00D01BB90135AF4201D1C1 -S315080035F085E0454620463146FFF76EFB0346002820 -S31508003600E6D093E0E188C91B204689B2FFF730FA75 -S315080036100346002840F08A80A069FEF723FE80460C -S31508003620454E20682169FEF7AFFE034600287DD186 -S31508003630D4F81C9061695FFA87FB81F80D804FF01A -S315080036400F03CB7200230B738B76CB760BF1FF320D -S3150800365002EB420002EB800001224FF6FF7E4FF09C -S31508003660FF0A02E028467346013273454BD0451CD3 -S3150800367039F81030B01810F8010C0B5408444FEA0A -S31508003680132C80F801C0002B46D028460C2AEBD90B -S315080036904FF6FF72934202D039F810300BB94BF04F -S315080036A0400B81F800B0236801221A7120460021D8 -S315080036B0FFF712FB0346002838D1013FBFB2002F9F -S315080036C0AFD12CE0636903F12001002203F8012B36 -S315080036D08B42FBD16069A1690B22FEF7A9FD6369DC -S315080036E0A269D27A02F018021A73236801221A71A3 -S315080036F000201CE007201AE0072018E017E0013F29 -S31508003700BFB267B17EE7B51815F8015C01F805A0E8 -S315080037100D4485F801A0B9E70C2AA3D9BFE72068AC -S315080037202169FEF731FE0028CCD000E0184605B026 -S31508003730BDE8F08F4FECC44EC447000858B9074B94 -S315080037401B680BB100221A7009B100230B70034BDA -S315080037501960002070470B20704700BFB00F00208B -S315080037602DE9F0438FB0019115460446002800F074 -S3150800377091800023036001A805A902F01E02FEF746 -S315080037803BFE002840F0888005F01F0702AB0B932C -S315080037904C4B0C9305A80199FFF7F4FB0A9E0346C8 -S315080037A000287FD1002E78D17BE05BB1042B40F056 -S315080037B0858005A8FFF7BAFE47F008070A9E034664 -S315080037C038B17BE0F37A13F0110F70D115F0040FBE -S315080037D06FD117F0080F3CD0FDF77CFAB073C0F331 -S315080037E00723F373030C3374000E70740025F57207 -S315080037F035777577B577F577DDF814804046314625 -S31508003800FEF720FDB576F57635757575012388F8CA -S3150800381004300546E8B1D8F8309040462946FFF707 -S3150800382001FE0346002849D10598013DC560494671 -S31508003830FEF7AAFD03460AE0F37A13F0100F3AD111 -S3150800384015F0020F05D013F0010F36D101E0002B59 -S3150800385034D117F0080F18BF47F02007059D2B6BCA -S31508003860E3612662A77128463146FEF7EBFC206124 -S31508003870F27FB37F1B0443EA0263327F1343727FEE -S3150800388043EA0223E3600020A060A0612560EB887C -S31508003890A38014E0092012E011E015F01C0F91D165 -S315080038A0CAE7062315F01C0F7FF47FAFCFE707237F -S315080038B004E0082302E0042300E0072318460FB0BB -S315080038C0BDE8F083AC0D00202DE9F04F83B0044627 -S315080038D00F4690461E4600233360FEF771FD00280A -S315080038E040F0BB80A37913F0800F40F0B78013F047 -S315080038F0010F00F0B580E568A368ED1AA84538BF42 -S315080039004546002D00F0AE8004F124030193A36818 -S31508003910C3F30802002A40F08680206890F802A0C7 -S315080039200AF1FF3A0AEA532A1AF0FF0A17D10BB925 -S31508003930206902E06169FFF725F8012805D8A3790F -S3150800394063F07F03A37102208FE0B0F1FF3F05D13A -S31508003950A37963F07F03A371012086E06061D4F840 -S31508003960008040466169FFF701F8814628B9A379C6 -S3150800397063F07F03A371022077E0D1445FEA552BF9 -S3150800398029D098F802300BEB0A029A4288BFCAEB94 -S31508003990030B98F8010039464A465FFA8BF3FCF7A1 -S315080039A0BBFF28B1A37963F07F03A37101205CE014 -S315080039B0A37913F0400F0BD0A369C9EB0300834525 -S315080039C006D907EB402001994FF40072FEF730FC48 -S315080039D04FEA4B2B35E0A2694A4522D0A37913F06A -S315080039E0400F10D098F8010001990123FCF7DEFF7B -S315080039F028B1A37963F07F03A371012035E0A37989 -S31508003A0023F04003A3712368587801994A46012395 -S31508003A10FCF782FF28B1A37963F07F03A371012025 -S31508003A2023E0C4F81890A168C1F30801C1F5007B2A -S31508003A305D4538BFAB462144384624315A46FEF721 -S31508003A40F7FB5F44A3685B44A36033685B44336059 -S31508003A50B5EB0B057FF45BAF06E006E0022004E059 -S31508003A60072002E0002000E0002003B0BDE8F08F48 -S31508003A702DE9F04F83B004460F4615461E4600232F -S31508003A803360FEF79DFC002840F0D680A37913F03A -S31508003A90800F40F0D28013F0020F00F0D080E36868 -S31508003AA0DD4280F0BE80002D00F0BB8004F12403C7 -S31508003AB00193A368C3F30802002A40F095802068A2 -S31508003AC090F802B00BF1FF3B0BEA532B1BF0FF0BF0 -S31508003AD021D13BB9236963B90021FFF79BF8034657 -S31508003AE0206103E06169FFF795F80346002B00F0B3 -S31508003AF09880012B05D1A37963F07F03A371022077 -S31508003B009EE0B3F1FF3F05D1A37963F07F03A3716C -S31508003B10012095E06361A37913F0400F11D0236863 -S31508003B2058780199A2690123FCF740FF28B1A379C7 -S31508003B3063F07F03A371012082E0A37923F0400399 -S31508003B40A371D4F8008040466169FEF70FFF8146ED -S31508003B5028B9A37963F07F03A371022070E0D944E2 -S31508003B605FEA552A29D098F802300AEB0B029A42E6 -S31508003B7088BFCBEB030A98F8010039464A465FFA34 -S31508003B808AF3FCF713FF28B1A37963F07F03A371C7 -S31508003B90012055E0A369C9EB03018A450AD90198B2 -S31508003BA007EB41214FF40072FEF742FBA37923F09D -S31508003BB04003A3714FEA4A2A28E0A3694B4511D06E -S31508003BC0A268E3689A420DD298F8010001994A461C -S31508003BD00123FCF7A1FE28B1A37963F07F03A37143 -S31508003BE001202DE0C4F81890A068C0F30800C0F5BD -S31508003BF0007A554538BFAA462044243039465246ED -S31508003C00FEF716FBA37943F04003A3715744A36854 -S31508003C105344A360336853443360B5EB0A057FF415 -S31508003C2048AFA368E268934288BFE360A37943F08C -S31508003C302003A371002003E002E0022000E0072031 -S31508003C4003B0BDE8F08F00BF38B50446FEF7B8FBF1 -S31508003C50002849D1A37913F0200F46D013F0400F5E -S31508003C600DD0214651F8243B5878A2690123FCF768 -S31508003C709DFE00283BD1A37923F04003A371206859 -S31508003C80E169FEF781FB002833D1256AEB7A43F018 -S31508003C902003EB72E3682B77A3891B0A6B77E3890A -S31508003CA0AB77E37BEB772369AB76C3F30722EA7638 -S31508003CB01B0C2B751B0A6B75FDF70CF8A875C0F362 -S31508003CC00723EB75030C2B76000E68760023AB747E -S31508003CD0EB74A37923F02003A371236801221A71D8 -S31508003CE02068FEF7E5FD38BD38BD002038BD012047 -S31508003CF038BD38BD10B50446FFF7A6FF034608B918 -S31508003D0000222260184610BD70B504460D46FEF71F -S31508003D1057FB002840F0BC80A37913F0800F40F0D1 -S31508003D20B880E268AA4205D203F00203DBB2002B90 -S31508003D3008BF1546A2680023A360002D00F0AB80DB -S31508003D402068867876026AB1013A691EB1FBF6F1F7 -S31508003D50B2FBF6F3994205D373421A40A260AD1A34 -S31508003D60616917E02169A1B9FEF754FF01460128E8 -S31508003D7005D1A37963F07F03A371022070BDB0F16A -S31508003D80FF3F05D1A37963F07F03A371012070BDBE -S31508003D9020616161002940D0B5422BD9A27912F081 -S31508003DA0020F05D02068FEF735FF014620B920E04E -S31508003DB02068FEF7E7FD0146B1F1FF3F05D1A3797B -S31508003DC063F07F03A371012070BD012903D922681E -S31508003DD09269914205D3A37963F07F03A371022008 -S31508003DE070BD6161A2683244A260AD1BAE42D5D3F4 -S31508003DF000E03546A2682A44A260C5F3080272B1FB -S31508003E002068FEF7B3FD28B9A37963F07F03A37191 -S31508003E10022070BD00EB552502E0002500E00025D4 -S31508003E20A368C3F3080343B3A269AA4225D0A379BA -S31508003E3013F0400F11D0214651F8243B587801233E -S31508003E40FCF7B4FD28B1A37963F07F03A3710120C1 -S31508003E5070BDA37923F04003A371214651F8243B92 -S31508003E6058782A460123FCF757FD28B1A37963F051 -S31508003E707F03A371012070BDA561A368E268934220 -S31508003E800BD9E360A37943F02003A371002070BD2A -S31508003E9070BD022070BD002070BD002070BD00BF3F -S31508003EA030B58FB00EAB43F8340D0D46184605A94C -S31508003EB00022FEF7A1FA044688B902AB0B93094B18 -S31508003EC00C9305A80199FFF75DF8044638B90A9BD3 -S31508003ED023B105A82946FEF753FC00E00624204630 -S31508003EE00FB030BDAC0D002030B599B018AB43F813 -S31508003EF05C0D18460FA90122FEF77EFA0346002834 -S31508003F004AD103AB1593264B16930FA80199FFF7D1 -S31508003F1039F8034600283FD1149939B3CC7A14F0FE -S31508003F20010F25D126E0012D2CD906A80FA9242298 -S31508003F30FEF77EF9089506A80221FEF799FD0346C5 -S31508003F4050BB06A80021FFF7A7F9034618B30428B3 -S31508003F501AD021E02DB10F982946FFF763FA0346D8 -S31508003F60D0B90F98FEF7A4FC034615E0062313E024 -S31508003F70072311E00F98FEF765F9054614F0100FB0 -S31508003F80D1D101E0022307E00FA8FFF71FFA034685 -S31508003F900028DFD000E00723184619B030BD00BF5F -S31508003FA0AC0D00202DE9F04182B080461746054643 -S31508003FB000244E1E11E0384601A901226B46FFF780 -S31508003FC083FC009B012B0AD19DF804300D2B04D0ED -S31508003FD005F8013B01340A2B01D0A642EBDC00238D -S31508003FE02B709C4214BF4046184602B0BDE8F081CB -S31508003FF030B583B004460D460A2802D10D20FFF7D6 -S31508004000F7FF02A901F8084D28466946012201ABC7 -S31508004010FFF72EFD019B012B14BF4FF0FF30012047 -S3150800402003B030BD70B505460E46007860B1002471 -S315080040303146FFF7DDFFB0F1FF3F08D0013415F830 -S31508004040010F0028F4D101E0002070BD204670BDA4 -S315080040507F281AD911B9C72807D111E0FF2813D824 -S3150800406080380A4B33F810007047084A012332F8A3 -S31508004070021F814205D001339BB2802BF7D100E0A5 -S3150800408000238033D8B2704700207047B44900082F -S31508004090612809D007490022013231F8023F3BB1B5 -S315080040A08342F9D10BB970470022034B33F812004B -S315080040B0704700BFD4470008B44A0008034BFE22E5 -S315080040C0DA7018710222A3F844207047B40F002052 -S315080040D0054B00221A709A6483F84320A3F84420FB -S315080040E09A705A70704700BFB40F0020024B1878B8 -S315080040F0003018BF01207047B40F00200022024B81 -S3150800410083F84320704700BFB40F002038B5044633 -S315080041100378FF2B20D1FDF7AFFD18B91020FFF764 -S31508004120CDFF5EE1AB4C0023637001252570FF22AD -S31508004130E270102222716371FDF7F6FCA071FDF79B -S31508004140FDFCE071FDF7FAFC000A20726572A572A3 -S315080041500823A4F8443044E19E4A1278012A40F024 -S315080041605581C93B352B00F23981DFE813F0C000D1 -S31508004170370137012F01370137012601DB00150109 -S315080041800501370137013701370137013701370193 -S315080041903701370137013701370137013701370151 -S315080041A03701370137013701370137013701370141 -S315080041B03701370137013701370137013701370131 -S315080041C037017600510036006D0037013701370197 -S315080041D092003701A400A800B6004578FDF7A4FCB4 -S315080041E00138854203DD2220FFF768FFF9E0794DA3 -S315080041F0281DA96C6278FDF7B5F8FF23EB70627885 -S31508004200AB6C1344AB6463780133A5F84430E8E03B -S315080042104578FDF789FC0138854203DD2220FFF742 -S315080042204DFFDEE061686B4DA964281D6278FDF7D5 -S3150800423099F8FF23EB706278AB6C1344AB64637830 -S315080042400133A5F84430CCE0624BFF22DA704268AD -S315080042509A640122A3F84420C3E05E4BFF22DA7079 -S315080042609B6C406840B11844002213F8011B0A44AD -S31508004270D2B28342F9D100E00022564BC3F8072098 -S3150800428001221A7100225A719A710822A3F8442051 -S31508004290A7E0504BFF22DA704F4A9A6400221A713F -S315080042A05A719A710721D9711A725A729A7208222A -S315080042B0A3F8442095E00020FFF700FF91E0454B66 -S315080042C0FF22DA7000221A71597859719A71DA71D7 -S315080042D01A720622A3F8442083E03E4B00221A7085 -S315080042E05A70FF22DA700122A3F8442079E0394B8C -S315080042F09D6CFDF719FC411E2846621CFDF782FAE3 -S3150800430018B93120FFF7DAFE6BE0324CFF23E37071 -S31508004310A56CFDF709FC013D2844A0640123A4F817 -S3150800432044305EE04578FDF7FFFB0238854203DD41 -S315080043302220FFF7C3FE54E0264BFF22DA70012243 -S31508004340A3F84420617839B9FDF76CFA002848D1FA -S315080043503120FFF7B3FE44E01E4B986CA21CFDF714 -S3150800436051FA18B93120FFF7A9FE3AE0194B6178DE -S315080043709A6C0A449A6434E0164CFF23E3700025CD -S3150800438025716571FDF7D0FBA071E571257265721F -S315080043900723A4F8443024E00E4B986C6168FDF7B7 -S315080043A035FA18B93120FFF789FE1AE0094BFF22C2 -S315080043B0DA700122A3F8442013E0FCF7B9FF054B95 -S315080043C0FF22DA700122A3F844200AE03120FFF721 -S315080043D075FE06E0B40F0020944C00082020FFF775 -S315080043E06DFE0B4B93F84330012B02D11020FFF7DB -S315080043F065FE074BB3F844100BB2002B06DD0448E4 -S31508004400012380F843300330FDF782FB38BD00BF37 -S31508004410B40F002008B5074B044613B10021AFF3CB -S315080044200080054B1868836A03B19847204600F058 -S3150800443033F800BF00000000A04D000870B50E4B11 -S315080044400E4D0024ED1AAD101E46AC4204D056F8A7 -S31508004450242090470134F8E700F020F8084D094B6E -S315080044600024ED1AAD101E46AC4204D056F824209E -S3150800447090470134F8E770BD7C0000207C000020DE -S31508004480800000207C00002002440346934202D0AC -S3150800449003F8011BFAE77047FEE70000F8B500BF0E -S315080044A0F8BC08BC9E467047F8B500BFF8BC08BC07 -S315080044B09E4670472F64656D6F70726F675F737481 -S315080044C06D3332663230372E737265630000000032 -S315080044D02F626F6F746C6F672E747874000000001B -S315080044E000000800100018002000280030003800DE -S315080044F040004800500058000080000800400000B6 -S315080045000200000000C00008004000000300000090 -S315080045100000010800000100040000000000020875 -S315080045200000020005000000000004080000020068 -S315080045300600000000000608000002000700000050 -S315080045402E2E5C2E2E5C2E2E5C2E2E5C536F7572D4 -S3150800455063655C41524D434D335F53544D33324688 -S31508004560325C756172742E63000000002E2E5C2E7C -S315080045702E5C2E2E5C2E2E5C536F757263655C6600 -S31508004580696C652E630000004669726D7761726515 -S315080045902075706461746520726571756573742021 -S315080045A064657465637465640A0D00004F70656E12 -S315080045B0696E67206669726D776172652066696CD7 -S315080045C06520666F722072656164696E672E2E2E8D -S315080045D0000000004552524F520A0D004F4B0A0D7B -S315080045E0000000005374617274696E672074686510 -S315080045F02070726F6772616D6D696E672073657181 -S3150800460075656E63650A0D0050617273696E672081 -S315080046106669726D776172652066696C6520746F6C -S31508004620206F627461696E206572617365207369B3 -S315080046307A652E2E2E00000045726173696E67201A -S31508004640000000002062797465732066726F6D2021 -S315080046506D656D6F727920617420307800000000F6 -S3150800466052656164696E67206C696E652066726F53 -S315080046706D2066696C652E2E2E4552524F520A0DD4 -S3150800468000000000496E76616C69642063686563A2 -S315080046906B73756D20666F756E642E2E2E4552529D -S315080046A04F520A0D0000000050726F6772616D6DFF -S315080046B0696E6720000000002062797465732074B3 -S315080046C06F206D656D6F72792061742030780000F7 -S315080046D057726974696E672070726F6772616D20B0 -S315080046E0636865636B73756D2E2E2E00436C6F734E -S315080046F0696E67206669726D776172652066696C96 -S31508004700650A0D004669726D776172652075706479 -S31508004710617465207375636365737366756C6C790C -S3150800472020636F6D706C657465640A0D0000000087 -S31508004730222A3A3C3E3F7C7F000000002B2C3B3D62 -S315080047405B5D0000809A90418E418F8045454549C2 -S3150800475049498E8F9092924F994F555559999A9BE0 -S315080047609C9D9E9F41494F55A5A5A6A7A8A9AAAB5A -S31508004770AC21AEAFB0B1B2B3B4B5B6B7B8B9BABB7F -S31508004780BCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBE3 -S31508004790CCCDCECFD0D1D2D3D4D5D6D7D8D9DADBD3 -S315080047A0DCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBC3 -S315080047B0ECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBB3 -S315080047C0FCFDFEFF01030507090E10121416181C3E -S315080047D01E00000061006200630064006500660058 -S315080047E06700680069006A006B006C006D006E0067 -S315080047F06F00700071007200730074007500760017 -S315080048007700780079007A00A100A200A300A5002D -S31508004810AC00AF00E000E100E200E300E400E500E0 -S31508004820E600E700E800E900EA00EB00EC00ED002E -S31508004830EE00EF00F000F100F200F300F400F500DE -S31508004840F600F800F900FA00FB00FC00FD00FE0087 -S31508004850FF00010103010501070109010B010D0113 -S315080048600F01110113011501170119011B011D0182 -S315080048701F01210123012501270129012B012D01F2 -S315080048802F0131013301350137013A013C013E015F -S31508004890400142014401460148014B014D014F01C7 -S315080048A0510153015501570159015B015D015F0132 -S315080048B0610163016501670169016B016D016F01A2 -S315080048C071017301750177017A017C017E019201FC -S315080048D0B103B203B303B403B503B603B703B8030E -S315080048E0B903BA03BB03BC03BD03BE03BF03C003BE -S315080048F0C103C303C403C503C603C703C803C90367 -S31508004900CA0330043104320433043404350436044B -S315080049103704380439043A043B043C043D043E0495 -S315080049203F04400441044204430444044504460445 -S315080049304704480449044A044B044C044D044E04F5 -S315080049404F0451045204530454045504560457049E -S31508004950580459045A045B045C045E045F0470211D -S31508004960712172217321742175217621772178218D -S3150800497079217A217B217C217D217E217F2141FF9E -S3150800498042FF43FF44FF45FF46FF47FF48FF49FFF5 -S315080049904AFF4BFF4CFF4DFF4EFF4FFF50FF51FFA5 -S315080049A052FF53FF54FF55FF56FF57FF58FF59FF55 -S315080049B05AFF0000C700FC00E900E200E400E0003E -S315080049C0E500E700EA00EB00E800EF00EE00EC0087 -S315080049D0C400C500C900E600C600F400F600F200EF -S315080049E0FB00F900FF00D600DC00A200A300A5002A -S315080049F0A7209201E100ED00F300FA00F100D100D2 -S31508004A00AA00BA00BF001023AC00BD00BC00A1007C -S31508004A10AB00BB0091259225932502252425612507 -S31508004A206225562555256325512557255D255C257F -S31508004A305B251025142534252C251C2500253C2509 -S31508004A405E255F255A255425692566256025502546 -S31508004A506C25672568256425652559255825522519 -S31508004A6053256B256A2518250C25882584258C252C -S31508004A7090258025B103DF009303C003A303C30376 -S31508004A80B500C403A6039803A903B4031E22C603EC -S31508004A90B50329226122B10065226422202321233D -S31508004AA0F7004822B0001922B7001A227F20B20068 -S31508004AB0A025A000410042004300440045004600EE -S31508004AC04700480049004A004B004C004D004E0084 -S31508004AD04F00500051005200530054005500560034 -S31508004AE05700580059005A002100E0FFE1FFE5FF92 -S31508004AF0E2FFE3FFC000C100C200C300C400C50056 -S31508004B00C600C700C800C900CA00CB00CC00CD004B -S31508004B10CE00CF00D000D100D200D300D400D500FB -S31508004B20D600D800D900DA00DB00DC00DD00DE00A4 -S31508004B307801000102010401060108010A010C01BD -S31508004B400E01100112011401160118011A011C01A7 -S31508004B501E01200122012401260128012A012C0117 -S31508004B602E01300132013401360139013B013D0184 -S31508004B703F0141014301450147014A014C014E01EC -S31508004B80500152015401560158015A015C015E0157 -S31508004B90600162016401660168016A016C016E01C7 -S31508004BA0700172017401760179017B017D01910121 -S31508004BB0910392039303940395039603970398032B -S31508004BC099039A039B039C039D039E039F03A003DB -S31508004BD0A103A303A403A503A603A703A803A90384 -S31508004BE0AA03100411041204130414041504160469 -S31508004BF01704180419041A041B041C041D041E04B3 -S31508004C001F04200421042204230424042504260462 -S31508004C102704280429042A042B042C042D042E0412 -S31508004C202F0401040204030404040504060407040B -S31508004C30080409040A040B040C040E040F0460217A -S31508004C40612162216321642165216621672168212A -S31508004C5069216A216B216C216D216E216F2121FF4B -S31508004C6022FF23FF24FF25FF26FF27FF28FF29FF12 -S31508004C702AFF2BFF2CFF2DFF2EFF2FFF30FF31FFC2 -S31508004C8032FF33FF34FF35FF36FF37FF38FF39FF72 -S31508004C903AFF00004F70656E424C540000202020F9 -S31508004CA020202020202028282828282020202020CE -S31508004CB0202020202020202020202020208810109E -S31508004CC010101010101010101010101010040404FA -S31508004CD004040404040404101010101010104141B8 -S31508004CE041414141010101010101010101010101A6 -S31508004CF001010101010101011010101010104242BA -S31508004D004242424202020202020202020202020275 -S31508004D100202020202020202101010102000000015 -S31508004D200000000000000000000000000000000075 -S31508004D300000000000000000000000000000000065 -S31508004D400000000000000000000000000000000055 -S31508004D500000000000000000000000000000000045 -S31508004D600000000000000000000000000000000035 -S31508004D700000000000000000000000000000000025 -S31508004D800000000000000000000000000000000015 -S31508004D9000000000000000000000000000430000C2 -S30D08004DA01C00002000000000C1 -S30D08004DA830B4FF7F0100000092 -S31508004DB001000000000000000102030401020304D0 -S31508004DC006070809040000009C4C000800000000C3 -S31508004DD000000000000000000000000000000000C5 -S31508004DE00000000000000000000000009D4D0008C3 -S31508004DF000000000000000000000000000000000A5 -S31508004E000000000000000000000000000000000094 -S31508004E100000000000000000000000000000000084 -S31508004E20000000000000000000000000A9010008C2 -S30908004E3085010008E2 +S315080012D028486946FFF7B0FDA7F500673846082194 +S315080012E00722FFF7FBFD384609210722FFF7F6FD1F +S315080012F08DF806608DF807508DF80440CDF800800B +S315080013008DF8054038466946FFF796FD8DF8044086 +S315080013104FF40073009338466946FFF78DFD204663 +S315080013202946FFF74BFEA7F500673846082109222C +S31508001330FFF7D4FD384609210A46FFF7CFFD4FF4DB +S31508001340407300938DF804408DF805408DF80660CB +S315080013508DF8075038466946FFF76EFD4FF0007066 +S315080013602946FFF739FE00F0DFFC00F0EBFCFCE74E +S315080013700014024000080240F8B500231F46494EF3 +S315080013804FF4FA7047F230519C5DF218557862199D +S3150800139002FB000291FBF2FC02FB1C1CBCF1000FD5 +S315080013A006D191FBF2F77A1E92B2B2F5806F03D39B +S315080013B00233242BE8D16EE03B4B00225A611A68AF +S315080013C042F400421A601B6813F4004F06D0364EEA +S315080013D000F034FD336813F4004FF9D1324B1A6824 +S315080013E022F002021A601A6842F001021A605B686B +S315080013F013F0010F06D12C4E00F020FD736813F090 +S31508001400010FF9D0013C013D2D0545EA0444013F91 +S315080014102743254BDF611A6822F001021A605B68D0 +S3150800142013F0010F06D0204C00F008FD636813F096 +S31508001430010FF9D11C4BD3F8002242F00102C3F880 +S315080014400022D3F81C2222F00102C3F81C22D3F88A +S315080014500C2242F00102C3F80C220022C3F84022F3 +S31508001460C3F84422D3F8042222F00102C3F8042266 +S31508001470D3F8142222F00102C3F81422D3F81C224E +S3150800148042F00102C3F81C22D3F8002222F001021E +S31508001490C3F80022F8BD0548EC2100F007FC00243B +S315080014A0254689E7E447000800640040BC47000871 +S315080014B038B504460D46224B9B6813F0806F04D15D +S315080014C020484FF4A07100F0F1FB1D4BD3F88021A2 +S315080014D002F00102C3F88021D3F8802142F07C4251 +S315080014E042F40012C3F88021C3F88451E178A27847 +S315080014F0120442EA016221780A43617842EA01222B +S31508001500C3F88821E179A279120442EA01622179B5 +S315080015100A43617942EA0122C3F88C21D3F8802173 +S3150800152042F00102C3F880219B6813F0806F06D150 +S31508001530034C00F083FCA36813F0806FF9D038BD24 +S3150800154000640040BC4700081B4BDB6813F0030F20 +S315080015502FD0194BD3F8B02140F26763B3EB525F33 +S3150800156020D1154BD3F8B8210270D3F8B821120A46 +S315080015704270D3F8B821120C8270D3F8B821120E33 +S31508001580C270D3F8BC210271D3F8BC21120A427189 +S31508001590D3F8BC21120C8271D3F8BC311B0EC3716F +S315080015A0012000E00020044BDA6842F02002DA60ED +S315080015B070470020704700BF0064004008B500F07F +S315080015C06FFA90B1FEF742FE78B100F0F3FB00F037 +S315080015D08BFA00F069FA20F0604020F07F00034B98 +S315080015E0186000F061FA4368984708BD08ED00E006 +S315080015F070B5561EB6B24AB14C1E0E44451A14F8BA +S31508001600013F2B5500F01AFCB442F8D170BD00BF5B +S31508001610F8B50746002425460B4E00F00FFCA359E3 +S31508001620BB420BD8311949680B449F4206D205EBD9 +S315080016304502054B03EB8202107AF8BD01350C34DE +S31508001640482CEAD1FF20F8BD204800082DE9F843C8 +S3150800165080460068FFF7DCFFFF282FD0FFF73EFB28 +S31508001660F320FFF753FBFFF757FB012804D1FFF7D9 +S3150800167045FB0020BDE8F883002408F10409D8F8E2 +S315080016800060A71959F8045000F0D8FB38462946D7 +S31508001690FFF7B4FB082807D1A359AB4206D1043497 +S315080016A0B4F5007FEBD103E0002402E0002400E05B +S315080016B00124FFF723FB2046BDE8F8830020BDE898 +S315080016C0F88300BF38B504460D46114B984206D03C +S315080016D0104B994208D0FFF7B9FF08B911E00E4C34 +S315080016E0C5F308037BB900E0094C23689D420CD07A +S315080016F0204640F8045B29464FF40072FFF778FF4E +S3150800170003E0002038BD002038BD204638BD00BFA4 +S31508001710DC02002000800008E00400202DE9F041EA +S3150800172006460C4617461D4621F4FF7828F00108A0 +S315080017300368B3F1FF3F06D140F8048B41464FF4E6 +S315080017400072FFF755FF3368434505D030464146DA +S31508001750FFF7B8FF0646D0B13368E41A34440434B8 +S3150800176008F5007800F06AFB331DE31AB3F5007F2D +S3150800177006D330464146FFF7A5FF064650B1041D7D +S3150800178017F8013B04F8013B013DEBD105E00020C9 +S31508001790BDE8F0810020BDE8F0810120BDE8F081B8 +S315080017A04FF0FF33024A1360024A1360704700BFC6 +S315080017B0E0040020DC02002070B504460D461646FB +S315080017C0FFF726FFFF2814D0681E2044FFF720FFE6 +S315080017D0FF2810D024F4FF7323F00103074A93422D +S315080017E00CBF07480748214632462B46FFF796FFA7 +S315080017F070BD002070BD002070BD00BF00800008CD +S31508001800DC020020E0040020F8B505460E46FFF786 +S31508001810FFFE0446701E2844FFF7FAFE0546FF2C15 +S3150800182031D0FF2831D0844227D8012C27D9072860 +S3150800183027D8FFF753FAF320FFF768FAFFF76CFA91 +S31508001840012803D1FFF75AFA0020F8BD104F0226E7 +S3150800185000F0F4FA37F814003146FFF799FA082829 +S3150800186003D0FFF74BFA0020F8BD0134E4B2A542D5 +S31508001870EED2FFF743FA0120F8BD0020F8BD00209C +S31508001880F8BD0020F8BD0020F8BD0020F8BD00BF57 +S315080018900848000800B583B00F4B1B68B3F1FF3F3B +S315080018A016D00D4B99685A681144DA6811441A69BA +S315080018B011445A6911449A690A44D96953185B4212 +S315080018C002AA42F8043D05480421FFF775FF00E027 +S315080018D0012003B05DF804FBDC02002084810008C7 +S315080018E00D4B1868043B1B6818440C4B1B681844BE +S315080018F00B4B1B6818440B4B1B6818440A4B1B6898 +S3150800190018440A4B1B681844094B1B681844D0F145 +S31508001910010038BF002070470480000808800008CE +S315080019200C80000810800008148000081880000841 +S315080019308481000808B50C4B1B68B3F1FF3F04D03F +S315080019400948FFF783FE034660B1084B1B68B3F1ED +S31508001950FF3F06D00548FFF779FE031C18BF012391 +S3150800196000E00123184608BDDC020020E004002040 +S31508001970004870470080000872B608498D46084935 +S31508001980084A094B9A42BEBF51F8040B42F8040BA9 +S31508001990F8E7064880470648004700000080002010 +S315080019A0D85000080000002084000020911100088B +S315080019B0D90100083249334A002301E041F8043BC3 +S315080019C09142FBD3FFF752FCFEE7FEE7FEE7FEE790 +S315080019D0FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE7D1 +S315080019E0FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE7C1 +S315080019F0FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE7B1 +S31508001A00FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE7A0 +S31508001A10FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE790 +S31508001A20FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE780 +S31508001A30FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE770 +S31508001A40FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE760 +S31508001A50FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE750 +S31508001A60FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE740 +S31508001A70FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE730 +S31508001A80840000200010002008B5FFF789FE08BD75 +S31508001A9008B5FFF791FE08BD08B5FFF7B5FE08BD06 +S31508001AA008B5FFF71DFF08BD08B5FFF761FF08BDBC +S31508001AB008B5FFF7EFFE034610B1FFF73BFF0346F5 +S31508001AC0184608BD054B00221A60054959609A60F8 +S31508001AD005211960034B1A60704700BF10E000E04B +S31508001AE0BFD40100E40600200022014B1A607047AB +S31508001AF010E000E0044B1B6813F4803F03D0034B4F +S31508001B001A6801321A60704710E000E0E406002007 +S31508001B1008B5FFF7EFFF014B186808BDE40600207B +S31508001B2038B504460A488021FFF72CFB60B10848FF +S31508001B302146FFF71FFB064D802428462146FFF75E +S31508001B4021FB0028F9D001E0002038BD012038BD6E +S31508001B500048004010B5044606482021FFF712FB4E +S31508001B60012805D10348FFF709FB2070012010BDA5 +S31508001B70002010BD0048004010B584B04FF4614302 +S31508001B8000930023ADF80430ADF80630ADF8083000 +S31508001B90ADF80C300C23ADF80A30054C20466946E2 +S31508001BA0FFF772FA20460121FFF7D6FA04B010BDF6 +S31508001BB0004800402DE9F04106460C46402903D965 +S31508001BC01148752100F072F82046FFF7A9FF012891 +S31508001BD003D00D48792100F069F8254694B1002410 +S31508001BE0DFF82480822700F029F9305DFFF798FF97 +S31508001BF0012803D04046394600F058F80134A3B20C +S31508001C00AB42F0D3BDE8F0816848000838B5054610 +S31508001C10214B1B789BB92148FFF79CFF012833D13C +S31508001C201E4B1C78002C34D0FFF772FF1C4B186033 +S31508001C3000241C4B1C700122174B1A7029E0194B03 +S31508001C401878194B1844FFF785FF0446012810D168 +S31508001C50144B1A780132D2B21A70104B1B78934281 +S31508001C6014D128461049FFF7C3FC00220A4B1A7004 +S31508001C700FE0FFF74DFF0A4B1B686433984207D9FC +S31508001C800024054B1C7004E0002402E0002400E058 +S31508001C900024204638BD00BF2D070020E806002096 +S31508001CA0300700202C070020E906002008B5034B62 +S31508001CB01860034B196000F0C1F8FCE734070020F0 +S31508001CC03807002008B500F0B1F8012816D000F052 +S31508001CD041F998B10A4B1B78012B0FD1FFF718FF72 +S31508001CE0084B1B6803F5FA73984207D30022044B86 +S31508001CF01A7000F039F908B9FFF760FC08BD00BF93 +S31508001D003C0700204007002008B50122044B1A7042 +S31508001D10FFF7FEFE034B1860FFF7D4FF08BD00BFB0 +S31508001D203C0700204007002008B500F083F8FFF7BD +S31508001D30C9FEFFF7A9FE00F0F9F800F00FF8FFF763 +S31508001D40E3FF08BD08B500F079F8FFF7D3FE00F009 +S31508001D5025FA00F013F8FFF7B5FF08BD10B502F035 +S31508001D6025FBFFF709FB044C01232370FFF704FF4B +S31508001D700023237010BD00BF1400002008B50B48CF +S31508001D80FFF7E2FB012805D10122094B1A70074823 +S31508001D9002F02AFB0548FFF739FF012805D1002282 +S31508001DA0034B1A70014802F01FFB08BD44070020C8 +S31508001DB014000020704700BF38B505460C46084B8E +S31508001DC01B78012B02D1C9B2FFF772FB044B1B78B3 +S31508001DD01BB92846E1B2FFF7EDFE02F0FDFA38BD61 +S31508001DE014000020074B1B78022B06D0032B06D0C5 +S31508001DF0012B0CBF082040207047002070470020A8 +S31508001E00704700BF14000020074B1B78022B06D032 +S31508001E10032B06D0012B0CBF08204020704700205A +S31508001E2070470020704700BF1400002008B502F074 +S31508001E30CBFA08BD08B5FEF717FA08BD08B5FEF7D0 +S31508001E4019FA08BD00F00F03092802D903F1370073 +S31508001E50704703F13000054B1B6803445B7803F0B9 +S31508001E600303022B08BF2038C0B2704718000020B1 +S31508001E7038B505460C460009FFF7E4FF207005F063 +S31508001E800F00FFF7DFFF60700023A370204638BD00 +S31508001E9030B4024603460D480131A0FB0343DB0874 +S31508001EA0FAD1002301F80139084D0846A5FB02437B +S31508001EB0DB0803EB8304A2EB4402303201F8012964 +S31508001EC01A46002BF1D130BC704700BFCDCCCCCC24 +S31508001ED070B4154B1E6800231C46C15C72185278F4 +S31508001EE002F00302022A08BF2039C9B2A1F1300262 +S31508001EF0D2B2162A11D8A1F13A05EDB2062D0ED99D +S31508001F00092A84BFA1F13702D2B202EB041404F005 +S31508001F10FF040133022BE0D103E0002002E0002099 +S31508001F2000E0204670BC70471800002008B5002065 +S31508001F30054B1870054901F06FFD18B10448772163 +S31508001F40FFF7B4FE08BD00BFC4070020D007002075 +S31508001F5094480008034B1878D0F1010038BF0020D8 +S31508001F60704700BFC407002008B5FFF75FFF0128C8 +S31508001F700AD0084B1B784BB9FEF780F9012807D120 +S31508001F800122044B1A7008BD002008BD002008BDB8 +S31508001F90002008BDC40700200378114A1268D1182A +S31508001FA0497801F00301022908BF203B532B0ED1C3 +S31508001FB043781A44527812F0040F0AD0312B0AD00B +S31508001FC0322B0AD0332B14BF03200220704703207C +S31508001FD0704703207047002070470120704700BFF4 +S31508001FE01800002070B504460230FFF771FF064658 +S31508001FF0054604342046FFF76BFF3044C6B2013D60 +S31508002000ADB20234012DF5D82046FFF761FFF6433D +S31508002010F6B2864214BF0020012070BD2DE9F041BA +S31508002020044615460F4601B120B95B4840F23121F6 +S31508002030FFF73CFE2046FFF7AFFF0646032800F0F1 +S315080020408F802046FFF7CEFF002800F08B80012EF8 +S3150800205028D016B1022E51D087E0A01CFFF738FF12 +S315080020608046201DFFF734FF06023E60A01DFFF7DD +S315080020702FFF3044386004F10806A8F103081FFA58 +S3150800208088F8002D73D00FFA88F7002F71DD002429 +S315080020903046FFF71DFF285502360134A4B2BC426C +S315080020A0F6DB68E0A01CFFF713FF8046201DFFF74C +S315080020B00FFF06043E60A01DFFF70AFF06EB002689 +S315080020C03E6004F10800FFF703FF3044386004F16E +S315080020D00A06A8F104081FFA88F8002D4DD00FFA51 +S315080020E088F7002F4BDD00243046FFF7F1FE285510 +S315080020F002360134A4B2BC42F6DB42E0A01CFFF76C +S31508002100E7FE8046201DFFF7E3FE06063E60A01D9B +S31508002110FFF7DEFE06EB00463E6004F10800FFF717 +S31508002120D7FE06EB00263E6004F10A00FFF7D0FE54 +S315080021303044386004F10C06A8F105081FFA88F83F +S315080021400DB30FFA88F7002F1FDD00243046FFF77E +S31508002150BFFE285502360134A4B2BC42F6DB16E0AF +S31508002160002015E04FF6FF7012E0002010E0404610 +S315080021700EE040460CE040460AE0404608E040468D +S3150800218006E0404604E0404602E0404600E040469D +S3150800219000B2BDE8F08100BF9448000870B5B84B9E +S315080021A01B78002B00F0A781012B27D1FEF78CF8AE +S315080021B0B448FEF7CDF8B448FEF7CAF8FEF780F83B +S315080021C00146B248012201F039FC30B1B048FEF7A9 +S315080021D0BFF80120FEF7B0F870BDAE48FEF7B8F8B4 +S315080021E0AD48FEF7B5F8AD48FEF7B2F8AC4B00229D +S315080021F01A605A600222A24B1A7070BD022B40F078 +S31508002200A980A84CA8484FF4807104F50D7202F015 +S3150800221037F894F93A32002B0DDA9D48FEF798F80C +S315080022200220FEF789F804F50D7001F0D1FE0022B0 +S31508002230934B1A7070BD00282ED09B49084601F5AD +S31508002240C0710022FFF7EAFEB0F1FF3F0CD19048BB +S31508002250FEF77EF80320FEF76FF88C4801F0B8FE0B +S315080022600022874B1A7070BD002815DD8C4B5B6801 +S3150800227033B98B4B8C4AD2F880211A6058600BE030 +S31508002280894AD2F88021864909688A423CBF84492E +S315080022900A600344824A5360824BD3F83C22D3F83F +S315080022A040329A4240F027817848002101F09AFE90 +S315080022B060B17748FEF74CF80420FEF73DF87348FE +S315080022C001F086FE00226E4B1A7070BD7148FEF74B +S315080022D03FF87648FEF73CF8714D754C686821461C +S315080022E0FFF7D6FD2046FEF733F87248FEF730F8BA +S315080022F02E68300E2146FFF7BBFDC6F30740A11C2A +S31508002300FFF7B6FDC6F30720211DFFF7B1FDF0B2B2 +S31508002310A11DFFF7ADFD2046FEF71AF86648FEF741 +S3150800232017F828686968FFF7B7FB60B95848FEF7D9 +S315080023300FF80520FEF700F8544801F049FE002280 +S315080023404F4B1A7070BD5348FEF702F803224C4BE8 +S315080023501A7070BD032B40F0CE80524C52484FF491 +S31508002360807104F50D7201F08BFF94F93A32002B57 +S315080023700DDA5248FDF7ECFF0220FDF7DDFF04F504 +S315080023800D7001F025FE00223D4B1A7070BD002825 +S315080023905BD0454A104602F5C07102F58072FFF718 +S315080023A03DFE0646B0F1FF3F0CD14548FDF7D0FF8C +S315080023B00320FDF7C1FF354801F00AFE0022304B25 +S315080023C01A7070BD002840DD3E48FDF7C1FF384C45 +S315080023D030462146FFF75CFD2046FDF7B9FF3A482F +S315080023E0FDF7B6FF304D95F883012146FFF740FD0E +S315080023F095F88201A11CFFF73BFD95F88101211D87 +S31508002400FFF736FD95F88001A11DFFF731FD20463F +S31508002410FDF79EFF2848FDF79BFFD5F8800131465A +S3150800242005F58072FFF734FB60B91948FDF790FF90 +S315080024300620FDF781FF154801F0CAFD0022104B62 +S315080024401A7070BD1348FDF783FF164BD3F83C226C +S31508002450D3F840329A424ED11C48FDF779FFFFF770 +S3150800246027FBA8BB0A48FDF773FF0720FDF764FFA3 +S31508002470064801F0ADFD0022014B1A7070BD00BF81 +S31508002480C4070020B0480008D4480008040A002001 +S31508002490FC480008044900080C49000830490008AF +S315080024A0C8070020D0070020280C00206049000833 +S315080024B0840700206C490008104A0008884900086B +S315080024C0AC490008D0490008E0490008F849000866 +S315080024D00948FDF73DFF0948FDF73AFF084801F0AE +S315080024E077FD0848FDF734FF0022074B1A70FDF701 +S315080024F0FFFEFFF763F870BD04490008144A000898 +S31508002500040A00202C4A0008C407002032B18218A9 +S3150800251011F8013B00F8013B9042F9D1704700BF22 +S31508002520CA7E8B7E43EA02230278032A05D1487DB8 +S315080025300A7D42EA002243EA02431846704700BF72 +S3150800254000F10B010023DA0142EA530310F8012BCC +S31508002550134403F0FF038842F5D11846704700BFBD +S3150800256010B504460A46407804F134010123FEF703 +S31508002570D3F988BB94F8332294F8323243EA02221C +S3150800258012B2184B9A4229D194F86D2094F86C30FF +S315080025901B0443EA026294F86A30134394F86B20EA +S315080025A043EA022222F07F420F4B9A4218D094F84F +S315080025B0890094F888301B0443EA006094F8863052 +S315080025C0034394F8870043EA002020F07F40064B37 +S315080025D0C01A18BF012010BD032010BD022010BD6F +S315080025E0002010BD55AAFFFF464154002DE9F041D1 +S315080025F0044603791BB3056B00F134074078394666 +S315080026002A460123FEF7D2F9E0B900232371636A4B +S315080026109D421AD3E26913449D4219D2E678012EE7 +S3150800262019D94FF00108E2691544607839462A46F7 +S315080026304346FEF7BBF9013E012EF4D10EE0002019 +S31508002640BDE8F0810120BDE8F0810020BDE8F081F9 +S315080026500020BDE8F0810020BDE8F0810020BDE83B +S31508002660F08100BF70B504460E46036B8B420DD051 +S31508002670FFF7BCFF054658B9607804F134013246C5 +S315080026800123FEF749F928B9266304E0002502E08C +S31508002690012500E00125284670BD00BF08B588B1B0 +S315080026A003688BB1197889B1D988828891420FD18C +S315080026B05878FEF727F900F0010000280CBF002023 +S315080026C0032008BD092008BD092008BD092008BD4A +S315080026D0092008BD2DE9F041154603681C78303CF1 +S315080026E0092C00F2A4815A783A2A40F0A0810233D4 +S315080026F0036000230B60002C40F06081D24B1C68FD +S31508002700002C00F05E810C6023788BB16078FEF7B0 +S31508002710F9F810F0010F0BD1002D00F0558100F0EB +S315080027200400C0B2002814BF0A200020BDE8F081CA +S31508002730002020706070FDF75FFF10F0010F40F079 +S3150800274046811DB110F0040F40F044812046002157 +S31508002750FFF706FF012817D194F8F631002B00F091 +S315080027603C8194F8FD2194F8FC311B0443EA02628B +S3150800277094F8FA31134394F8FB5143EA05252046A9 +S315080027802946FFF7EDFE00E00025032800F0288122 +S31508002790002840F0288194F8402094F83F3043EA16 +S315080027A002231BB2B3F5007F40F0208194F84B005A +S315080027B094F84A3053EA00200DD194F85B2094F837 +S315080027C05A301B0443EA026294F85830134394F8CB +S315080027D0590043EA0020E06194F84410E1704B1E6A +S315080027E0DBB2012B00F2058194F84130A370002B6F +S315080027F000F002815A1E1A4240F0018194F84660A0 +S3150800280094F8452042EA0622228112F00F0F40F082 +S31508002810F98094F8487094F8476056EA07260DD16F +S3150800282094F8577094F85660360446EA076794F8A1 +S3150800283054603E4394F8557046EA072694F843C018 +S3150800284094F8427057EA0C2700F0DF8001FB00FC81 +S3150800285007EB121161448E42C0F0DA80761AB6FB95 +S31508002860F3F3002B00F0D78040F6F576B3428CBF21 +S31508002870022601264FF6F578434500F2DB8002333F +S31508002880A36125622F4467622944E162032E13D1AE +S31508002890002A40F0C38094F8631094F8622012046A +S315080028A042EA016194F860200A4394F8611042EA0A +S315080028B00122A2629B000DE0002A00F0B280674464 +S315080028C0A762022E0FBF5B0003EB430203F001036E +S315080028D003EB520303F2FF13B0EB532FC0F0A480AF +S315080028E04FF0FF3323610023E360032E5AD163714F +S315080028F094F8652094F8643043EA02222A44626117 +S31508002900607804F134010123FEF706F8002849D15E +S3150800291094F8332294F8323243EA022212B24B4B2D +S315080029209A423FD194F8372094F836301B0443EA8C +S31508002930026294F83430134394F8352043EA0222AD +S31508002940434B9A422ED194F81B2294F81A321B0450 +S3150800295043EA026294F81832134394F8192243EAB8 +S3150800296002223C4B9A421DD194F8232294F8223233 +S315080029701B0443EA026294F82032134394F8212296 +S3150800298043EA0223E36094F81F2294F81E321B04DC +S3150800299043EA026294F81C32134394F81D2243EA70 +S315080029A00223236126702C4A138801339BB21380B5 +S315080029B0E380002020632071BDE8F0810B20BDE88C +S315080029C0F0810C20BDE8F0810020BDE8F0810320ED +S315080029D0BDE8F0810A20BDE8F0810D20BDE8F08150 +S315080029E00120BDE8F0810D20BDE8F0810D20BDE88D +S315080029F0F0810D20BDE8F0810D20BDE8F0810D20A5 +S31508002A00BDE8F0810D20BDE8F0810D20BDE8F0811C +S31508002A100D20BDE8F0810D20BDE8F0810D20BDE850 +S31508002A20F0810D20BDE8F0810D20BDE8F08100237E +S31508002A300B6063E60233A36125622F44676229446B +S31508002A40E162032624E700BFB00F002055AAFFFF66 +S31508002A505252614172724161AC0F00202DE9F0417A +S31508002A600D4601F109020369002B5ED0416991F810 +S31508002A700C800B78202B1BD00E46002408F0080784 +S31508002A80FFB203E016F8013F202B11D0052B08BF33 +S31508002A90E52347B1A3F1410C5FFA8CFCBCF1190F91 +S31508002AA09CBF2033DBB202F8013B0134082CE9D184 +S31508002AB00B7A202B22D0561C2E2313700B7A202B30 +S31508002AC01BD001F10804171D324608F010085FFAFA +S31508002AD088F603E014F8013F202B0FD046B1A3F186 +S31508002AE0410C5FFA8CFCBCF1190F9CBF2033DBB29A +S31508002AF002F8013BBA42EDD100E03246CB7A2B729E +S31508002B00CC7F8B7F1B0443EA04630C7F23434C7FF3 +S31508002B1043EA04232B604C7E0B7E43EA0423AB80F6 +S31508002B20CC7D8B7D43EA0423EB8000231370AE69CA +S31508002B304EB3EB693BB30369D3B1028C4FF6FF730F +S31508002B409A4217D0C7693888B0B10024A0464146D2 +S31508002B5001F0ECFB90B1EA69013AA24210D90134BE +S31508002B60321902F8010C37F814000028EFD108E0F2 +S31508002B70002406E0002404E0002402E0002400E02B +S31508002B80002400233355BDE8F08100BF10B5044684 +S31508002B90FFF72CFD0346002854D12378032B49D18F +S31508002BA06379002B46D00023236304F1340104F52E +S31508002BB00D700B46002203F8012B8342FBD15523E7 +S31508002BC084F83232AA2384F83332522384F8343014 +S31508002BD084F83530612384F83630412284F837206A +S31508002BE0722084F8180284F8190284F81A2284F8E4 +S31508002BF01B32236984F81C32C3F3072284F81D228A +S31508002C001A0C84F81E221B0E84F81F32E36884F817 +S31508002C102032C3F3072284F821221A0C84F82222D0 +S31508002C201B0E84F82332607862690123FDF7BEFE25 +S31508002C3000236371607800210A46FDF711FF031C23 +S31508002C4018BF0123184610BD02398369023B994211 +S31508002C503DBF8278C36A02FB01300020704700BF7F +S31508002C60F8B505460C4601295CD9836999425BD2B9 +S31508002C700378022B28D0032B38D0012B56D101EB31 +S31508002C805106416A01EB5621FFF7ECFC002850D1AA +S31508002C90C6F308032B4493F834700136696A28464C +S31508002CA001EB5621FFF7DEFC002845D1C6F30806DE +S31508002CB0354495F8340047EA002014F0010F14BF94 +S31508002CC00009C0F30B00F8BD416A01EB1421FFF7B8 +S31508002CD0C9FCA0BB640004F4FF742B1993F83430C4 +S31508002CE02C4494F8350043EA0020F8BD416A01EB0C +S31508002CF0D411FFF7B7FC28BBA40004F4FE742B1903 +S31508002D0093F8360093F83720120642EA004293F801 +S31508002D10350042EA00202C4494F83430184320F059 +S31508002D207040F8BD0120F8BD0120F8BD4FF0FF3016 +S31508002D30F8BD4FF0FF30F8BD4FF0FF30F8BD4FF04B +S31508002D40FF30F8BD4FF0FF30F8BD00BF70B5044640 +S31508002D500D46E1808168012938D003689A69914255 +S31508002D6036D271B91A78032A01D1996A49B900226B +S31508002D70E2601A89AA422DD99B6A03EB15132361CF +S31508002D801BE09E783601B54210D32068FFF768FF2E +S31508002D900146B0F1FF3F1FD001281FD923689B6960 +S31508002DA098421DD2AD1BADB2AE42EED9E1602068A5 +S31508002DB0FFF74AFF00EB1510206105F00F052368A1 +S31508002DC003EB451334336361002070BD022070BDE8 +S31508002DD0022070BD022070BD012070BD022070BDAA +S31508002DE0022070BDF8B505460C461646012979D964 +S31508002DF08369994278D20378022B3ED0032B4ED0B2 +S31508002E00012B6BD101EB5107416A01EB5721FFF703 +S31508002E1029FC0346002862D1C7F3080314F001040D +S31508002E2009D0EA1892F8342002F00F02F1B242EA09 +S31508002E300112D2B200E0F2B22B4483F834200137F3 +S31508002E4001232B71696A284601EB5721FFF70AFC13 +S31508002E500346002843D1C7F3080714B1C6F307167B +S31508002E6007E0EA1992F8342022F00F02C6F3032687 +S31508002E7016432F4487F8346031E0416A01EB142188 +S31508002E80FFF7F0FB034650BB640004F4FF742A19ED +S31508002E9082F83460C6F3072682F835601FE0416A77 +S31508002EA001EBD411FFF7DEFB0346C0B9A40004F416 +S31508002EB0FE742A1992F8371009062C4401F070415D +S31508002EC00E4384F83460C6F3072182F83510310CB6 +S31508002ED082F83610360E82F8376000E002230122A7 +S31508002EE02A7102E0022300E002231846F8BD00BF5B +S31508002EF02DE9F0410546884631B9C6686EB1836941 +S31508002F009E4228BF012609E0FFF7AAFE012841D9FB +S31508002F10AB6998424CD3464600E001263446022760 +S31508002F200134AB699C4202D3012E36D93C46284669 +S31508002F302146FFF795FE38B1B0F1FF3F30D00128A2 +S31508002F4030D0B442ECD12FE02646284621466FF011 +S31508002F507042FFF747FF0346A8B9B8F1000F06D03D +S31508002F60284641462246FFF73DFF034658B9EE601C +S31508002F702B69B3F1FF3F1AD0013B2B6101236B711B +S31508002F802046BDE8F081012B14BF01204FF0FF3029 +S31508002F90BDE8F0810120BDE8F0810020BDE8F081A0 +S31508002FA0BDE8F081BDE8F0810020BDE8F08120464B +S31508002FB0BDE8F0812DE9F84304460E46C58801357B +S31508002FC0ADB2002D6AD00369002B6AD015F00F0741 +S31508002FD05BD101330361C16821B903681B89AB4220 +S31508002FE062D952E000688378013B13EA15134CD185 +S31508002FF0FFF736FE8046012859D9B0F1FF3F59D070 +S3150800300020688369984539D3002E56D0E168FFF7C2 +S315080030106FFF8046002853D0012854D0B0F1FF3FF7 +S3150800302054D02068FFF7E2FA002852D1236803F14A +S31508003030340100231A46CA540133B3F5007FFAD186 +S31508003040266830464146FFF7FFFD306300264FF0FD +S3150800305001090BE083F804902068FFF7C7FA0136E8 +S31508003060002839D123681A6B01321A63F2B2236831 +S3150800307099789142EED8196B8A1A1A63C4F80C80AB +S3150800308020684146FFF7E0FD2061E580236803EBF1 +S315080030904713343363610020BDE8F8830420BDE894 +S315080030A0F8830420BDE8F8830420BDE8F8830220ED +S315080030B0BDE8F8830120BDE8F8830420BDE8F8835D +S315080030C00720BDE8F8830220BDE8F8830120BDE8A3 +S315080030D0F8830120BDE8F8830120BDE8F88300BF26 +S315080030E02DE9F04F85B005460021FFF72FFE002891 +S315080030F040F09E804FF0FF094F46C846DFF85CB1A6 +S315080031000BF10C02009228682969FFF7ABFA002830 +S3150800311040F08F806C692678002E00F08B80E37A69 +S3150800312003F03F02E52E74D013F0080F02D00F2AE1 +S3150800313071D101E00F2A51D1D5F81CA0BAF1000FC0 +S315080031406ED016F0400F06D094F80D9006F0BF0624 +S31508003150EB882B8403E0B74218BF474660D1637BF0 +S3150800316001934B4559D1237823F04003013B03EBE8 +S31508003170430203EB820202920BF1FF374FF001097B +S3150800318017F8013FE2185078E35C43EA0020B9F1EA +S31508003190000F10D001F0EAF88146029AFE2A55D8A7 +S315080031A0531C03933AF8120001F0E0F881454DD11B +S315080031B0039A029203E04FF6FF73984246D1009AAB +S315080031C09742DDD1237813F0400F3AD0B9F1000FBA +S315080031D037D0029A3AF812309BB337E027B920461F +S315080031E0FFF7AEF9484527D04FF6FF732B84AB6936 +S315080031F0DA7A12F0010F12D104F10B0001E08442D1 +S315080032001CD014F8011B13F8012B9142F7D047463E +S3150800321006E0474604E0474602E0474600E04746E0 +S3150800322028460021FFF7C6FE00283FF46CAF07E0EA +S3150800323010E00FE004200DE000200BE0002009E07C +S3150800324008E0013EF7B2DDF80490E9E7DDF80490FE +S315080032504746E5E705B0BDE8F08F00BFEC4A000831 +S315080032602DE9F04F85B0824689460B782F2B01D081 +S315080032705C2B01D109F101090023CAF8083099F835 +S3150800328000301F2B08D850460021FFF75FFD034684 +S315080032900022CAF8142062E1DFF8D4B2C84619F849 +S315080032A0013B2F2BFAD05C2BF8D0DAF81C5098F893 +S315080032B000001F2840F226812F2800F029815C286B +S315080032C000F02981AF1E46460124A1460AE02F2BAD +S315080032D000F023815C2B00F02081B2F5807F00F09E +S315080032E034811446494601F021F80146002800F0C9 +S315080032F02C817F2809D8222900F027815A4612F8FE +S31508003300013F13B19842FAD11FE127F8021F621C48 +S3150800331016F8013F18461F2BD9D8F5E0002C00F007 +S31508003320148105EB440232F8023D202B01D02E2BE6 +S3150800333002D1013CF7D108E1002C00F006816700B4 +S3150800334005EB070E002325F81430DAF8183003F1D8 +S315080033500B00202103F8011B8342FBD1A91E002381 +S3150800336000E0013331F8022F202AFAD02E2AF8D0AD +S31508003370002B00F0D68046F00306D2E0013C07D1C8 +S31508003380082101914FF00008CDF80880039405E064 +S31508003390023A32F8021C2E29F0D1F1E75F1C35F803 +S315080033A0130000285ED0202804D02E2806D1BC425F +S315080033B000F0CD8046F003063B46EFE7019A9045BC +S315080033C002D2BC4217D1B4E0019B0B2B03D146F0C5 +S315080033D00306029949E0BC4203D046F00306A74219 +S315080033E042D802998B00DBB20293039B0B2201920F +S315080033F04FF00808D2E77F280DD9002100F096FF84 +S315080034000346002800F0A88057490B4413F8800C9F +S3150800341046F0020650B101462B2807D0534A12F847 +S31508003420013F002B00F08A809942F8D146F0030646 +S315080034305F200FE0029A42F0020202920AE0A0F12F +S3150800344061039BB2192B05D8029B43F00103029333 +S31508003450203880B2DAF8183003F808003B4608F13D +S3150800346001089BE7029900E00299DAF818301A7801 +S31508003470E52A04BF05221A70019A082A02D1890092 +S31508003480C9B20291029901F00C030C2B03D001F08A +S315080034900302032A01D146F0020616F0020F0AD1EA +S315080034A0029901F00302012A08BF46F01006042B10 +S315080034B008BF46F00806DAF81830DE725046FFF7FD +S315080034C00FFEDAF81830DA7A034648B1042846D1EE +S315080034D002F00403DBB2002B14BF034605233EE0CB +S315080034E012F0040F3BD1DAF81410CB7A13F0100F50 +S315080034F006D0DAF80000FFF713F8CAF80800CDE698 +S3150800350005232CE00024012208EB0209042605E71E +S315080035100024012201E00024012208EB020900260A +S31508003520FCE62F4437F8022C2E2A3FF429AF7246C0 +S3150800353024E7019A0B2A7FF454AF48E7A0F1410328 +S315080035409BB2192B7FF676AF79E7062307E0019B36 +S315080035500B2B7FF446AF3AE746F0020666E71846B5 +S3150800356005B0BDE8F08F00BF6C4A0008644A000841 +S31508003570584A00082DE9F04F83B0044688464FF0B4 +S31508003580FF094E4604254F46DFF818A10AF10C0B31 +S3150800359074E02068FFF766F80546002872D162696C +S315080035A01378002B78D0D17AE52B5AD02E2B5AD007 +S315080035B001F03F01082914BF00200120404554D1DD +S315080035C00F2944D113F0400F06D092F80D9003F05E +S315080035D0BF03E188218403E09E4218BF3E4647D1D7 +S315080035E092F80DE0CE4542D1E1690091117801F0DB +S315080035F03F01013901EB410501EB85050AF1FF3170 +S315080036004FF0010C4FF6FF7901936346DDF800C0D1 +S3150800361011F8010F16187678105C40EA062033B1C7 +S31508003620FE2D36D82CF815000346013501E048452D +S315080036302FD15945ECD1019B127812F0400F24D0B6 +S31508003640FE2D26D80022009921F815201DE01046E7 +S315080036501EB9FEF775FF484520D04FF6FF73238441 +S315080036601CE03E4604E03E4602E03E4600E03E469A +S3150800367020460021FFF79EFC054618B92169002956 +S3150800368087D15DB10023236108E0013BDEB2F14634 +S31508003690EEE7F1463E46EBE70425F3E7284603B096 +S315080036A0BDE8F08FEC4A00082DE9F0410446C588CC +S315080036B0018C4FF6FF73994208BF2946FFF746FB70 +S315080036C00346D0B9E52701264FF00008206821698E +S315080036D0FEF7C8FF034668B9626917702268167153 +S315080036E0E288AA4209D220464146FFF763FC034610 +S315080036F00028EBD0042B08BF02231846BDE8F0814A +S315080037002DE9F04104460E46012924D983699942D8 +S3150800371023D200274FF0010820463146FFF7A0FACA +S315080037200546E0B101281CD0B0F1FF3F1BD020466A +S3150800373031463A46FFF756FB0146A8B92369B3F165 +S31508003740FF3F03D00133236184F80580A369AB42A8 +S315080037500AD92E46E0E7022106E0022104E000210C +S3150800376002E0022100E001210846BDE8F08100BF21 +S3150800377070B582B0054616461C460B22FEF7C6FEF5 +S31508003780052C0AD9B21EE30343EA540432F8023F71 +S315080037901C44A4B25388002BF5D1072204F00F016C +S315080037A001F13003392B88BF01F13703013A00A92B +S315080037B011444B702409F1D114467E2102AB1344FF +S315080037C003F8081C62B12B78202B0BD0294600235E +S315080037D00133A34207D011F8010F2028F8D102E0DF +S315080037E0002300E000232020072A05D802A9114457 +S315080037F011F8081C013200E00146E9540133072B91 +S31508003800F2D902B070BD00BF2DE9F04F85B004466D +S315080038108769C66901A839460C22FEF777FE9DF826 +S315080038200F3013F0010F1CD00023FB72E361012552 +S31508003830384601A932462B46FFF79AFF2046FFF77E +S315080038404FFC20B90135ADB2642DF1D1C0E0642D2D +S3150800385000F0C080042840F0BF809DF80F30FB724E +S31508003860E6619DF80F3013F0020F13D033883BB191 +S31508003870002301339BB236F81320002AF9D100E061 +S3150800388000231933624F87FB0327DB17C3EBA70710 +S31508003890BFB200E0012720460021FFF757FA03468A +S315080038A0002840F0B1800025A84601262068216935 +S315080038B0FEF7D8FE0346002840F0A68063691B7809 +S315080038C0E52B00D01BB90135AF4201D185E045464D +S315080038D020463146FFF76EFB03460028E6D093E004 +S315080038E0E188C91B204689B2FFF730FA034600284B +S315080038F040F08A80A069FEF723FE8046454E206880 +S315080039002169FEF7AFFE034600287DD1D4F81C9046 +S3150800391061695FFA87FB81F80D804FF00F03CB7260 +S3150800392000230B738B76CB760BF1FF3202EB42004A +S3150800393002EB800001224FF6FF7E4FF0FF0A02E0FD +S3150800394028467346013273454BD0451C39F810306A +S31508003950B01810F8010C0B5408444FEA132C80F8E1 +S3150800396001C0002B46D028460C2AEBD94FF6FF7229 +S31508003970934202D039F810300BB94BF0400B81F85E +S3150800398000B0236801221A7120460021FFF712FBB6 +S315080039900346002838D1013FBFB2002FAFD12CE033 +S315080039A0636903F12001002203F8012B8B42FBD146 +S315080039B06069A1690B22FEF7A9FD6369A269D27A3B +S315080039C002F018021A73236801221A7100201CE0FB +S315080039D007201AE0072018E017E0013FBFB267B1D9 +S315080039E07EE7B51815F8015C01F805A00D4485F8C1 +S315080039F001A0B9E70C2AA3D9BFE720682169FEF719 +S31508003A0031FE0028CCD000E0184605B0BDE8F08F9E +S31508003A104FECC44EEC4A000858B9074B1B680BB16B +S31508003A2000221A7009B100230B70034B196000209D +S31508003A3070470B20704700BFB00F00202DE9F043F8 +S31508003A408FB0019115460446002800F091800023A6 +S31508003A50036001A805A902F01E02FEF73BFE002836 +S31508003A6040F0888005F01F0702AB0B934C4B0C9374 +S31508003A7005A80199FFF7F4FB0A9E034600287FD1A3 +S31508003A80002E78D17BE05BB1042B40F0858005A839 +S31508003A90FFF7BAFE47F008070A9E034638B17BE0EF +S31508003AA0F37A13F0110F70D115F0040F6FD117F0D8 +S31508003AB0080F3CD0FDF70EF9B073C0F30723F37374 +S31508003AC0030C3374000E70740025F572357775771C +S31508003AD0B577F577DDF8148040463146FEF720FDC8 +S31508003AE0B576F57635757575012388F8043005467B +S31508003AF0E8B1D8F8309040462946FFF701FE03465C +S31508003B00002849D10598013DC5604946FEF7AAFD3A +S31508003B1003460AE0F37A13F0100F3AD115F0020FB4 +S31508003B2005D013F0010F36D101E0002B34D117F080 +S31508003B30080F18BF47F02007059D2B6BE361266227 +S31508003B40A77128463146FEF7EBFC2061F27FB37F6A +S31508003B501B0443EA0263327F1343727F43EA02235C +S31508003B60E3600020A060A0612560EB88A38014E0D4 +S31508003B70092012E011E015F01C0F91D1CAE70623BF +S31508003B8015F01C0F7FF47FAFCFE7072304E0082367 +S31508003B9002E0042300E0072318460FB0BDE8F083CF +S31508003BA0AC0D00202DE9F04F83B004460F46904631 +S31508003BB01E4600233360FEF771FD002840F0BB80E7 +S31508003BC0A37913F0800F40F0B78013F0010F00F0CF +S31508003BD0B580E568A368ED1AA84538BF4546002DA7 +S31508003BE000F0AE8004F124030193A368C3F308022E +S31508003BF0002A40F08680206890F802A00AF1FF3A71 +S31508003C000AEA532A1AF0FF0A17D10BB9206902E00B +S31508003C106169FFF725F8012805D8A37963F07F03C2 +S31508003C20A37102208FE0B0F1FF3F05D1A37963F0BD +S31508003C307F03A371012086E06061D4F800804046C6 +S31508003C406169FFF701F8814628B9A37963F07F0314 +S31508003C50A371022077E0D1445FEA552B29D098F862 +S31508003C6002300BEB0A029A4288BFCAEB030B98F89C +S31508003C70010039464A465FFA8BF3FCF74DFE28B138 +S31508003C80A37963F07F03A37101205CE0A37913F0A5 +S31508003C90400F0BD0A369C9EB0300834506D907EB90 +S31508003CA0402001994FF40072FEF730FC4FEA4B2B87 +S31508003CB035E0A2694A4522D0A37913F0400F10D007 +S31508003CC098F8010001990123FCF770FE28B1A37941 +S31508003CD063F07F03A371012035E0A37923F0400345 +S31508003CE0A3712368587801994A460123FCF714FE04 +S31508003CF028B1A37963F07F03A371012023E0C4F8F8 +S31508003D001890A168C1F30801C1F5007B5D4538BF6D +S31508003D10AB462144384624315A46FEF7F7FB5F4442 +S31508003D20A3685B44A36033685B443360B5EB0B055B +S31508003D307FF45BAF06E006E0022004E0072002E01D +S31508003D40002000E0002003B0BDE8F08F2DE9F04F19 +S31508003D5083B004460F4615461E4600233360FEF719 +S31508003D609DFC002840F0D680A37913F0800F40F020 +S31508003D70D28013F0020F00F0D080E368DD4280F0B5 +S31508003D80BE80002D00F0BB8004F124030193A368D4 +S31508003D90C3F30802002A40F09580206890F802B024 +S31508003DA00BF1FF3B0BEA532B1BF0FF0B21D13BB961 +S31508003DB0236963B90021FFF79BF80346206103E0F6 +S31508003DC06169FFF795F80346002B00F09880012BF0 +S31508003DD005D1A37963F07F03A37102209EE0B3F1B6 +S31508003DE0FF3F05D1A37963F07F03A371012095E016 +S31508003DF06361A37913F0400F11D0236858780199AD +S31508003E00A2690123FCF7D2FD28B1A37963F07F03E9 +S31508003E10A371012082E0A37923F04003A371D4F8AB +S31508003E20008040466169FEF70FFF814628B9A379ED +S31508003E3063F07F03A371022070E0D9445FEA552A34 +S31508003E4029D098F802300AEB0B029A4288BFCBEBCE +S31508003E50030A98F8010039464A465FFA8AF3FCF7DE +S31508003E60A5FD28B1A37963F07F03A371012055E06E +S31508003E70A369C9EB03018A450AD9019807EB4121D1 +S31508003E804FF40072FEF742FBA37923F04003A371B7 +S31508003E904FEA4A2A28E0A3694B4511D0A268E3688D +S31508003EA09A420DD298F8010001994A460123FCF777 +S31508003EB033FD28B1A37963F07F03A37101202DE0B8 +S31508003EC0C4F81890A068C0F30800C0F5007A5545F4 +S31508003ED038BFAA462044243039465246FEF716FB18 +S31508003EE0A37943F04003A3715744A3685344A360DE +S31508003EF0336853443360B5EB0A057FF448AFA368CB +S31508003F00E268934288BFE360A37943F02003A37174 +S31508003F10002003E002E0022000E0072003B0BDE82D +S31508003F20F08F00BF38B50446FEF7B8FB002849D124 +S31508003F30A37913F0200F46D013F0400F0DD0214679 +S31508003F4051F8243B5878A2690123FCF72FFD002875 +S31508003F503BD1A37923F04003A3712068E169FEF7FA +S31508003F6081FB002833D1256AEB7A43F02003EB72F4 +S31508003F70E3682B77A3891B0A6B77E389AB77E37B27 +S31508003F80EB772369AB76C3F30722EA761B0C2B750E +S31508003F901B0A6B75FCF79EFEA875C0F30723EB7525 +S31508003FA0030C2B76000E68760023AB74EB74A379AA +S31508003FB023F02003A371236801221A712068FEF7F3 +S31508003FC0E5FD38BD38BD002038BD012038BD38BDF7 +S31508003FD010B50446FFF7A6FF034608B9002222607B +S31508003FE0184610BD70B504460D46FEF757FB002867 +S31508003FF040F0BC80A37913F0800F40F0B880E268E7 +S31508004000AA4205D203F00203DBB2002B08BF15460D +S31508004010A2680023A360002D00F0AB802068867894 +S3150800402076026AB1013A691EB1FBF6F1B2FBF6F304 +S31508004030994205D373421A40A260AD1A616917E026 +S315080040402169A1B9FEF754FF0146012805D1A379D4 +S3150800405063F07F03A371022070BDB0F1FF3F05D165 +S31508004060A37963F07F03A371012070BD20616161AC +S31508004070002940D0B5422BD9A27912F0020F05D0FB +S315080040802068FEF735FF014620B920E02068FEF7D4 +S31508004090E7FD0146B1F1FF3F05D1A37963F07F0340 +S315080040A0A371012070BD012903D922689269914242 +S315080040B005D3A37963F07F03A371022070BD616104 +S315080040C0A2683244A260AD1BAE42D5D300E03546A5 +S315080040D0A2682A44A260C5F3080272B12068FEF7F6 +S315080040E0B3FD28B9A37963F07F03A371022070BDDD +S315080040F000EB552502E0002500E00025A368C3F380 +S31508004100080343B3A269AA4225D0A37913F0400F46 +S3150800411011D0214651F8243B58780123FCF746FC78 +S3150800412028B1A37963F07F03A371012070BDA37939 +S3150800413023F04003A371214651F8243B58782A46B8 +S315080041400123FCF7E9FB28B1A37963F07F03A37188 +S31508004150012070BDA561A368E26893420BD9E360AC +S31508004160A37943F02003A371002070BD70BD02201F +S3150800417070BD002070BD002070BD00BF30B58FB087 +S315080041800EAB43F8340D0D46184605A90022FEF776 +S31508004190A1FA044688B902AB0B93094B0C9305A800 +S315080041A00199FFF75DF8044638B90A9B23B105A8BB +S315080041B02946FEF753FC00E0062420460FB030BD22 +S315080041C0AC0D002030B599B018AB43F85C0D184615 +S315080041D00FA90122FEF77EFA034600284AD103AB4F +S315080041E01593264B16930FA80199FFF739F803463E +S315080041F000283FD1149939B3CC7A14F0010F25D190 +S3150800420026E0012D2CD906A80FA92422FEF77EF94F +S31508004210089506A80221FEF799FD034650BB06A895 +S315080042200021FFF7A7F9034618B304281AD021E09E +S315080042302DB10F982946FFF763FA0346D0B90F98B0 +S31508004240FEF7A4FC034615E0062313E0072311E056 +S315080042500F98FEF765F9054614F0100FD1D101E065 +S31508004260022307E00FA8FFF71FFA03460028DFD04E +S3150800427000E00723184619B030BD00BFAC0D00207A +S315080042802DE9F04182B080461746054600244E1EA9 +S3150800429011E0384601A901226B46FFF783FC009B13 +S315080042A0012B0AD19DF804300D2B04D005F8013BEB +S315080042B001340A2B01D0A642EBDC00232B709C426A +S315080042C014BF4046184602B0BDE8F08130B583B049 +S315080042D004460D460A2802D10D20FFF7F7FF02A96A +S315080042E001F8084D28466946012201ABFFF72EFD65 +S315080042F0019B012B14BF4FF0FF30012003B030BDE6 +S3150800430070B505460E46007860B100243146FFF7C1 +S31508004310DDFFB0F1FF3F08D0013415F8010F002882 +S31508004320F4D101E0002070BD204670BD7F281AD95F +S3150800433011B9C72807D111E0FF2813D880380A4BCE +S3150800434033F810007047084A012332F8021F8142E9 +S3150800435005D001339BB2802BF7D100E000238033D0 +S31508004360D8B2704700207047DC4C0008612809D095 +S3150800437007490022013231F8023F3BB18342F9D1A5 +S315080043800BB970470022034B33F81200704700BF81 +S31508004390FC4A0008DC4D0008034BFE22DA7018714F +S315080043A00222A3F844207047B40F0020054B0022D0 +S315080043B01A709A6483F84320A3F844209A705A70B6 +S315080043C0704700BFB40F0020024B1878003018BFA2 +S315080043D001207047B40F00200022024B83F84320C7 +S315080043E0704700BFB40F002038B504460378FF2B8A +S315080043F020D1FDF7AFFD18B91020FFF7CDFF5EE11C +S31508004400AB4C0023637001252570FF22E270102251 +S3150800441022716371FDF7E6FCA071FDF7F5FCE0710A +S31508004420FDF7F2FC000A20726572A5720823A4F84B +S31508004430443044E19E4A1278012A40F05581C93B2E +S31508004440352B00F23981DFE813F0C0003701370158 +S315080044502F01370137012601DB0015010501370158 +S31508004460370137013701370137013701370137017E +S31508004470370137013701370137013701370137016E +S31508004480370137013701370137013701370137015E +S315080044903701370137013701370137013701760010 +S315080044A0510036006D003701370137019200370198 +S315080044B0A400A800B6004578FDF794FC01388542AB +S315080044C003DD2220FFF768FFF9E0794D281DA96C66 +S315080044D06278FDF78DF8FF23EB706278AB6C1344B6 +S315080044E0AB6463780133A5F84430E8E04578FDF716 +S315080044F079FC0138854203DD2220FFF74DFFDEE017 +S3150800450061686B4DA964281D6278FDF771F8FF2371 +S31508004510EB706278AB6C1344AB6463780133A5F82F +S315080045204430CCE0624BFF22DA7042689A6401227A +S31508004530A3F84420C3E05E4BFF22DA709B6C406808 +S3150800454040B11844002213F8011B0A44D2B2834230 +S31508004550F9D100E00022564BC3F8072001221A7150 +S3150800456000225A719A710822A3F84420A7E0504BFA +S31508004570FF22DA704F4A9A6400221A715A719A71A8 +S315080045800721D9711A725A729A720822A3F844201E +S3150800459095E00020FFF700FF91E0454BFF22DA7017 +S315080045A000221A71597859719A71DA711A720622AB +S315080045B0A3F8442083E03E4B00221A705A70FF226B +S315080045C0DA700122A3F8442079E0394B9D6CFDF797 +S315080045D009FC411E2846621CFDF75AFA18B9312013 +S315080045E0FFF7DAFE6BE0324CFF23E370A56CFDF7AC +S315080045F0F9FB013D2844A0640123A4F844305EE099 +S315080046004578FDF7EFFB0238854203DD2220FFF7E8 +S31508004610C3FE54E0264BFF22DA700122A3F8442099 +S31508004620617839B9FDF744FA002848D13120FFF7F7 +S31508004630B3FE44E01E4B986CA21CFDF729FA18B984 +S315080046403120FFF7A9FE3AE0194B61789A6C0A44C3 +S315080046509A6434E0164CFF23E370002525716571D2 +S31508004660FDF7C0FBA071E571257265720723A4F8F2 +S31508004670443024E00E4B986C6168FDF70DFA18B9C2 +S315080046803120FFF789FE1AE0094BFF22DA70012272 +S31508004690A3F8442013E0FCF791FF054BFF22DA70DC +S315080046A00122A3F844200AE03120FFF775FE06E050 +S315080046B0B40F0020BC4F00082020FFF76DFE0B4BFF +S315080046C093F84330012B02D11020FFF765FE074B04 +S315080046D0B3F844100BB2002B06DD0448012380F81A +S315080046E043300330FDF768FB38BD00BFB40F002028 +S315080046F008B5074B044613B10021AFF30080054BFC +S315080047001868836A03B19847204600F033F800BF5B +S3150800471000000000C850000870B50E4B0E4D00246E +S31508004720ED1AAD101E46AC4204D056F82420904728 +S315080047300134F8E700F020F8084D094B0024ED1A7B +S31508004740AD101E46AC4204D056F8242090470134DA +S31508004750F8E770BD7C0000207C0000208000002067 +S315080047607C00002002440346934202D003F8011B52 +S31508004770FAE77047FEE70000F8B500BFF8BC08BCCA +S315080047809E467047F8B500BFF8BC08BC9E46704701 +S315080047902F64656D6F70726F675F73746D33326601 +S315080047A03230372E73726563000000002F626F6F18 +S315080047B0746C6F672E747874000000002E2E5C2EC1 +S315080047C02E5C2E2E5C2E2E5C536F757263655C41D3 +S315080047D0524D434D335F53544D333246325C636119 +S315080047E06E2E630005020602060307030803090383 +S315080047F009040A040B040C040C050D050E050F0527 +S315080048000F06100610071008000008001000180010 +S3150800481020002800300038004000480050005800AA +S3150800482000800008004000000200000000C00008E8 +S31508004830004000000300000000000108000001001D +S315080048400400000000000208000002000500000045 +S315080048500000040800000200060000000000060828 +S3150800486000000200070000002E2E5C2E2E5C2E2E65 +S315080048705C2E2E5C536F757263655C41524D434DD9 +S31508004880335F53544D333246325C756172742E630E +S31508004890000000002E2E5C2E2E5C2E2E5C2E2E5C2A +S315080048A0536F757263655C66696C652E63000000FC +S315080048B04669726D776172652075706461746520EA +S315080048C0726571756573742064657465637465646F +S315080048D00A0D00004F70656E696E67206669726D15 +S315080048E0776172652066696C6520666F72207265ED +S315080048F06164696E672E2E2E000000004552524FE5 +S31508004900520A0D004F4B0A0D0000000053746172E5 +S3150800491074696E67207468652070726F6772616D5E +S315080049206D696E672073657175656E63650A0D003E +S3150800493050617273696E67206669726D7761726518 +S315080049402066696C6520746F206F627461696E20D9 +S3150800495065726173652073697A652E2E2E000000D4 +S3150800496045726173696E67200000000020627974E1 +S3150800497065732066726F6D206D656D6F7279206143 +S31508004980742030780000000052656164696E672003 +S315080049906C696E652066726F6D2066696C652E2E71 +S315080049A02E4552524F520A0D00000000496E76619C +S315080049B06C696420636865636B73756D20666F75D3 +S315080049C06E642E2E2E4552524F520A0D00000000DC +S315080049D050726F6772616D6D696E67200000000026 +S315080049E020627974657320746F206D656D6F7279B6 +S315080049F0206174203078000057726974696E6720E8 +S31508004A0070726F6772616D20636865636B73756D2D +S31508004A102E2E2E00436C6F73696E67206669726D61 +S31508004A20776172652066696C650A0D004669726D64 +S31508004A307761726520757064617465207375636348 +S31508004A4065737366756C6C7920636F6D706C6574CD +S31508004A5065640A0D00000000222A3A3C3E3F7C7F2E +S31508004A60000000002B2C3B3D5B5D0000809A9041C6 +S31508004A708E418F804545454949498E8F9092924F80 +S31508004A80994F555559999A9B9C9D9E9F41494F55BB +S31508004A90A5A5A6A7A8A9AAABAC21AEAFB0B1B2B3DB +S31508004AA0B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C340 +S31508004AB0C4C5C6C7C8C9CACBCCCDCECFD0D1D2D330 +S31508004AC0D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E320 +S31508004AD0E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F310 +S31508004AE0F4F5F6F7F8F9FAFBFCFDFEFF01030507F6 +S31508004AF0090E10121416181C1E0000006100620030 +S31508004B0063006400650066006700680069006A0063 +S31508004B106B006C006D006E006F0070007100720013 +S31508004B2073007400750076007700780079007A00C3 +S31508004B30A100A200A300A500AC00AF00E000E100C0 +S31508004B40E200E300E400E500E600E700E800E9002B +S31508004B50EA00EB00EC00ED00EE00EF00F000F100DB +S31508004B60F200F300F400F500F600F800F900FA0088 +S31508004B70FB00FC00FD00FE00FF000101030105012A +S31508004B80070109010B010D010F011101130115019F +S31508004B90170119011B011D011F012101230125010F +S31508004BA0270129012B012D012F013101330135017F +S31508004BB037013A013C013E014001420144014601E8 +S31508004BC048014B014D014F01510153015501570150 +S31508004BD059015B015D015F016101630165016701BF +S31508004BE069016B016D016F0171017301750177012F +S31508004BF07A017C017E019201B103B203B303B403C7 +S31508004C00B503B603B703B803B903BA03BB03BC03BA +S31508004C10BD03BE03BF03C003C103C303C403C50367 +S31508004C20C603C703C803C903CA03300431043204E0 +S31508004C3033043404350436043704380439043A0492 +S31508004C403B043C043D043E043F0440044104420442 +S31508004C5043044404450446044704480449044A04F2 +S31508004C604B044C044D044E044F045104520453049F +S31508004C705404550456045704580459045A045B044A +S31508004C805C045E045F047021712172217321742112 +S31508004C90752176217721782179217A217B217C213A +S31508004CA07D217E217F2141FF42FF43FF44FF45FFCF +S31508004CB046FF47FF48FF49FF4AFF4BFF4CFF4DFFA2 +S31508004CC04EFF4FFF50FF51FF52FF53FF54FF55FF52 +S31508004CD056FF57FF58FF59FF5AFF0000C700FC0050 +S31508004CE0E900E200E400E000E500E700EA00EB0086 +S31508004CF0E800EF00EE00EC00C400C500C900E600BD +S31508004D00C600F400F600F200FB00F900FF00D6002A +S31508004D10DC00A200A300A500A7209201E100ED0097 +S31508004D20F300FA00F100D100AA00BA00BF00102370 +S31508004D30AC00BD00BC00A100AB00BB0091259225CC +S31508004D4093250225242561256225562555256325A3 +S31508004D50512557255D255C255B2510251425342509 +S31508004D602C251C2500253C255E255F255A2554251E +S31508004D7069256625602550256C25672568256425DF +S31508004D80652559255825522553256B256A25182545 +S31508004D900C25882584258C2590258025B103DF00E0 +S31508004DA09303C003A303C303B500C403A603980370 +S31508004DB0A903B4031E22C603B50329226122B10042 +S31508004DC06522642220232123F7004822B0001922F5 +S31508004DD0B7001A227F20B200A025A0004100420099 +S31508004DE043004400450046004700480049004A0081 +S31508004DF04B004C004D004E004F0050005100520031 +S31508004E0053005400550056005700580059005A00E0 +S31508004E102100E0FFE1FFE5FFE2FFE3FFC000C1007C +S31508004E20C200C300C400C500C600C700C800C90048 +S31508004E30CA00CB00CC00CD00CE00CF00D000D100F8 +S31508004E40D200D300D400D500D600D800D900DA00A5 +S31508004E50DB00DC00DD00DE00780100010201040150 +S31508004E60060108010A010C010E01100112011401C4 +S31508004E70160118011A011C011E0120012201240134 +S31508004E80260128012A012C012E01300132013401A4 +S31508004E90360139013B013D013F014101430145010D +S31508004EA047014A014C014E01500152015401560175 +S31508004EB058015A015C015E016001620164016601E4 +S31508004EC068016A016C016E01700172017401760154 +S31508004ED079017B017D019101910392039303940368 +S31508004EE0950396039703980399039A039B039C03D8 +S31508004EF09D039E039F03A003A103A303A403A50385 +S31508004F00A603A703A803A903AA03100411041204FD +S31508004F1013041404150416041704180419041A04AF +S31508004F201B041C041D041E041F042004210422045F +S31508004F3023042404250426042704280429042A040F +S31508004F402B042C042D042E042F040104020403044C +S31508004F500404050406040704080409040A040B04E7 +S31508004F600C040E040F04602161216221632164216F +S31508004F70652166216721682169216A216B216C21D7 +S31508004F806D216E216F2121FF22FF23FF24FF25FFBC +S31508004F9026FF27FF28FF29FF2AFF2BFF2CFF2DFFBF +S31508004FA02EFF2FFF30FF31FF32FF33FF34FF35FF6F +S31508004FB036FF37FF38FF39FF3AFF00004F70656E3E +S31508004FC0424C540000202020202020202020282881 +S31508004FD028282820202020202020202020202020AB +S31508004FE020202020208810101010101010101010EB +S31508004FF0101010101004040404040404040404101B +S3150800500010101010101041414141414101010101A8 +S315080050100101010101010101010101010101010172 +S31508005020101010101010424242424242020202027E +S315080050300202020202020202020202020202020242 +S3150800504010101010200000000000000000000000F2 +S315080050500000000000000000000000000000000042 +S315080050600000000000000000000000000000000032 +S315080050700000000000000000000000000000000022 +S315080050800000000000000000000000000000000012 +S315080050900000000000000000000000000000000002 +S315080050A000000000000000000000000000000000F2 +S315080050B000000000000000000000000000000000E2 +S315080050C000000000004300001C0000200000000053 +S30D080050D008B1FF7F0100000092 +S315080050D801000000000000000102030401020304A5 +S315080050E80607080904000000C44F0008000000006D +S315080050F8000000000000000000000000000000009A +S31508005108000000000000000000000000C55000086C +S315080051180000000000000000000000000000000079 +S315080051280000000000000000000000000000000069 +S315080051380000000000000000000000000000000059 +S31508005148000000000000000000000000A901000897 +S3090800515885010008B7 S70508000000F2 diff --git a/Target/Demo/ARMCM3_STM32F2_Olimex_STM32P207_GCC/Boot/blt_conf.h b/Target/Demo/ARMCM3_STM32F2_Olimex_STM32P207_GCC/Boot/blt_conf.h index de95af89..795221c9 100644 --- a/Target/Demo/ARMCM3_STM32F2_Olimex_STM32P207_GCC/Boot/blt_conf.h +++ b/Target/Demo/ARMCM3_STM32F2_Olimex_STM32P207_GCC/Boot/blt_conf.h @@ -56,6 +56,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 (1) +/** \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 (0) + /* 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 diff --git a/Target/Demo/ARMCM3_STM32F2_Olimex_STM32P207_GCC/Boot/ide/stm32f207.depend b/Target/Demo/ARMCM3_STM32F2_Olimex_STM32P207_GCC/Boot/ide/stm32f207.depend index 842b4948..c80a0cdb 100644 --- a/Target/Demo/ARMCM3_STM32F2_Olimex_STM32P207_GCC/Boot/ide/stm32f207.depend +++ b/Target/Demo/ARMCM3_STM32F2_Olimex_STM32P207_GCC/Boot/ide/stm32f207.depend @@ -811,7 +811,7 @@ 1469267887 source:c:\work\software\openblt\target\source\armcm3_stm32f2\gcc\cstart.s -1469286137 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\hooks.c +1469286972 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\hooks.c "boot.h" "led.h" "stm32f2xx.h" @@ -833,7 +833,7 @@ 1462050329 c:\work\software\openblt\target\source\assert.h -1469285352 c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\\blt_conf.h +1469290552 c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\\blt_conf.h 1469095224 c:\work\software\openblt\target\source\plausibility.h @@ -868,7 +868,7 @@ 1469268835 c:\work\software\openblt\target\source\armcm3_stm32f2\flash.h -1469285339 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\main.c +1469290821 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\main.c "boot.h" "stm32f2xx.h" @@ -961,3 +961,6 @@ 1456845502 c:\work\software\openblt\target\source\third_party\fatfs\src\option\ccsbcs.c "../ff.h" +1469290576 source:c:\work\software\openblt\target\source\armcm3_stm32f2\can.c + "boot.h" + diff --git a/Target/Demo/ARMCM3_STM32F2_Olimex_STM32P207_GCC/Boot/ide/stm32f207.ebp b/Target/Demo/ARMCM3_STM32F2_Olimex_STM32P207_GCC/Boot/ide/stm32f207.ebp index d3fbb780..4f0304ef 100644 --- a/Target/Demo/ARMCM3_STM32F2_Olimex_STM32P207_GCC/Boot/ide/stm32f207.ebp +++ b/Target/Demo/ARMCM3_STM32F2_Olimex_STM32P207_GCC/Boot/ide/stm32f207.ebp @@ -312,6 +312,10 @@

q@g^tMlGTwN6Inlyhr0XU_puLSqBX0RA= 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

K1eU@1UlbpUne!xmY7L;BI1R!eQvmiq*opegR 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 diff --git a/Target/Demo/ARMCM3_STM32F2_Olimex_STM32P207_GCC/Prog/bin/demoprog_stm32f207.map b/Target/Demo/ARMCM3_STM32F2_Olimex_STM32P207_GCC/Prog/bin/demoprog_stm32f207.map index fcc02e06..dd8f1b90 100644 --- a/Target/Demo/ARMCM3_STM32F2_Olimex_STM32P207_GCC/Prog/bin/demoprog_stm32f207.map +++ b/Target/Demo/ARMCM3_STM32F2_Olimex_STM32P207_GCC/Prog/bin/demoprog_stm32f207.map @@ -105,7 +105,7 @@ Discarded input sections .text.IrqInterruptRestore 0x00000000 0x28 ..\obj\irq.o .debug_macro 0x00000000 0x862 ..\obj\irq.o - .debug_macro 0x00000000 0x87 ..\obj\irq.o + .debug_macro 0x00000000 0xb7 ..\obj\irq.o .debug_macro 0x00000000 0x4c ..\obj\irq.o .debug_macro 0x00000000 0x3a ..\obj\irq.o .debug_macro 0x00000000 0x16 ..\obj\irq.o @@ -180,7 +180,7 @@ Discarded input sections .data 0x00000000 0x0 ..\obj\led.o .bss 0x00000000 0x0 ..\obj\led.o .debug_macro 0x00000000 0x862 ..\obj\led.o - .debug_macro 0x00000000 0x87 ..\obj\led.o + .debug_macro 0x00000000 0xb7 ..\obj\led.o .debug_macro 0x00000000 0x4c ..\obj\led.o .debug_macro 0x00000000 0x3a ..\obj\led.o .debug_macro 0x00000000 0x16 ..\obj\led.o @@ -508,14 +508,6 @@ Discarded input sections .text 0x00000000 0x0 ..\obj\lib\spl\src\stm32f2xx_can.o .data 0x00000000 0x0 ..\obj\lib\spl\src\stm32f2xx_can.o .bss 0x00000000 0x0 ..\obj\lib\spl\src\stm32f2xx_can.o - .text.CAN_DeInit - 0x00000000 0x44 ..\obj\lib\spl\src\stm32f2xx_can.o - .text.CAN_Init - 0x00000000 0x1a4 ..\obj\lib\spl\src\stm32f2xx_can.o - .text.CAN_FilterInit - 0x00000000 0x164 ..\obj\lib\spl\src\stm32f2xx_can.o - .text.CAN_StructInit - 0x00000000 0x54 ..\obj\lib\spl\src\stm32f2xx_can.o .text.CAN_SlaveStartBank 0x00000000 0x60 ..\obj\lib\spl\src\stm32f2xx_can.o .text.CAN_DBGFreeze @@ -528,12 +520,8 @@ Discarded input sections 0x00000000 0xd4 ..\obj\lib\spl\src\stm32f2xx_can.o .text.CAN_CancelTransmit 0x00000000 0x50 ..\obj\lib\spl\src\stm32f2xx_can.o - .text.CAN_Receive - 0x00000000 0x170 ..\obj\lib\spl\src\stm32f2xx_can.o .text.CAN_FIFORelease 0x00000000 0x38 ..\obj\lib\spl\src\stm32f2xx_can.o - .text.CAN_MessagePending - 0x00000000 0x4c ..\obj\lib\spl\src\stm32f2xx_can.o .text.CAN_OperatingModeRequest 0x00000000 0xfc ..\obj\lib\spl\src\stm32f2xx_can.o .text.CAN_Sleep @@ -558,12 +546,6 @@ Discarded input sections 0x00000000 0xdc ..\obj\lib\spl\src\stm32f2xx_can.o .text.CheckITStatus 0x00000000 0x30 ..\obj\lib\spl\src\stm32f2xx_can.o - .debug_info 0x00000000 0xba4 ..\obj\lib\spl\src\stm32f2xx_can.o - .debug_abbrev 0x00000000 0x1f8 ..\obj\lib\spl\src\stm32f2xx_can.o - .debug_aranges - 0x00000000 0xe0 ..\obj\lib\spl\src\stm32f2xx_can.o - .debug_ranges 0x00000000 0xd0 ..\obj\lib\spl\src\stm32f2xx_can.o - .debug_macro 0x00000000 0x1e8 ..\obj\lib\spl\src\stm32f2xx_can.o .debug_macro 0x00000000 0x862 ..\obj\lib\spl\src\stm32f2xx_can.o .debug_macro 0x00000000 0x4c ..\obj\lib\spl\src\stm32f2xx_can.o .debug_macro 0x00000000 0x3a ..\obj\lib\spl\src\stm32f2xx_can.o @@ -599,12 +581,6 @@ Discarded input sections .debug_macro 0x00000000 0x82 ..\obj\lib\spl\src\stm32f2xx_can.o .debug_macro 0x00000000 0x35 ..\obj\lib\spl\src\stm32f2xx_can.o .debug_macro 0x00000000 0x3c9 ..\obj\lib\spl\src\stm32f2xx_can.o - .debug_line 0x00000000 0x7bd ..\obj\lib\spl\src\stm32f2xx_can.o - .debug_str 0x00000000 0x54a62 ..\obj\lib\spl\src\stm32f2xx_can.o - .comment 0x00000000 0x47 ..\obj\lib\spl\src\stm32f2xx_can.o - .ARM.attributes - 0x00000000 0x33 ..\obj\lib\spl\src\stm32f2xx_can.o - .debug_frame 0x00000000 0x2d4 ..\obj\lib\spl\src\stm32f2xx_can.o .group 0x00000000 0x8 ..\obj\lib\spl\src\stm32f2xx_crc.o .group 0x00000000 0x8 ..\obj\lib\spl\src\stm32f2xx_crc.o .group 0x00000000 0x8 ..\obj\lib\spl\src\stm32f2xx_crc.o @@ -2748,8 +2724,6 @@ Discarded input sections 0x00000000 0x3c ..\obj\lib\spl\src\stm32f2xx_rcc.o .text.RCC_AHB3PeriphResetCmd 0x00000000 0x3c ..\obj\lib\spl\src\stm32f2xx_rcc.o - .text.RCC_APB1PeriphResetCmd - 0x00000000 0x3c ..\obj\lib\spl\src\stm32f2xx_rcc.o .text.RCC_APB2PeriphResetCmd 0x00000000 0x3c ..\obj\lib\spl\src\stm32f2xx_rcc.o .text.RCC_AHB1PeriphClockLPModeCmd @@ -4060,7 +4034,7 @@ Discarded input sections .data 0x00000000 0x0 ..\obj\main.o .bss 0x00000000 0x0 ..\obj\main.o .debug_macro 0x00000000 0x862 ..\obj\main.o - .debug_macro 0x00000000 0x87 ..\obj\main.o + .debug_macro 0x00000000 0xb7 ..\obj\main.o .debug_macro 0x00000000 0x4c ..\obj\main.o .debug_macro 0x00000000 0x3a ..\obj\main.o .debug_macro 0x00000000 0x16 ..\obj\main.o @@ -4139,7 +4113,7 @@ Discarded input sections .text.TimerDeinit 0x00000000 0x18 ..\obj\timer.o .debug_macro 0x00000000 0x862 ..\obj\timer.o - .debug_macro 0x00000000 0x87 ..\obj\timer.o + .debug_macro 0x00000000 0xb7 ..\obj\timer.o .debug_macro 0x00000000 0x4c ..\obj\timer.o .debug_macro 0x00000000 0x3a ..\obj\timer.o .debug_macro 0x00000000 0x16 ..\obj\timer.o @@ -4213,7 +4187,7 @@ LOAD c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none- 0x00000000 __HEAP_SIZE = 0x0 0x00000100 __STACK_SIZE = 0x100 -.text 0x08008000 0xe74 +.text 0x08008000 0x162c *(.isr_vector) .isr_vector 0x08008000 0x188 ..\obj\startup_stm32f2xx.o 0x08008000 __isr_vector @@ -4225,195 +4199,222 @@ LOAD c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none- .text.NVIC_SystemReset 0x08008250 0x28 ..\obj\boot.o .text.BootComInit - 0x08008278 0xc ..\obj\boot.o + 0x08008278 0x10 ..\obj\boot.o 0x08008278 BootComInit .text.BootComCheckActivationRequest - 0x08008284 0xc ..\obj\boot.o - 0x08008284 BootComCheckActivationRequest + 0x08008288 0x10 ..\obj\boot.o + 0x08008288 BootComCheckActivationRequest .text.BootActivate - 0x08008290 0xc ..\obj\boot.o - 0x08008290 BootActivate + 0x08008298 0xc ..\obj\boot.o + 0x08008298 BootActivate .text.BootComUartInit - 0x0800829c 0xa0 ..\obj\boot.o + 0x080082a4 0xa0 ..\obj\boot.o .text.BootComUartCheckActivationRequest - 0x0800833c 0x7c ..\obj\boot.o + 0x08008344 0x7c ..\obj\boot.o .text.UartReceiveByte - 0x080083b8 0x38 ..\obj\boot.o + 0x080083c0 0x38 ..\obj\boot.o + .text.CanGetSpeedConfig + 0x080083f8 0xc0 ..\obj\boot.o + .text.BootComCanInit + 0x080084b8 0xf0 ..\obj\boot.o + .text.BootComCanCheckActivationRequest + 0x080085a8 0x44 ..\obj\boot.o .text.IrqInterruptEnable - 0x080083f0 0x10 ..\obj\irq.o - 0x080083f0 IrqInterruptEnable - .text.LedInit 0x08008400 0x44 ..\obj\led.o - 0x08008400 LedInit + 0x080085ec 0x10 ..\obj\irq.o + 0x080085ec IrqInterruptEnable + .text.LedInit 0x080085fc 0x44 ..\obj\led.o + 0x080085fc LedInit .text.LedToggle - 0x08008444 0x60 ..\obj\led.o - 0x08008444 LedToggle + 0x08008640 0x60 ..\obj\led.o + 0x08008640 LedToggle + .text.CAN_DeInit + 0x080086a0 0x44 ..\obj\lib\spl\src\stm32f2xx_can.o + 0x080086a0 CAN_DeInit + .text.CAN_Init + 0x080086e4 0x1a4 ..\obj\lib\spl\src\stm32f2xx_can.o + 0x080086e4 CAN_Init + .text.CAN_FilterInit + 0x08008888 0x164 ..\obj\lib\spl\src\stm32f2xx_can.o + 0x08008888 CAN_FilterInit + .text.CAN_StructInit + 0x080089ec 0x54 ..\obj\lib\spl\src\stm32f2xx_can.o + 0x080089ec CAN_StructInit + .text.CAN_Receive + 0x08008a40 0x170 ..\obj\lib\spl\src\stm32f2xx_can.o + 0x08008a40 CAN_Receive + .text.CAN_MessagePending + 0x08008bb0 0x4c ..\obj\lib\spl\src\stm32f2xx_can.o + 0x08008bb0 CAN_MessagePending .text.GPIO_Init - 0x080084a4 0x11c ..\obj\lib\spl\src\stm32f2xx_gpio.o - 0x080084a4 GPIO_Init + 0x08008bfc 0x11c ..\obj\lib\spl\src\stm32f2xx_gpio.o + 0x08008bfc GPIO_Init .text.GPIO_SetBits - 0x080085c0 0x1c ..\obj\lib\spl\src\stm32f2xx_gpio.o - 0x080085c0 GPIO_SetBits + 0x08008d18 0x1c ..\obj\lib\spl\src\stm32f2xx_gpio.o + 0x08008d18 GPIO_SetBits .text.GPIO_ResetBits - 0x080085dc 0x1c ..\obj\lib\spl\src\stm32f2xx_gpio.o - 0x080085dc GPIO_ResetBits + 0x08008d34 0x1c ..\obj\lib\spl\src\stm32f2xx_gpio.o + 0x08008d34 GPIO_ResetBits .text.GPIO_PinAFConfig - 0x080085f8 0x8c ..\obj\lib\spl\src\stm32f2xx_gpio.o - 0x080085f8 GPIO_PinAFConfig + 0x08008d50 0x8c ..\obj\lib\spl\src\stm32f2xx_gpio.o + 0x08008d50 GPIO_PinAFConfig .text.RCC_GetClocksFreq - 0x08008684 0x154 ..\obj\lib\spl\src\stm32f2xx_rcc.o - 0x08008684 RCC_GetClocksFreq + 0x08008ddc 0x154 ..\obj\lib\spl\src\stm32f2xx_rcc.o + 0x08008ddc RCC_GetClocksFreq .text.RCC_AHB1PeriphClockCmd - 0x080087d8 0x3c ..\obj\lib\spl\src\stm32f2xx_rcc.o - 0x080087d8 RCC_AHB1PeriphClockCmd + 0x08008f30 0x3c ..\obj\lib\spl\src\stm32f2xx_rcc.o + 0x08008f30 RCC_AHB1PeriphClockCmd .text.RCC_APB1PeriphClockCmd - 0x08008814 0x3c ..\obj\lib\spl\src\stm32f2xx_rcc.o - 0x08008814 RCC_APB1PeriphClockCmd + 0x08008f6c 0x3c ..\obj\lib\spl\src\stm32f2xx_rcc.o + 0x08008f6c RCC_APB1PeriphClockCmd + .text.RCC_APB1PeriphResetCmd + 0x08008fa8 0x3c ..\obj\lib\spl\src\stm32f2xx_rcc.o + 0x08008fa8 RCC_APB1PeriphResetCmd .text.USART_Init - 0x08008850 0x174 ..\obj\lib\spl\src\stm32f2xx_usart.o - 0x08008850 USART_Init + 0x08008fe4 0x174 ..\obj\lib\spl\src\stm32f2xx_usart.o + 0x08008fe4 USART_Init .text.USART_Cmd - 0x080089c4 0x40 ..\obj\lib\spl\src\stm32f2xx_usart.o - 0x080089c4 USART_Cmd + 0x08009158 0x40 ..\obj\lib\spl\src\stm32f2xx_usart.o + 0x08009158 USART_Cmd .text.USART_ReceiveData - 0x08008a04 0x20 ..\obj\lib\spl\src\stm32f2xx_usart.o - 0x08008a04 USART_ReceiveData + 0x08009198 0x20 ..\obj\lib\spl\src\stm32f2xx_usart.o + 0x08009198 USART_ReceiveData .text.USART_GetFlagStatus - 0x08008a24 0x38 ..\obj\lib\spl\src\stm32f2xx_usart.o - 0x08008a24 USART_GetFlagStatus + 0x080091b8 0x38 ..\obj\lib\spl\src\stm32f2xx_usart.o + 0x080091b8 USART_GetFlagStatus .text.SystemInit - 0x08008a5c 0x4c ..\obj\lib\system_stm32f2xx.o - 0x08008a5c SystemInit + 0x080091f0 0x4c ..\obj\lib\system_stm32f2xx.o + 0x080091f0 SystemInit .text.SetSysClock - 0x08008aa8 0xd8 ..\obj\lib\system_stm32f2xx.o - .text.main 0x08008b80 0x18 ..\obj\main.o - 0x08008b80 main - .text.Init 0x08008b98 0x14 ..\obj\main.o - .text 0x08008bac 0x10c ..\obj\startup_stm32f2xx.o - 0x08008bac Reset_Handler - 0x08008bfa NMI_Handler - 0x08008bfc HardFault_Handler - 0x08008bfe MemManage_Handler - 0x08008c00 BusFault_Handler - 0x08008c02 UsageFault_Handler - 0x08008c04 SVC_Handler - 0x08008c06 DebugMon_Handler - 0x08008c08 PendSV_Handler - 0x08008c0c Default_Handler - 0x08008c0e WWDG_IRQHandler - 0x08008c10 PVD_IRQHandler - 0x08008c12 TAMP_STAMP_IRQHandler - 0x08008c14 RTC_WKUP_IRQHandler - 0x08008c16 FLASH_IRQHandler - 0x08008c18 RCC_IRQHandler - 0x08008c1a EXTI0_IRQHandler - 0x08008c1c EXTI1_IRQHandler - 0x08008c1e EXTI2_IRQHandler - 0x08008c20 EXTI3_IRQHandler - 0x08008c22 EXTI4_IRQHandler - 0x08008c24 DMA1_Stream0_IRQHandler - 0x08008c26 DMA1_Stream1_IRQHandler - 0x08008c28 DMA1_Stream2_IRQHandler - 0x08008c2a DMA1_Stream3_IRQHandler - 0x08008c2c DMA1_Stream4_IRQHandler - 0x08008c2e DMA1_Stream5_IRQHandler - 0x08008c30 DMA1_Stream6_IRQHandler - 0x08008c32 ADC_IRQHandler - 0x08008c34 CAN1_TX_IRQHandler - 0x08008c36 CAN1_RX0_IRQHandler - 0x08008c38 CAN1_RX1_IRQHandler - 0x08008c3a CAN1_SCE_IRQHandler - 0x08008c3c EXTI9_5_IRQHandler - 0x08008c3e TIM1_BRK_TIM9_IRQHandler - 0x08008c40 TIM1_UP_TIM10_IRQHandler - 0x08008c42 TIM1_TRG_COM_TIM11_IRQHandler - 0x08008c44 TIM1_CC_IRQHandler - 0x08008c46 TIM2_IRQHandler - 0x08008c48 TIM3_IRQHandler - 0x08008c4a TIM4_IRQHandler - 0x08008c4c I2C1_EV_IRQHandler - 0x08008c4e I2C1_ER_IRQHandler - 0x08008c50 I2C2_EV_IRQHandler - 0x08008c52 I2C2_ER_IRQHandler - 0x08008c54 SPI1_IRQHandler - 0x08008c56 SPI2_IRQHandler - 0x08008c58 USART1_IRQHandler - 0x08008c5a USART2_IRQHandler - 0x08008c5c USART3_IRQHandler - 0x08008c5e EXTI15_10_IRQHandler - 0x08008c60 RTC_Alarm_IRQHandler - 0x08008c62 OTG_FS_WKUP_IRQHandler - 0x08008c64 TIM8_BRK_TIM12_IRQHandler - 0x08008c66 TIM8_UP_TIM13_IRQHandler - 0x08008c68 TIM8_TRG_COM_TIM14_IRQHandler - 0x08008c6a TIM8_CC_IRQHandler - 0x08008c6c DMA1_Stream7_IRQHandler - 0x08008c6e FSMC_IRQHandler - 0x08008c70 SDIO_IRQHandler - 0x08008c72 TIM5_IRQHandler - 0x08008c74 SPI3_IRQHandler - 0x08008c76 UART4_IRQHandler - 0x08008c78 UART5_IRQHandler - 0x08008c7a TIM6_DAC_IRQHandler - 0x08008c7c TIM7_IRQHandler - 0x08008c7e DMA2_Stream0_IRQHandler - 0x08008c80 DMA2_Stream1_IRQHandler - 0x08008c82 DMA2_Stream2_IRQHandler - 0x08008c84 DMA2_Stream3_IRQHandler - 0x08008c86 DMA2_Stream4_IRQHandler - 0x08008c88 ETH_IRQHandler - 0x08008c8a ETH_WKUP_IRQHandler - 0x08008c8c CAN2_TX_IRQHandler - 0x08008c8e CAN2_RX0_IRQHandler - 0x08008c90 CAN2_RX1_IRQHandler - 0x08008c92 CAN2_SCE_IRQHandler - 0x08008c94 OTG_FS_IRQHandler - 0x08008c96 DMA2_Stream5_IRQHandler - 0x08008c98 DMA2_Stream6_IRQHandler - 0x08008c9a DMA2_Stream7_IRQHandler - 0x08008c9c USART6_IRQHandler - 0x08008c9e I2C3_EV_IRQHandler - 0x08008ca0 I2C3_ER_IRQHandler - 0x08008ca2 OTG_HS_EP1_OUT_IRQHandler - 0x08008ca4 OTG_HS_EP1_IN_IRQHandler - 0x08008ca6 OTG_HS_WKUP_IRQHandler - 0x08008ca8 OTG_HS_IRQHandler - 0x08008caa DCMI_IRQHandler - 0x08008cac CRYP_IRQHandler - 0x08008cae HASH_RNG_IRQHandler + 0x0800923c 0xd8 ..\obj\lib\system_stm32f2xx.o + .text.main 0x08009314 0x18 ..\obj\main.o + 0x08009314 main + .text.Init 0x0800932c 0x14 ..\obj\main.o + .text 0x08009340 0x10c ..\obj\startup_stm32f2xx.o + 0x08009340 Reset_Handler + 0x0800938e NMI_Handler + 0x08009390 HardFault_Handler + 0x08009392 MemManage_Handler + 0x08009394 BusFault_Handler + 0x08009396 UsageFault_Handler + 0x08009398 SVC_Handler + 0x0800939a DebugMon_Handler + 0x0800939c PendSV_Handler + 0x080093a0 Default_Handler + 0x080093a2 WWDG_IRQHandler + 0x080093a4 PVD_IRQHandler + 0x080093a6 TAMP_STAMP_IRQHandler + 0x080093a8 RTC_WKUP_IRQHandler + 0x080093aa FLASH_IRQHandler + 0x080093ac RCC_IRQHandler + 0x080093ae EXTI0_IRQHandler + 0x080093b0 EXTI1_IRQHandler + 0x080093b2 EXTI2_IRQHandler + 0x080093b4 EXTI3_IRQHandler + 0x080093b6 EXTI4_IRQHandler + 0x080093b8 DMA1_Stream0_IRQHandler + 0x080093ba DMA1_Stream1_IRQHandler + 0x080093bc DMA1_Stream2_IRQHandler + 0x080093be DMA1_Stream3_IRQHandler + 0x080093c0 DMA1_Stream4_IRQHandler + 0x080093c2 DMA1_Stream5_IRQHandler + 0x080093c4 DMA1_Stream6_IRQHandler + 0x080093c6 ADC_IRQHandler + 0x080093c8 CAN1_TX_IRQHandler + 0x080093ca CAN1_RX0_IRQHandler + 0x080093cc CAN1_RX1_IRQHandler + 0x080093ce CAN1_SCE_IRQHandler + 0x080093d0 EXTI9_5_IRQHandler + 0x080093d2 TIM1_BRK_TIM9_IRQHandler + 0x080093d4 TIM1_UP_TIM10_IRQHandler + 0x080093d6 TIM1_TRG_COM_TIM11_IRQHandler + 0x080093d8 TIM1_CC_IRQHandler + 0x080093da TIM2_IRQHandler + 0x080093dc TIM3_IRQHandler + 0x080093de TIM4_IRQHandler + 0x080093e0 I2C1_EV_IRQHandler + 0x080093e2 I2C1_ER_IRQHandler + 0x080093e4 I2C2_EV_IRQHandler + 0x080093e6 I2C2_ER_IRQHandler + 0x080093e8 SPI1_IRQHandler + 0x080093ea SPI2_IRQHandler + 0x080093ec USART1_IRQHandler + 0x080093ee USART2_IRQHandler + 0x080093f0 USART3_IRQHandler + 0x080093f2 EXTI15_10_IRQHandler + 0x080093f4 RTC_Alarm_IRQHandler + 0x080093f6 OTG_FS_WKUP_IRQHandler + 0x080093f8 TIM8_BRK_TIM12_IRQHandler + 0x080093fa TIM8_UP_TIM13_IRQHandler + 0x080093fc TIM8_TRG_COM_TIM14_IRQHandler + 0x080093fe TIM8_CC_IRQHandler + 0x08009400 DMA1_Stream7_IRQHandler + 0x08009402 FSMC_IRQHandler + 0x08009404 SDIO_IRQHandler + 0x08009406 TIM5_IRQHandler + 0x08009408 SPI3_IRQHandler + 0x0800940a UART4_IRQHandler + 0x0800940c UART5_IRQHandler + 0x0800940e TIM6_DAC_IRQHandler + 0x08009410 TIM7_IRQHandler + 0x08009412 DMA2_Stream0_IRQHandler + 0x08009414 DMA2_Stream1_IRQHandler + 0x08009416 DMA2_Stream2_IRQHandler + 0x08009418 DMA2_Stream3_IRQHandler + 0x0800941a DMA2_Stream4_IRQHandler + 0x0800941c ETH_IRQHandler + 0x0800941e ETH_WKUP_IRQHandler + 0x08009420 CAN2_TX_IRQHandler + 0x08009422 CAN2_RX0_IRQHandler + 0x08009424 CAN2_RX1_IRQHandler + 0x08009426 CAN2_SCE_IRQHandler + 0x08009428 OTG_FS_IRQHandler + 0x0800942a DMA2_Stream5_IRQHandler + 0x0800942c DMA2_Stream6_IRQHandler + 0x0800942e DMA2_Stream7_IRQHandler + 0x08009430 USART6_IRQHandler + 0x08009432 I2C3_EV_IRQHandler + 0x08009434 I2C3_ER_IRQHandler + 0x08009436 OTG_HS_EP1_OUT_IRQHandler + 0x08009438 OTG_HS_EP1_IN_IRQHandler + 0x0800943a OTG_HS_WKUP_IRQHandler + 0x0800943c OTG_HS_IRQHandler + 0x0800943e DCMI_IRQHandler + 0x08009440 CRYP_IRQHandler + 0x08009442 HASH_RNG_IRQHandler .text.NVIC_SetPriority - 0x08008cb8 0x54 ..\obj\timer.o + 0x0800944c 0x54 ..\obj\timer.o .text.SysTick_Config - 0x08008d0c 0x44 ..\obj\timer.o + 0x080094a0 0x44 ..\obj\timer.o .text.TimerInit - 0x08008d50 0x28 ..\obj\timer.o - 0x08008d50 TimerInit + 0x080094e4 0x28 ..\obj\timer.o + 0x080094e4 TimerInit .text.TimerSet - 0x08008d78 0x1c ..\obj\timer.o - 0x08008d78 TimerSet + 0x0800950c 0x1c ..\obj\timer.o + 0x0800950c TimerSet .text.TimerGet - 0x08008d94 0x18 ..\obj\timer.o - 0x08008d94 TimerGet + 0x08009528 0x18 ..\obj\timer.o + 0x08009528 TimerGet .text.SysTick_Handler - 0x08008dac 0x1c ..\obj\timer.o - 0x08008dac SysTick_Handler - .text.exit 0x08008dc8 0x28 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7-m\libg_n.a(lib_a-exit.o) - 0x08008dc8 exit + 0x08009540 0x1c ..\obj\timer.o + 0x08009540 SysTick_Handler + .text.exit 0x0800955c 0x28 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7-m\libg_n.a(lib_a-exit.o) + 0x0800955c exit .text.__libc_init_array - 0x08008df0 0x4c c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7-m\libg_n.a(lib_a-init.o) - 0x08008df0 __libc_init_array - .text.memset 0x08008e3c 0x10 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7-m\libg_n.a(lib_a-memset.o) - 0x08008e3c memset - .text 0x08008e4c 0x2 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7-m\libnosys_s.a(_exit.o) - 0x08008e4c _exit + 0x08009584 0x4c c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7-m\libg_n.a(lib_a-init.o) + 0x08009584 __libc_init_array + .text.memset 0x080095d0 0x10 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7-m\libg_n.a(lib_a-memset.o) + 0x080095d0 memset + .text 0x080095e0 0x2 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7-m\libnosys_s.a(_exit.o) + 0x080095e0 _exit *(.init) - *fill* 0x08008e4e 0x2 - .init 0x08008e50 0x4 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv7-m/crti.o - 0x08008e50 _init - .init 0x08008e54 0x8 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv7-m/crtn.o + *fill* 0x080095e2 0x2 + .init 0x080095e4 0x4 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv7-m/crti.o + 0x080095e4 _init + .init 0x080095e8 0x8 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv7-m/crtn.o *(.fini) - .fini 0x08008e5c 0x4 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv7-m/crti.o - 0x08008e5c _fini - .fini 0x08008e60 0x8 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv7-m/crtn.o + .fini 0x080095f0 0x4 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv7-m/crti.o + 0x080095f0 _fini + .fini 0x080095f4 0x8 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv7-m/crtn.o *crtbegin.o(.ctors) *crtbegin?.o(.ctors) *(EXCLUDE_FILE(*crtend.o *crtend?.o) .ctors) @@ -4425,45 +4426,47 @@ LOAD c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none- *(SORT(.dtors.*)) *(.dtors) *(.rodata*) + .rodata.canTiming + 0x080095fc 0x24 ..\obj\boot.o .rodata.str1.1 - 0x08008e68 0x2 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7-m\libg_n.a(lib_a-impure.o) - *fill* 0x08008e6a 0x2 + 0x08009620 0x2 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7-m\libg_n.a(lib_a-impure.o) + *fill* 0x08009622 0x2 .rodata._global_impure_ptr - 0x08008e6c 0x4 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7-m\libg_n.a(lib_a-impure.o) - 0x08008e6c _global_impure_ptr + 0x08009624 0x4 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7-m\libg_n.a(lib_a-impure.o) + 0x08009624 _global_impure_ptr *(.eh_frame*) - .eh_frame 0x08008e70 0x0 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv7-m/crtbegin.o - .eh_frame 0x08008e70 0x4 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv7-m/crtend.o + .eh_frame 0x08009628 0x0 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv7-m/crtbegin.o + .eh_frame 0x08009628 0x4 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv7-m/crtend.o -.glue_7 0x08008e74 0x0 +.glue_7 0x0800962c 0x0 .glue_7 0x00000000 0x0 linker stubs -.glue_7t 0x08008e74 0x0 +.glue_7t 0x0800962c 0x0 .glue_7t 0x00000000 0x0 linker stubs -.vfp11_veneer 0x08008e74 0x0 +.vfp11_veneer 0x0800962c 0x0 .vfp11_veneer 0x00000000 0x0 linker stubs -.v4_bx 0x08008e74 0x0 +.v4_bx 0x0800962c 0x0 .v4_bx 0x00000000 0x0 linker stubs -.iplt 0x08008e74 0x0 +.iplt 0x0800962c 0x0 .iplt 0x00000000 0x0 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv7-m/crtbegin.o .ARM.extab *(.ARM.extab* .gnu.linkonce.armextab.*) - 0x08008e74 __exidx_start = . + 0x0800962c __exidx_start = . -.ARM.exidx 0x08008e74 0x8 +.ARM.exidx 0x0800962c 0x8 *(.ARM.exidx* .gnu.linkonce.armexidx.*) - .ARM.exidx 0x08008e74 0x8 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7-m/crt0.o - 0x08008e7c __exidx_end = . - 0x08008e7c __etext = . + .ARM.exidx 0x0800962c 0x8 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7-m/crt0.o + 0x08009634 __exidx_end = . + 0x08009634 __etext = . -.rel.dyn 0x08008e7c 0x0 +.rel.dyn 0x08009634 0x0 .rel.iplt 0x00000000 0x0 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv7-m/crtbegin.o -.data 0x20000000 0x7c load address 0x08008e7c +.data 0x20000000 0x7c load address 0x08009634 0x20000000 __data_start__ = . *(vtable) *(.data*) @@ -4493,22 +4496,22 @@ LOAD c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none- 0x2000007c . = ALIGN (0x4) 0x2000007c __data_end__ = . -.jcr 0x2000007c 0x0 load address 0x08008ef8 +.jcr 0x2000007c 0x0 load address 0x080096b0 .jcr 0x2000007c 0x0 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv7-m/crtbegin.o -.igot.plt 0x2000007c 0x0 load address 0x08008ef8 +.igot.plt 0x2000007c 0x0 load address 0x080096b0 .igot.plt 0x00000000 0x0 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv7-m/crtbegin.o -.bss 0x2000007c 0x74 load address 0x08008ef8 +.bss 0x2000007c 0x74 load address 0x080096b0 0x2000007c __bss_start__ = . *(.bss*) .bss 0x2000007c 0x1c c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv7-m/crtbegin.o - .bss.xcpCtoRxInProgress.7886 + .bss.xcpCtoRxInProgress.7890 0x20000098 0x1 ..\obj\boot.o *fill* 0x20000099 0x3 - .bss.xcpCtoReqPacket.7884 + .bss.xcpCtoReqPacket.7888 0x2000009c 0x44 ..\obj\boot.o - .bss.xcpCtoRxLength.7885 + .bss.xcpCtoRxLength.7889 0x200000e0 0x1 ..\obj\boot.o *fill* 0x200000e1 0x3 .bss.timer_counter_last.7869 @@ -4602,39 +4605,42 @@ OUTPUT(..\bin\demoprog_stm32f207.elf elf32-littlearm) .ARM.attributes 0x000000cb 0x33 ..\obj\led.o .ARM.attributes - 0x000000fe 0x33 ..\obj\lib\spl\src\stm32f2xx_gpio.o + 0x000000fe 0x33 ..\obj\lib\spl\src\stm32f2xx_can.o .ARM.attributes - 0x00000131 0x33 ..\obj\lib\spl\src\stm32f2xx_rcc.o + 0x00000131 0x33 ..\obj\lib\spl\src\stm32f2xx_gpio.o .ARM.attributes - 0x00000164 0x33 ..\obj\lib\spl\src\stm32f2xx_usart.o + 0x00000164 0x33 ..\obj\lib\spl\src\stm32f2xx_rcc.o .ARM.attributes - 0x00000197 0x33 ..\obj\lib\system_stm32f2xx.o + 0x00000197 0x33 ..\obj\lib\spl\src\stm32f2xx_usart.o .ARM.attributes - 0x000001ca 0x33 ..\obj\main.o + 0x000001ca 0x33 ..\obj\lib\system_stm32f2xx.o .ARM.attributes - 0x000001fd 0x1b ..\obj\startup_stm32f2xx.o + 0x000001fd 0x33 ..\obj\main.o .ARM.attributes - 0x00000218 0x33 ..\obj\timer.o + 0x00000230 0x1b ..\obj\startup_stm32f2xx.o .ARM.attributes - 0x0000024b 0x2d c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7-m\libg_n.a(lib_a-exit.o) + 0x0000024b 0x33 ..\obj\timer.o .ARM.attributes - 0x00000278 0x2d c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7-m\libg_n.a(lib_a-impure.o) + 0x0000027e 0x2d c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7-m\libg_n.a(lib_a-exit.o) .ARM.attributes - 0x000002a5 0x2d c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7-m\libg_n.a(lib_a-init.o) + 0x000002ab 0x2d c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7-m\libg_n.a(lib_a-impure.o) .ARM.attributes - 0x000002d2 0x2d c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7-m\libg_n.a(lib_a-memset.o) + 0x000002d8 0x2d c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7-m\libg_n.a(lib_a-init.o) .ARM.attributes - 0x000002ff 0x2d c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7-m\libnosys_s.a(_exit.o) + 0x00000305 0x2d c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7-m\libg_n.a(lib_a-memset.o) .ARM.attributes - 0x0000032c 0x2d c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv7-m/crtend.o + 0x00000332 0x2d c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7-m\libnosys_s.a(_exit.o) .ARM.attributes - 0x00000359 0x1d c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv7-m/crtn.o + 0x0000035f 0x2d c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv7-m/crtend.o + .ARM.attributes + 0x0000038c 0x1d c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv7-m/crtn.o .comment 0x00000000 0x46 .comment 0x00000000 0x46 ..\obj\boot.o 0x47 (size before relaxing) .comment 0x00000000 0x47 ..\obj\irq.o .comment 0x00000000 0x47 ..\obj\led.o + .comment 0x00000000 0x47 ..\obj\lib\spl\src\stm32f2xx_can.o .comment 0x00000000 0x47 ..\obj\lib\spl\src\stm32f2xx_gpio.o .comment 0x00000000 0x47 ..\obj\lib\spl\src\stm32f2xx_rcc.o .comment 0x00000000 0x47 ..\obj\lib\spl\src\stm32f2xx_usart.o @@ -4642,156 +4648,166 @@ OUTPUT(..\bin\demoprog_stm32f207.elf elf32-littlearm) .comment 0x00000000 0x47 ..\obj\main.o .comment 0x00000000 0x47 ..\obj\timer.o -.debug_info 0x00000000 0x3311 - .debug_info 0x00000000 0x682 ..\obj\boot.o - .debug_info 0x00000682 0x130 ..\obj\irq.o - .debug_info 0x000007b2 0x2ef ..\obj\led.o - .debug_info 0x00000aa1 0x60d ..\obj\lib\spl\src\stm32f2xx_gpio.o - .debug_info 0x000010ae 0xc55 ..\obj\lib\spl\src\stm32f2xx_rcc.o - .debug_info 0x00001d03 0x9ca ..\obj\lib\spl\src\stm32f2xx_usart.o - .debug_info 0x000026cd 0x3ec ..\obj\lib\system_stm32f2xx.o - .debug_info 0x00002ab9 0xc4 ..\obj\main.o - .debug_info 0x00002b7d 0x8f ..\obj\startup_stm32f2xx.o - .debug_info 0x00002c0c 0x705 ..\obj\timer.o +.debug_info 0x00000000 0x4410 + .debug_info 0x00000000 0xbdd ..\obj\boot.o + .debug_info 0x00000bdd 0x130 ..\obj\irq.o + .debug_info 0x00000d0d 0x2ef ..\obj\led.o + .debug_info 0x00000ffc 0xba4 ..\obj\lib\spl\src\stm32f2xx_can.o + .debug_info 0x00001ba0 0x60d ..\obj\lib\spl\src\stm32f2xx_gpio.o + .debug_info 0x000021ad 0xc55 ..\obj\lib\spl\src\stm32f2xx_rcc.o + .debug_info 0x00002e02 0x9ca ..\obj\lib\spl\src\stm32f2xx_usart.o + .debug_info 0x000037cc 0x3ec ..\obj\lib\system_stm32f2xx.o + .debug_info 0x00003bb8 0xc4 ..\obj\main.o + .debug_info 0x00003c7c 0x8f ..\obj\startup_stm32f2xx.o + .debug_info 0x00003d0b 0x705 ..\obj\timer.o -.debug_abbrev 0x00000000 0xbad - .debug_abbrev 0x00000000 0x192 ..\obj\boot.o - .debug_abbrev 0x00000192 0x99 ..\obj\irq.o - .debug_abbrev 0x0000022b 0x104 ..\obj\led.o - .debug_abbrev 0x0000032f 0x1a8 ..\obj\lib\spl\src\stm32f2xx_gpio.o - .debug_abbrev 0x000004d7 0x1e8 ..\obj\lib\spl\src\stm32f2xx_rcc.o - .debug_abbrev 0x000006bf 0x15a ..\obj\lib\spl\src\stm32f2xx_usart.o - .debug_abbrev 0x00000819 0x13b ..\obj\lib\system_stm32f2xx.o - .debug_abbrev 0x00000954 0x82 ..\obj\main.o - .debug_abbrev 0x000009d6 0x14 ..\obj\startup_stm32f2xx.o - .debug_abbrev 0x000009ea 0x1c3 ..\obj\timer.o +.debug_abbrev 0x00000000 0xe4d + .debug_abbrev 0x00000000 0x23a ..\obj\boot.o + .debug_abbrev 0x0000023a 0x99 ..\obj\irq.o + .debug_abbrev 0x000002d3 0x104 ..\obj\led.o + .debug_abbrev 0x000003d7 0x1f8 ..\obj\lib\spl\src\stm32f2xx_can.o + .debug_abbrev 0x000005cf 0x1a8 ..\obj\lib\spl\src\stm32f2xx_gpio.o + .debug_abbrev 0x00000777 0x1e8 ..\obj\lib\spl\src\stm32f2xx_rcc.o + .debug_abbrev 0x0000095f 0x15a ..\obj\lib\spl\src\stm32f2xx_usart.o + .debug_abbrev 0x00000ab9 0x13b ..\obj\lib\system_stm32f2xx.o + .debug_abbrev 0x00000bf4 0x82 ..\obj\main.o + .debug_abbrev 0x00000c76 0x14 ..\obj\startup_stm32f2xx.o + .debug_abbrev 0x00000c8a 0x1c3 ..\obj\timer.o -.debug_aranges 0x00000000 0x470 +.debug_aranges 0x00000000 0x568 .debug_aranges - 0x00000000 0x50 ..\obj\boot.o + 0x00000000 0x68 ..\obj\boot.o .debug_aranges - 0x00000050 0x30 ..\obj\irq.o + 0x00000068 0x30 ..\obj\irq.o .debug_aranges - 0x00000080 0x28 ..\obj\led.o + 0x00000098 0x28 ..\obj\led.o .debug_aranges - 0x000000a8 0x88 ..\obj\lib\spl\src\stm32f2xx_gpio.o + 0x000000c0 0xe0 ..\obj\lib\spl\src\stm32f2xx_can.o .debug_aranges - 0x00000130 0x178 ..\obj\lib\spl\src\stm32f2xx_rcc.o + 0x000001a0 0x88 ..\obj\lib\spl\src\stm32f2xx_gpio.o .debug_aranges - 0x000002a8 0x100 ..\obj\lib\spl\src\stm32f2xx_usart.o + 0x00000228 0x178 ..\obj\lib\spl\src\stm32f2xx_rcc.o .debug_aranges - 0x000003a8 0x30 ..\obj\lib\system_stm32f2xx.o + 0x000003a0 0x100 ..\obj\lib\spl\src\stm32f2xx_usart.o .debug_aranges - 0x000003d8 0x28 ..\obj\main.o + 0x000004a0 0x30 ..\obj\lib\system_stm32f2xx.o .debug_aranges - 0x00000400 0x20 ..\obj\startup_stm32f2xx.o + 0x000004d0 0x28 ..\obj\main.o .debug_aranges - 0x00000420 0x50 ..\obj\timer.o + 0x000004f8 0x20 ..\obj\startup_stm32f2xx.o + .debug_aranges + 0x00000518 0x50 ..\obj\timer.o -.debug_ranges 0x00000000 0x3c0 - .debug_ranges 0x00000000 0x40 ..\obj\boot.o - .debug_ranges 0x00000040 0x20 ..\obj\irq.o - .debug_ranges 0x00000060 0x18 ..\obj\led.o - .debug_ranges 0x00000078 0x78 ..\obj\lib\spl\src\stm32f2xx_gpio.o - .debug_ranges 0x000000f0 0x168 ..\obj\lib\spl\src\stm32f2xx_rcc.o - .debug_ranges 0x00000258 0xf0 ..\obj\lib\spl\src\stm32f2xx_usart.o - .debug_ranges 0x00000348 0x20 ..\obj\lib\system_stm32f2xx.o - .debug_ranges 0x00000368 0x18 ..\obj\main.o - .debug_ranges 0x00000380 0x40 ..\obj\timer.o +.debug_ranges 0x00000000 0x4a8 + .debug_ranges 0x00000000 0x58 ..\obj\boot.o + .debug_ranges 0x00000058 0x20 ..\obj\irq.o + .debug_ranges 0x00000078 0x18 ..\obj\led.o + .debug_ranges 0x00000090 0xd0 ..\obj\lib\spl\src\stm32f2xx_can.o + .debug_ranges 0x00000160 0x78 ..\obj\lib\spl\src\stm32f2xx_gpio.o + .debug_ranges 0x000001d8 0x168 ..\obj\lib\spl\src\stm32f2xx_rcc.o + .debug_ranges 0x00000340 0xf0 ..\obj\lib\spl\src\stm32f2xx_usart.o + .debug_ranges 0x00000430 0x20 ..\obj\lib\system_stm32f2xx.o + .debug_ranges 0x00000450 0x18 ..\obj\main.o + .debug_ranges 0x00000468 0x40 ..\obj\timer.o -.debug_macro 0x00000000 0xe816 +.debug_macro 0x00000000 0xea2e .debug_macro 0x00000000 0x1c3 ..\obj\boot.o .debug_macro 0x000001c3 0x862 ..\obj\boot.o - .debug_macro 0x00000a25 0x87 ..\obj\boot.o - .debug_macro 0x00000aac 0x4c ..\obj\boot.o - .debug_macro 0x00000af8 0x3a ..\obj\boot.o - .debug_macro 0x00000b32 0x16 ..\obj\boot.o - .debug_macro 0x00000b48 0x44 ..\obj\boot.o - .debug_macro 0x00000b8c 0x209 ..\obj\boot.o - .debug_macro 0x00000d95 0x18 ..\obj\boot.o - .debug_macro 0x00000dad 0xb08 ..\obj\boot.o - .debug_macro 0x000018b5 0x7f1c ..\obj\boot.o - .debug_macro 0x000097d1 0x44f ..\obj\boot.o - .debug_macro 0x00009c20 0x3cf ..\obj\boot.o - .debug_macro 0x00009fef 0x111 ..\obj\boot.o - .debug_macro 0x0000a100 0x188 ..\obj\boot.o - .debug_macro 0x0000a288 0xb2 ..\obj\boot.o - .debug_macro 0x0000a33a 0x149 ..\obj\boot.o - .debug_macro 0x0000a483 0x477 ..\obj\boot.o - .debug_macro 0x0000a8fa 0xae ..\obj\boot.o - .debug_macro 0x0000a9a8 0x242 ..\obj\boot.o - .debug_macro 0x0000abea 0x279 ..\obj\boot.o - .debug_macro 0x0000ae63 0xb5 ..\obj\boot.o - .debug_macro 0x0000af18 0x25e ..\obj\boot.o - .debug_macro 0x0000b176 0x2b3 ..\obj\boot.o - .debug_macro 0x0000b429 0x64 ..\obj\boot.o - .debug_macro 0x0000b48d 0x88 ..\obj\boot.o - .debug_macro 0x0000b515 0x536 ..\obj\boot.o - .debug_macro 0x0000ba4b 0x40 ..\obj\boot.o - .debug_macro 0x0000ba8b 0x3f3 ..\obj\boot.o - .debug_macro 0x0000be7e 0x342 ..\obj\boot.o - .debug_macro 0x0000c1c0 0x357 ..\obj\boot.o - .debug_macro 0x0000c517 0xe1 ..\obj\boot.o - .debug_macro 0x0000c5f8 0x73b ..\obj\boot.o - .debug_macro 0x0000cd33 0x221 ..\obj\boot.o - .debug_macro 0x0000cf54 0x34 ..\obj\boot.o - .debug_macro 0x0000cf88 0x82 ..\obj\boot.o - .debug_macro 0x0000d00a 0x35 ..\obj\boot.o - .debug_macro 0x0000d03f 0x1c3 ..\obj\irq.o - .debug_macro 0x0000d202 0x1c9 ..\obj\led.o - .debug_macro 0x0000d3cb 0x192 ..\obj\lib\spl\src\stm32f2xx_gpio.o - .debug_macro 0x0000d55d 0x258 ..\obj\lib\spl\src\stm32f2xx_gpio.o - .debug_macro 0x0000d7b5 0x23b ..\obj\lib\spl\src\stm32f2xx_rcc.o - .debug_macro 0x0000d9f0 0x530 ..\obj\lib\spl\src\stm32f2xx_rcc.o - .debug_macro 0x0000df20 0x1aa ..\obj\lib\spl\src\stm32f2xx_usart.o - .debug_macro 0x0000e0ca 0x21b ..\obj\lib\spl\src\stm32f2xx_usart.o - .debug_macro 0x0000e2e5 0x1ab ..\obj\lib\system_stm32f2xx.o - .debug_macro 0x0000e490 0x1c3 ..\obj\main.o - .debug_macro 0x0000e653 0x1c3 ..\obj\timer.o + .debug_macro 0x00000a25 0xb7 ..\obj\boot.o + .debug_macro 0x00000adc 0x4c ..\obj\boot.o + .debug_macro 0x00000b28 0x3a ..\obj\boot.o + .debug_macro 0x00000b62 0x16 ..\obj\boot.o + .debug_macro 0x00000b78 0x44 ..\obj\boot.o + .debug_macro 0x00000bbc 0x209 ..\obj\boot.o + .debug_macro 0x00000dc5 0x18 ..\obj\boot.o + .debug_macro 0x00000ddd 0xb08 ..\obj\boot.o + .debug_macro 0x000018e5 0x7f1c ..\obj\boot.o + .debug_macro 0x00009801 0x44f ..\obj\boot.o + .debug_macro 0x00009c50 0x3cf ..\obj\boot.o + .debug_macro 0x0000a01f 0x111 ..\obj\boot.o + .debug_macro 0x0000a130 0x188 ..\obj\boot.o + .debug_macro 0x0000a2b8 0xb2 ..\obj\boot.o + .debug_macro 0x0000a36a 0x149 ..\obj\boot.o + .debug_macro 0x0000a4b3 0x477 ..\obj\boot.o + .debug_macro 0x0000a92a 0xae ..\obj\boot.o + .debug_macro 0x0000a9d8 0x242 ..\obj\boot.o + .debug_macro 0x0000ac1a 0x279 ..\obj\boot.o + .debug_macro 0x0000ae93 0xb5 ..\obj\boot.o + .debug_macro 0x0000af48 0x25e ..\obj\boot.o + .debug_macro 0x0000b1a6 0x2b3 ..\obj\boot.o + .debug_macro 0x0000b459 0x64 ..\obj\boot.o + .debug_macro 0x0000b4bd 0x88 ..\obj\boot.o + .debug_macro 0x0000b545 0x536 ..\obj\boot.o + .debug_macro 0x0000ba7b 0x40 ..\obj\boot.o + .debug_macro 0x0000babb 0x3f3 ..\obj\boot.o + .debug_macro 0x0000beae 0x342 ..\obj\boot.o + .debug_macro 0x0000c1f0 0x357 ..\obj\boot.o + .debug_macro 0x0000c547 0xe1 ..\obj\boot.o + .debug_macro 0x0000c628 0x73b ..\obj\boot.o + .debug_macro 0x0000cd63 0x221 ..\obj\boot.o + .debug_macro 0x0000cf84 0x34 ..\obj\boot.o + .debug_macro 0x0000cfb8 0x82 ..\obj\boot.o + .debug_macro 0x0000d03a 0x35 ..\obj\boot.o + .debug_macro 0x0000d06f 0x1c3 ..\obj\irq.o + .debug_macro 0x0000d232 0x1c9 ..\obj\led.o + .debug_macro 0x0000d3fb 0x1e8 ..\obj\lib\spl\src\stm32f2xx_can.o + .debug_macro 0x0000d5e3 0x192 ..\obj\lib\spl\src\stm32f2xx_gpio.o + .debug_macro 0x0000d775 0x258 ..\obj\lib\spl\src\stm32f2xx_gpio.o + .debug_macro 0x0000d9cd 0x23b ..\obj\lib\spl\src\stm32f2xx_rcc.o + .debug_macro 0x0000dc08 0x530 ..\obj\lib\spl\src\stm32f2xx_rcc.o + .debug_macro 0x0000e138 0x1aa ..\obj\lib\spl\src\stm32f2xx_usart.o + .debug_macro 0x0000e2e2 0x21b ..\obj\lib\spl\src\stm32f2xx_usart.o + .debug_macro 0x0000e4fd 0x1ab ..\obj\lib\system_stm32f2xx.o + .debug_macro 0x0000e6a8 0x1c3 ..\obj\main.o + .debug_macro 0x0000e86b 0x1c3 ..\obj\timer.o -.debug_line 0x00000000 0x328b - .debug_line 0x00000000 0x54d ..\obj\boot.o - .debug_line 0x0000054d 0x4d7 ..\obj\irq.o - .debug_line 0x00000a24 0x4b3 ..\obj\led.o - .debug_line 0x00000ed7 0x58f ..\obj\lib\spl\src\stm32f2xx_gpio.o - .debug_line 0x00001466 0x7eb ..\obj\lib\spl\src\stm32f2xx_rcc.o - .debug_line 0x00001c51 0x6de ..\obj\lib\spl\src\stm32f2xx_usart.o - .debug_line 0x0000232f 0x4bd ..\obj\lib\system_stm32f2xx.o - .debug_line 0x000027ec 0x4b6 ..\obj\main.o - .debug_line 0x00002ca2 0xd1 ..\obj\startup_stm32f2xx.o - .debug_line 0x00002d73 0x518 ..\obj\timer.o +.debug_line 0x00000000 0x3ad0 + .debug_line 0x00000000 0x5d5 ..\obj\boot.o + .debug_line 0x000005d5 0x4d7 ..\obj\irq.o + .debug_line 0x00000aac 0x4b3 ..\obj\led.o + .debug_line 0x00000f5f 0x7bd ..\obj\lib\spl\src\stm32f2xx_can.o + .debug_line 0x0000171c 0x58f ..\obj\lib\spl\src\stm32f2xx_gpio.o + .debug_line 0x00001cab 0x7eb ..\obj\lib\spl\src\stm32f2xx_rcc.o + .debug_line 0x00002496 0x6de ..\obj\lib\spl\src\stm32f2xx_usart.o + .debug_line 0x00002b74 0x4bd ..\obj\lib\system_stm32f2xx.o + .debug_line 0x00003031 0x4b6 ..\obj\main.o + .debug_line 0x000034e7 0xd1 ..\obj\startup_stm32f2xx.o + .debug_line 0x000035b8 0x518 ..\obj\timer.o -.debug_str 0x00000000 0x5600c - .debug_str 0x00000000 0x54767 ..\obj\boot.o - 0x5490a (size before relaxing) - .debug_str 0x00054767 0x70 ..\obj\irq.o - 0x54594 (size before relaxing) - .debug_str 0x000547d7 0x78 ..\obj\led.o - 0x54758 (size before relaxing) - .debug_str 0x0005484f 0x173 ..\obj\lib\spl\src\stm32f2xx_gpio.o +.debug_str 0x00000000 0x56866 + .debug_str 0x00000000 0x54b0f ..\obj\boot.o + 0x54cbc (size before relaxing) + .debug_str 0x00054b0f 0x70 ..\obj\irq.o + 0x54662 (size before relaxing) + .debug_str 0x00054b7f 0x65 ..\obj\led.o + 0x54826 (size before relaxing) + .debug_str 0x00054be4 0x4e8 ..\obj\lib\spl\src\stm32f2xx_can.o + 0x54a62 (size before relaxing) + .debug_str 0x000550cc 0x169 ..\obj\lib\spl\src\stm32f2xx_gpio.o 0x545db (size before relaxing) - .debug_str 0x000549c2 0xaff ..\obj\lib\spl\src\stm32f2xx_rcc.o + .debug_str 0x00055235 0xae6 ..\obj\lib\spl\src\stm32f2xx_rcc.o 0x54e5c (size before relaxing) - .debug_str 0x000554c1 0x49a ..\obj\lib\spl\src\stm32f2xx_usart.o + .debug_str 0x00055d1b 0x49a ..\obj\lib\spl\src\stm32f2xx_usart.o 0x548eb (size before relaxing) - .debug_str 0x0005595b 0xc4 ..\obj\lib\system_stm32f2xx.o + .debug_str 0x000561b5 0xc4 ..\obj\lib\system_stm32f2xx.o 0x544b8 (size before relaxing) - .debug_str 0x00055a1f 0xf ..\obj\main.o - 0x54538 (size before relaxing) - .debug_str 0x00055a2e 0x5de ..\obj\timer.o - 0x54bc3 (size before relaxing) + .debug_str 0x00056279 0xf ..\obj\main.o + 0x54606 (size before relaxing) + .debug_str 0x00056288 0x5de ..\obj\timer.o + 0x54c91 (size before relaxing) -.debug_frame 0x00000000 0xd44 - .debug_frame 0x00000000 0xd8 ..\obj\boot.o - .debug_frame 0x000000d8 0x58 ..\obj\irq.o - .debug_frame 0x00000130 0x50 ..\obj\led.o - .debug_frame 0x00000180 0x19c ..\obj\lib\spl\src\stm32f2xx_gpio.o - .debug_frame 0x0000031c 0x4d8 ..\obj\lib\spl\src\stm32f2xx_rcc.o - .debug_frame 0x000007f4 0x344 ..\obj\lib\spl\src\stm32f2xx_usart.o - .debug_frame 0x00000b38 0x64 ..\obj\lib\system_stm32f2xx.o - .debug_frame 0x00000b9c 0x48 ..\obj\main.o - .debug_frame 0x00000be4 0xcc ..\obj\timer.o - .debug_frame 0x00000cb0 0x28 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7-m\libg_n.a(lib_a-exit.o) - .debug_frame 0x00000cd8 0x2c c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7-m\libg_n.a(lib_a-init.o) - .debug_frame 0x00000d04 0x20 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7-m\libg_n.a(lib_a-memset.o) - .debug_frame 0x00000d24 0x20 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7-m\libnosys_s.a(_exit.o) +.debug_frame 0x00000000 0x1074 + .debug_frame 0x00000000 0x134 ..\obj\boot.o + .debug_frame 0x00000134 0x58 ..\obj\irq.o + .debug_frame 0x0000018c 0x50 ..\obj\led.o + .debug_frame 0x000001dc 0x2d4 ..\obj\lib\spl\src\stm32f2xx_can.o + .debug_frame 0x000004b0 0x19c ..\obj\lib\spl\src\stm32f2xx_gpio.o + .debug_frame 0x0000064c 0x4d8 ..\obj\lib\spl\src\stm32f2xx_rcc.o + .debug_frame 0x00000b24 0x344 ..\obj\lib\spl\src\stm32f2xx_usart.o + .debug_frame 0x00000e68 0x64 ..\obj\lib\system_stm32f2xx.o + .debug_frame 0x00000ecc 0x48 ..\obj\main.o + .debug_frame 0x00000f14 0xcc ..\obj\timer.o + .debug_frame 0x00000fe0 0x28 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7-m\libg_n.a(lib_a-exit.o) + .debug_frame 0x00001008 0x2c c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7-m\libg_n.a(lib_a-init.o) + .debug_frame 0x00001034 0x20 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7-m\libg_n.a(lib_a-memset.o) + .debug_frame 0x00001054 0x20 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7-m\libnosys_s.a(_exit.o) diff --git a/Target/Demo/ARMCM3_STM32F2_Olimex_STM32P207_GCC/Prog/bin/demoprog_stm32f207.srec b/Target/Demo/ARMCM3_STM32F2_Olimex_STM32P207_GCC/Prog/bin/demoprog_stm32f207.srec index e186e88d..48ae1337 100644 --- a/Target/Demo/ARMCM3_STM32F2_Olimex_STM32P207_GCC/Prog/bin/demoprog_stm32f207.srec +++ b/Target/Demo/ARMCM3_STM32F2_Olimex_STM32P207_GCC/Prog/bin/demoprog_stm32f207.srec @@ -1,243 +1,366 @@ S02100002E2E5C62696E5C64656D6F70726F675F73746D3332663230372E7372656342 -S3150800800000000220AD8B0008FB8B0008FD8B0008E2 -S31508008010FF8B0008018C0008038C00080000000094 -S31508008020000000000000000000000000058C0008A9 -S31508008030078C000800000000098C0008AD8D0008B8 -S315080080400F8C0008118C0008138C0008158C00088A -S31508008050178C0008198C00081B8C00081D8C00085A -S315080080601F8C0008218C0008238C0008258C00082A -S31508008070278C0008298C00082B8C00082D8C0008FA -S315080080802F8C0008318C0008338C0008358C0008CA -S31508008090378C0008398C00083B8C00083D8C00089A -S315080080A03F8C0008418C0008438C0008458C00086A -S315080080B0478C0008498C00084B8C00084D8C00083A -S315080080C04F8C0008518C0008538C0008558C00080A -S315080080D0578C0008598C00085B8C00085D8C0008DA -S315080080E05F8C0008618C0008638C0008658C0008AA -S315080080F0678C0008698C00086B8C00086D8C00087A -S315080081006F8C0008718C0008738C0008758C000849 -S31508008110778C0008798C00087B8C00087D8C000819 -S315080081207F8C0008818C0008838C0008858C0008E9 -S31508008130878C0008898C00088B8C00088D8C0008B9 -S315080081408F8C0008918C0008938C0008958C000889 -S31508008150978C0008998C00089B8C00089D8C000859 -S315080081609F8C0008A18C0008A38C0008A58C000829 -S31508008170A78C0008A98C0008AB8C0008AD8C0008F9 -S31508008180AF8C0008EE11AA5510B5054C237833B903 +S3150800800000000220419300088F930008919300080E +S3150800801093930008959300089793000800000000C2 +S31508008020000000000000000000000000999300080E +S315080080309B930008000000009D93000841950008E6 +S31508008040A3930008A5930008A7930008A99300081E +S31508008050AB930008AD930008AF930008B1930008EE +S31508008060B3930008B5930008B7930008B9930008BE +S31508008070BB930008BD930008BF930008C19300088E +S31508008080C3930008C5930008C7930008C99300085E +S31508008090CB930008CD930008CF930008D19300082E +S315080080A0D3930008D5930008D7930008D9930008FE +S315080080B0DB930008DD930008DF930008E1930008CE +S315080080C0E3930008E5930008E7930008E99300089E +S315080080D0EB930008ED930008EF930008F19300086E +S315080080E0F3930008F5930008F7930008F99300083E +S315080080F0FB930008FD930008FF930008019400080D +S3150800810003940008059400080794000809940008D9 +S315080081100B9400080D9400080F94000811940008A9 +S315080081201394000815940008179400081994000879 +S315080081301B9400081D9400081F9400082194000849 +S315080081402394000825940008279400082994000819 +S315080081502B9400082D9400082F94000831940008E9 +S3150800816033940008359400083794000839940008B9 +S315080081703B9400083D9400083F9400084194000889 +S3150800818043940008EE11AA5510B5054C237833B967 S31508008190044B13B10448AFF300800123237010BDCC -S315080081A07C00002000000000708E000808B5064B11 +S315080081A07C000020000000002896000808B5064B51 S315080081B01BB106480649AFF300800648036813B1A9 -S315080081C0054B03B1984708BD00000000708E0008F3 +S315080081C0054B03B1984708BD000000002896000833 S315080081D0800000207C00002000000000154B002BCA S315080081E008BF134B9D46A3F5803A00218B460F46E0 -S315080081F01348144A121A00F021FE0F4B002B00D028 +S315080081F01348144A121A01F0EBF90F4B002B00D062 S3150800820098470E4B002B00D0984700200021040009 -S315080082100D000D48002802D00C48AFF3008000F08E -S31508008220E7FD2000290000F0ABFC00F0CDFD00BF03 +S315080082100D000D48002802D00C48AFF3008001F08D +S31508008220B1F92000290001F075F801F097F900BFAF S315080082300000080000000220000000000000000006 S315080082407C000020F0000020000000000000000074 S3150800825080B400AFBFF34F8F054A054BDB6803F4C4 S31508008260E061044B0B43D360BFF34F8FFEE700BFBB -S3150800827000ED00E00400FA0580B500AF00F00EF846 -S3150800828080BD00BF80B500AF00F058F880BD00BFC4 -S3150800829080B500AFFFF7DCFF80BD00BF80B586B0B4 -S315080082A000AF4FF48020012100F0B4FA0820012124 -S315080082B000F092FA1F480821072200F09DF91D4890 -S315080082C00921072200F098F90023BB750123FB75E5 -S315080082D002233B754FF480733B6102237B7507F1DC -S315080082E010031448194600F0DDF802233B754FF4D5 -S315080082F000733B6107F110030E48194600F0D2F8E7 -S315080083004FF461433B600023BB800023FB800023BE -S315080083103B810023BB810C237B813B4606481946DB -S3150800832000F096FA0448012100F04CFB1837BD46C8 -S3150800833080BD00BF000C02400048004080B500AF79 -S315080083401A4B1B78002B0CD1194800F035F8034658 -S31508008350012B2AD1154B01221A70164B00221A70CE -S3150800836023E0144B1B785A1C114B1344184600F093 -S3150800837023F80346012B18D10E4B1B780133DAB2CA -S315080083800C4B1A700A4B1A780A4B1B789A420CD176 -S31508008390064B00221A70064B5B78FF2B05D1044B5F -S315080083A09B78002B01D1FFF773FF80BD9800002052 -S315080083B09C000020E000002080B582B000AF786005 -S315080083C00A48202100F02EFB0346012B08D1074856 -S315080083D000F018FB0346DAB27B681A70012300E046 -S315080083E0002318460837BD4680BD00BF0048004038 -S315080083F080B400AF62B6BD465DF8047B704700BF27 -S3150800840080B582B000AF2020012100F0E5F94FF4D5 -S3150800841080733B600023BB710123FB7102237B71D0 -S3150800842001233B713B460648194600F03BF80448D1 -S315080084304FF4807100F0D2F80837BD4680BD00BF02 -S315080084400014024080B582B000AF00F0A3FC78604B -S31508008450114B1B687A68D31AB3F5FA7F00D217E076 -S315080084600E4B1B78002B08D10C4B01221A700C48B6 -S315080084704FF4807100F0A4F807E0084B00221A7048 -S3150800848007484FF4807100F0A9F8034B7A681A6020 -S315080084900837BD4680BD00BFE4000020E800002084 -S315080084A00014024080B487B000AF786039600023BA -S315080084B07B6100233B610023FB6000237B6176E040 -S315080084C07B69012202FA03F33B613B681A683B6940 -S315080084D01340FB60FA683B699A4265D17B681A6863 -S315080084E07B695B00032101FA03F3DB431A407B68CF -S315080084F01A607B681A683B681B7919467B695B00BA -S3150800850001FA03F31A437B681A603B681B79012B4F -S3150800851003D03B681B79022B2ED17B689A687B694E -S315080085205B00032101FA03F3DB431A407B689A6078 -S315080085307B689A683B685B7919467B695B0001FA38 -S3150800854003F31A437B689A607B685A687B699BB217 -S31508008550012101FA03F3DB431A407B685A607B6802 -S315080085605A683B689B7919467B699BB201FA03F303 -S315080085709BB21A437B685A607B68DA687B699BB250 -S315080085805B00032101FA03F3DB431A407B68DA60D8 -S315080085907B68DA683B68DB7919467B695B0001FA18 -S315080085A003F31A437B68DA607B6901337B617B6975 -S315080085B00F2B85D91C37BD465DF8047B704700BF75 -S315080085C080B483B000AF78600B467B807B687A887E -S315080085D01A830C37BD465DF8047B704780B483B0B8 -S315080085E000AF78600B467B807B687A885A830C37A5 -S315080085F0BD465DF8047B704780B485B000AF7860EF -S3150800860013460A467A807B700023FB600023BB6012 -S315080086107A787B8803F007039B0002FA03F3FB6072 -S315080086207B88DB089BB21A467B88DB089BB2194617 -S315080086307B68083153F821107B8803F007039B00F9 -S315080086400F2000FA03F3DB4319407B68083243F82E -S3150800865022107B88DB089BB21A467B68083253F8DF -S315080086602220FB681343BB607B88DB089BB21A4653 -S315080086707B680832B96843F822101437BD465DF89E -S31508008680047B704780B489B000AF78600023BB6173 -S3150800869000237B610023FB6102233B610023FB600F -S315080086A00223BB60484B9B6803F00C03BB61BB69A4 -S315080086B0042B07D0082B09D0002B3FD17B68434AEF -S315080086C01A603FE07B68424A1A603BE03E4B5B68B3 -S315080086D003F480039B0DFB603B4B5B6803F03F0391 -S315080086E0BB60FB68002B0DD0394ABB68B2FBF3F2BE -S315080086F0354B596847F6C0730B409B0903FB02F3D9 -S31508008700FB610CE0314ABB68B2FBF3F22E4B5968A9 -S3150800871047F6C0730B409B0903FB02F3FB612A4B28 -S315080087205B6803F440331B0C01335B003B61FA6959 -S315080087303B69B2FBF3F27B681A6003E07B68234A65 -S315080087401A6000BF204B9B6803F0F003BB61BB694E -S315080087501B09BB611F4ABB6913441B78DBB27B61EB -S315080087607B681A687B69DA407B685A60164B9B6897 -S3150800877003F4E053BB61BB699B0ABB61154ABB693D -S3150800878013441B78DBB27B617B685A687B69DA40E5 -S315080087907B689A600C4B9B6803F46043BB61BB69BA -S315080087A05B0BBB610B4ABB6913441B78DBB27B616D -S315080087B07B685A687B69DA407B68DA602437BD468D -S315080087C05DF8047B704700BF003802400024F400BF -S315080087D040787D010000002080B483B000AF786047 -S315080087E00B46FB70FB78002B06D0094B084A116B29 -S315080087F07A680A431A6306E0054B054A116B7A68DC -S31508008800D2430A401A630C37BD465DF8047B7047AD -S315080088100038024080B483B000AF78600B46FB7026 -S31508008820FB78002B06D0094B084A116C7A680A4374 -S315080088301A6406E0054B054A116C7A68D2430A4069 -S315080088401A640C37BD465DF8047B70470038024051 -S3150800885080B58AB000AF7860396000237B62002358 -S315080088603B620023FB610023BB617B681B8A9BB2CA -S315080088707B627B6A23F440537B623B68DB887A6AB7 -S3150800888013437B627B6A9AB27B681A827B689B89F0 -S315080088909BB27B627B6A23F4B05323F00C037B62A2 -S315080088A03B689A883B681B8913439AB23B685B8985 -S315080088B013439BB27A6A13437B627B6A9AB27B68DC -S315080088C09A817B689B8A9BB27B627B6A23F440739E -S315080088D07B623B689B897A6A13437B627B6A9AB29E -S315080088E07B689A8207F108031846FFF7CBFE7A6879 -S315080088F0314B9A4203D07A68304B9A4202D17B694F -S315080089003B6201E03B693B627B689B899BB29BB2F9 -S315080089101BB2002B0CDA3A6A13469B0013449A00E2 -S315080089201A443B681B685B00B2FBF3F3FB610BE080 -S315080089303A6A13469B0013449A001A443B681B681C -S315080089409B00B2FBF3F3FB61FA691D4BA3FB021311 -S315080089505B091B017B627B6A1B09642202FB03F32A -S31508008960FA69D31ABB617B689B899BB29BB21BB21F -S31508008970002B0DDABB69DB0003F13202104BA3FBB7 -S3150800898002135B0903F007037A6A13437B620CE060 -S31508008990BB691B0103F13202094BA3FB02135B09F6 -S315080089A003F00F037A6A13437B627B6A9AB27B6889 -S315080089B01A812837BD4680BD0010014000140140C9 -S315080089C01F85EB5180B483B000AF78600B46FB700F -S315080089D0FB78002B08D07B689B899BB243F4005335 -S315080089E09AB27B689A8107E07B689B899BB223F4DD -S315080089F000539AB27B689A810C37BD465DF8047BB2 -S31508008A00704700BF80B483B000AF78607B689B88EE -S31508008A109BB2C3F308039BB218460C37BD465DF8F4 -S31508008A20047B704780B485B000AF78600B467B80C6 -S31508008A300023FB737B681B889AB27B8813409BB222 -S31508008A40002B02D00123FB7301E00023FB73FB7BA1 -S31508008A5018461437BD465DF8047B704780B500AFED -S31508008A600F4B0F4A126842F001021A600C4B0022A3 -S31508008A709A600B4A0A4B1B6823F0847323F48033ED -S31508008A801360074B074A5A60054B054A126822F4D9 -S31508008A9080221A60024B0022DA6000F005F880BDD9 -S31508008AA0003802401030002480B483B000AF0023A1 -S31508008AB07B6000233B602F4B2E4A126842F48032BB -S31508008AC01A602C4B1B6803F400333B607B68013348 -S31508008AD07B603B68002B03D17B68B3F5C06FF0D190 -S31508008AE0244B1B6803F40033002B02D001233B60A0 -S31508008AF001E000233B603B68012B36D11D4B1D4A24 -S31508008B0092689A601B4B1B4A926842F400429A602C -S31508008B10184B184A926842F4A0529A60154B164AA6 -S31508008B205A60144B134A126842F080721A6000BFEA -S31508008B30104B1B6803F00073002BF9D00F4B40F263 -S31508008B4003721A600B4B0B4A926822F003029A6072 -S31508008B50084B084A926842F002029A6000BF054B29 -S31508008B609B6803F00C03082BF9D10C37BD465DF85A -S31508008B70047B704700380240193C4005003C02401F -S31508008B8080B500AF00F008F8FFF776FBFFF75AFC50 -S31508008B90FFF778FBFAE700BF80B500AFFFF730FCB8 -S31508008BA000F0D6F8FFF724FC80BD00BF07498D46C4 -S31508008BB00749084A084B9A42BEBF51F8040B42F8C7 -S31508008BC0040BF8E7054880470548004700000220DF -S31508008BD07C8E0008000000207C0000205D8A0008CA -S31508008BE0DD8100083249334A002301E041F8043B9D -S31508008BF09142FBD3FFF7C4FFFEE7FEE7FEE7FEE779 -S31508008C00FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE72E -S31508008C10FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE71E -S31508008C20FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE70E -S31508008C30FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE7FE -S31508008C40FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE7EE -S31508008C50FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE7DE -S31508008C60FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE7CE -S31508008C70FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE7BE -S31508008C80FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE7AE -S31508008C90FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE79E -S31508008CA0FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE78E -S31508008CB07C000020F000002080B483B000AF03469B -S31508008CC03960FB7197F90730002B0BDA0D49FB79F0 -S31508008CD003F00F03043B3A68D2B21201D2B20B4436 -S31508008CE01A7609E0084997F907303A68D2B21201AC -S31508008CF0D2B20B4483F800230C37BD465DF8047BDB -S31508008D00704700BF00ED00E000E100E080B582B0EA -S31508008D1000AF78607B68B3F1807F01D3012311E04F -S31508008D200A4B7A6822F07F42013A5A604FF0FF30C8 -S31508008D300F21FFF7C1FF054B00229A60034B07225C -S31508008D401A60002318460837BD4680BD10E000E0CB -S31508008D5080B500AF064B1A68064BA3FB02139B09A6 -S31508008D601846FFF7D3FF002000F006F880BD00BFC5 -S31508008D7010000020D34D621080B483B000AF786035 -S31508008D80034B7A681A600C37BD465DF8047B70475A -S31508008D90EC00002080B400AF034B1B681846BD46A4 -S31508008DA05DF8047B704700BFEC00002080B400AF7C -S31508008DB0044B1B685A1C034B1A60BD465DF8047BBE -S31508008DC0704700BFEC00002008B5074B044613B1F6 -S31508008DD00021AFF30080054B1868836A03B19847F2 -S31508008DE0204600F033F800BF000000006C8E000833 -S31508008DF070B50E4B0E4D0024ED1AAD101E46AC4252 -S31508008E0004D056F8242090470134F8E700F020F8FB -S31508008E10084D094B0024ED1AAD101E46AC4204D08D -S31508008E2056F8242090470134F8E770BD74000020F6 -S31508008E3074000020780000207400002002440346D5 -S31508008E40934202D003F8011BFAE77047FEE70000D9 -S31508008E50F8B500BFF8BC08BC9E467047F8B500BF19 -S31508008E60F8BC08BC9E46704743000000140000206A -S30908008E7000000000F0 -S30D08008E7468F3FF7F010000000E -S31508008E7C00000000010203040102030406070809A6 -S31508008E8C000E27070000000000000000000000008C -S31508008E9C00000000000000000000000000000000B8 -S31508008EAC00000000688E00080000000000000000AA -S31508008EBC0000000000000000000000000000000098 -S31508008ECC0000000000000000000000000000000088 -S31508008EDC0000000000000000000000000000000078 -S31108008EEC00000000AD8100088981000824 +S3150800827000ED00E00400FA0580B500AF00F012F842 +S3150800828000F01AF980BD00BF80B500AF00F05AF8BB +S3150800829000F08AF980BD00BF80B500AFFFF7D8FFB0 +S315080082A080BD00BF80B586B000AF4FF480200121A5 +S315080082B000F05CFE0820012100F03AFE1F48082164 +S315080082C0072200F045FD1D480921072200F040FD60 +S315080082D00023BB750123FB7502233B754FF480739E +S315080082E03B6102237B7507F110031448194600F019 +S315080082F085FC02233B754FF400733B6107F11003BD +S315080083000E48194600F07AFC4FF461433B6000239F +S31508008310BB800023FB8000233B810023BB810C2309 +S315080083207B813B460648194600F05CFE044801215D +S3150800833000F012FF1837BD4680BD00BF000C024092 +S315080083400048004080B500AF1A4B1B78002B0CD1B3 +S31508008350194800F035F80346012B2AD1154B01229E +S315080083601A70164B00221A7023E0144B1B785A1CFD +S31508008370114B1344184600F023F80346012B18D175 +S315080083800E4B1B780133DAB20C4B1A700A4B1A786B +S315080083900A4B1B789A420CD1064B00221A70064BE0 +S315080083A05B78FF2B05D1044B9B78002B01D1FFF797 +S315080083B073FF80BD980000209C000020E00000208C +S315080083C080B582B000AF78600A48202100F0F4FE3C +S315080083D00346012B08D1074800F0DEFE0346DAB251 +S315080083E07B681A70012300E0002318460837BD464B +S315080083F080BD00BF0048004080B487B000AFB960B8 +S315080084007A603B600346FB810023FB7548E0FA89E6 +S31508008410F97D284B13F811301946FB7D25485B007A +S3150800842003445B780B44013303FB02F247F23053F3 +S3150800843093FBF2F102FB01F29B1A002B2DD1FA896C +S31508008440F97D1C4B13F811301946FB7D19485B0062 +S3150800845003445B780B44013303FB02F347F23052C3 +S3150800846092FBF3F39AB2BB681A80BB681B88002B91 +S3150800847013D0BB681B88B3F5806F0ED8FA7D0D4BF9 +S3150800848013F812207B681A70FB7D0A4A5B001344B6 +S315080084905A783B681A70012306E0FB7D0133FB75A9 +S315080084A0FB7D112BB3D9002318461C37BD465DF852 +S315080084B0047B7047FC95000880B58AB000AF02209F +S315080084C0012100F035FD36480821092200F040FC5C +S315080084D033480921092200F03BFC4FF440733B6204 +S315080084E0022387F82430022387F82530002387F8EB +S315080084F02630012387F8273007F120032848194634 +S3150800850000F07CFB4FF00070012100F02FFD25489C +S3150800851000F0C6F807F11403184600F067FAB91C0C +S315080085207A1C3B464FF4FA70FFF766FF0023BB76CA +S315080085300023FB7600233B7700237B770023BB775A +S315080085400023FB770023BB750023FB757B78013B73 +S31508008550DBB23B763B78013BDBB27B767B88BB8222 +S3150800856007F114030F48194600F0BCF80023BB7343 +S315080085700023FB7301233B740023BB800023FB808D +S3150800858000233B8100237B810023BB8101237B746D +S315080085903B1D184600F078F92837BD4680BD00BF58 +S315080085A0000402400064004080B586B000AF0E4863 +S315080085B0002100F0FDFA0346002B12D03B1D0A48A5 +S315080085C000211A4600F03CFA7A6840F267639A423C +S315080085D007D1FB7BFF2B04D13B7C002B01D1FFF796 +S315080085E05BFE1837BD4680BD0064004080B400AF0E +S315080085F062B6BD465DF8047B704700BF80B582B0A1 +S3150800860000AF2020012100F093FC4FF480733B60FB +S315080086100023BB710123FB7102237B7101233B718C +S315080086203B460648194600F0E9FA04484FF48071BB +S3150800863000F080FB0837BD4680BD00BF001402402D +S3150800864080B582B000AF00F06FFF7860114B1B68F1 +S315080086507A68D31AB3F5FA7F00D217E00E4B1B7867 +S31508008660002B08D10C4B01221A700C484FF480716C +S3150800867000F052FB07E0084B00221A7007484FF437 +S31508008680807100F057FB034B7A681A600837BD46BD +S3150800869080BD00BFE4000020E8000020001402406E +S315080086A080B582B000AF78607A680D4B9A420AD1DD +S315080086B04FF00070012100F077FC4FF000700021A8 +S315080086C000F072FC09E04FF08060012100F06CFCBC +S315080086D04FF08060002100F067FC0837BD4680BD7A +S315080086E00064004080B485B000AF7860396000232C +S315080086F0FB730023BB607B681B6823F002027B6860 +S315080087001A607B681B6843F001027B681A6002E006 +S31508008710BB680133BB607B685B6803F00103002B11 +S3150800872004D1BA684FF6FF739A42F1D17B685B6849 +S3150800873003F00103002B02D10023FB739CE03B6886 +S315080087409B79012B06D17B681B6843F080027B6806 +S315080087501A6005E07B681B6823F080027B681A6054 +S315080087603B68DB79012B06D17B681B6843F0400226 +S315080087707B681A6005E07B681B6823F040027B680B +S315080087801A603B681B7A012B06D17B681B6843F08D +S3150800879020027B681A6005E07B681B6823F02002CC +S315080087A07B681A603B685B7A012B06D17B681B687D +S315080087B043F010027B681A6005E07B681B6823F0AB +S315080087C010027B681A603B689B7A012B06D17B688E +S315080087D01B6843F008027B681A6005E07B681B6823 +S315080087E023F008027B681A603B68DB7A012B06D106 +S315080087F07B681B6843F004027B681A6005E07B68A7 +S315080088001B6823F004027B681A603B689B789A070A +S315080088103B68DB781B061A433B681B791B041A4323 +S315080088203B685B791B051A433B681B88013B1A4367 +S315080088307B68DA617B681B6823F001027B681A6033 +S315080088400023BB6002E0BB680133BB607B685B68E2 +S3150800885003F00103002B04D0BA684FF6FF739A425F +S31508008860F1D17B685B6803F00103002B02D000237B +S31508008870FB7301E00123FB73FB7B18461437BD46E7 +S315080088805DF8047B704700BF80B485B000AF7860A0 +S315080088900023FB607B689B7A012202FA03F3FB60E4 +S315080088A0514B514AD2F8002242F00102C3F8002285 +S315080088B04D4B4D4AD2F81C12FA68D2430A40C3F807 +S315080088C01C227B681B7B002B21D1474B464AD2F8DA +S315080088D00C12FA68D2430A40C3F80C22424B7A6853 +S315080088E0927A7968C98808047968498801434832C0 +S315080088F043F832103C497B689B7A7A689288100460 +S315080089007A68128802434833DB000B445A607B6856 +S315080089101B7B012B20D1344B334AD2F80C12FA6850 +S315080089200A43C3F80C22304B7A68927A7968098828 +S315080089300804796849880143483243F832102A49BD +S315080089407B689B7A7A68928810047A68D288024390 +S315080089504833DB000B445A607B68DB7A002B09D16D +S31508008960214B214AD2F80412FA68D2430A40C3F8C6 +S31508008970042207E01C4B1C4AD2F80412FA680A4380 +S31508008980C3F804227B681B89002B08D1164B164AAC +S31508008990D2F81412FA68D2430A40C3F814227B6844 +S315080089A01B89012B07D1104B0F4AD2F81412FA680B +S315080089B00A43C3F814227B685B7B012B07D10A4B59 +S315080089C0094AD2F81C12FA680A43C3F81C22064B55 +S315080089D0054AD2F8002222F00102C3F80022143711 +S315080089E0BD465DF8047B70470064004080B483B0E0 +S315080089F000AF78607B6800229A717B680022DA7182 +S31508008A007B6800221A727B6800225A727B680022F1 +S31508008A109A727B680022DA727B6800229A707B68F9 +S31508008A200022DA707B6803221A717B6802225A7167 +S31508008A307B6801221A800C37BD465DF8047B7047B7 +S31508008A4080B485B000AFF8600B467A60FB72FB7A9B +S31508008A50FA681B331B0113441B68DBB203F00403DB +S31508008A60DAB27B681A727B681B7A002B09D1FB7A0B +S31508008A70FA681B331B0113441B685A0D7B681A607E +S31508008A8008E0FB7AFA681B331B0113441B68DA08F3 +S31508008A907B685A60FB7AFA681B331B0113441B6810 +S31508008AA0DBB203F00203DAB27B685A72FB7AFA6821 +S31508008AB01B331B0113445B68DBB203F00F03DAB206 +S31508008AC07B689A72FB7AFA681B331B0113445B684E +S31508008AD01B0ADAB27B68DA74FB7AFA681B0113445C +S31508008AE003F5DC731B68DAB27B68DA72FB7AFA681C +S31508008AF01B01134403F5DC731B681B0ADAB27B6897 +S31508008B001A73FB7AFA681B01134403F5DC731B68B6 +S31508008B101B0CDAB27B685A73FB7AFA681B0113449A +S31508008B2003F5DC731B681B0EDAB27B689A73FB7A53 +S31508008B30FA681B01134403F5DC735B68DAB27B68D9 +S31508008B40DA73FB7AFA681B01134403F5DC735B6876 +S31508008B501B0ADAB27B681A74FB7AFA681B0113449B +S31508008B6003F5DC735B681B0CDAB27B685A74FB7A14 +S31508008B70FA681B01134403F5DC735B681B0EDAB253 +S31508008B807B689A74FB7A002B06D1FB68DB6843F096 +S31508008B902002FB68DA6005E0FB681B6943F02002E7 +S31508008BA0FB681A611437BD465DF8047B704700BF41 +S31508008BB080B485B000AF78600B46FB700023FB736A +S31508008BC0FB78002B06D17B68DB68DBB203F0030376 +S31508008BD0FB730BE0FB78012B06D17B681B69DBB2C4 +S31508008BE003F00303FB7301E00023FB73FB7B1846CA +S31508008BF01437BD465DF8047B704700BF80B487B064 +S31508008C0000AF7860396000237B6100233B61002355 +S31508008C10FB6000237B6176E07B69012202FA03F39D +S31508008C203B613B681A683B691340FB60FA683B691D +S31508008C309A4265D17B681A687B695B00032101FA51 +S31508008C4003F3DB431A407B681A607B681A683B6843 +S31508008C501B7919467B695B0001FA03F31A437B68A3 +S31508008C601A603B681B79012B03D03B681B79022BE2 +S31508008C702ED17B689A687B695B00032101FA03F3AE +S31508008C80DB431A407B689A607B689A683B685B7925 +S31508008C9019467B695B0001FA03F31A437B689A60FD +S31508008CA07B685A687B699BB2012101FA03F3DB43AF +S31508008CB01A407B685A607B685A683B689B791946F4 +S31508008CC07B699BB201FA03F39BB21A437B685A602D +S31508008CD07B68DA687B699BB25B00032101FA03F3C0 +S31508008CE0DB431A407B68DA607B68DA683B68DB79C5 +S31508008CF019467B695B0001FA03F31A437B68DA605D +S31508008D007B6901337B617B690F2B85D91C37BD468F +S31508008D105DF8047B704700BF80B483B000AF78600D +S31508008D200B467B807B687A881A830C37BD465DF8CC +S31508008D30047B704780B483B000AF78600B467B80B5 +S31508008D407B687A885A830C37BD465DF8047B704782 +S31508008D5080B485B000AF786013460A467A807B7087 +S31508008D600023FB600023BB607A787B8803F0070347 +S31508008D709B0002FA03F3FB607B88DB089BB21A466A +S31508008D807B88DB089BB219467B68083153F82110AB +S31508008D907B8803F007039B000F2000FA03F3DB43ED +S31508008DA019407B68083243F822107B88DB089BB29F +S31508008DB01A467B68083253F82220FB681343BB60C7 +S31508008DC07B88DB089BB21A467B680832B96843F889 +S31508008DD022101437BD465DF8047B704780B489B00D +S31508008DE000AF78600023BB6100237B610023FB6131 +S31508008DF002233B610023FB600223BB60484B9B6850 +S31508008E0003F00C03BB61BB69042B07D0082B09D000 +S31508008E10002B3FD17B68434A1A603FE07B68424A91 +S31508008E201A603BE03E4B5B6803F480039B0DFB60D6 +S31508008E303B4B5B6803F03F03BB60FB68002B0DD020 +S31508008E40394ABB68B2FBF3F2354B596847F6C0732B +S31508008E500B409B0903FB02F3FB610CE0314ABB683C +S31508008E60B2FBF3F22E4B596847F6C0730B409B09C9 +S31508008E7003FB02F3FB612A4B5B6803F440331B0CCC +S31508008E8001335B003B61FA693B69B2FBF3F27B682D +S31508008E901A6003E07B68234A1A6000BF204B9B6870 +S31508008EA003F0F003BB61BB691B09BB611F4ABB69C1 +S31508008EB013441B78DBB27B617B681A687B69DA40EE +S31508008EC07B685A60164B9B6803F4E053BB61BB6929 +S31508008ED09B0ABB61154ABB6913441B78DBB27B61ED +S31508008EE07B685A687B69DA407B689A600C4B9B689A +S31508008EF003F46043BB61BB695B0BBB610B4ABB698F +S31508008F0013441B78DBB27B617B685A687B69DA405D +S31508008F107B68DA602437BD465DF8047B704700BF7E +S31508008F20003802400024F40040787D01000000204B +S31508008F3080B483B000AF78600B46FB70FB78002BDB +S31508008F4006D0094B084A116B7A680A431A6306E089 +S31508008F50054B054A116B7A68D2430A401A630C37E7 +S31508008F60BD465DF8047B70470038024080B483B084 +S31508008F7000AF78600B46FB70FB78002B06D0094BD8 +S31508008F80084A116C7A680A431A6406E0054B054AD2 +S31508008F90116C7A68D2430A401A640C37BD465DF8EC +S31508008FA0047B70470038024080B483B000AF786015 +S31508008FB00B46FB70FB78002B06D0094B084A116A52 +S31508008FC07A680A431A6206E0054B054A116A7A6806 +S31508008FD0D2430A401A620C37BD465DF8047B7047D7 +S31508008FE00038024080B58AB000AF78603960002347 +S31508008FF07B6200233B620023FB610023BB617B6825 +S315080090001B8A9BB27B627B6A23F440537B623B6874 +S31508009010DB887A6A13437B627B6A9AB27B681A8218 +S315080090207B689B899BB27B627B6A23F4B05323F0EF +S315080090300C037B623B689A883B681B8913439AB288 +S315080090403B685B8913439BB27A6A13437B627B6AEC +S315080090509AB27B689A817B689B8A9BB27B627B6AA1 +S3150800906023F440737B623B689B897A6A13437B626D +S315080090707B6A9AB27B689A8207F108031846FFF75B +S31508009080ADFE7A68314B9A4203D07A68304B9A42E1 +S3150800909002D17B693B6201E03B693B627B689B8945 +S315080090A09BB29BB21BB2002B0CDA3A6A13469B00A2 +S315080090B013449A001A443B681B685B00B2FBF3F33F +S315080090C0FB610BE03A6A13469B0013449A001A4464 +S315080090D03B681B689B00B2FBF3F3FB61FA691D4B07 +S315080090E0A3FB02135B091B017B627B6A1B096422D3 +S315080090F002FB03F3FA69D31ABB617B689B899BB2AF +S315080091009BB21BB2002B0DDABB69DB0003F13202FE +S31508009110104BA3FB02135B0903F007037A6A134398 +S315080091207B620CE0BB691B0103F13202094BA3FB0E +S3150800913002135B0903F00F037A6A13437B627B6AA7 +S315080091409AB27B681A812837BD4680BD0010014057 +S31508009150001401401F85EB5180B483B000AF7860DE +S315080091600B46FB70FB78002B08D07B689B899BB26B +S3150800917043F400539AB27B689A8107E07B689B891F +S315080091809BB223F400539AB27B689A810C37BD468A +S315080091905DF8047B704700BF80B483B000AF786089 +S315080091A07B689B889BB2C3F308039BB218460C37AF +S315080091B0BD465DF8047B704780B485B000AF786023 +S315080091C00B467B800023FB737B681B889AB27B88DF +S315080091D013409BB2002B02D00123FB7301E000234E +S315080091E0FB73FB7B18461437BD465DF8047B704756 +S315080091F080B500AF0F4B0F4A126842F001021A60A1 +S315080092000C4B00229A600B4A0A4B1B6823F08473A6 +S3150800921023F480331360074B074A5A60054B054A07 +S31508009220126822F480221A60024B0022DA6000F0EB +S3150800923005F880BD003802401030002480B483B0A1 +S3150800924000AF00237B6000233B602F4B2E4A126839 +S3150800925042F480321A602C4B1B6803F400333B60DF +S315080092607B6801337B603B68002B03D17B68B3F5D1 +S31508009270C06FF0D1244B1B6803F40033002B02D0D7 +S3150800928001233B6001E000233B603B68012B36D19C +S315080092901D4B1D4A92689A601B4B1B4A926842F402 +S315080092A000429A60184B184A926842F4A0529A6093 +S315080092B0154B164A5A60144B134A126842F08072CC +S315080092C01A6000BF104B1B6803F00073002BF9D01F +S315080092D00F4B40F203721A600B4B0B4A926822F04E +S315080092E003029A60084B084A926842F002029A60A2 +S315080092F000BF054B9B6803F00C03082BF9D10C370C +S31508009300BD465DF8047B704700380240193C4005AD +S31508009310003C024080B500AF00F008F8FEF7ACFF4D +S31508009320FFF78EF9FEF7B0FFFAE700BF80B500AF8A +S31508009330FFF764F900F0D6F8FFF758F980BD00BFCB +S3150800934007498D460749084A084B9A42BEBF51F855 +S31508009350040B42F8040BF8E7054880470548004720 +S315080093600000022034960008000000207C0000203F +S31508009370F1910008DD8100083249334A002301E0F3 +S3150800938041F8043B9142FBD3FFF7C4FFFEE7FEE733 +S31508009390FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE797 +S315080093A0FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE787 +S315080093B0FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE777 +S315080093C0FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE767 +S315080093D0FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE757 +S315080093E0FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE747 +S315080093F0FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE737 +S31508009400FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE726 +S31508009410FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE716 +S31508009420FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE706 +S31508009430FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE7F6 +S31508009440FEE7FEE77C000020F000002080B483B031 +S3150800945000AF03463960FB7197F90730002B0BDA2A +S315080094600D49FB7903F00F03043B3A68D2B21201A7 +S31508009470D2B20B441A7609E0084997F907303A68D8 +S31508009480D2B21201D2B20B4483F800230C37BD4680 +S315080094905DF8047B704700BF00ED00E000E100E0E6 +S315080094A080B582B000AF78607B68B3F1807F01D366 +S315080094B0012311E00A4B7A6822F07F42013A5A608A +S315080094C04FF0FF300F21FFF7C1FF054B00229A60CE +S315080094D0034B07221A60002318460837BD4680BD8D +S315080094E010E000E080B500AF064B1A68064BA3FBF8 +S315080094F002139B091846FFF7D3FF002000F006F871 +S3150800950080BD00BF10000020D34D621080B483B028 +S3150800951000AF7860034B7A681A600C37BD465DF871 +S31508009520047B7047EC00002080B400AF034B1B6837 +S315080095301846BD465DF8047B704700BFEC00002066 +S3150800954080B400AF044B1B685A1C034B1A60BD4617 +S315080095505DF8047B704700BFEC00002008B5074B98 +S31508009560044613B10021AFF30080054B1868836ADF +S3150800957003B19847204600F033F800BF000000000A +S315080095802496000870B50E4B0E4D0024ED1AAD104A +S315080095901E46AC4204D056F8242090470134F8E71A +S315080095A000F020F8084D094B0024ED1AAD101E46B0 +S315080095B0AC4204D056F8242090470134F8E770BD31 +S315080095C07400002074000020780000207400002039 +S315080095D002440346934202D003F8011BFAE7704798 +S315080095E0FEE70000F8B500BFF8BC08BC9E46704709 +S315080095F0F8B500BFF8BC08BC9E46704705020602CF +S31508009600060307030803090309040A040B040C04E8 +S315080096100C050D050E050F050F0610061007100898 +S31108009620430000001400002000000000B9 +S30D0800962CB0EBFF7F010000000E +S3150800963400000000010203040102030406070809E6 +S31508009644000E2707000000000000000000000000CC +S3150800965400000000000000000000000000000000F8 +S31508009664000000002096000800000000000000002A +S3150800967400000000000000000000000000000000D8 +S3150800968400000000000000000000000000000000C8 +S3150800969400000000000000000000000000000000B8 +S311080096A400000000AD8100088981000864 S7050800800072 diff --git a/Target/Demo/ARMCM3_STM32F2_Olimex_STM32P207_GCC/Prog/boot.c b/Target/Demo/ARMCM3_STM32F2_Olimex_STM32P207_GCC/Prog/boot.c index 6aa081d6..50e8efa5 100644 --- a/Target/Demo/ARMCM3_STM32F2_Olimex_STM32P207_GCC/Prog/boot.c +++ b/Target/Demo/ARMCM3_STM32F2_Olimex_STM32P207_GCC/Prog/boot.c @@ -39,6 +39,10 @@ static void BootComUartInit(void); static void BootComUartCheckActivationRequest(void); #endif +#if (BOOT_COM_CAN_ENABLE > 0) +static void BootComCanInit(void); +static void BootComCanCheckActivationRequest(void); +#endif /************************************************************************************//** ** \brief Initializes the communication interface. @@ -50,6 +54,9 @@ void BootComInit(void) #if (BOOT_COM_UART_ENABLE > 0) BootComUartInit(); #endif +#if (BOOT_COM_CAN_ENABLE > 0) + BootComCanInit(); +#endif } /*** end of BootComInit ***/ @@ -64,6 +71,9 @@ void BootComCheckActivationRequest(void) #if (BOOT_COM_UART_ENABLE > 0) BootComUartCheckActivationRequest(); #endif +#if (BOOT_COM_CAN_ENABLE > 0) + BootComCanCheckActivationRequest(); +#endif } /*** end of BootComCheckActivationRequest ***/ @@ -205,6 +215,182 @@ 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. +** +****************************************************************************************/ +static void BootComCanInit(void) +{ + GPIO_InitTypeDef GPIO_InitStructure; + CAN_InitTypeDef CAN_InitStructure; + CAN_FilterInitTypeDef CAN_FilterInitStructure; + unsigned short prescaler; + unsigned char tseg1, tseg2; + + /* enable clocks for CAN1 transmitter and receiver pins */ + RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB, ENABLE); + /* select alternate function for the CAN2 pins */ + GPIO_PinAFConfig(GPIOB, GPIO_PinSource8, GPIO_AF_CAN1); + GPIO_PinAFConfig(GPIOB, GPIO_PinSource9, GPIO_AF_CAN1); + /* configure CAN1 RX and TX pins */ + GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8 | GPIO_Pin_9; + 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 */ + RCC_APB1PeriphClockCmd(RCC_APB1Periph_CAN1, ENABLE); + /* CAN register init */ + CAN_DeInit(CAN1); + 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(CAN1, &CAN_InitStructure); + /* CAN filter init - receive all messages */ + CAN_FilterInitStructure.CAN_FilterNumber = 0; + 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 BootComCanInit ***/ + + +/************************************************************************************//** +** \brief Receives the CONNECT request from the host, which indicates that the +** bootloader should be activated and, if so, activates it. +** \return none. +** +****************************************************************************************/ +static void BootComCanCheckActivationRequest(void) +{ + CanRxMsg RxMessage; + + /* check if a new message was received */ + if (CAN_MessagePending(CAN1, CAN_FIFO0) > 0) + { + /* receive the message */ + CAN_Receive(CAN1, CAN_FIFO0, &RxMessage); + if (RxMessage.StdId == BOOT_COM_CAN_RX_MSG_ID) + { + /* check if 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 BootComCanCheckActivationRequest ***/ +#endif /* BOOT_COM_CAN_ENABLE > 0 */ /*********************************** end of boot.c *************************************/ diff --git a/Target/Demo/ARMCM3_STM32F2_Olimex_STM32P207_GCC/Prog/ide/stm32f207.depend b/Target/Demo/ARMCM3_STM32F2_Olimex_STM32P207_GCC/Prog/ide/stm32f207.depend index f8a5c8df..2dc807a7 100644 --- a/Target/Demo/ARMCM3_STM32F2_Olimex_STM32P207_GCC/Prog/ide/stm32f207.depend +++ b/Target/Demo/ARMCM3_STM32F2_Olimex_STM32P207_GCC/Prog/ide/stm32f207.depend @@ -807,7 +807,7 @@ 1469192680 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\startup_stm32f2xx.s -1469278605 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\prog\boot.c +1469291235 source:c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\prog\boot.c "header.h" 1469272998 c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\prog\header.h @@ -818,7 +818,7 @@ "led.h" "timer.h" -1469285352 c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\blt_conf.h +1469290552 c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\boot\blt_conf.h 1469192681 c:\work\software\openblt\target\demo\armcm3_stm32f2_olimex_stm32p207_gcc\prog\lib\stm32f2xx.h "core_cm3.h" diff --git a/Target/Demo/ARMCM3_STM32F2_Olimex_STM32P207_GCC/Prog/ide/stm32f207.elay b/Target/Demo/ARMCM3_STM32F2_Olimex_STM32P207_GCC/Prog/ide/stm32f207.elay index 49501f70..f2028238 100644 --- a/Target/Demo/ARMCM3_STM32F2_Olimex_STM32P207_GCC/Prog/ide/stm32f207.elay +++ b/Target/Demo/ARMCM3_STM32F2_Olimex_STM32P207_GCC/Prog/ide/stm32f207.elay @@ -3,7 +3,7 @@ - + @@ -28,7 +28,7 @@ - + diff --git a/Target/Source/ARMCM3_STM32F2/can.c b/Target/Source/ARMCM3_STM32F2/can.c new file mode 100644 index 00000000..33e01641 --- /dev/null +++ b/Target/Source/ARMCM3_STM32F2/can.c @@ -0,0 +1,384 @@ +/************************************************************************************//** +* \file Source\ARMCM3_STM32F2\can.c +* \brief Bootloader CAN communication interface source file. +* \ingroup Target_ARMCM3_STM32F2 +* \internal +*---------------------------------------------------------------------------------------- +* C O P Y R I G H T +*---------------------------------------------------------------------------------------- +* Copyright (c) 2016 by Feaser http://www.feaser.com All rights reserved +* +*---------------------------------------------------------------------------------------- +* L I C E N S E +*---------------------------------------------------------------------------------------- +* This file is part of OpenBLT. OpenBLT is free software: you can redistribute it and/or +* modify it under the terms of the GNU General Public License as published by the Free +* Software Foundation, either version 3 of the License, or (at your option) any later +* version. +* +* OpenBLT is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; +* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +* PURPOSE. See the GNU General Public License for more details. +* +* You have received a copy of the GNU General Public License along with OpenBLT. It +* should be located in ".\Doc\license.html". If not, contact Feaser to obtain a copy. +* +* \endinternal +****************************************************************************************/ + + +/**************************************************************************************** +* Include files +****************************************************************************************/ +#include "boot.h" /* bootloader generic header */ + + +#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=0; + blt_int8u tseg1=0, tseg2=0; + 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 **************************************/

HOYy+41XcXk2mp_zy&`IvOm8(QA%YCqcaK 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 a?+T(qwUDifk>KZAK+ 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