libopencm3
A free/libre/open-source firmware library for various ARM Cortex-M3 microcontrollers.
STM32F4
Here is a list of all modules:
[detail level 12345]
 STM32F4xxLibraries for ST Microelectronics STM32F4xx series
 ADClibopencm3 STM32F4xx Analog to Digital Converters
 CRYPTOlibopencm3 STM32F4xx CRYPTO
 GPIOlibopencm3 STM32F4xx General Purpose I/O
 LTDClibopencm3 STM32F4xx LTDC
 PWRlibopencm3 STM32F4xx Power Control
 RCClibopencm3 STM32F4xx Reset and Clock Control
 RTClibopencm3 STM32F4xx RTC
 STM32F4xx DefinesDefined Constants and Types for the STM32F4xx series
 SYSCFG DefinesDefined Constants and Types for the STM32F4xx Sysconfig
 RTC DefinesDefined Constants and Types for the STM32F4xx RTC
 CRC Defineslibopencm3 Defined Constants and Types for the STM32F4xx CRC Generator
 DMA2D DefinesDefined Constants and Macros for the STM32x4xx DMA2D Peripheral
 DMA DefinesDefined Constants and Types for the STM32F4xx DMA Controller
 SPI DefinesDefined Constants and Types for the STM32F4xx SPI
 RCC DefinesDefined Constants and Types for the STM32F4xx Reset and Clock Control
 USART DefinesDefined Constants and Types for the STM32F4xx USART
 PWR DefinesDefined Constants and Types for the STM32F4xx Power Control
 CRYPTO DefinesDefined constants and Types for the STM32F4xx Crypto Coprocessor
 HASH DefinesDefined Constants and Types for the STM32F4xx HASH Controller
 FLASH DefinesDefined Constants and Types for the STM32F4xx FLASH Memory
 DSI DefinesDefined Constants and Macros for the STM32F4xx DSI Peripheral
 IWDG DefinesDefined Constants and Types for the STM32F4xx Independent Watchdog Timer
 EXTI DefinesDefined Constants and Types for the STM32F4xx External Interrupts
 DAC DefinesDefined Constants and Types for the STM32F4xx DAC
 ADC DefinesDefined Constants and Types for the STM32F4xx Analog to Digital Converters
 Timer Defineslibopencm3 Defined Constants and Types for the STM32F4xx Timers
 I2C DefinesDefined Constants and Types for the STM32F4xx I2C
 GPIO DefinesDefined Constants and Types for the STM32F4xx General Purpose I/O
 DCMI DefinesDefined Constants and Macros for the STM32F4xx DCMI Peripheral
 User interrupt service routines (ISR) prototypes for STM32 F4 series
 DebuggingMacros and functions to aid in debugging
 NVIC Defineslibopencm3 Cortex Nested Vectored Interrupt Controller
 User interrupts for STM32 F4 series
 Cortex M0/M3/M4 System InterruptsIRQ numbers -3 and -6 to -9 are reserved
 SysTick Defineslibopencm3 Defined Constants and Types for the Cortex SysTick
 Clock source selection
 MAC Generic DefinesDefined Constants and Types for the Ethernet MAC
 MAC STM32Fxx7 DefinesDefined Constants and Types for the Ethernet MAC for STM32Fxx7 chips
 PHY Generic DefinesDefined Constants and Types for the Ethernet PHY
 PHY KSZ80X1 DefinesDefined Constants and Types for the Ethernet PHY KSZ80X1 chips chips
 CAN defineslibopencm3 Defined Constants and Types for STM32 CAN
 CAN register base address
 USB MSC Type DefinitionsDefined Constants and Types for the USB MSC Type Definitions
 USB DriversDefined Constants and Types for the USB Drivers
 USB Standard Structure DefinitionsDefined Constants and Types for the USB Standard Structure Definitions
 CANlibopencm3 STM32Fxxx CAN
 User interrupt service routines (ISR) defaults for STM32 F4 series
 NVIClibopencm3 Cortex Nested Vectored Interrupt Controller
 SysTicklibopencm3 Cortex System Tick Timer
 MAC Generic DriversEthernet MAC Generic Drivers
 MAC STM32Fxx7Ethernet MAC STM32Fxx7 Drivers
 PHY Generic DriversEthernet PHY Generic Drivers
 PHY KSZ8051MLLEthernet PHY STM32Fxx7 Drivers
 Generic USB DriversGeneric USB Drivers
 Generic USB Control RequestsGeneric USB Control Requests
 Generic USB Standard Request InterfaceGeneric USB Standard Request Interface
 Rng_fileThis library supports the random number generator peripheral (RNG) in the STM32F4 series of ARM Cortex Microcontrollers by ST Microelectronics
 CRC
 Dac_file
 Dma_file
 Flash_file
 Hash_file
 I2c_file
 Iwdg_file
 Spi_file
 Timer_file
 Usart_file
 Usb_msc