avem-integration
Use when integrating, evaluating, configuring, or debugging Avem embedded C framework modules, event-driven components, drivers, middleware, or application…
Use when debugging 8051-compatible microcontrollers, 51 MCU firmware, STC download issues, Keil C51 projects, interrupts, timers, UART, or startup failures
$ npx -y skills add easyzoom/aix-skills --skill 8051-mcu-debug --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/8051-mcu-debugContext preview
The summary Claude sees to decide when to auto-load this skill.
Use when debugging 8051-compatible microcontrollers, 51 MCU firmware, STC download issues, Keil C51 projects, interrupts, timers, UART, or startup failures
name: 8051-mcu-debug description: Use when debugging 8051-compatible microcontrollers, 51 MCU firmware, STC download issues, Keil C51 projects, interrupts, timers, UART, or startup failures
Use this skill to debug 8051-compatible microcontrollers and 51 MCU firmware systematically. Start by identifying the exact chip family, clock source, download method, toolchain, and failure phase, then prefer observable checks such as reset behavior, UART logs, GPIO toggles, interrupts, and SFR state before changing fuses or boot settings.
Use this skill when:
Do not use this skill when:
Ask for the minimum context needed:
1. Identify the chip family. 8051 derivatives differ heavily. Confirm the exact part number before assuming SFR names, memory model, bootloader behavior, or download protocol.
1. Classify the failure phase. Use these buckets: download failure, reset/startup failure, no observable output, timing error, interrupt error, peripheral error, or memory/model error.
1. Confirm power, reset, and clock. Check supply voltage, reset pin state, crystal/clock source, and whether the selected clock matches code assumptions.
1. Establish the safest observation point. Prefer UART boot log, GPIO heartbeat, programmer verify, simulator trace, or logic analyzer evidence before changing configuration bytes.
1. Check build artifacts. Confirm the generated HEX/IHX belongs to the current source, target model, memory model, and clock assumptions.
1. Inspect only the narrowest next layer. For no boot, check reset vector and minimal GPIO toggle before debugging application logic. For timer issues, check oscillator and reload math before rewriting ISR code.
1. Ask before risky operations. Lock bits, security bits, config bytes, ISP/IAP settings, erase-all operations, and bootloader changes require explicit user approval.
For STC and UART bootloader download issues, check:
For adapter/debugger based chips, check:
Safe command/tool guidance:
1. Rebuild the project. 1. Confirm the output HEX/IHX path and timestamp. 1. Select the exact MCU model in the programming tool. 1. Try erase/program/verify separately if the tool supports it. 1. Preserve the programmer log for comparison.
If firmware downloads but does not run:
Minimal observation pattern:
void main(void)
{
/* Toggle a known test pin before complex init. */
while (1) {
TEST_PIN = 0;
TEST_PIN = 1;
}
}Use the real pin name from the project or board definition. Do not invent a pin assignment without checking the schematic or existing code.
For wrong baud rate, timer period, PWM, delay, or communication timing:
Common timing trap:
Classic 8051 timer tick = Fosc / 12 M
AIX Skills is a public collection of Agent Skills, templates, and references for building repeatable AI workflows.
Use when integrating, evaluating, configuring, or debugging Avem embedded C framework modules, event-driven components, drivers, middleware, or application…
Use when integrating or debugging Li-ion charger/fuel gauge ICs (BQ24295, BQ27441, MAX17048) over I2C, covering charge start, watchdog host mode, NTC/JEITA…
Use when integrating, designing, or debugging BLE GATT services, characteristics, descriptors, MTU, notifications, indications, pairing, connection parameters,…
Use when debugging embedded bootloaders, application jumps, vector table offsets, firmware upgrade flow, OTA state, image validation, rollback, or boot…
Use when integrating, porting, configuring, or debugging CAN bus libraries, CANBus-Triple, MCP2515, CAN frames, bit timing, filters, or embedded automotive…
Use when integrating, configuring, or debugging CANopen nodes, object dictionaries, NMT, SDO, PDO, heartbeat, SYNC, EMCY, EDS/DCF files, or CANopenNode-style…