
GD32A50x User Manual
50
2.
Flash memory controller (FMC)
2.1.
Overview
The flash memory controller, FMC, provides all the necessary functions for the on-chip flash
memory. A little waiting time is needed while CPU executes instructions stored from the 384K
bytes of the flash. It also provides page erase, mass erase, and program operations for flash
memory.
2.2.
Characteristics
Up to 384KB of on-chip flash memory for instruction and data. Up to 1KB OTP. Up to
64KB Extend flash. Up to 4KB emulated EEPROM.
-
bank0: 256KB
-
bank1: 128KB
-
Extend Block: 64KB shared for data flash and EEPROM backup
-
OTP: 1KB
-
Shared RAM: 4KB used for basic SRAM or EEPROM SRAM or fast program buffer
Dual bank architecture for read-while-write (RWW) capability.
ECC with single bit error corrected and double bit errors detected.
0~3 waiting time within bank0 / bank1 / Data Flash when CPU executes instructions and
read data.
Pre-fetch buffer to speed read operations.
Cache with 1K bytes which organized as 64 cache line of 2X64 bits.
The flash page size is 1KB.
Double word programming, page erase and mass erase operation.
1KB OTP(one-time program) block used for user data storage.
24B option bytes block for user application requirements.
4B option bytes 1.
Option bytes are uploaded to the option byte control registers when the system is reset.
Flash security protection to prevent illegal code / data access.
Page erase / program protection to prevent unexpected operation.
Fast program support.
2.3.
Function overview
2.3.1.
Flash memory architecture
The flash memory consists of up to 384 KB main flash, which is organized into 384 pages
with 1KB capacity, an 18 KB information block for the boot loader, up to 64KB Extend Flash
Block shared for Data Flash and EEPROM backup. Each page of main flash memory can be