From 78c12a68338274fe698bb0b3bb95ec53a65fb01d Mon Sep 17 00:00:00 2001 From: Frank Voorburg Date: Fri, 29 Apr 2016 20:04:16 +0000 Subject: [PATCH] - Corrected stack pointer initialization for the STM32 Cortex-M0 target. git-svn-id: https://svn.code.sf.net/p/openblt/code/trunk@136 5dc33758-31d5-4daf-9ae8-b24bf3d40d73 --- .../Boot/bin/openblt_stm32f051.elf | Bin 472672 -> 472676 bytes .../Boot/bin/openblt_stm32f051.map | 22 +- .../Boot/bin/openblt_stm32f051.srec | 6 +- .../Boot/ide/stm32f0.depend | 2 +- .../Boot/ide/stm32f0.elay | 7 +- .../Prog/bin/demoprog_stm32f051.elf | Bin 383423 -> 383423 bytes .../Prog/bin/demoprog_stm32f051.map | 190 +++++++++--------- .../Prog/bin/demoprog_stm32f051.srec | 170 ++++++++-------- .../Prog/startup_stm32f0xx.S | 1 + Target/Source/ARMCM0_STM32/GCC/cstart.S | 1 + 10 files changed, 203 insertions(+), 196 deletions(-) diff --git a/Target/Demo/ARMCM0_STM32_Discovery_STM32F051_GCC/Boot/bin/openblt_stm32f051.elf b/Target/Demo/ARMCM0_STM32_Discovery_STM32F051_GCC/Boot/bin/openblt_stm32f051.elf index 566938648e0ac2a293e031bcfd5a687509db7253..34f59fce80af975042a7b9f9de358c7b5954dc81 100644 GIT binary patch delta 449 zcmYk0Pe@cz6vodvGw|PO%OA? zpct4%&4H;%QP(07mll>`1c8uiW1vO53<_x@2;Q+xAAINI;cT$yWorMMHB=e2hG6hby83rrY~2KSu+EJlCUkie9THP1 z0QWurzJ?chb^@jT=wlM`nLfy1Twt89PT(H)>T{FmqL>*2Xy0tnNuIxrO;H{PSl;BW zN%Zu?J6Iy&<^XPd`iFEDaTa6xc@dxd!7YyZ)S#&pXY(|tyE8P`y0bJ!dq{Dgl}{<& z$&ydKnHG}Zw*@-E^En#E8UB!?8kTuHPYrbWXP#;l%O7FdVDVdW6#xkOIJ`{fdG!^w zu~(~ZOK9Rh`!e^>wj delta 429 zcmYk0KS(1{5Qk?b`ZgQmrHI%lvM*5-InD${q84f_{Bv&9#2Ak)E?8W3!hvTa0ksm8 zKt#+yu+v7c5s}vz4^afMwGspcE45I>^1!!ea|6Hm_`wG=_fPe=PxS>0xAtXK-s2rM zH=_BVPYf*$iXj*TI2g^pmBmFL!0$4b9E_>OuV|8R;sAkTe(u80Jex*Co!HoexUT*t zuw7t;qiKA_Zq+n}0TkIWfZ(ZX_walMZ$xe!VCR%ur!b@zrtv2Ue-fbg>_cgGa274K z>EP-MUa)0TiJUl3q-ajHC1}pQvpq(yND-T*O>w@SAe*`qt`g(JNvh%bBn@Mh|0Jn^ zIUY|@3H|(-q5@f|f11)-d%t%N00;(vU%pcII-A7c~Zv - + @@ -81,6 +81,11 @@ + + + + + diff --git a/Target/Demo/ARMCM0_STM32_Discovery_STM32F051_GCC/Prog/bin/demoprog_stm32f051.elf b/Target/Demo/ARMCM0_STM32_Discovery_STM32F051_GCC/Prog/bin/demoprog_stm32f051.elf index da561ceb8032fca1a9298a4c5587b496f4ccc7dc..a12d0eca34fd6e6315112ecd4ae8417c66356882 100644 GIT binary patch delta 2028 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 diff --git a/Target/Demo/ARMCM0_STM32_Discovery_STM32F051_GCC/Prog/bin/demoprog_stm32f051.map b/Target/Demo/ARMCM0_STM32_Discovery_STM32F051_GCC/Prog/bin/demoprog_stm32f051.map index 6eb8ed7a..d5a9ee7b 100644 --- a/Target/Demo/ARMCM0_STM32_Discovery_STM32F051_GCC/Prog/bin/demoprog_stm32f051.map +++ b/Target/Demo/ARMCM0_STM32_Discovery_STM32F051_GCC/Prog/bin/demoprog_stm32f051.map @@ -3166,7 +3166,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 0x08002000 0xfcc +.text 0x08002000 0xfd0 *(.isr_vector) .isr_vector 0x08002000 0xc4 .\..\obj\startup_stm32f0xx.o 0x08002000 __isr_vector @@ -3238,86 +3238,86 @@ LOAD c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none- .text.main 0x08002c18 0x18 .\..\obj\main.o 0x08002c18 main .text.Init 0x08002c30 0x10 .\..\obj\main.o - .text 0x08002c40 0xa4 .\..\obj\startup_stm32f0xx.o + .text 0x08002c40 0xa8 .\..\obj\startup_stm32f0xx.o 0x08002c40 Reset_Handler - 0x08002c8e NMI_Handler - 0x08002c90 HardFault_Handler - 0x08002c92 SVC_Handler - 0x08002c94 PendSV_Handler - 0x08002c98 Default_Handler - 0x08002c9a WWDG_IRQHandler - 0x08002c9c PVD_IRQHandler - 0x08002c9e RTC_IRQHandler - 0x08002ca0 FLASH_IRQHandler - 0x08002ca2 RCC_IRQHandler - 0x08002ca4 EXTI0_1_IRQHandler - 0x08002ca6 EXTI2_3_IRQHandler - 0x08002ca8 EXTI4_15_IRQHandler - 0x08002caa TS_IRQHandler - 0x08002cac DMA1_Channel1_IRQHandler - 0x08002cae DMA1_Channel2_3_IRQHandler - 0x08002cb0 DMA1_Channel4_5_IRQHandler - 0x08002cb2 ADC1_COMP_IRQHandler - 0x08002cb4 TIM1_BRK_UP_TRG_COM_IRQHandler - 0x08002cb6 TIM1_CC_IRQHandler - 0x08002cb8 TIM2_IRQHandler - 0x08002cba TIM3_IRQHandler - 0x08002cbc TIM6_DAC_IRQHandler - 0x08002cbe TIM7_IRQHandler - 0x08002cc0 TIM14_IRQHandler - 0x08002cc2 TIM15_IRQHandler - 0x08002cc4 TIM16_IRQHandler - 0x08002cc6 TIM17_IRQHandler - 0x08002cc8 I2C1_IRQHandler - 0x08002cca I2C2_IRQHandler - 0x08002ccc SPI1_IRQHandler - 0x08002cce SPI2_IRQHandler - 0x08002cd0 USART1_IRQHandler - 0x08002cd2 USART2_IRQHandler - 0x08002cd4 USART3_4_IRQHandler - 0x08002cd6 CEC_IRQHandler - 0x08002cd8 USB_IRQHandler + 0x08002c92 NMI_Handler + 0x08002c94 HardFault_Handler + 0x08002c96 SVC_Handler + 0x08002c98 PendSV_Handler + 0x08002c9c Default_Handler + 0x08002c9e WWDG_IRQHandler + 0x08002ca0 PVD_IRQHandler + 0x08002ca2 RTC_IRQHandler + 0x08002ca4 FLASH_IRQHandler + 0x08002ca6 RCC_IRQHandler + 0x08002ca8 EXTI0_1_IRQHandler + 0x08002caa EXTI2_3_IRQHandler + 0x08002cac EXTI4_15_IRQHandler + 0x08002cae TS_IRQHandler + 0x08002cb0 DMA1_Channel1_IRQHandler + 0x08002cb2 DMA1_Channel2_3_IRQHandler + 0x08002cb4 DMA1_Channel4_5_IRQHandler + 0x08002cb6 ADC1_COMP_IRQHandler + 0x08002cb8 TIM1_BRK_UP_TRG_COM_IRQHandler + 0x08002cba TIM1_CC_IRQHandler + 0x08002cbc TIM2_IRQHandler + 0x08002cbe TIM3_IRQHandler + 0x08002cc0 TIM6_DAC_IRQHandler + 0x08002cc2 TIM7_IRQHandler + 0x08002cc4 TIM14_IRQHandler + 0x08002cc6 TIM15_IRQHandler + 0x08002cc8 TIM16_IRQHandler + 0x08002cca TIM17_IRQHandler + 0x08002ccc I2C1_IRQHandler + 0x08002cce I2C2_IRQHandler + 0x08002cd0 SPI1_IRQHandler + 0x08002cd2 SPI2_IRQHandler + 0x08002cd4 USART1_IRQHandler + 0x08002cd6 USART2_IRQHandler + 0x08002cd8 USART3_4_IRQHandler + 0x08002cda CEC_IRQHandler + 0x08002cdc USB_IRQHandler .text.NVIC_SetPriority - 0x08002ce4 0xe0 .\..\obj\timer.o + 0x08002ce8 0xe0 .\..\obj\timer.o .text.SysTick_Config - 0x08002dc4 0x4c .\..\obj\timer.o + 0x08002dc8 0x4c .\..\obj\timer.o .text.TimerInit - 0x08002e10 0x28 .\..\obj\timer.o - 0x08002e10 TimerInit + 0x08002e14 0x28 .\..\obj\timer.o + 0x08002e14 TimerInit .text.TimerSet - 0x08002e38 0x18 .\..\obj\timer.o - 0x08002e38 TimerSet + 0x08002e3c 0x18 .\..\obj\timer.o + 0x08002e3c TimerSet .text.TimerGet - 0x08002e50 0x14 .\..\obj\timer.o - 0x08002e50 TimerGet + 0x08002e54 0x14 .\..\obj\timer.o + 0x08002e54 TimerGet .text.SysTick_Handler - 0x08002e64 0x18 .\..\obj\timer.o - 0x08002e64 SysTick_Handler - .text 0x08002e7c 0x9c c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv6-m\libgcc.a(_udivsi3.o) - 0x08002e7c __aeabi_uidiv - 0x08002e7c __udivsi3 - 0x08002f04 __aeabi_uidivmod - .text 0x08002f18 0x4 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv6-m\libgcc.a(_dvmd_tls.o) - 0x08002f18 __aeabi_idiv0 - 0x08002f18 __aeabi_ldiv0 - .text.exit 0x08002f1c 0x2c c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv6-m\libg_n.a(lib_a-exit.o) - 0x08002f1c exit + 0x08002e68 0x18 .\..\obj\timer.o + 0x08002e68 SysTick_Handler + .text 0x08002e80 0x9c c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv6-m\libgcc.a(_udivsi3.o) + 0x08002e80 __aeabi_uidiv + 0x08002e80 __udivsi3 + 0x08002f08 __aeabi_uidivmod + .text 0x08002f1c 0x4 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv6-m\libgcc.a(_dvmd_tls.o) + 0x08002f1c __aeabi_idiv0 + 0x08002f1c __aeabi_ldiv0 + .text.exit 0x08002f20 0x2c c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv6-m\libg_n.a(lib_a-exit.o) + 0x08002f20 exit .text.__libc_init_array - 0x08002f48 0x4c c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv6-m\libg_n.a(lib_a-init.o) - 0x08002f48 __libc_init_array - .text.memset 0x08002f94 0x10 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv6-m\libg_n.a(lib_a-memset.o) - 0x08002f94 memset - .text 0x08002fa4 0x2 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv6-m\libnosys_s.a(_exit.o) - 0x08002fa4 _exit + 0x08002f4c 0x4c c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv6-m\libg_n.a(lib_a-init.o) + 0x08002f4c __libc_init_array + .text.memset 0x08002f98 0x10 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv6-m\libg_n.a(lib_a-memset.o) + 0x08002f98 memset + .text 0x08002fa8 0x2 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv6-m\libnosys_s.a(_exit.o) + 0x08002fa8 _exit *(.init) - *fill* 0x08002fa6 0x2 - .init 0x08002fa8 0x4 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv6-m/crti.o - 0x08002fa8 _init - .init 0x08002fac 0x8 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv6-m/crtn.o + *fill* 0x08002faa 0x2 + .init 0x08002fac 0x4 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv6-m/crti.o + 0x08002fac _init + .init 0x08002fb0 0x8 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv6-m/crtn.o *(.fini) - .fini 0x08002fb4 0x4 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv6-m/crti.o - 0x08002fb4 _fini - .fini 0x08002fb8 0x8 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv6-m/crtn.o + .fini 0x08002fb8 0x4 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv6-m/crti.o + 0x08002fb8 _fini + .fini 0x08002fbc 0x8 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv6-m/crtn.o *crtbegin.o(.ctors) *crtbegin?.o(.ctors) *(EXCLUDE_FILE(*crtend.o *crtend?.o) .ctors) @@ -3330,44 +3330,44 @@ LOAD c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none- *(.dtors) *(.rodata*) .rodata.str1.1 - 0x08002fc0 0x2 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv6-m\libg_n.a(lib_a-impure.o) - *fill* 0x08002fc2 0x2 + 0x08002fc4 0x2 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv6-m\libg_n.a(lib_a-impure.o) + *fill* 0x08002fc6 0x2 .rodata._global_impure_ptr - 0x08002fc4 0x4 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv6-m\libg_n.a(lib_a-impure.o) - 0x08002fc4 _global_impure_ptr + 0x08002fc8 0x4 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv6-m\libg_n.a(lib_a-impure.o) + 0x08002fc8 _global_impure_ptr *(.eh_frame*) - .eh_frame 0x08002fc8 0x0 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv6-m/crtbegin.o - .eh_frame 0x08002fc8 0x4 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv6-m/crtend.o + .eh_frame 0x08002fcc 0x0 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv6-m/crtbegin.o + .eh_frame 0x08002fcc 0x4 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv6-m/crtend.o -.glue_7 0x08002fcc 0x0 +.glue_7 0x08002fd0 0x0 .glue_7 0x00000000 0x0 linker stubs -.glue_7t 0x08002fcc 0x0 +.glue_7t 0x08002fd0 0x0 .glue_7t 0x00000000 0x0 linker stubs -.vfp11_veneer 0x08002fcc 0x0 +.vfp11_veneer 0x08002fd0 0x0 .vfp11_veneer 0x00000000 0x0 linker stubs -.v4_bx 0x08002fcc 0x0 +.v4_bx 0x08002fd0 0x0 .v4_bx 0x00000000 0x0 linker stubs -.iplt 0x08002fcc 0x0 +.iplt 0x08002fd0 0x0 .iplt 0x00000000 0x0 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv6-m/crtbegin.o .ARM.extab *(.ARM.extab* .gnu.linkonce.armextab.*) - 0x08002fcc __exidx_start = . + 0x08002fd0 __exidx_start = . -.ARM.exidx 0x08002fcc 0x8 +.ARM.exidx 0x08002fd0 0x8 *(.ARM.exidx* .gnu.linkonce.armexidx.*) - .ARM.exidx 0x08002fcc 0x8 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv6-m/crt0.o - 0x08002fd4 __exidx_end = . - 0x08002fd4 __etext = . + .ARM.exidx 0x08002fd0 0x8 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv6-m/crt0.o + 0x08002fd8 __exidx_end = . + 0x08002fd8 __etext = . -.rel.dyn 0x08002fd4 0x0 +.rel.dyn 0x08002fd8 0x0 .rel.iplt 0x00000000 0x0 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv6-m/crtbegin.o -.data 0x200000c0 0x7c load address 0x08002fd4 +.data 0x200000c0 0x7c load address 0x08002fd8 0x200000c0 __data_start__ = . *(vtable) *(.data*) @@ -3397,13 +3397,13 @@ LOAD c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none- 0x2000013c . = ALIGN (0x4) 0x2000013c __data_end__ = . -.jcr 0x2000013c 0x0 load address 0x08003050 +.jcr 0x2000013c 0x0 load address 0x08003054 .jcr 0x2000013c 0x0 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv6-m/crtbegin.o -.igot.plt 0x2000013c 0x0 load address 0x08003050 +.igot.plt 0x2000013c 0x0 load address 0x08003054 .igot.plt 0x00000000 0x0 c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv6-m/crtbegin.o -.bss 0x2000013c 0x74 load address 0x08003050 +.bss 0x2000013c 0x74 load address 0x08003054 0x2000013c __bss_start__ = . *(.bss*) .bss 0x2000013c 0x1c c:/program files (x86)/embitz/0.42/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv6-m/crtbegin.o @@ -3635,7 +3635,7 @@ OUTPUT(.\..\bin\demoprog_stm32f051.elf elf32-littlearm) .debug_macro 0x0000ae32 0x199 .\..\obj\main.o .debug_macro 0x0000afcb 0x199 .\..\obj\timer.o -.debug_line 0x00000000 0x2d19 +.debug_line 0x00000000 0x2d1a .debug_line 0x00000000 0x510 .\..\obj\boot.o .debug_line 0x00000510 0x47a .\..\obj\led.o .debug_line 0x0000098a 0x547 .\..\obj\lib\spl\src\stm32f0xx_gpio.o @@ -3643,8 +3643,8 @@ OUTPUT(.\..\bin\demoprog_stm32f051.elf elf32-littlearm) .debug_line 0x00001672 0x823 .\..\obj\lib\spl\src\stm32f0xx_usart.o .debug_line 0x00001e95 0x485 .\..\obj\lib\system_stm32f0xx.o .debug_line 0x0000231a 0x47c .\..\obj\main.o - .debug_line 0x00002796 0x9d .\..\obj\startup_stm32f0xx.o - .debug_line 0x00002833 0x4e6 .\..\obj\timer.o + .debug_line 0x00002796 0x9e .\..\obj\startup_stm32f0xx.o + .debug_line 0x00002834 0x4e6 .\..\obj\timer.o .debug_str 0x00000000 0x4055c .debug_str 0x00000000 0x3f294 .\..\obj\boot.o diff --git a/Target/Demo/ARMCM0_STM32_Discovery_STM32F051_GCC/Prog/bin/demoprog_stm32f051.srec b/Target/Demo/ARMCM0_STM32_Discovery_STM32F051_GCC/Prog/bin/demoprog_stm32f051.srec index db5076ae..13a7bf1a 100644 --- a/Target/Demo/ARMCM0_STM32_Discovery_STM32F051_GCC/Prog/bin/demoprog_stm32f051.srec +++ b/Target/Demo/ARMCM0_STM32_Discovery_STM32F051_GCC/Prog/bin/demoprog_stm32f051.srec @@ -1,28 +1,28 @@ S02300002E5C2E2E5C62696E5C64656D6F70726F675F73746D3332663035312E73726563B9 -S3150800200000200020412C00088F2C0008912C000885 +S3150800200000200020412C0008932C0008952C00087D S3150800201000000000000000000000000000000000B2 -S31508002020000000000000000000000000932C0008DB -S315080020300000000000000000952C0008652E00082E -S315080020409B2C00089D2C00089F2C0008A12C00083A -S31508002050A32C0008A52C0008A72C0008A92C00080A -S31508002060AB2C0008AD2C0008AF2C0008B12C0008DA -S31508002070B32C0008B52C0008B72C0008B92C0008AA -S31508002080BB2C0008BD2C0008BF2C0008C12C00087A -S31508002090C32C0008C52C0008C72C0008C92C00084A -S315080020A0CB2C0008CD2C0008CF2C0008D12C00081A -S315080020B0D32C0008D52C0008D72C0008D92C0008EA +S31508002020000000000000000000000000972C0008D7 +S315080020300000000000000000992C0008692E000826 +S315080020409F2C0008A12C0008A32C0008A52C00082A +S31508002050A72C0008A92C0008AB2C0008AD2C0008FA +S31508002060AF2C0008B12C0008B32C0008B52C0008CA +S31508002070B72C0008B92C0008BB2C0008BD2C00089A +S31508002080BF2C0008C12C0008C32C0008C52C00086A +S31508002090C72C0008C92C0008CB2C0008CD2C00083A +S315080020A0CF2C0008D12C0008D32C0008D52C00080A +S315080020B0D72C0008D92C0008DB2C0008DD2C0008DA S315080020C0EE11AA5510B5064C2378002B07D1054BFF S315080020D0002B02D0044800E000BF0123237010BD86 -S315080020E03C01002000000000C82F000808B5084B76 +S315080020E03C01002000000000CC2F000808B5084B72 S315080020F0002B03D00748084900E000BF07480368DB S31508002100002B03D0064B002B00D0984708BDC046CD -S3150800211000000000C82F0008400100203C010020F4 +S3150800211000000000CC2F0008400100203C010020F0 S3150800212000000000164B002B00D1144B9D464022A0 S3150800213092029A1A924600218B460F461348144A71 -S31508002140121A00F027FF0F4B002B00D098470E4BB2 +S31508002140121A00F029FF0F4B002B00D098470E4BB0 S31508002150002B00D098470020002104000D000D48F0 -S31508002160002802D00C4800E000BF00F0EDFE200079 -S31508002170290000F051FD00F0D1FEC046000008001D +S31508002160002802D00C4800E000BF00F0EFFE200077 +S31508002170290000F051FD00F0D3FEC046000008001B S315080021800020002000000000000000003C010020A4 S31508002190B0010020000000000000000080B500AF7C S315080021A0BFF34F8F024B034ADA60BFF34F8FFEE748 @@ -58,7 +58,7 @@ S315080023703B1C00229A713B1C03225A713B1C00220B S31508002380DA71084A3B1C101C191C00F043F8054A70 S3150800239080239B00101C191C00F0E6F8BD4602B00D S315080023A080BDC0460008004880B582B000AF00F086 -S315080023B04FFD031C7B60144B1B687A68D21AF42302 +S315080023B051FD031C7B60144B1B687A68D21AF42300 S315080023C0FF339A4200D81BE0104B1B78002B0AD12A S315080023D00E4B01221A700E4A80239B00101C191CF2 S315080023E000F0B4F809E0094B00221A70084A802365 @@ -106,7 +106,7 @@ S3150800267031E07D4B5A68F0239B0313407B617A4B0C S315080026805A68C0235B0213403B617B699B0C02338B S315080026907B613B69002B04D17B69754A5343FB6117 S315080026A00DE0714BDA6A0F2313400133FB606F4864 -S315080026B0F96800F0E3FB031C7A695343FB617B6806 +S315080026B0F96800F0E5FB031C7A695343FB617B6804 S315080026C0FA691A6007E07B686A4A1A6003E07B6861 S315080026D0664A1A60C046644B5A68F0231340BB61C9 S315080026E0BB691B09BB61644ABB69D3181B78DBB29B @@ -156,11 +156,11 @@ S3150800299047FE7A68334B9A4204D13B1C08339B693D S315080029A03B630CE07A68304B9A4204D13B1C0833EF S315080029B0DB693B6303E03B1C08339B683B637B682E S315080029C01A6880231B02134014D03B6B5A003B68DD -S315080029D01B68101C191C00F051FA031C7B633B6B27 -S315080029E05A003B681B68101C191C00F08BFA0B1C5C -S315080029F0FB6210E03B681B68386B191C00F03EFA56 +S315080029D01B68101C191C00F053FA031C7B633B6B25 +S315080029E05A003B681B68101C191C00F08DFA0B1C5A +S315080029F0FB6210E03B681B68386B191C00F040FA54 S31508002A00031C7B633B681B683A6B101C191C00F09F -S31508002A1079FA0B1CFB623B681B685A08FB6A9A42E8 +S31508002A107BFA0B1CFB623B681B685A08FB6A9A42E6 S31508002A2002D87B6B01337B637B681A6880231B02A1 S31508002A3013400AD07A6B0F2313405B08FB627A6B4C S31508002A400A4B1A40FB6A13437B637B6B9AB27B681B @@ -194,71 +194,71 @@ S31508002BF0526802210A435A60C046054B5A680C239C S31508002C001340082BF9D1BD4680BDC04600200240BE S31508002C1000100240FF7FC0FF80B500AF00F008F843 S31508002C20FFF7CAFAFFF7C0FBFFF7CCFAFAE7C04688 -S31508002C3080B500AFFFF78CFB00F0EAF8BD4680BD13 -S31508002C4007490849084A094B9B1A05DD0024085913 -S31508002C50105104349C42FADB054880470548004772 -S31508002C6000200020D42F0008C00000203C010020CE -S31508002C70052B0008252100081849194A002301E0F8 -S31508002C800B6004319142FBD3FFF7C6FFFEE7FEE770 +S31508002C3080B500AFFFF78CFB00F0ECF8BD4680BD11 +S31508002C4008498D460849094A094B9B1A05DD00249F +S31508002C500859105104349C42FADB06488047064856 +S31508002C600047000000200020D82F0008C0000020E0 +S31508002C703C010020052B0008252100081849194A9F +S31508002C80002301E00B6004319142FBD3FFF7C4FF38 S31508002C90FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE7FE S31508002CA0FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE7EE S31508002CB0FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE7DE S31508002CC0FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE7CE -S31508002CD0FEE7FEE7FEE7FEE7FEE700003C01002010 -S31508002CE0B0010020B0B582B000AF021C3960FB1DF0 -S31508002CF01A70FB1D1B787F2B32D93049FB1D1B78B8 -S31508002D001A1C0F231340083B98082C4AFB1D1B78F6 -S31508002D101C1C0F232340083B9B0806339B00D31833 -S31508002D205B68FA1D1278141C03222240D200FF2485 -S31508002D30251C95402A1CD2431A403B689C01FF2358 -S31508002D401C40FB1D1B781D1C03232B40DB00251C88 -S31508002D509D402B1C1A43831D9B00CB185A6029E003 -S31508002D60174BFA1D127852B292081549F81D0078C9 -S31508002D7040B28008C03080004158F81D0078041C15 -S31508002D8003202040C000FF24251C8540281CC04382 -S31508002D90084039688C01FF210C40F91D09780D1C83 -S31508002DA003212940C900251C8D40291C0143C03236 -S31508002DB09200D150BD4602B0B0BDC04600ED00E05D -S31508002DC000E100E080B582B000AF78607A680E4B0B -S31508002DD09A4201D9012312E00C4B7A681202120AB0 -S31508002DE0013A5A6001235B42181C0321FFF77AFF58 -S31508002DF0064B00229A60054B07221A600023181C0E -S31508002E00BD4602B080BDC046FFFFFF0010E000E0EF -S31508002E1080B500AF074B1B68181CFA23990000F011 -S31508002E202DF8031C181CFFF7CDFF002000F004F84E -S31508002E30BD4680BDD000002080B582B000AF786066 -S31508002E40024B7A681A60BD4602B080BDAC0100200C -S31508002E5080B500AF024B1B68181CBD4680BDC04636 -S31508002E60AC01002080B500AF034B1B685A1C024B0F -S31508002E701A60BD4680BDC046AC010020002934D08A -S31508002E800123002210B488422CD301242407A1422E -S31508002E9004D2814202D209011B01F8E7E400A142EB -S31508002EA004D2814202D249005B00F8E7884201D386 -S31508002EB0401A1A434C08A04202D3001B5C0822435E -S31508002EC08C08A04202D3001B9C082243CC08A042CF -S31508002ED002D3001BDC082243002803D01B0901D0BB -S31508002EE00909E3E7101C10BC7047002801D0002030 -S31508002EF0C04307B4024802A14018029003BDC04669 -S31508002F00190000000029F0D003B5FFF7B9FF0EBC81 -S31508002F104243891A1847C0467047C046084B10B541 -S31508002F20041C002B02D0002100E000BF054B1868E6 -S31508002F30836A002B00D09847201C00F033F8C0465F -S31508002F4000000000C42F000870B50E4B0E4D00247B -S31508002F50ED1AAD101E1CAC4204D0A300F3589847D6 -S31508002F600134F8E700F020F8084B094D0024ED1A63 -S31508002F70AD101E1CAC4204D0A300F3589847013488 -S31508002F80F8E770BD34010020340100203401002028 -S31508002F9038010020031C8218934202D019700133AD -S31508002FA0FAE77047FEE70000F8B5C046F8BC08BC6B -S31508002FB09E467047F8B5C046F8BC08BC9E467047A2 -S31108002FC043000000D400002000000000C0 -S30D08002FCC58F1FF7F0100000027 -S31508002FD400000000010203040102030406070809AD -S31508002FE4006CDC0200000000000000000000000085 -S31508002FF400000000000000000000000000000000BF -S3150800300400000000C02F00080000000000000000B7 -S31508003014000000000000000000000000000000009E -S31508003024000000000000000000000000000000008E -S31508003034000000000000000000000000000000007E -S3110800304400000000ED200008C520000870 +S31508002CD0FEE7FEE7FEE7FEE7FEE7FEE7FEE70000A3 +S31508002CE03C010020B0010020B0B582B000AF021C44 +S31508002CF03960FB1D1A70FB1D1B787F2B32D93049B2 +S31508002D00FB1D1B781A1C0F231340083B98082C4AF6 +S31508002D10FB1D1B781C1C0F232340083B9B0806330E +S31508002D209B00D3185B68FA1D1278141C03222240F4 +S31508002D30D200FF24251C95402A1CD2431A403B6822 +S31508002D409C01FF231C40FB1D1B781D1C03232B40E5 +S31508002D50DB00251C9D402B1C1A43831D9B00CB18AA +S31508002D605A6029E0174BFA1D127852B29208154993 +S31508002D70F81D007840B28008C03080004158F81D20 +S31508002D800078041C03202040C000FF24251C854031 +S31508002D90281CC043084039688C01FF210C40F91DE6 +S31508002DA009780D1C03212940C900251C8D40291CC2 +S31508002DB00143C0329200D150BD4602B0B0BDC046F4 +S31508002DC000ED00E000E100E080B582B000AF786079 +S31508002DD07A680E4B9A4201D9012312E00C4B7A68A5 +S31508002DE01202120A013A5A6001235B42181C032197 +S31508002DF0FFF77AFF064B00229A60054B07221A60F6 +S31508002E000023181CBD4602B080BDC046FFFFFF0068 +S31508002E1010E000E080B500AF074B1B68181CFA23CA +S31508002E20990000F02DF8031C181CFFF7CDFF0020B1 +S31508002E3000F004F8BD4680BDD000002080B582B001 +S31508002E4000AF7860024B7A681A60BD4602B080BD52 +S31508002E50AC01002080B500AF024B1B68181CBD46AC +S31508002E6080BDC046AC01002080B500AF034B1B688F +S31508002E705A1C024B1A60BD4680BDC046AC010020F4 +S31508002E80002934D00123002210B488422CD301240F +S31508002E902407A14204D2814202D209011B01F8E7A4 +S31508002EA0E400A14204D2814202D249005B00F8E75D +S31508002EB0884201D3401A1A434C08A04202D3001B89 +S31508002EC05C0822438C08A04202D3001B9C082243BC +S31508002ED0CC08A04202D3001BDC082243002803D0FA +S31508002EE01B0901D00909E3E7101C10BC704700282C +S31508002EF001D00020C04307B4024802A1401802903E +S31508002F0003BDC046190000000029F0D003B5FFF73D +S31508002F10B9FF0EBC4243891A1847C0467047C046D7 +S31508002F20084B10B5041C002B02D0002100E000BF9E +S31508002F30054B1868836A002B00D09847201C00F0C0 +S31508002F4033F8C04600000000C82F000870B50E4BC5 +S31508002F500E4D0024ED1AAD101E1CAC4204D0A30081 +S31508002F60F35898470134F8E700F020F8084B094D64 +S31508002F700024ED1AAD101E1CAC4204D0A300F35871 +S31508002F8098470134F8E770BD340100203401002069 +S31508002F903401002038010020031C8218934202D015 +S31508002FA019700133FAE77047FEE70000F8B5C04626 +S31508002FB0F8BC08BC9E467047F8B5C046F8BC08BCC5 +S31508002FC09E46704743000000D40000200000000021 +S30D08002FD054F1FF7F0100000027 +S31508002FD800000000010203040102030406070809A9 +S31508002FE8006CDC0200000000000000000000000081 +S31508002FF800000000000000000000000000000000BB +S3150800300800000000C42F00080000000000000000AF +S31508003018000000000000000000000000000000009A +S31508003028000000000000000000000000000000008A +S31508003038000000000000000000000000000000007A +S3110800304800000000ED200008C52000086C S70508002000D2 diff --git a/Target/Demo/ARMCM0_STM32_Discovery_STM32F051_GCC/Prog/startup_stm32f0xx.S b/Target/Demo/ARMCM0_STM32_Discovery_STM32F051_GCC/Prog/startup_stm32f0xx.S index 7a12a216..8b83dcbb 100644 --- a/Target/Demo/ARMCM0_STM32_Discovery_STM32F051_GCC/Prog/startup_stm32f0xx.S +++ b/Target/Demo/ARMCM0_STM32_Discovery_STM32F051_GCC/Prog/startup_stm32f0xx.S @@ -132,6 +132,7 @@ Reset_Handler: /* Initialize the stackpointer. this is done automatically after a reset event, but * this program is started by the bootloader and not a reset event. */ ldr r1, =__StackTop + mov sp, r1 /* Loop to copy data from read only memory to RAM. The ranges * of copy from/to are specified by following symbols evaluated in diff --git a/Target/Source/ARMCM0_STM32/GCC/cstart.S b/Target/Source/ARMCM0_STM32/GCC/cstart.S index 8651b7c0..ff742695 100644 --- a/Target/Source/ARMCM0_STM32/GCC/cstart.S +++ b/Target/Source/ARMCM0_STM32/GCC/cstart.S @@ -135,6 +135,7 @@ Reset_Handler: * the bootloader performs a software reset by calling this reset handler, in * which case the stackpointer is not yet initialized. */ ldr r1, =__StackTop + mov sp, r1 /* Loop to copy data from read only memory to RAM. The ranges * of copy from/to are specified by following symbols evaluated in