GD32F20x User Manual
44
2.
Flash memory controller (FMC)
2.1.
Overview
The flash memory controller, FMC, provides all the necessary functions for the on-chip flash
memory. There is no waiting time while CPU executes instructions stored in the first 384K(in
case that flash size equal to 256K or 512K, all memory is no waiting time) bytes of the flash .
It also provides page erase, mass erase, and word/half-word program operations for flash
memory.
2.2.
Characteristics
Up to 3072KB of on-chip flash memory for instruction and data.
No waiting time within first 384K bytes when CPU executes instructions (in case that
flash size equal to 256K or 512K, all memory is no waiting time). A long delay when CPU
fetches the instructions out of the range.
2 banks adopted for GD32F20x_CL with flash size more than 512KB. Bank0 is used for
the first 512KB and bank1 is for the rest capacity.
Only bank0 is adopted for GD32F20x_CL with flash no more than 512KB.
The flash page size is 2KB for bank0, 4KB for bank1.
Word/half-word programming, page erase and mass erase operation.
16B option bytes block for user application requirements.
Option bytes are uploaded to the option byte control registers on every system reset.
Flash security protection to prevent illegal code/data access.
Page erase/program protection to prevent unexpected operation.
2.3.
Function overview
2.3.1.
Flash memory architecture
For GD32F20x_CL with flash no more than 512KB, the page size is 2KB. For GD32F20x_CL
with flash more than 512KB, bank0 is used for the first 512KB where the page size is 2KB.
Bank1 is used for the rest capacity where the page size is 4KB. Each page can be erased
individually.
Summary of Contents for GD32F20 Series
Page 191: ...GD32F20x User Manual 191 Bits Fields Descriptions 31 0 TRNDATA 31 0 32 Bit Random data ...
Page 290: ...GD32F20x User Manual 290 conversion is ongoing ...
Page 325: ...GD32F20x User Manual 325 15 0 ALRM 15 0 RTC alarm value low ...
Page 385: ...GD32F20x User Manual 385 ...
Page 523: ...GD32F20x User Manual 523 clears AERR bit by writing 0 to it ...