2016-02-25 07:18 AM
Hello,
i know there are many Posts about Problems with Memory Jumping and Bootloaders. But no one of this posts could solve my problem. I am using an STM32F103VCT6 Mic. Bootloader placed at 0x8000000, Application at 0x8010000. No problem to jump from Bootloader to Application, Vector Relocation works, thats all ok. But if i want to jump back to my Bootloader based at Adress 0x8000000 i´v get a Problem with initialisiation. I couldn´t use a Systemreset, because there are some ports that need to be kept in hi state. After Jump to Bootloader (i know it works, because i could debug it, and pull a led hi) i won´t get systick and irq´s get running. Vector Table is relocated at 0x8000000. are there any missing things regarding vector relocation, PSP, MSP? Gerhard2016-02-25 07:52 AM
I don't understand why this is materially different for any other transfer of control.
You should probably get the peripherals into a non-interrupting state rather that disabling interrupts in a blanket fashion, and then have the loader reassert its vector table and enable the interrupts/functions it needs. You might want to review the code in and called by SystemInit() and make sure it doesn't tread on things as you have the currently configured, ie clocks, plls, flash, etc.2016-02-26 01:42 AM
Good job in front of weekend.