
GD32L23x User Manual
33
All of, byte, half-word (16 bits) and word (32 bits) read accesses are supported. The flash
memory can be programmed word (32 bits). Each page of the flash memory can be erased
individually. The whole flash memory space except information blocks can be erased at a
time.
1.4.
Boot configuration
The GD32L23x
series provide three kinds of boot sources which can be selected by the
BOOT0 and BOOT1 pins. The details are shown in the following table. The value on the two
pins is latched on the 4th rising edge of CK_SYS after a reset. It is up to the user to set the
BOOT0 and BOOT1 pins after a power-on reset or a system reset to select the required boot
source. Once the two pins have been sampled, they are free and can be used for other
purposes.
Table1-3. Boot modes
Selected boot source
Boot mode selection pins
Boot1
Boot0
Main Flash Memory
x
0
System Memory
0
1
On-chip SRAM
1
1
After power-on sequence or a system reset, the Arm
®
Cortex
®
-M23 processor fetches the
top-of-stack value from address 0x0000 0000 and the base address of boot code from 0x0000
0004 in sequence. Then, it starts executing code from the base address of boot code.
According to the selected boot source, either the main flash memory (original memory space
beginning at 0x0800 0000) or the system memory (original memory space beginning at
0x1FFF D000) is aliased in the boot memory space which begins at the address 0x0000 0000.
When the on-chip SRAM whose memory space is beginning at 0x2000 0000 is selected as
the boot source, in the application initialization code, you have to relocate the vector table in
SRAM using the NVIC exception table and offset register.
The embedded boot loader is located in the System memory, which is used to reprogram the
Flash memory. The boot loader can be activated through one of the following interfaces:
USART0, USART1 or USBD.
1.5.
System configuration controller (SYSCFG)
The main purposes of the system configuration controller (SYSCFG) are the following:
Enabling/disabling I2C Fast Mode Plus on some I/O ports
Remapping of some I/O ports
Managing the external interrupt line connection to the GPIOs