Skip to main content

Crate w25

Crate w25 

Source
Expand description

§W25 Flash driver

crates.io Documentation

This is a generic async driver for the W25 flash chips from Winbond.

Supported series:

  • Q
  • X

More series support is welcomed!

Defmt is also supported through the defmt feature.

This crate is adopted from https://github.com/tweedegolf/w25q32jv

§TODO

  • Fast read support. So far there’s only support for the normal read, so don’t use a SPI speed of > 50Mhz

§Changelog

§Unreleased

§0.8.0 2026-09-20

  • dont unwrap when we can return the error - #6
  • Yield in the busy loops to avoid executor starvation - #8
  • Breaking: Await idle in constructor - #9

§0.7.2 2026-08-14

  • Fixed autodetect issue for W25[qx]512.

§0.7.1 2026-08-11

  • Added fetching JEDEC ID & constructor which autodetects the chip capacity.

§0.7.0 2026-07-07

  • Added a no-pin constructor
  • breaking: Removed the pin error variant from the error enum

§0.6.0 2025-07-07

  • Continued from https://github.com/tweedegolf/w25q32jv 0.5.1
  • Driver and driver struct has been renamed to W25
  • Series is now a generic so the driver can support multiple series
  • The capacity is now given at runtime so we don’t need feature flags

Structs§

JedecId
Result from the
Q
The Q series
W25
Low level driver for the w25 flash memory chip.
X
The X series

Enums§

Error
Custom error type for the various errors that can be thrown by driver. Can be converted into a NorFlashError.
InitError
Errors that can occur during autodetect initialization.
MajorDeviceId
Major byte of the device identification (ID7-ID0) denoting chip capacity.

Traits§

NorSeries
Any series that is a NOR flash implements this trait
Reset
This trait is implemented when the flash supports the reset commands