Ymodem xmodem integration
Use when integrating, porting, configuring, or debugging XMODEM or YMODEM serial transfer, bootloader firmware update, CRC, packet timeout, or flash-write flowsFrom its SKILL.md
npx -y skills add easyzoom/aix-skills --skill ymodem-xmodem-integrationAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 24 stars24 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
3.0 KB, 647 tokens by cl100k_base, as published. Nobody here has run it
YMODEM XMODEM Integration
Overview
Use this skill for serial file-transfer protocols in bootloaders or maintenance consoles. Separate transport reliability, packet parsing, CRC/checksum, flash layout, and update safety before writing firmware to flash.
When To Use
Use this skill when:
- The user wants to add or debug XMODEM/YMODEM firmware update over UART, USB CDC, or shell.
- Transfers timeout, abort, fail CRC, write wrong file size, brick after update, or hang at
C/NAK negotiation. - The task involves bootloader app download, serial protocol state machines, packet size, CRC16, SOH/STX/EOT/CAN, or flash programming.
Do not use this skill for general serial logging. Use embedded-serial-log-debug first if RX/TX is unreliable.
First Questions
Ask for:
- Protocol: XMODEM, XMODEM-CRC, XMODEM-1K, YMODEM, or YMODEM batch.
- Transport, baud, flow control, timeout, and terminal sender tool.
- Bootloader/application flash layout and maximum image size.
- CRC/checksum mode and packet size.
- Whether current firmware/recovery image must be preserved.
- Current transfer log or packet trace.
Integration Checklist
-
Prove serial transport. Verify raw RX/TX at the target baud before protocol debugging.
-
Implement protocol states explicitly. Negotiation, header, data packets, ACK/NAK, EOT, CAN abort, retry limit, and timeout should be visible in logs.
-
Validate file metadata. For YMODEM, parse filename and size. Reject images larger than the allowed slot.
-
Write flash safely. Erase only the intended slot, program aligned chunks, verify CRC/hash, and preserve bootloader/recovery areas.
-
Commit update last. Mark the image bootable only after full transfer and verify succeed.
-
Test abort and power loss. Ensure failed transfers do not leave the product without a bootable image.
Common Failures
- Sender uses checksum mode while receiver expects CRC mode.
- Packet sequence number or complement validation is skipped.
- 1K packets overflow a small receive buffer.
- Flash erase starts before image size and slot are validated.
- EOT handling completes before final flash sync/verify.
- Failed transfer marks a bad image as bootable.
Verification
Before claiming transfer/update works:
- State protocol variant, sender tool, baud, packet size, timeout, and flash slot.
- Confirm successful transfer, CRC/hash, flash verify, and boot decision.
- Confirm oversize image rejection.
- Confirm cancel/timeout behavior.
- Confirm recovery path after interrupted transfer.
Example
User:
Bootloader 用 YMODEM 升级,传完后 app 起不来。
Agent:
- Asks for protocol variant, sender tool, app offset, image size, CRC, and boot log.
- Checks slot bounds and flash verify before app jump.
- Confirms image is marked bootable only after full verify succeeds.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.