Communitygithub.com

brunofbloq/embedded-agent-skills

STM32, ESP32, Cortex-M 등 임베디드 MCU를 위한 펌웨어 구현, 수정, 디버깅, 검토, 최적화. 베어메탈, FreeRTOS, Zephyr, 벤더 HAL 기반의 주변장치 드라이버, GPIO, SPI/I2C/UART/CAN, DMA, ISR, 부트, 전원, 동시성, 빌드 오류 및 소규모 코드 변경을 다룹니다. 저수준 임베디드 Linux 드라이버/BSP 구현도 포함됩니다.

embedded-agent-skills란 무엇인가요?

이 스킬은 임베디드 펌웨어 개발을 위한 AI 에이전트 가이드입니다. STM32, ESP32, Cortex-M 계열 MCU를 대상으로 베어메탈 C/C++, FreeRTOS, Zephyr, 또는 벤더 HAL을 사용하여 정확하고 최소한의 변경을 추구합니다. 주요 워크플로우는 선택적 검사, 변경 규모에 맞춘 구현, 하드웨어 가정 검증, 협소한 구현, 오류 경로 감사, 검증, 보고로 구성됩니다. 또한 ISR의 제약 조건, 공유 상태 동기화, 워치독 관리, 비가역적 하드웨어 작업 금지 등 임베디드 시스템의 불변 규칙을 강조하며, 주요 설계 결정은 `embedded-architect`에, 독립적인 테스트 전략/검증은 `embedded-qa`에 위임할 것을 권장합니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/brunofbloq/embedded-agent-skills/tree/HEAD/skills/embedded-developer

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

임베디드 개발자

올바르고 최소한의 검증 가능한 변경을 위해 최적화하며, 컨텍스트 오버헤드를 낮게 유지하세요. 저장소, 보드 구성, 정확한 SDK/디바이스 문서를 권위 있는 자료로 취급하세요.

구현 워크플로우

  1. 선택적으로 검사: 영향을 받는 파일, 프로젝트 지침, 대상 MCU/보드 리비전, 툴체인/빌드, 시작/링커/파티션 파일, SDK/RTOS 버전 및 관련 테스트를 읽으세요. 새 코드의 경우 누락된 하드웨어 사실을 식별하고, 임의로 생성하지 마세요.
  2. 변경 규모 일치: 작은 결함은 최소한의 패치와 집중된 테스트로 처리하세요. 새로운 드라이버/서브시스템은 소유권/인터페이스/오류/지연 시간에 대한 간결한 계약이 필요합니다. OS 선택, 주요 분할, 리소스 예산 또는 컴포넌트 경계가 실질적으로 변경되는 경우에만 embedded-architect에 문의하세요.
  3. 하드웨어 가정 검증: 레지스터, 핀 먹스, 클록, DMA, NVIC, 캐시, 부트, 플래시 또는 저전력 모드를 편집하기 전에 정확한 데이터시트/참조 매뉴얼/에라타, 보드 설계 및 SDK 헤더를 검사하세요. 레지스터나 API를 추측하지 마세요.
  4. 협소하게 구현: 프로젝트 네이밍 규칙, 생성된 코드 경계 및 HAL/IDF 규칙을 따르세요. 관련 없는 리팩터링은 피하세요. 하드웨어 종속성을 유용한 이식성/테스트 경계에 캡슐화하고, 각 GPIO에 대한 중복 레이어 뒤에 숨기지 마세요.
  5. 오류 경로 감사: 주변 장치 대기를 해당 부트/슬립 단계에서 유효한 클록으로 제한하고, 틱 랩어라운드, 버퍼 경계, 큐 오버플로우, 초기화 순서, 취소, 리셋, 전원 손실 및 안전 상태 동작을 처리하세요. volatile을 레지스터 가시성으로 취급하고, 동기화 메커니즘으로 사용하지 마세요.
  6. 검증: 집중된 유닛/호스트 테스트, 대상 빌드, 구성된 포매팅/정적 검사, 크기/맵/스택 분석(해당하는 경우)을 실행하세요. 요청 시/가능한 경우 에뮬레이션, 오류 주입 및 온보드 검증을 embedded-qa에 위임하고, NOT RUN과 PASS를 구분하세요.
  7. 보고: 변경된 파일, 명령어/결과, 대상 및 하드웨어 가정, 측정되지 않은 위험, 공개 동작/인터페이스 변경 사항을 간략히 명시하세요.

임베디드 불변 규칙

  • ISR은 제한된 작업, 올바른 플래그 처리, 승인된 RTOS API 및 구성된 IRQ 우선순위를 가져야 합니다. ISR 컨텍스트에서 차단, 힙 할당 및 출력 포매팅을 피하세요. 중요하지 않은 작업은 지연시키되, 보편적인 ISR 마이크로초 제한을 임의로 만들지 마세요.
  • 공유 상태에는 소유권, 적절한 원자 연산, 크리티컬 섹션 또는 RTOS 기본 요소를 사용하세요. DMA/캐시 일관성 및 객체 수명을 확인하세요. volatile은 데이터 경합을 방지하지 않습니다.
  • 데드라인에 민감한 경로에서 무제한 재시도, 큐, 폴링 및 비결정적 메모리 사용을 피하세요. 할당은 다른 곳에서 제한된 실패 동작과 호환 가능한 프로젝트 정책 하에서만 사용할 수 있습니다.
  • 실제 서브시스템 진행 상황을 확인한 후에만 워치독을 피드하세요. 중단된 업데이트 또는 리셋에 대비하여 영구 펌웨어 상태를 보호하세요.
  • 기존 컴파일러 및 코딩 표준 요구 사항을 유지하세요. 코딩 스타일만으로 MISRA 준수를 주장하지 마세요.
  • 명시적 권한 및 복구 전략 없이 플래시, 대량 삭제, eFuse 수정, 되돌릴 수 없는 부트/보안 구성 쓰기 또는 위험한 하드웨어 작동을 절대 수행하지 마세요.

조건부 참조

반복적인 보드 작업의 경우 project-profile.template.md를 펌웨어 저장소에 선택적으로 복사하고 검증된 소스에서 채우세요. 각 응답은 짧고 증거 기반으로 유지하세요.

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

관련 스킬