Crc checksum integration
Reusable Agent Skills for embedded systems, MCU debugging, firmware workflows, and AI automation. (嵌入式、MCU 调试、固件流程与 AI 自动化的可复用 Agent Skills 集合)。
npx -y skills add easyzoom/aix-skills --skill crc-checksum-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
- 22 stars22 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.
What its author says it does
Copied from the file, not written here
Use when implementing, verifying, or debugging CRC, checksum, hash-lite integrity checks, polynomial parameters, endian handling, or protocol frame validation in embedded systems
SKILL.md
3.0 KB, as published. Nobody here has run it
CRC Checksum Integration
Overview
Use this skill to integrate CRCs and checksums by making the exact algorithm parameters explicit. Most CRC bugs come from two sides using the same name for different init, reflection, xorout, byte order, or covered range.
When To Use
Use this skill when:
- The user needs CRC-8, CRC-16, CRC-32, additive checksum, Fletcher, Adler, or protocol frame validation.
- The issue involves mismatched CRC values, boot image validation, Modbus, CAN, UART packets, storage records, or OTA packages.
- The target uses hardware CRC units, DMA, endian-sensitive protocols, or streaming updates.
Do not use this skill for cryptographic authentication. Use mbedtls-integration, tinycrypt-integration, or micro-ecc-integration when adversarial tampering matters.
First Questions
Ask for:
- Algorithm name plus polynomial, width, init, refin, refout, xorout, and check value if known.
- Exact byte range covered, header/trailer inclusion, padding, and endian order.
- Whether the implementation is table-driven, bitwise, hardware accelerated, or streaming.
- Known-good sample input and expected output from the peer device or specification.
- Current mismatch and where it is observed.
Integration Checklist
-
Write the full CRC tuple. Do not rely on names like CRC-16 unless the parameters are specified.
-
Verify with a golden vector. Test
123456789or a protocol-provided frame before using live data. -
Freeze byte coverage. Define start offset, length, skipped fields, padding, escaping, and final byte order.
-
Match streaming behavior. The incremental API must preserve state exactly across chunks and resets.
-
Compare hardware and software. Hardware CRC units often need byte reversal, word packing, or final xor handling.
-
Add negative tests. Flip one bit in payload and metadata to prove the check actually fails.
Common Failures
- Wrong reflection settings for the named CRC variant.
- Including the CRC field itself in the covered range.
- Feeding words into a hardware CRC in host endian instead of wire order.
- Using a checksum where collision resistance or authenticity is required.
- Resetting incremental CRC state between chunks.
- Comparing printed hex values with opposite byte order.
Verification
Before claiming the integrity check works:
- State the full CRC/checksum parameters and covered byte range.
- Confirm golden vector output.
- Confirm peer frame or stored-image sample matches.
- Confirm corrupted data is rejected.
- Confirm hardware and software paths match if both exist.
Example
User:
Modbus CRC 算出来总和设备不一样。
Agent:
- Checks CRC-16/Modbus parameters, byte coverage, and low-byte-first output.
- Runs a known Modbus frame golden vector.
- Verifies the serial frame excludes the CRC field while computing.