BOOT0 is a dedicated pin while BOOT1 is shared with a GPIO pin. Once BOOT1 has been
sampled, the corresponding GPIO pin is free and can be used for other purposes.
The BOOT pins are also resampled when the device exits the Standby mode. Consequently,
they must be kept in the required Boot mode configuration when the device is in the Standby
mode. After this startup delay is over, the CPU fetches the top-of-stack value from address
0x0000 0000, then starts code execution from the boot memory starting from 0x0000 0004.
Note:
When the device boots from SRAM, in the application initialization code, you have to
relocate the vector table in SRAM using the NVIC exception table and the offset register.
Embedded bootloader
The embedded bootloader mode is used to reprogram the Flash memory using one of the
following serial interfaces:
•
USART
•
CAN2
•
I2C
•
SPI
•
USB OTG FS in Device mode (DFU: device firmware upgrade).
The USART peripherals operate at the internal 16 MHz oscillator (HSI) frequency, while the
CAN and USB OTG FS require an external clock (HSE) multiple of 1 MHz (ranging from 4 to
26 MHz).
The embedded bootloader code is located in system memory. It is programmed by ST
during production. For additional information, refer to application note AN2606.
Physical remap in STM32F446xx
Once the boot pins are selected, the application software can modify the memory
accessible in the code area (in this way the code can be executed through the ICode bus in
place of the System bus). This modification is performed by programming the
SYSCFG memory remap register (SYSCFG_MEMRMP)
The following memories can thus be remapped:
•
Main Flash memory
•
System memory
•
Embedded SRAM1 (112 KB)
•
FMC bank 1 (NOR/PSRAM 1 and 2)
•
FMC SDRAM bank 1
Table 3. Memory mapping vs. Boot mode/physical remap in STM32F446xx
Addresses
0x2001 C000 - 0x2001 FFFF
0x2000 0000 - 0x2001 BFFF
0x1FFF 0000 - 0x1FFF 77FF
0x0810 0000 - 0x0FFF FFFF
0x0800 0000 - 0x081F FFFF
62/1328
Boot/Remap in
main Flash memory
embedded SRAM
SRAM2 (16 KB)
SRAM1 (112 KB)
SRAM1 (112 KB)
System memory
Reserved
Flash memory
RM0390 Rev 4
in the SYSCFG controller.
Boot/Remap in
Boot/Remap in
System memory
SRAM2 (16 KB)
SRAM2 (16 KB)
SRAM1 (112 KB)
System memory
System memory
Reserved
Reserved
Flash memory
Flash memory
RM0390
Section 8.2.1:
Remap in FMC
SRAM2 (16 KB)
SRAM1 (112 KB)
System memory
Reserved
Flash memory
Need help?
Do you have a question about the STM32F446 Series and is the answer not in the manual?