Agent skill

xmc

XMC (Wuhan Xinxin Semiconductor) MPN encoding patterns, suffix decoding, and handler guidance. Use when working with XMC SPI NOR Flash memory components or XMCHandler.

Stars 163
Forks 31

Install this agent skill to your Project

npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/data/xmc

SKILL.md

XMC (Wuhan Xinxin Semiconductor) Manufacturer Skill

MPN Structure

XMC MPNs follow this general structure:

[PREFIX][DENSITY][PACKAGE]
   |       |        |
   |       |        +-- Package code (A, B, C, D)
   |       +-- Memory density (32, 64, 128, 256, 512)
   +-- Series prefix (XM25QH, XM25QU, XM25LU)

Example Decoding

XM25QH64A
|  |  |||
|  |  ||+-- A = SOIC-8 package
|  |  |+-- 64 = 64 Mbit density
|  |  +-- H = Standard 3.3V series
|  +-- 25Q = SPI Flash family
+-- XM = XMC prefix

XM25QU128B
|  |  | ||
|  |  | |+-- B = SOIC-16 package
|  |  | +-- 128 = 128 Mbit density
|  |  +-- U = 1.8V Low Voltage series
|  +-- 25Q = SPI Flash family
+-- XM = XMC prefix

XM25LU256C
|  |  | ||
|  |  | |+-- C = WSON-8 package
|  |  | +-- 256 = 256 Mbit density
|  |  +-- LU = Ultra Low Voltage series
|  +-- 25 = SPI Flash family
+-- XM = XMC prefix

Series Prefixes

Prefix Voltage Range Description
XM25QH 2.7V - 3.6V Standard 3.3V SPI NOR Flash
XM25QU 1.65V - 2.0V 1.8V Low Voltage SPI NOR Flash
XM25LU 1.65V - 1.95V Ultra Low Voltage SPI NOR Flash

Density Codes

Code Density Size
32 32 Mbit 4 MB
64 64 Mbit 8 MB
128 128 Mbit 16 MB
256 256 Mbit 32 MB
512 512 Mbit 64 MB

Package Codes

Code Package Pin Count Body Size
A SOIC-8 8 208mil
B SOIC-16 16 300mil
C WSON-8 8 6x5mm
D USON-8 8 2x3mm

Product Families

XM25QH Series - Standard 3.3V SPI NOR Flash

Part Number Density Voltage Max Speed Interface
XM25QH32A 32 Mbit 2.7V-3.6V 104MHz SPI/Dual/Quad
XM25QH64A 64 Mbit 2.7V-3.6V 104MHz SPI/Dual/Quad
XM25QH128A 128 Mbit 2.7V-3.6V 104MHz SPI/Dual/Quad
XM25QH256B 256 Mbit 2.7V-3.6V 104MHz SPI/Dual/Quad
XM25QH512 512 Mbit 2.7V-3.6V 104MHz SPI/Dual/Quad

XM25QU Series - 1.8V Low Voltage SPI NOR Flash

Part Number Density Voltage Max Speed Interface
XM25QU64A 64 Mbit 1.65V-2.0V 104MHz SPI/Dual/Quad
XM25QU128B 128 Mbit 1.65V-2.0V 104MHz SPI/Dual/Quad
XM25QU256C 256 Mbit 1.65V-2.0V 104MHz SPI/Dual/Quad

XM25LU Series - Ultra Low Voltage SPI NOR Flash

Part Number Density Voltage Max Speed Application
XM25LU128 128 Mbit 1.65V-1.95V 104MHz Ultra-low power
XM25LU256 256 Mbit 1.65V-1.95V 104MHz Ultra-low power

Handler Implementation Notes

Pattern Matching

java
// XM25QH series - Standard 3.3V
Pattern XM25QH_PATTERN = Pattern.compile("^XM25QH\\d+[A-Z]*.*", Pattern.CASE_INSENSITIVE);

// XM25QU series - 1.8V Low Voltage
Pattern XM25QU_PATTERN = Pattern.compile("^XM25QU\\d+[A-Z]*.*", Pattern.CASE_INSENSITIVE);

// XM25LU series - Ultra Low Voltage
Pattern XM25LU_PATTERN = Pattern.compile("^XM25LU\\d+[A-Z]*.*", Pattern.CASE_INSENSITIVE);

Package Code Extraction

java
// XMC format: XM25QHxxxY where Y is the package code
// Extract the letter after density digits
Matcher matcher = DENSITY_PATTERN.matcher(upperMpn);
if (matcher.find()) {
    int densityEnd = matcher.end();
    if (densityEnd < upperMpn.length()) {
        String pkgCode = upperMpn.substring(densityEnd, densityEnd + 1);
        // Map to package: A=SOIC-8, B=SOIC-16, C=WSON-8, D=USON-8
    }
}

Voltage Range Extraction

java
// Determine operating voltage based on series
switch (series) {
    case "XM25QH" -> "2.7V-3.6V";
    case "XM25QU" -> "1.65V-2.0V";
    case "XM25LU" -> "1.65V-1.95V";
}

Cross-References

XMC Flash is pin-compatible with other SPI NOR Flash manufacturers:

3.3V Standard Series (XM25QH)

XMC Winbond GigaDevice Macronix
XM25QH64A W25Q64JV GD25Q64C MX25L6433F
XM25QH128A W25Q128JV GD25Q128C MX25L12835F
XM25QH256B W25Q256JV GD25Q256C MX25L25645G

1.8V Low Voltage Series (XM25QU)

XMC Winbond GigaDevice Macronix
XM25QU64A W25Q64FW GD25LQ64C MX25U6435F
XM25QU128B W25Q128FW GD25LQ128C MX25U12835F

Voltage Selection Guide

Application Recommended Series Voltage
Legacy 3.3V systems XM25QH 2.7V-3.6V
Mobile/Battery powered XM25QU 1.65V-2.0V
Ultra-low power IoT XM25LU 1.65V-1.95V

Related Files

  • Handler: manufacturers/XMCHandler.java
  • Component types: MEMORY, MEMORY_FLASH, IC

Learnings & Edge Cases

  • Series order: Check XM25QH before XM25QU before XM25LU for proper matching
  • Package code position: Single letter immediately after density digits
  • Voltage compatibility: XM25QH (3.3V) and XM25QU (1.8V) are NOT voltage compatible
  • Pin compatibility: All series are pin-compatible with Winbond 25Q series
  • Density encoding: Direct numeric encoding (64=64Mbit, 128=128Mbit, etc.)
  • SOIC-16 for high density: Larger densities (256Mbit+) often use SOIC-16 (package code B)

Didn't find tool you were looking for?

Be as detailed as possible for better results