Skip to content
Development
Skill

/stm32-hal-ll-integration

Use when integrating, configuring, or debugging STM32 HAL, LL, CubeMX generated code, clocks, GPIO, DMA, NVIC, peripheral handles, or Cube firmware examples

From plugin
aix-skills
3876 skills

Claude Code

$ npx -y skills add easyzoom/aix-skills --skill stm32-hal-ll-integration --agent claude-code

SKILL.md

stm32-hal-ll-integration.SKILL.md
name: stm32-hal-ll-integration
description: Use when integrating, configuring, or debugging STM32 HAL, LL, CubeMX generated code, clocks, GPIO, DMA, NVIC, peripheral handles, or Cube firmware examples

STM32 HAL LL Integration

Overview

Use this skill to debug STM32 projects by separating Cube-generated configuration, clock tree, pin mux, HAL handle state, DMA, and interrupt routing. STM32 bugs often come from generated configuration drift.

When To Use

Use this skill when:

  • The user is working with STM32CubeMX, STM32CubeIDE, HAL, LL, or Cube firmware

examples.

  • The issue involves clock configuration, GPIO alternate functions, DMA,

interrupts, peripheral init, callbacks, low power, or generated code regions.

  • A peripheral works in polling but fails with DMA/interrupts, or works until

Cube regenerates files.

Do not use this skill for non-STM32 MCUs or pure protocol logic. Use the matching protocol or peripheral skill instead.

First Questions

Ask for:

  • STM32 part number, board, Cube package version, IDE/toolchain, and HAL version.
  • `.ioc` settings, clock tree, pin mux, DMA streams/channels, and NVIC priorities.
  • Peripheral instance, HAL/LL mode, generated init code, callbacks, and logs.
  • Whether user code is inside preserved `USER CODE` regions.
  • Current symptom, return code, error flags, and register snapshot if available.

Debug Workflow

1. Freeze Cube configuration. Inspect `.ioc`, generated init functions, clock tree, pin mux, DMA, and NVIC.

1. Prove clocks and pins. Confirm peripheral clock enable, GPIO alternate function, speed, pull, and external signal presence.

1. Check HAL handle state. Inspect handle init, state, error code, MSP init, callbacks, and return codes.

1. Add interrupt or DMA carefully. Verify IRQ handler names, priorities, DMA request mapping, cache policy, and callback completion.

1. Compare HAL and LL boundaries. Do not mix direct register/LL changes with HAL state machines unless the ownership is explicit.

1. Protect generated code. Keep edits in user regions or separate files so Cube regeneration is safe.

Common Failures

  • Peripheral clock or GPIO alternate function is missing.
  • DMA request/channel mapping is valid on another STM32 family, not this one.
  • IRQ handler is not linked or has the wrong name.
  • HAL callback never fires because interrupt enable is missing.
  • Direct register writes break HAL's state machine assumptions.
  • User edits outside preserved regions are lost after Cube regeneration.

Verification

Before claiming STM32 integration works:

  • State part number, Cube package, HAL version, and relevant `.ioc` settings.
  • Confirm clock, pin, DMA, and NVIC configuration.
  • Confirm HAL return codes, callbacks, and error flags.
  • Confirm behavior survives a Cube regeneration if generated code was touched.

Example

User:

STM32 UART DMA 收不到回调。

Agent:

1. Checks `.ioc`, DMA request, NVIC enable, IRQ handler, and MSP init. 1. Verifies HAL state and error code after starting reception. 1. Fixes interrupt/DMA routing before changing UART protocol code.

Read more
@easyzoom
Ships withaix-skills

AIX Skills is a public collection of Agent Skills, templates, and references for building repeatable AI workflows.

Stars on GitHub

Momentum

stars in total
38
Star history of easyzoom/aix-skills on GitHub, a chart by star-history.com

Other skills on aix-skills.

8051-mcu-debug

8051-mcu-debug

Use when debugging 8051-compatible microcontrollers, 51 MCU firmware, STC download issues, Keil C51 projects, interrupts, timers,…

@easyzoom@easyzoomInstall Skill
avem-integration

avem-integration

Use when integrating, evaluating, configuring, or debugging Avem embedded C framework modules, event-driven components, drivers,…

@easyzoom@easyzoomInstall Skill
ble-gatt-integration

ble-gatt-integration

Use when integrating, designing, or debugging BLE GATT services, characteristics, descriptors, MTU, notifications, indications,…

@easyzoom@easyzoomInstall Skill
bootloader-debug

bootloader-debug

Use when debugging embedded bootloaders, application jumps, vector table offsets, firmware upgrade flow, OTA state, image…

@easyzoom@easyzoomInstall Skill
canbus-integration

canbus-integration

Use when integrating, porting, configuring, or debugging CAN bus libraries, CANBus-Triple, MCP2515, CAN frames, bit timing,…

@easyzoom@easyzoomInstall Skill

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills11d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc13d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react2d252k
@facebook@facebookInstall Skill

Questions about stm32-hal-ll-integration.

Which coding agents can use stm32-hal-ll-integration?
stm32-hal-ll-integration installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.