Skip to content

Support / Clarification for Chip Erase (0xC7 / 0x60) in SPI-NOR #97

@anysoft

Description

@anysoft

Hello,

First, thank you for your great work on Nando Programmer.

Background

I was testing SPI-NOR Chip Erase configuration in the database CSV. According to vendor datasheets (e.g. Winbond W25Q128FW), the command 0xC7 or 0x60 should erase the entire flash memory.

I tried the following configuration in erase com.:

  • 0xC7 (199 decimal)

  • 0x60 (96 decimal)
    and set block size = total size

But in practice, Nando Programmer did not perform a full chip erase. Only sector erase commands (0x20, 0x52, 0xD8) are working.

Question

  • Does Nando Programmer currently support Chip Erase (C7h / 60h)?

  • If yes, could you explain the correct way to configure it in the CSV?

  • If not, would you consider adding support?

Proposal

Many common SPI-NOR flashes support Chip Erase. It is much faster than looping 4KB/64KB erases for large devices (64Mb, 128Mb, 1Gb). Adding support (or clarifying config) would be very helpful.

Common Erase Commands by Vendors

Vendor | 4KB Sector | 32KB Block | 64KB Block | Chip Erase -- | -- | -- | -- | -- Winbond | 0x20 | 0x52 | 0xD8 | 0xC7 / 0x60 Puya | 0x20 | 0x52 | 0xD8 | 0xC7 GigaDevice (GD) | 0x20 | 0x52 | 0xD8 | 0xC7 / 0x60 MXIC | 0x20 | (0x52 optional) | 0xD8 | 0xC7 ISSI | 0x20 | — | 0xD8 | 0xC7

(all require Write Enable (0x06) before execution, and WEL clears after erase finishes)

Motivation

Chip Erase saves significant time when erasing large NOR devices. For example:

  • W25Q128 (16MB) full erase via 0x20 takes many minutes,

  • while 0xC7 can complete in tens of seconds.

If Nando Programmer could support this, it would be a big usability improvement.

Thanks a lot for your consideration!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions