Deep expertise in ARM Cortex-M architecture and peripherals
Scanned 9/2/2026
Install to Claude Code
npx -y skills add a5c-ai/babysitter --skill arm-cortex-m --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Arm Cortex M?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/a5c-ai-arm-cortex-m-babysitter)More formats (shields.io, HTML) on the badges page.
---
name: arm-cortex-m
description: Deep expertise in ARM Cortex-M architecture and peripherals
category: Microcontroller Architecture
allowed-tools:
- Bash
- Read
- Write
- Edit
- Glob
- Grep
graph:
domains: [domain:embedded-systems]
specializations: [specialization:embedded-systems]
skillAreas: [skill-area:rtos-programming, skill-area:firmware-development, skill-area:peripheral-interfacing]
roles: [role:embedded-engineer]
---
# ARM Cortex-M Skill
## Overview
This skill provides deep expertise in ARM Cortex-M architecture, including core configuration, peripheral programming, and low-level optimization for the most widely used embedded processor family.
## Capabilities
### CMSIS Integration
- CMSIS-Core configuration and usage
- CMSIS-Driver integration
- CMSIS-DSP library utilization
- CMSIS-RTOS abstraction
- Device header file management
### NVIC Configuration
- Interrupt priority configuration
- Priority grouping setup
- Vector table relocation
- Interrupt enable/disable patterns
- Nested interrupt handling
### Memory Protection Unit (MPU)
- MPU region setup and configuration
- Memory attribute configuration
- Protection scheme design
- Stack overflow protection
- Peripheral isolation
### System Timers
- SysTick timer configuration
- DWT cycle counter usage
- Timer-based profiling
- Timestamp generation
- Delay implementations
### Fault Handling
- HardFault analysis and debugging
- BusFault configuration
- UsageFault detection
- MemManage fault handling
- Fault register interpretation
### Low-Level Optimization
- ARM assembly for critical sections
- Bit-banding operations
- Atomic operations (LDREX/STREX)
- Barrier instructions (DSB, DMB, ISB)
- Compiler intrinsics
### Power Management
- WFI/WFE instruction usage
- Sleep mode entry/exit
- Wake-up source configuration
- Low-power mode selection
- Power domain management
## Target Processes
- `bsp-development.js` - BSP with Cortex-M support
- `isr-design.js` - Interrupt architecture design
- `memory-architecture-planning.js` - Memory layout with MPU
- `real-time-architecture-design.js` - Real-time Cortex-M design
- `bootloader-implementation.js` - Cortex-M bootloader
## Dependencies
- ARM CMSIS headers
- Cortex-M technical reference manual
- Device-specific headers
## Usage Context
This skill is invoked when tasks require:
- Cortex-M core configuration
- Interrupt system design
- MPU setup and protection
- Fault debugging and analysis
- Low-level performance optimization
## Architecture Support
| Core | Features |
|------|----------|
| Cortex-M0/M0+ | Minimal, low-power |
| Cortex-M3 | Full Thumb-2, MPU optional |
| Cortex-M4 | DSP, optional FPU |
| Cortex-M7 | Cache, dual-issue |
| Cortex-M23 | TrustZone-M, security |
| Cortex-M33 | TrustZone-M, DSP |
| Cortex-M55 | MVE (Helium), ML |
## Example Configurations
### NVIC Priority
```c
NVIC_SetPriorityGrouping(3); // 4 bits preemption, 0 bits sub
NVIC_SetPriority(USART1_IRQn, NVIC_EncodePriority(3, 2, 0));
NVIC_EnableIRQ(USART1_IRQn);
```
### MPU Region
```c
MPU->RNR = 0; // Region 0
MPU->RBAR = 0x20000000; // Base address
MPU->RASR = MPU_RASR_ENABLE_Msk |
(0x0F << MPU_RASR_SIZE_Pos) | // 64KB
MPU_RASR_C_Msk | MPU_RASR_S_Msk;
```
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!