Difference between revisions of "DFU Bootloader"
Jump to navigation
Jump to search
Line 70: | Line 70: | ||
| | | | ||
| | | | ||
− | | 0x8038000 | + | | align=right | 0x8038000 |
− | | 0x8000 | + | | align=right | 0x8040000 |
− | | 32kB | + | | align=right | 0x8000 |
+ | | align=right | 32kB | ||
|- | |- | ||
| | | | ||
| | | | ||
| 0x8030000 | | 0x8030000 | ||
+ | | 0x8038000 | ||
| 0x8000 | | 0x8000 | ||
| 32kB | | 32kB | ||
Line 83: | Line 85: | ||
| | | | ||
| 0x8028000 | | 0x8028000 | ||
+ | | 0x8030000 | ||
| 0x8000 | | 0x8000 | ||
| 32kB | | 32kB | ||
Line 89: | Line 92: | ||
| | | | ||
| 0x8020000 | | 0x8020000 | ||
+ | | 0x8028000 | ||
| 0x8000 | | 0x8000 | ||
| 32kB | | 32kB | ||
Line 95: | Line 99: | ||
| | | | ||
| 0x8018000 | | 0x8018000 | ||
+ | | 0x8020000 | ||
| 0x8000 | | 0x8000 | ||
| 32kB | | 32kB | ||
Line 101: | Line 106: | ||
| | | | ||
| 0x8010000 | | 0x8010000 | ||
+ | | 0x8018000 | ||
| 0x8000 | | 0x8000 | ||
| 32kB | | 32kB | ||
Line 107: | Line 113: | ||
| | | | ||
| 0x8008000 | | 0x8008000 | ||
+ | | 0x8010000 | ||
| 0x8000 | | 0x8000 | ||
| 32kB | | 32kB | ||
Line 113: | Line 120: | ||
| --> | | --> | ||
| 0x8000000 | | 0x8000000 | ||
+ | | 0x8008000 | ||
| 0x8000 | | 0x8000 | ||
| 32kB | | 32kB |
Revision as of 04:21, 31 May 2021
All STM32 MCUs have a built-in bootloader which will allow reflashing. The Boot0 pin is used to toggle between "normal" boot and this bootloader. Unfortunately this process can not be controlled without manipulating the Boot0 pin, so if we want to control this from our application, we will have to implement our own bootloader.
Overall Architecture
Start Addr | End Addr | Size (hex) | Size (kb) | ||
---|---|---|---|---|---|
End | --> | 0x8078000 | 0x8080000 | 0x8000 | 32kB |
0x8070000 | 0x8078000 | 0x8000 | 32kB | ||
0x8068000 | 0x8070000 | 0x8000 | 32kB | ||
0x8060000 | 0x8068000 | 0x8000 | 32kB | ||
0x8058000 | 0x8060000 | 0x8000 | 32kB | ||
0x8050000 | 0x8058000 | 0x8000 | 32kB | ||
0x8048000 | 0x8050000 | 0x8000 | 32kB | ||
0x8040000 | 0x8048000 | 0x8000 | 32kB | ||
0x8038000 | 0x8040000 | 0x8000 | 32kB | ||
0x8030000 | 0x8038000 | 0x8000 | 32kB | ||
0x8028000 | 0x8030000 | 0x8000 | 32kB | ||
0x8020000 | 0x8028000 | 0x8000 | 32kB | ||
0x8018000 | 0x8020000 | 0x8000 | 32kB | ||
0x8010000 | 0x8018000 | 0x8000 | 32kB | ||
0x8008000 | 0x8010000 | 0x8000 | 32kB | ||
Begin | --> | 0x8000000 | 0x8008000 | 0x8000 | 32kB |