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
3176 skills
Install
$ npx -y skills add easyzoom/aix-skills --skill stm32-hal-ll-integration --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/stm32-hal-ll-integration

Context preview

The summary Claude sees to decide when to auto-load this skill.

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

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
Ships withaix-skills

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

Get the whole plugin
Stats
32
Stars
3
Forks
Maintained
Maintenance
Python
Language
MIT
License
1mo ago
Last commit
4mo ago
Created

Repo: easyzoom/aix-skills

Other skills on aix-skills.