RM0440 Rev 4 93/2126
RM0440 Embedded Flash memory (FLASH) for category 3 devices
228
3.3 FLASH functional description
3.3.1 Flash memory organization
The Flash memory has the following main features:
• Capacity up to 512 Kbytes, in single bank mode (read width of 128 bits) or in dual bank
mode (read width of 64-bits)
• Supports dual boot mode thanks to the BFB2 option bit (only in dual bank mode)
• Dual bank mode when DBANK bit is set:
– 512 KB organized in 2 banks for main memory
– Page size of 2 Kbyte
– 72 bits wide data read (64 bits plus 8 ECC bits)
– Bank and Mass erase
• Single bank mode when DBANK is reset:
– 512 KB organized in one single bank for main memory
– Page size of 4 Kbyte
– 144 bits wide data read (128 bits plus 2x8 ECC bits)
– Mass erase
The Flash memory is organized as follows:
• A main memory block organized depending on the dual bank configuration bit:
– When dual bank is enabled (DBANK bit set), the Flash is divided in 2 banks of
256 KB, and each bank is organized as follows:
The main memory block containing 128 pages of 2 Kbyte
Each page is composed of 8 rows of 256 bytes
– When dual bank is disabled (DBANK bit reset), the main memory block is
organized as one single bank of 512 KB as follows:
The main memory block containing 128 pages of 4 Kbyte
Each page is composed of 8 rows of 512 bytes
• An Information block containing:
– System memory from which the device boots in System memory boot mode. The
area is reserved for use by STMicroelectronics and contains the boot loader that is
used to reprogram the Flash memory through one of the following interfaces:
USART, SPI, I2C, FDCAN, USB. It is programmed by STMicroelectronics when
the device is manufactured, and protected against spurious write/erase
operations. For further details, please refer to the AN2606 available from
www.st.com.
– 1 Kbyte (128 double word) OTP (one-time programmable) bytes for user data. The
OTP area is available in Bank 1 only. The OTP data cannot be erased and can be
written only once. If only one bit is at 0, the entire double word cannot be written
anymore, even with the value 0x0000 0000 0000 0000.
– Option bytes for user configuration.
The memory organization is based on a main area and an information block as shown in
Table 28.