AnsweredAssumed Answered

Bootloader STM32f103V8

Question asked by ratterman.michael on Jul 26, 2011
Latest reply on Jan 26, 2016 by Clive One
Hi everyone,

I am new to the ARM Chips and am trying to implement a bootloader using the example code from AN2557.

I am using IAR workbench for ARM 6.2 and a segger Jlink educational JTAG.

In IAR I have 2 separate projects. One for the bootloader and another for the user application.

I have set the bootloader to be programmed at address 0x8000000 and the user app at 0x8003000

when I get to this part in the code:

if (((*(__IO uint32_t*)ApplicationAddress) & 0x2FFE0000 ) == 0x2000000)
    { 
      /* Jump to user application */
      JumpAddress = *(__IO uint32_t*) (ApplicationAddress + 4);
      
      Jump_To_Application = (pFunction) JumpAddress;
      
      NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x3000);
      /* Initialize user application's Stack Pointer */
      __set_MSP(*(__IO uint32_t*) ApplicationAddress);
      
      
      Jump_To_Application();
    }
  }

it does not execute the If statement.  I dont know if I understand exactly whats going on.

Thank you for your help




Outcomes