Low-Layer APIs get designers closer to the chip to optimize performance, power, and software footprint

Geneva, June 23, 2016 – STMicroelectronics has augmented its industry-leading 32-bit microcontroller development ecosystem with the introduction of the STM32Cube Low-Layer Application Program Interface (LL API) software. LL APIs enable expert designers using the STM32 ARM® Cortex®-M microcontrollers (MCU) 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 the easy-to-use and portable HALs (Hardware Abstraction Layer) to the highly optimized LL APIs--allowing customers 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, while it is easy and straightforward to port the examples to other STM32 boards. The LL APIs can be used in parallel with the corresponding HALs in the same project[1], giving designers full flexibility in determining the optimum trade-off between time-to-market, software footprint, and run-time efficiency.

The LL APIs offer an easy 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[2] 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.

[1] The sole exception is that HALs and LL APIs can’t be simultaneously used for concurrent processes on the same peripheral.[2] Berkeley Software Distribution