Key facts
- Brand
- STMicroelectronics
- Model
- STM32Cube
- Category
- Other Electronics
- Industry
- Electronics
- Documents
- 6
- Languages
- ZH · EN
- Last added
- 2026-10-18
Start here

STM32Cube BSP Drivers Development Guidelines
This document serves as a guide for developing Board Support Package (BSP) drivers for the STM32Cube ecosystem. It details the architecture of BSP drivers, which are organized into common, bus, component, and class categories, and explains how they integrate with the STM32Cube Hardware Abstraction Layer (HAL). The manual is intended for users familiar with the STM32Cube MCU and MPU Packages who wish to create high-level APIs for hardware components on evaluation boards, discovery kits, and Nucleo boards.
Read onlineSTMicroelectronics STM32Cube specifications
| Default TCP Port | 61234 |
|---|---|
| Default Log Level | 31 |
| Default Log File | debug_log.txt |
| Default Refresh Delay | 5 seconds |
| Supported Target | STM32 Arm Cortex-M |
All STMicroelectronics STM32Cube documents by type
Day-to-day operation, settings and troubleshooting. Start here if the product is already set up.
- STMicroelectronics STM32Cube FreeRTOS User Manual 26 p
- STM32CubeIDE ST-LINK GDB Server UM2576 User Manual 16 p
- STMicroelectronics STM32CubeL5 User Manual 31 p
- STM32Cube BSP Drivers Development Guidelines 160 p
- UM1721 User Manual Developing applications on STM32Cube with FatFs 27 p
- UM1713 User Manual Developing applications on STM32Cube with LwIP TCP/IP stack 41 p
Questions answered in these manuals
What is the license for FreeRTOS source code?
The FreeRTOS source code uses a modified GNU General Public License (GPL) with exceptions.
Which ST processor series are supported?
STM32 (Cortex-M0, Cortex-M3, and Cortex-M4F), STR7 (ARM7), and STR9 (ARM9).
What is the default TCP port for the ST-LINK GDB server?
The default TCP port number is 61234.
How do I enable full logging in the GDB server?
Set the log level to 31 to enable full logging.
Does the HAL layer support interrupts or DMA?
Yes. The HAL layer supports three programming models: polling, interrupt, and DMA (with or without interrupt generation).
When should I use HAL versus LL drivers?
Use HAL for high‑level, portable APIs that hide hardware details; use LL for low‑level, register‑level access when performance optimization is needed.
