atk-f407-bsp

Searches and adapts STM32F407 HAL BSP drivers from a 60-experiment reference library.

3|Updated Mar 6, 2026
One-click install
npx skills add https://github.com/zhengzhang11/AAA_NUEDC_Train --skill atk-f407-bsp-zhengzhang11
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: atk-f407-bsp
Source: https://github.com/zhengzhang11/AAA_NUEDC_Train/tree/main/%E6%A0%A1%E8%B5%9B/skills%28%E5%B0%86%E9%87%8C%E9%9D%A2%E4%B8%A4%E4%B8%AAskills%E7%A7%BB%E6%A4%8D%E5%88%B0.claude%E7%9A%84skills%E6%96%87%E4%BB%B6%E5%A4%B9%E4%B8%AD%29/atk-f407-bsp
Command: npx skills add https://github.com/zhengzhang11/AAA_NUEDC_Train --skill atk-f407-bsp-zhengzhang11

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? When an STM32F407 project needs a peripheral driver that is not yet implemented, developers waste time writing drivers from scratch or hunting through vendor example code. This Skill provides a structured search-read-adapt workflow that locates the right reference experiment and integrates its BSP code into the current Keil project. ## Core Features & Use Cases - Keyword-to-Experiment Index: Maps peripheral needs (ADC, CAN, SPI, FreeRTOS, DSP FFT, etc.) to the correct folder among 60 ATK Explorer STM32F407 HAL experiments. - Adapt-or-Generate Decision Logic: Adapts reference BSP code when portable, or generates fresh HAL-based drivers with ASCII-only comments when adaptation would exceed roughly 40% changes. - Integration Checklist: Covers Keil include paths, project groups, pin conflict checks, NVIC priority, and HAL callback collision avoidance. - Use Case: While building a touchscreen project you need SD card support; the Skill points you to 实验30 SD卡实验, guides reading its sdio_sdcard.c/h, and walks through adapting pins and adding files to the Keil project. ## Quick Start Ask the assistant to find and adapt an SPI Flash driver for the current STM32F407 project using the ATK experiment library.

Frequently Asked Questions about atk-f407-bsp

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add a missing peripheral driver to an STM32F407 Keil project?

Search the experiment index by peripheral keyword, read the matched experiment's readme.txt and Drivers/BSP source, then adapt the driver files into your project's Drivers/BSP folder. Add include paths and source files to the Keil project and verify pin and NVIC conflicts.

When should I adapt reference BSP code versus writing a new STM32 driver?

Adapt when a clear experiment match exists and the code is portable with under roughly 40% changes. Generate fresh HAL-based code when no experiment matches, the reference is tightly coupled to its demo, or the user prefers new code.

Does this workflow support FreeRTOS and DSP libraries on STM32F407?

Yes. The experiment index covers FreeRTOS tasks, queues, semaphores, mutexes, timers, and low power (experiments 45-55), plus CMSIS DSP BasicMath, FFT, and FIR/IIR filter experiments (56-58).

Why do HAL UART callback conflicts happen when adding new drivers?

The current project's usart.c already owns HAL_UART_RxCpltCallback for USART1, so new UART peripherals must use direct USARTx_IRQHandler with raw SR/DR register access. This avoids HAL callback collisions during integration.

Can BSP source files contain Chinese comments in Keil?

The project uses GBK source encoding, so all new .c/.h files must use ASCII-only comments to stay Keil GBK-safe. Chinese text should only appear as explicit GBK byte arrays, as done in chinese_font.c.