LL APIs enable expert designers using the STM32 ARM Cortex-M microcontrollers to work closer to the hardware, down to register-level code, to optimize performance and run-time efficiency.
With the introduction of the LL APIs, the STM32Cube environment now offers designers complete flexibility in controlling device peripherals - from portable HALs (Hardware Abstraction Layer) to the highly optimized LL APIs - allowing engineers to focus on their application using validated ST software.
The LL APIs are integrated into the STM32Cube packages with example projects designed to run on STM32 Nucleo development boards: examples can be ported to other STM32 boards. The LL APIs can be used in parallel with the corresponding HALs in the same project (HALs and LL APIs can't be simultaneously used for concurrent processes on the same peripheral), giving designers full flexibility in determining the optimum trade-off between time-to-market, software footprint, and run-time efficiency.
The LL APIs offer a migration path from the older STM32 Standard Peripheral Libraries (SPL) to the STMCube ecosystem. Like the HALs in each STM32Cube embedded software package, the LL APIs are MISRA-C 2004 compliant with a few exceptions that are fully listed and explained. They have been checked using Grammatech CodeSonar for optimum code quality and reliability. The LL APIs are always kept in line with the latest release version through an automatic-update mechanism inside the STM32CubeMX SW package.
Free of charge, open-source BSD LL APIs are currently available in the STMCube packages for STM32L4, L0, and F0 MCU series, with full deployment across the STMCube spectrum scheduled for Q1 2017.