0
votes

ST Application Note AN2606 states that "In addition to patterns described above, user can execute bootloader by performing a jump to system memory from user code." Table 3 Embedded bootloaders goes on to list ST32 processors including their Bootloader ID and Memory Location (RAM).

So far so good. When I get to the STM32F105/107 (which I'm using and already have production hardware running code) it shows NA for both ID and memory location.

My question is...is there something about the STM32F105/107 that makes it impossible to jump from application code to the bootloader in system memory? I've looked high and low for clarification on this to no avail.

1
What does it mean NA - 0___________
What exactly is not working? Can you follow the jump by stepping trough the assembler? - Jeroen3
Interesting - I thought maybe those parts omitted the system bootloader, but the datasheet lists it as a feature and directs to AN2606. I don't have access to any code files at the moment, but do the CMSIS headers include a definition for it? - mbmcavoy
NA as in not applicable. Doesn't apply to the STM32105/107 processors - Morten Sissener
I haven't actually tried it so can't say it won't work but the AN2606 app note doesn't even give a bootloader address. I may have found a completely different workaround by writing my own mini-bootloader in flash using simple UART polling. The UART receive interrupts and related vector table is what was driving me towards using the built-in STM32 bootloader but apparently that's not really ready for prime time for these processors due to their being early models. - Morten Sissener

1 Answers

0
votes

The start address of the system bootloader for STM32F105, STM32F107 (Connectivity line) is 0x1FFFB000 you can find it in AN2606 page 68