![ARTERY AT32F435 Series Reference Manual Download Page 54](http://html1.mh-extra.com/html/artery/at32f435-series/at32f435-series_reference-manual_2977592054.webp)
AT32F435/437
Series Reference Manual
2022.11.11
Page 54
Rev 2.03
Figure 1-7 Example of MSP and PC initialization
1st push data
2nd push data
Other Memory
0x2000_8000
0x0000_0101
Other Exception
Vectors
Boot Code
Other Memory
Code
Stack
Memory
Stack grows
downward
Initial SP Value
0x2000_8000
0x0000_0000
0x0000_0004
0x0000_0100
0x2000_7C00
0x2000_7FFC
0x2000_7FF8
0x2000_8000
In the AT32F435/437 series, the main Flash memory, Boot code or SRAM can be remapped to the
code area between 0x0000_0000 and 0x07FF_FFFF. BOOT1 and BOOT0 are used to set the specific
memory from which CODE starts.
{BOOT1, BOOT0}=00/10, CODE starts from the main Flash memory
{BOOT1, BOOT0}=01, CODE starts from Boot code
{BOOT1, BOOT0}=11, CODE starts from SRAM
After a system reset or when leaving from Standby mode, the pin values of both BOOT1 and BOOT0
will be relatched. If on-chip SRAM mode is used, the BOOT state is locked. In this case, it is impossible
to select another boot mode, even after a system reset. A new boot mode can be selected only after
the next power-on reset.
Boot code memory contains an embedded boot loader program that provides not only Flash
programming function through USART1, USART2 or USB interface, but also provides extra firmware
including communication protocol stacks that can be called for use by software developer through API.