stm32-freertos-developer
37
总安装量
37
周安装量
#5529
全站排名
安装命令
npx skills add https://github.com/2939387245/agent-skill_stm32-freertos --skill stm32-freertos-developer
Agent 安装分布
opencode
29
gemini-cli
28
claude-code
27
codex
22
cursor
21
Skill 文档
STM32 + FreeRTOS åµå ¥å¼å¼åä¸å®¶
AI 使ç¨è§å
å½ç¨æ·æåºè¯·æ±æ¶ï¼æ ¹æ®ä»¥ä¸è§åéæ©æ§è¯»åææ¡£ãä¸è¦ä¸æ¬¡æ§è¯»åææææ¡£ï¼åªè¯»åä¸ç¨æ·è¯·æ±ç¸å ³çæä»¶ã
代ç çæè¯·æ±
| ç¨æ·è¯´… | 读åæä»¶ |
|---|---|
| “å建任塔 / “å建éå” / “ä¿¡å·é” / “äºæ¥é” / “äºä»¶ç»” / “ä»»å¡é祔 | EXAMPLES/BASIC.md |
| “UART 驱娔 / “ADC 驱娔 / “I2C 驱娔 / “TIM 驱娔 | REFERENCE/HAL_DRIVERS.md + EXAMPLES/DRIVERS.md |
| “printf éå®å” / “printf è¾åº” / “ITM” | REFERENCE/STD_LIBS.md |
| “DMA æ¥æ¶” / “ä¸å®é¿æ°æ®” | REFERENCE/HAL_DRIVERS.md + EXAMPLES/DRIVERS.md |
代ç 审æ¥/é®é¢ææ¥è¯·æ±
| ç¨æ·è¯´… | 读åæä»¶ |
|---|---|
| “䏿” / “FromISR” / “portYIELD_FROM_ISR” / “ä¼å 级é ç½®” | PATTERNS/INTERRUPT.md |
| “æ»é” / “ä¼å 级å转” / “å æ 溢应 / “èµæºæ³æ¼” | PATTERNS/TRAPS.md |
| “ç产è -æ¶è´¹è ” / “ç¶ææº” / “èµæºæ± ” / “åå¸-è®¢é ” | PATTERNS/DESIGN.md |
è°è¯è¯·æ±
| ç¨æ·è¯´… | 读åæä»¶ |
|---|---|
| “SystemView” / “TRACEalyzer” / “trace åæ” | REFERENCE/DEBUG_TOOLS.md |
| “ä»»å¡ç»è®¡” / “å æ çæ§” / “CPU 使ç¨ç” | REFERENCE/DEBUG_TOOLS.md |
é«çº§åºç¨è¯·æ±
| ç¨æ·è¯´… | 读åæä»¶ |
|---|---|
| “ä½åè” / “Tickless” / “STOP 模弔 | EXAMPLES/ADVANCED.md |
| “CubeMX é ç½®” / “STM32CubeMX” | EXAMPLES/ADVANCED.md |
| “ä¼ æå¨èå” / “å¤ä»»å¡” | EXAMPLES/ADVANCED.md |
API æ¥è¯¢è¯·æ±
| ç¨æ·è¯´… | 读åæä»¶ |
|---|---|
| “xTaskCreate åæ°” / “API è¯æ³” / “彿°è¯´æ” | REFERENCE/FREERTOS_API.md |
ä½¿ç¨æ¹æ³
å¦æç¨æ·è¯·æ±ä¸å¤æç¡®ï¼æ æ³å¤æè¯»ååªä¸ªæä»¶ï¼
- å 读å SKILL.md å REFERENCE/FREERTOS_API.md
- 询é®ç¨æ·å ·ä½éæ±
- æ ¹æ®åçè¯»åæ£ç¡®çæä»¶
ä¸è¦ä¸æ¬¡æ§è¯»åæææä»¶ï¼åªè¯»åä¸ç¨æ·è¯·æ±ç¸å ³çæä»¶ã
æè½ç®ä»
æ¬æè½ä¸ä¸ºå¨ STM32 å¾®æ§å¶å¨ ä¸ä½¿ç¨ FreeRTOS 宿¶æä½ç³»ç» è¿è¡åµå ¥å¼å¼åè设计ãAI å°ä½ä¸º”åµå ¥å¼ç³»ç»æ¶æå¸”ï¼å¸®å©ä½ ç¼åå®å ¨ã髿ãå¯ç»´æ¤ç C 代ç ã
éç¨åºæ¯ï¼
- ä½¿ç¨ STM32CubeMX çæçå·¥ç¨
- ARM Cortex-M å ¨ç³»åï¼F0/F1/F3/F4/F7/H7/G0/L0/L4/L5 çï¼
- FreeRTOS v10+ çæ¬
- åç FreeRTOS API æ CMSIS-RTOS v2 API
使ç¨åºæ¯
代ç çæ
- å建任å¡ãéåãä¿¡å·éãäºæ¥é
- ç¼åå¤è®¾é©±å¨æ¨¡æ¿ï¼UART DMAãADC DMAãI2C çï¼
- é ç½®ä½åè Tickless 模å¼
- å®ç° printf éå®åï¼ITM_SendChar / UARTï¼
代ç 审æ¥
- åæä»»å¡ä¼å 级é ç½®æ¯å¦åç
- æ£æ¥ä¸æä¸ä»»å¡äº¤äºçæ£ç¡®æ§
- ææ¥æ»éãä¼å 级å转ãèµæºæ³æ¼
- éªè¯ FreeRTOSConfig.h é ç½®
æå¦è¾ 导
- è§£é FreeRTOS æ ¸å¿æ¦å¿µï¼ä»»å¡è°åº¦ãä¸ä¸æåæ¢ï¼
- æ¼ç¤ºç产è -æ¶è´¹è ãåå¸-订é ç设计模å¼
- æå¯¼è°è¯å·¥å ·ä½¿ç¨ï¼SEGGER SystemViewãTRACEalyzerï¼
æ ¸å¿è½å模å
ä»»å¡ç®¡ç
- å建éæ/卿任å¡ï¼
xTaskCreate,xTaskCreateStaticï¼ - 设置ä¼å 级ãå æ 大å°ãä»»å¡å
- ä»»å¡ç¶æçæ§ï¼
uxTaskGetStackHighWaterMarkï¼
ä»»å¡é´éä¿¡
- éåï¼Queueï¼ï¼ç产è -æ¶è´¹è 模å
- ä¿¡å·éï¼Semaphoreï¼ï¼äºå¼/计æ°å
- äºæ¥éï¼Mutexï¼ï¼é¿å ç«ææ¡ä»¶ï¼å«ä¼å 级继æ¿
- äºä»¶ç»ï¼Event Groupsï¼ï¼å¤æ¡ä»¶çå¾
- ä»»å¡éç¥ï¼Task Notificationsï¼ï¼è½»é级æ¿ä»£æ¹æ¡
䏿ä¸ä»»å¡äº¤äº
- å¨ HAL åè°ä¸ä½¿ç¨
xQueueSendFromISR/vTaskNotifyGiveFromISR - ISR ä¸ä¸é»å¡ï¼ä» åééç¥
portYIELD_FROM_ISR(xHigherPriorityTaskWoken)ç¨æ³
å¤è®¾éæ
- UART DMA + éåï¼ä¸å®é¿æ°æ®æ¥æ¶ï¼IDLE 䏿ï¼
- ADC DMA + ä»»å¡éç¥ï¼è¿ç»éæ ·
- I2C 主/仿¨¡å¼ï¼ä¼ æå¨éä¿¡
- TIM 宿¶å¨/PWMï¼å¨æä»»å¡
å å䏿§è½ä¼å
- æ¨èéæåé ï¼é¿å heap ç¢çï¼
- åçä¼°ç®å æ 大å°
- å¼å¯
configASSERT()åconfigCHECK_FOR_STACK_OVERFLOW - 使ç¨
configUSE_PREEMPTION = 1æå宿¶æ§
è°è¯ä¸è¯æ
- çæä»»å¡å表æå°ä»£ç ï¼
vTaskListï¼ - SEGGER SystemViewï¼Keil/IAR ç¯å¢ï¼
- Percep TRACEalyzerï¼FreeRTOS ç¯å¢ï¼
- ITM/SWO é ç½®ä¸ printf è°è¯
æä»¶ç´¢å¼
| ç±»å | æä»¶ | 说æ |
|---|---|---|
| 主æä»¶ | SKILL.md | AI å¯ä¸èªå¨è¯»åçæä»¶ |
| ç¨æ·æå | USER_GUIDE.md | ä» ç¨æ·é 读ï¼ä¸è¯»å |
| API åè | REFERENCE/FREERTOS_API.md | FreeRTOS API è¯æ³ |
| API åè | REFERENCE/STD_LIBS.md | æ ååºéæ |
| API åè | REFERENCE/HAL_DRIVERS.md | HAL å¤è®¾é©±å¨ |
| API åè | REFERENCE/DEBUG_TOOLS.md | è°è¯å·¥å ·é ç½® |
| 代ç ç¤ºä¾ | EXAMPLES/BASIC.md | åºç¡ç»ä»¶ç¤ºä¾ |
| 代ç ç¤ºä¾ | EXAMPLES/DRIVERS.md | å¤è®¾é©±å¨æ¨¡æ¿ |
| 代ç ç¤ºä¾ | EXAMPLES/ADVANCED.md | é«çº§åºç¨ |
| è®¾è®¡æ¨¡å¼ | PATTERNS/DESIGN.md | è®¾è®¡æ¨¡å¼ |
| è®¾è®¡æ¨¡å¼ | PATTERNS/INTERRUPT.md | 䏿æä½³å®è·µ |
| è®¾è®¡æ¨¡å¼ | PATTERNS/TRAPS.md | 常è§é·é± |
èæ¬å·¥å ·
freertos_config_check.py
éªè¯ FreeRTOSConfig.h å ³é®é ç½®ï¼
python scripts/freertos_config_check.py FreeRTOSConfig.h
è¾åº JSON æ ¼å¼ï¼ä¾¿äº CI éæã