January 2024 RM0316 Rev 10 1/1148
1
RM0316
Reference manual
STM32F303xB/C/D/E, STM32F303x6/8, STM32F328x8,
STM32F358xC, STM32F398xE advanced Arm
®
-based MCUs
Introduction
This reference manual targets application developers. It provides complete information on
how to use the STM32F303xB/C/D/E, STM32F303x6/x8, STM32F328x8, STM32F358xC
and STM32F398xE microcontroller memory and peripherals. The STM32F303xB/C/D/E,
STM32F303x6/x8, STM32F328x8, STM32F358xC and STM32F398xE devices are referred
to as STM32F3xx throughout the document, unless otherwise specified.
The STM32F3xx is a family of microcontrollers with different memory sizes, packages, and
peripherals.
For ordering information, mechanical and electrical device characteristics refer to the
relevant datasheets.
For information on the Arm
®
Cortex
®
-M4 core with FPU, please refer to the
STM32F3xx/STM32F4xx programming manual (PM0214).
STM32 microcontrollers include STMicroelectronics state-of-the-art patented technology.
Related documents
STM32F303xB/C, STM32F303xD/E, STM32F303x6/8, STM32F328x8, STM32F358xC,
and STM32F398xE datasheets available at www.st.com.
STM32F3xx/F4xx Cortex
®
-M4 programming manual (PM0214) available at www.st.com.
STM32F303xB/C errata sheet (ES0204) available at www.st.com.
www.st.com
Contents RM0316
2/1148 RM0316 Rev 10
Contents
1 Overview of the manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
2 Documentation conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
2.1 General information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
2.2 List of abbreviations for registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
2.3 Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
2.4 Availability of peripherals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3 System and memory overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.1 System architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.1.1 S0: I-bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.1.2 S1: D-bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.1.3 S2: S-bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.1.4 S3, S4: DMA-bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.1.5 BusMatrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.2 Memory organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.2.2 Memory map and register boundary addresses . . . . . . . . . . . . . . . . . . 54
3.3 Embedded SRAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
3.3.1 Parity check . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
3.3.2 CCM SRAM write protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
3.4 Flash memory overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
3.5 Boot configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
3.5.1 Embedded boot loader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
4 Embedded flash memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4.1 Flash main features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4.2 Flash memory functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4.2.1 Flash memory organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4.2.2 Read operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4.2.3 Flash program and erase operations . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
4.3 Memory protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
4.3.1 Read protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77