AnsweredAssumed Answered

Bootloader without pins manipulating / compilation issue

Question asked by ttl on Sep 2, 2015
Latest reply on Sep 3, 2015 by ttl
Hello,
I am using STM32F401 Nucleo Board. I want go into the bootloader without pins manipulating.
According to the many posts, I have seen in the forum. I added this code to my startup_stm32f401xe.s file
Reset_Handler: 
  ldr   sp, =_estack             /* set stack pointer */
 
/* Copy the data segment initializers from flash to SRAM */ 
  movs  r1, #0
  b  LoopCopyDataInit
   
Reboot_Loader:
               /* EXPORT  Reboot_Loader*/
                LDR     R0, =0x40021018 /* RCC_APB2ENR*/
                LDR     R1, =0x00000001 /* ENABLE SYSCFG CLOCK*/
                STR     R13, [R0, #0]
                LDR     R0, =0x40010000 /*SYSCFG_MEMRMP*/
                LDR     R1, =0x00000001 /* MAP ROM AT ZERO*/
                STR     R1, [R0, #0]
                LDR     R0, =0x1FFF0000 /* ROM BASE*/
                LDR     SP,[R0, #0]     /*SP @ +0*/
                MOV     SP,R1
                LDR     R0,[R0, #4]    /* PC @ +4*/
                BX      R0
 and in main.c
I added: extern void Reboot_Loader(void);
blink_led_on();
timer_sleep(500);
blink_led_off();
timer_sleep(500);
HAL_UART_DeInit(&UartHandle);
    HAL_DeInit();
    SysTick->CTRL = 0;
    SysTick->LOAD = 0;
    SysTick->VAL = 0;
Reboot_Loader();
 // NVIC_SystemReset();
But I have !
undefined reference to 'Reboot_Loader' issue? How can I deal with it?
Thanks for all helps you can give!

Outcomes