Git Product home page Git Product logo

ftdi-nand-flash-tool's Introduction

ftdi-nand-flash-tool

NAND flash reader/programmer using a FTDI FT2232 IC in bit-bang mode

General

This flash tool can be used to read (dump) and program parallel x8 bare NAND flash chips. The target used was a TSOP48 Toshiba 256MiB chip, and the code is reasonably tied to the specs of this chip but should be very easily adapted (or made more generic) for any other parallel NAND chip.

Note: big-banging over USB is slow....

For a "real" tool to work with raw flash, see the dumpflash project. It uses the same FTDI FT2232 chip in "Host bus emulation mode" which is much faster but was giving me trouble.

This tool is a good start learning about the flash protocol without any magic done by the FDTI chip. It is very raw and will most likely require some good tweaking to work with any chip other than the expected Toshiba chip.

Usage

Dump the whole flash using:

./flash-tool -f output.bin

Reprogram an empty chip (after erasing first) with:

./flash-tool -p output.bin

Erase a whole chip (note: will obliterate factory bad blocks, BAD!):

./flash-tool -E

Hardware and Wiring

The NAND flash reader / programmer can be put together easily using a FT2232 breakout board (for example, a DLP-2232H that is breadboard friendly) and a TSOP48->DIP adapter.

These are the main signals to be connected:

FT2232 NAND Signal Name
ADBUS0 IO0 Data bus bit 0
ADBUS1 IO1 Data bus bit 1
ADBUS2 IO2 Data bus bit 2
ADBUS3 IO3 Data bus bit 3
ADBUS4 IO4 Data bus bit 4
ADBUS5 IO5 Data bus bit 5
ADBUS6 IO6 Data bus bit 6
ADBUS7 IO7 Data bus bit 7
BDBUS0 CLE Command Latch Enable
BDBUS1 ALE Address Latch Enable
BDBUS2 CE# Chip Enable (Low)
BDBUS3 WE# Write Enable (Low)
BDBUS4 RE# Read Enable (Low)
BDBUS5 WP# Write Protect (Low)
BDBUS6 RY/BY# READY / BUSY (Low)

Typically the Ready/Busy signal (BDBUS6) will have to be pulled up with a 10K resistor to 3V3.

The GND and 3V3 power pins (typically a pair on each side of the TSOP48 chip) will also have to be connected.

Credits

Forked from ftdi-nand-flash-reader y maehw.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.