AnsweredAssumed Answered

Branch with link instruction does not jump to SystemInit()

Question asked by joly.kevin on Nov 28, 2013
Latest reply on Nov 30, 2013 by joly.kevin
Hello,

We are a robotics association from ENSEIRB-MATMECA (Bordeaux, France). We are developping some boards and a template project for STM32 devices.

One of our boards embed a STM32F103C4 microcontroller. We use the startup script from gcc ride7  startup_stm32f10x_ld.s.This startup script work until the line "bl SystemInit" is reached. Then, the system doesn't jump to SystemInit() function as he is expected to do and the bootloader is listening again (reset).

Here is the link instruction:
/home/kevin/ausbee-test/Software/Toolchain/arm-none-eabi/bin/arm-none-eabi-gcc -o /home/kevin/ausbee-test/Software/output/project.elf -mthumb -mcpu=cortex-m3 -Wall -Wextra -mcpu=cortex-m3 -mfix-cortex-m3-ldrd -mthumb-interwork -DSTM32F10X_LD -Wl,--gc-sections -Wl,--Map=test.map  -T/home/kevin/ausbee-test/Software/System-CM3/link.ld /home/kevin/ausbee-test/Software/System-CM3/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/gcc_ride7/startup_stm32f10x_ld.o /home/kevin/ausbee-test/Software/System-CM3/CMSIS/CM3/CoreSupport/core_cm3.o /home/kevin/ausbee-test/Software/System-CM3/CMSIS/CM3/DeviceSupport/ST/STM32F10x/system_stm32f10x.o /home/kevin/ausbee-test/Software/Project/src/main.o

The test.map file contain the SystemInit symbol.

We use GCC ARM embedded toolchain (https://launchpad.net/gcc-arm-embedded). Our template project work with other devices such as STM32f105.

Do you have any idea where this bug come from?

Thanking you in advance.

Outcomes