We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hello everybody,
I'm working on a custom bootloader for STM32F407/F411. It start at 0x08000000 and works in a ordinary way, loading Intel-Hex files through the UART, interprets the file and programs the FLASH. Then it sets the MSP and jumps to the loaded code (the code is linked i.e. at 0x08008000 and there the VTOR is relocated). Everything is just fine. The problem begins, when I want the loaded code to invoce a new flashing (from outside the bootloader). I'm setting a function handler, pointing at my flashing function (with propper aguments ofcourse) and jump there (the address of my flashing function I read out from my *.map file from the bootloader code). When I call the flashing function, after FLASH sector erasing the core jumps to 0xFFFFFFFE. I don't know what is happening. The prefetch and I/D caches in the FLASH ACR register are disabled. Please help.
I have to keep my schedule, so I must leave it as it is. After that strange patch it works just fine every time. It is worth to notice, that the problem appeared only, when calling the flasher function from outside the bootloader.
Thanks for help :)