| ▼CM3 Defines | Defined Constants and Types for Cortex M3 core features |
| Debugging | Macros and functions to aid in debugging |
| ►Cortex Core Defines | libopencm3 Defined Constants and Types for the Cortex Core |
| Cortex Core Atomic support Defines | Atomic operation support |
| Cortex-M Data Watch and Trace unit. | System Control Space (SCS) => Data Watchpoint and Trace (DWT) |
| Cortex-M Flash Patch and Breakpoint (FPB) unit | |
| Cortex-M Instrumentation Trace Macrocell (ITM) | |
| ►Cortex-M MPU Defines | libopencm3 Cortex Memory Protection Unit |
| MPU Registers | |
| MPU TYPE register fields | The MPU_TYPE register is always available, even if the MPU is not implemented |
| MPU CTRL register fields | Defines for the Control Register |
| MPU RNR register fields | Defines for the Region Number Register |
| MPU RBAR register fields | Defines for the Region Base Address Register |
| ►MPU RASR register fields | Defines for the Region Attribute and Size Register |
| MPU RASR Attributes | Not all attributes are available on v6m |
| ►Cortex-M NVIC Defines | libopencm3 Cortex Nested Vectored Interrupt Controller |
| NVIC Registers | |
| Cortex M0/M3/M4 System Interrupts | IRQ numbers -3 and -6 to -9 are reserved |
| User interrupts for STM32 F4 series | |
| ►Cortex-M System Control Block | The System Control Block is a section of the System Control Space |
| SCB Registers | |
| SCB_CPUID Values | |
| SCB_ICSR Values | |
| SCB_VTOR Values | |
| SCB_AICR Values | |
| SCB_SCR Values | |
| SCB_CCR Values | |
| ►Cortex-M System Control Space | The System Control Space (SCS) is a memory-mapped 4KB address space that provides 32-bit registers for configuration, status reporting and control |
| SCS Registers | |
| ►Cortex-M SysTick Defines | libopencm3 Defined Constants and Types for the Cortex SysTick |
| ►STK_CSR Values | |
| Clock source selection | |
| STK_RVR Values | |
| STK_CALIB Values | |
| Cortex-M Trace Port Interface Unit (TPIU) | |
| ▼Cortex Core Peripheral APIs | APIs for Cortex Core peripherals |
| DWT | libopencm3 Cortex-M Data Watchpoint and Trace unit |
| NVIC | libopencm3 Cortex Nested Vectored Interrupt Controller |
| SCB | libopencm3 Cortex-M System Control Block |
| SysTick | libopencm3 Cortex System Tick Timer |
| Coresight Registers | CoreSight Lock Status Registers and Lock Access Registers are documented for the DWT, ITM, FPB and TPIU peripherals |
| ▼Peripheral APIs | APIs for device peripherals |
| QuadSPI peripheral API | APIs for the specialized SPI Flash peripheral |
| DMA2D peripheral API | |
| DMA peripheral API | DMA library for the multi stream controller found in f2/f4/f7 parts |
| DSI peripheral API | |
| LTDC peripheral API | |
| FLASH peripheral API | libopencm3 STM32F4xx FLASH |
| PWR peripheral API | libopencm3 STM32F4xx Power Control |
| RCC peripheral API | libopencm3 STM32F4xx Reset and Clock Control |
| RTC peripheral API | libopencm3 STM32F4xx RTC |
| ADC peripheral API | |
| CRC peripheral API | |
| DAC peripheral API | Digital to Analog Converter |
| DCMI peripheral API | Digital camera interface |
| EXTI peripheral API | |
| FMC peripheral API | |
| GPIO peripheral API | |
| HASH Peripheral API | |
| I2C peripheral API | |
| IWDG peripheral API | |
| LPTIM peripheral API | |
| RNG peripheral API | This library supports "version 1" of the random number generator peripheral (RNG) in the STM32 series of ARM Cortex Microcontrollers by ST Microelectronics |
| SPI peripheral API | |
| TIMER peripheral API | |
| USART peripheral API | |
| ▼STM32F4xx | Libraries for ST Microelectronics STM32F4xx series |
| CRYPTO | libopencm3 STM32F4xx CRYPTO |
| ▼STM32F4xx Defines | Defined Constants and Types for the STM32F4xx series |
| ►ADC Defines | Defined Constants and Types for the STM32F4xx Analog to Digital Converters |
| ADC Channel Numbers | Thanks ST! F40x and F41x are on 16, F42x and F43x are on 18! |
| ADC Trigger Identifier for Regular group | |
| ADC Trigger Identifier for Injected group | |
| ADC Sample Time Selection for All Channels | |
| ADC Prescale | |
| ADC register base addresses | |
| ADC Status Register Flags | |
| ADC Number of channels in discontinuous mode. | |
| ADC watchdog channel | |
| ADC Number of channels in discontinuous injected mode | |
| ADC Resolution. | |
| ADC Trigger Polarity | |
| ADC Injected Trigger Polarity | |
| ADC DMA mode for multi ADC mode | |
| ADC Delay between 2 sampling phases | |
| ADC Multi mode selection | |
| ►CRC Defines | libopencm3 Defined Constants and Types for the STM32F4xx CRC Generator |
| CRC Registers | |
| CRC_CR values | |
| ►CRYPTO Defines | Defined constants and Types for the STM32F4xx Crypto Coprocessor |
| Registers (for F42xx or F43xx only) | Register access to the CRYP controller |
| API (for F42xx or F43xx only) | API for the CRYP controller |
| Registers (Generic) | Register access to the CRYP controller |
| API (Generic) | API for the CRYP controller |
| ►DAC Defines | Defined Constants and Types for the STM32F4xx DAC |
| DAC register base addresses | |
| DAC Registers | |
| ►DAC_CR values | |
| DAC Channel 2 Trigger Source Selection | |
| DAC Channel 1 Trigger Source Selection | |
| DAC_SWTRIGR Values | |
| DAC_DHRxxx Values | |
| DAC_DORx Values | |
| DAC_SR Values | |
| DAC Channel Identifier | |
| ►DCMI Defines | Defined Constants and Macros for the STM32F4xx DCMI Peripheral |
| DCMI_CR Values | |
| DCMI_SR Values | |
| DCMI_RIS Values | |
| DCMI_IER Values | |
| DCMI_MIS Values | |
| DCMI_ICR Values | |
| DCMI_ESCR Values | |
| DCMI_ESUR Values | |
| DCMI_CWSTRT Values | |
| DCMI_CWSIZE Values | |
| DMA2D Defines | Defined Constants and Types for the STM32F4xx DMA2D Peripheral |
| ►DMA Defines | Defined Constants and Types for the STM32F4xx DMA Controller |
| DMA Stream Number | |
| DMA Interrupt Flag Offsets within stream flag group. | |
| DMA Stream Data transfer direction | |
| DMA Stream Peripheral Word Width | |
| DMA Stream Memory Word Width | |
| DMA Stream Priority Levels | |
| DMA Peripheral Burst Length | |
| DMA Memory Burst Length | |
| DMA Channel Select | |
| FIFO Threshold selection | |
| FIFO Status | |
| DSI Defines | Defines Constants and Macros for the STM32F4xx Display Serial Interface Host and Wrapper |
| ►EXTI Defines | Defined Constants and Types for the STM32F4xx External Interrupts |
| EXTI Registers | |
| ►FLASH Defines | Defined Constants and Types for the STM32F4xx FLASH Memory |
| ►Flash Registers | |
| FLASH_ACR values | Access Control register values |
| FLASH Wait States | |
| FLASH_ACR values | Access Control register values |
| Flash programming width | |
| FMC Defines | Defined Constants and Types for the STM32F4xx Flexible Memory Controller |
| ►GPIO Defines | Defined Constants and Types for the STM32F4xx General Purpose I/O |
| GPIO Pin Identifiers | |
| GPIO Port IDs | |
| GPIO Pin Direction and Analog/Digital Mode | |
| GPIO Output Pin Driver Type | |
| GPIO Output Pin Speed | |
| GPIO Output Pin Pullup | |
| Alternate Function Pin Selection | |
| ►HASH Defines | Defined Constants and Types for the STM32F4xx HASH Controller |
| HASH register base addresses | |
| HASH Data Type | |
| HASH Mode | |
| HASH Algorithm | |
| HASH Key length | |
| ►I2C Defines | Defined Constants and Types for the STM32F4xx I2C |
| I2C register base address | |
| I2C peripheral clock duty cycles | |
| I2C Read/Write bit | |
| ►IWDG Defines | Defined Constants and Types for the STM32F4xx Independent Watchdog Timer |
| IWDG Key Values | |
| IWDG prescaler divider | |
| IWDG Status Register Values | |
| ►LPTIM Defines | libopencm3 Defined Constants and Types for the STM32F4xx Low Power Timer |
| Low Power Timer register base addresses | |
| LPTIM_ISR Interrupt and Status Register | |
| LPTIM_ICR Interrupt Clear Register | |
| LPTIM_IER Interrupt Enable Register | |
| ►LPTIM_CFGR Configuration Register | |
| LPTIM_CFGR CKPOL Clock Polarity | |
| LPTIM_CFGR CKFLT Configurable digital filter for external clock | |
| LPTIM_CFGR TRGFLT Configurable digital filter for trigger | |
| LPTIM_CFGR PRESC Clock prescaler | |
| LPTIM_CFGR TRIGSEL Trigger selector | |
| LPTIM_CFGR TRIGEN Trigger enable and polarity | |
| LPTIM_CR Control Register | |
| ►LTDC Defines | Defined Constants and Types for the STM32F4xx LCD TFT Display Controller |
| LTDC Layer Number | |
| ►PWR Defines | Defined Constants and Types for the STM32F4xx Power Control |
| PVD level selection | |
| ►QuadSPI Defines | Defined constants and types for the STM32F4 QuadSPI peripheral |
| QuadSPI Registers | |
| ►RCC Defines | Defined Constants and Types for the STM32F4xx Reset and Clock Control |
| ►RCC Registers | Reset / Clock Control Registers |
| RCC_CR values | Clock Control register values |
| RCC_PLLCFGR values | PLL Configuration register values |
| ►RCC_CFGR values | Clock Configuration register values |
| RCC_CFGR APBx prescale factors | These can be used for both APB1 and APB2 prescaling |
| RCC_CFGR AHB prescale factors | |
| RCC_CIR values | Clock Interrupt register values |
| RCC_BDCR values | Backup Domain control register values |
| RCC_CSR values | Clock control and status register values |
| RCC_SSCGR values | Spread spectrum clock generation register values |
| ►RCC_PLLxxx/DCKy values | PLL and other dedicated clock register values |
| PLLSAICFGR PLLSAIP values | |
| RCC_CKGATENR bits | Allows to enable or disable the clock gating for the specified IPs |
| RCC_CR values | Clock Control register values |
| RCC_PLLCFGR values | PLL Configuration register values |
| ►RCC_CFGR values | Clock Configuration register values |
| RCC_CFGR APBx prescale factors | These can be used for both APB1 and APB2 prescaling |
| RCC_CFGR AHB prescale factors | |
| RCC_CFGR Deprecated dividers | Older compatible definitions to ease migration |
| RCC_CIR values | Clock Interrupt register values |
| ►RCC_AHBxRSTR reset values (full set) | |
| RCC_AHB1RSTR reset values | |
| RCC_AHB2RSTR reset values | |
| RCC_AHB3RSTR reset values | |
| Deprecated 2018 | |
| RCC_APB1RSTR reset values | |
| RCC_APB2RSTR reset values | |
| ►RCC_AHBxENR enable values (full set) | |
| RCC_AHB1ENR enable values | |
| RCC_AHB2ENR enable values | |
| RCC_AHB3ENR enable values | |
| Deprecated 2018 | |
| RCC_APB1ENR enable values | |
| RCC_APB2ENR enable values | |
| RCC_APBxLPENR enable values (full set) | |
| RCC_BDCR values | Backup Domain control register values |
| RCC_CSR values | Clock control and status register values |
| RCC_SSCGR values | Spread spectrum clock generation register values |
| ►RCC_PLLxxx/DCKy values | PLL and other dedicated clock register values |
| PLLSAICFGR PLLSAIP values | |
| RCC_CKGATENR bits | Allows to enable or disable the clock gating for the specified IPs |
| ►RTC Defines | Defined Constants and Types for the STM32F4xx RTC |
| ►RTC Registers | Real Time Clock registers |
| RTC Time register (RTC_TR) values | Note: Bits [31:23], 15, and 7 are reserved, and must be kept at reset value |
| RTC Date register (RTC_DR) values | Note: Bits [31:24] and [7:6] are reserved, and must be kept at reset value |
| ►RTC control register (RTC_CR) values | Note: Bits [31:24] are reserved, and must be kept at reset value |
| RTC_CR_OSEL: Output selection values | These bits are used to select the flag to be routed to AFO_ALARM RTC output |
| RTC initialization and status register (RTC_ISR) values | Note: Bits [31:17] and [15] are reserved, and must be kept at reset value |
| RTC prescaler register (RTC_PRER) values | |
| RTC Alarm register values | Applies to RTC_ALRMAR and RTC_ALRMBR |
| RTC time stamp time register (RTC_TSTR) values | |
| RTC time stamp date register (RTC_TSDR) values | |
| RTC calibration register (RTC_CALR) values | |
| RTC tamper and alternate function configuration register (RTC_TAFCR) values | |
| RTC Time register (RTC_TR) values | Note: Bits [31:23], 15, and 7 are reserved, and must be kept at reset value |
| RTC Date register (RTC_DR) values | Note: Bits [31:24] and [7:6] are reserved, and must be kept at reset value |
| ►RTC control register (RTC_CR) values | Note: Bits [31:24] are reserved, and must be kept at reset value |
| RTC_CR_OSEL: Output selection values | These bits are used to select the flag to be routed to AFO_ALARM RTC output |
| RTC initialization and status register (RTC_ISR) values | Note: Bits [31:17] and [15] are reserved, and must be kept at reset value |
| RTC prescaler register (RTC_PRER) values | |
| RTC Alarm register values | Applies to RTC_ALRMAR and RTC_ALRMBR |
| RTC time stamp time register (RTC_TSTR) values | |
| RTC time stamp date register (RTC_TSDR) values | |
| RTC calibration register (RTC_CALR) values | |
| RTC tamper and alternate function configuration register (RTC_TAFCR) values | |
| ►SPI Defines | Defined Constants and Types for the STM32F4xx SPI |
| SPI Register base address | |
| SPI lsb/msb first | |
| SPI peripheral baud rates | |
| SPI peripheral baud rate prescale values | |
| SPI clock polarity | |
| SPI clock phase | |
| SPI data frame format | |
| SYSCFG Defines | Defined Constants and Types for the STM32F4xx Sysconfig |
| ►Timer Defines | libopencm3 Defined Constants and Types for the STM32F4xx Timers |
| Timer register base addresses | |
| TIMx_CR1 CKD[1:0] Clock Division Ratio | |
| TIMx_CR1 CMS[1:0]: Center-aligned Mode Selection | |
| TIMx_CR1 DIR: Direction | |
| TIMx_CR2_OIS: Force Output Idle State Control Values | |
| TIMx_CR2 MMS[6:4]: Master Mode Selection | |
| TIMx_SMCR TS Trigger selection | |
| TIMx_SMCR SMS Slave mode selection | |
| TIMx_DIER Timer DMA and Interrupt Enable Values | |
| TIMx_SR Timer Status Register Flags | |
| TIMx_EGR Timer Event Generator Values | |
| TIM_BDTR_LOCK Timer Lock Values | |
| TIM2_OR Timer 2 Option Register Internal | Trigger 1 Remap |
| TIM5_OR Timer 5 Option Register Internal Trigger 4 Remap | Only available in F2 and F4 series |
| ►USART Defines | Defined Constants and Types for the STM32F4xx USART |
| USART Parity Selection | |
| USART Tx/Rx Mode Selection | |
| USART Stop Bit Selection | |
| USART Hardware Flow Control Selection | |
| USART register base addresses | Holds all the U(S)ART peripherals supported |
| U(S)ART convenience Flags | We define the "common" lower flag bits using a standard name, allowing them to be used regardless of which usart peripheral version you have |
| USART Status register Flags | |
| User interrupt service routines (ISR) prototypes for STM32 F4 series | |
| MAC Generic Defines | Defined Constants and Types for the Ethernet MAC |
| MAC STM32Fxx7 Defines | Defined Constants and Types for the Ethernet MAC for STM32Fxx7 chips |
| PHY Generic Defines | Defined Constants and Types for the Ethernet PHY |
| PHY KSZ80X1 Defines | Defined Constants and Types for the Ethernet PHY KSZ80X1 chips chips |
| ▼CAN defines | libopencm3 Defined Constants and Types for STM32 CAN |
| CAN register base address | |
| USB Audio Type Definitions | Defined Constants and Types for the USB Audio Type Definitions |
| USB CDC Type Definitions | Defined Constants and Types for the USB CDC Type Definitions |
| USB HID Type Definitions | Defined Constants and Types for the USB HID Type Definitions |
| USB MSC Type Definitions | Defined Constants and Types for the USB MSC Type Definitions |
| USB Drivers | Defined Constants and Types for the USB Drivers |
| USB Standard Structure Definitions | Defined Constants and Types for the USB Standard Structure Definitions |
| CAN | libopencm3 STM32Fxxx CAN |
| User interrupt service routines (ISR) defaults for STM32 F4 series | |
| MAC Generic Drivers | Ethernet MAC Generic Drivers |
| MAC STM32Fxx7 | Ethernet MAC STM32Fxx7 Drivers |
| PHY Generic Drivers | Ethernet PHY Generic Drivers |
| PHY KSZ8051MLL | Ethernet PHY STM32Fxx7 Drivers |
| Generic USB Drivers | Generic USB Drivers |
| Generic USB Control Requests | Generic USB Control Requests |
| Generic USB Standard Request Interface | Generic USB Standard Request Interface |
| Usb_msc | |