Pages: [1]   Go Down
Author Topic: Dump contents from a Flash circuit  (Read 267 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 6
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi everyone! First post but I am been here for a while, reading and experimenting.

I am a good programmer and almost a little better then a newb when it comes to hardwares and programing such. Alright enough about me and lets get to the case.

I opened up my old broken printer, because I read an forensic article about evidence (files etc) stored in a memory which was inside the printer.
I localized what I think is the memory
Quote
Winbond
25Q128bvfg
1031
And I found, not exactly my device, a datasheet which is here http://www.nexflash.com/NR/rdonlyres/1C7E7EF8-ACBF-47EC-BE16-D668A7933A21/0/W25Q128BV.pdf
Attached a picture to this post, a put a USB device in it just so that you could compare the size of the USB and the circuit.

I want to get inside of this flash memory and somehow dump it's content to my computer. I have an Arduino Uno btw.
Could you guys be so kind and point me in the right direction and hopefully I will learn a lot of different things while experimenting with this little project.

Regards and sorry my bad English  :)


* Namnlös.png (1434.99 KB, 1283x546 - viewed 12 times.)
Logged

NSW Australia
Offline Offline
Edison Member
*
Karma: 33
Posts: 2297
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Sounds pretty straightforward - you appear to have the correct datasheet, it supports "standard" SPI for which you can use the Arduino libraries, you only need three data connections.

Notes:  Tie the ~WP line high to ensure you do not accidentally alter any of the data whilst experimenting.

It is a 3.3V device, so you need to arrange for it to be supplied with that voltage from the Uno and you need to level convert the SPI signals unless the Uno is running at 3.3V already.

I think it is probably going to be up to you to negotiate all the registers in the device and code to read out the data.  Because the USB interface on the Uno is implemented through a serial UART, data extraction will not be deadly quick either.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 6
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Thank you so much Paul__B for the answer!

I have worked a little with SPI before. Experimented with write/read (Arduino <> SD card).

So I wired the cables today, forgot the CS but that's not a problem. Will fix it later. But anyway, I attached a picture with my wiring. Is it correct?

Quote
VCC > VCC 2
CS > CS 7
MOSI > DO 8

CLK > CLK 16
MISO > DI 15
GND > GND 10
WP > WP 9

Btw, thank you so much for the WP suggestion. Had no thoughts at all about the write protection option.
Best regards and thank you for the help!


* Namnlös.png (772.01 KB, 1254x517 - viewed 15 times.)
Logged

NSW Australia
Offline Offline
Edison Member
*
Karma: 33
Posts: 2297
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Sounds good, but I really did not examine the datasheet in that much detail.

Frankly, I am going to leave it to you!
Logged

Oslo, Norway
Offline Offline
Full Member
***
Karma: 6
Posts: 126
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

MOSI > DO 8
MISO > DI 15

You got these two wrong... The In/Out directions are relative to the respective chips.

MOSI (Master Out / Slave In) should go to DI (Data In) while MISO (Master In / Slave Out) should go to DO (Data Out).
In this setup the Master would be the MCU and the flash chip is the Slave.

/Henning
Logged

Pages: [1]   Go Up
Jump to: