Перейти к содержанию

Простой SPI Flash программатор...


Рекомендуемые сообщения

Oчень простой SPI Flash memory программатор SPI программатор, для LPT-порта.

Это скрытый контент, пожалуйста

SPI FlashROM Programmer 1.6 © 2008-2009 by Martin Rehak; rayer@seznam.cz
Compiled by GCC 3.4.5 (mingw-vista special r3) at 22:49:21, Jan 21 2009
(Win9x/NT/2K/XP compatability)
 
SYNTAX: spipgm /i|r|d|e|p [filename] [address] [/l=iobase] [/d=delay]
/i - identify SPI FlashROM
/r address size - read & display data block (0x prefix = hexa number)
/d filename - dump entire FlashROM to file
/p filename - program entire FlashROM from file (without erase)
/e - erase entire FlashROM
/u - unlock write protection bits (may depend on WP# level)
/l= LPT port I/O base address (default is 378h - LPT1)
/d= additional delay for SPI clock pulse width [usec] (default is 0)
 
LPT to SPI pin assignment (based on BSD AVR programmer):
pin 7 = D5 -> CS#
pin 8 = D6 -> SCK (CLK)
pin 9 = D7 -> MOSI (DIO)
pin 10 = ACK -> MISO (DO)
pin 18 = GND -> GND
 
1) Идентифицируем флешку ===> SPIPGMW.EXE /i
 
spipgm>SPIPGMW.EXE /i
 
SPI FlashROM Programmer 1.6 © 2008-2009 by Martin Rehak; rayer@seznam.cz
Compiled by GCC 3.4.5 (mingw-vista special r3) at 22:49:21, Jan 21 2009
(Win9x/NT/2K/XP compatability)
 
SPI connected to LPT port at I/O base address: 378h, SCK pulse width: t+0us
FlashROM JEDEC ID, type: 010214h
Spansion S25FL016A (2MB)
Status = 00h (SRP, RES, TB , BP2, BP1, BP0, WEL, BSY)
0 0 0 0 0 0 0 0
 
2) Делаем дамп SPIPGMW.EXE /d
 
spipgm>SPIPGMW.EXE /d flash.bin
 
SPI FlashROM Programmer 1.6 © 2008-2009 by Martin Rehak; rayer@seznam.cz
Compiled by GCC 3.4.5 (mingw-vista special r3) at 22:49:21, Jan 21 2009
(Win9x/NT/2K/XP compatability)
 
SPI connected to LPT port at I/O base address: 378h, SCK pulse width: t+0us
FlashROM JEDEC ID, type: 010214h
Spansion S25FL016A (2MB)
Reading sector at: 001FF000h (100%)
3) Разблокируем флешку для записи ===> SPIPGMW.EXE /u
spipgm>SPIPGMW.EXE /u
SPI FlashROM Programmer 1.6 © 2008-2009 by Martin Rehak; rayer@seznam.cz
Compiled by GCC 3.4.5 (mingw-vista special r3) at 22:49:21, Jan 21 2009
(Win9x/NT/2K/XP compatability)
SPI connected to LPT port at I/O base address: 378h, SCK pulse width: t+0us
FlashROM JEDEC ID, type: 010214h
Spansion S25FL016A (2MB)
Status = 02h, WE bit is enabled
Unlocking...
Status = 00h, device is unlocked now
 
4) Стираем флешку ! ===> SPIPGMW.EXE /e
 
spipgm>SPIPGMW.EXE /e
 
SPI FlashROM Programmer 1.6 © 2008-2009 by Martin Rehak; rayer@seznam.cz
Compiled by GCC 3.4.5 (mingw-vista special r3) at 22:49:21, Jan 21 2009
(Win9x/NT/2K/XP compatability)
 
SPI connected to LPT port at I/O base address: 378h, SCK pulse width: t+0us
FlashROM JEDEC ID, type: 010214h
Spansion S25FL016A (2MB)
Status = 02h, WE bit is enabled
Please wait... done.
 
5) Запишим дамп ===> SPIPGMW.EXE /p
 
spipgm>SPIPGMW.EXE /p Flash.bin
 
SPI FlashROM Programmer 1.6 © 2008-2009 by Martin Rehak; rayer@seznam.cz
Compiled by GCC 3.4.5 (mingw-vista special r3) at 22:49:21, Jan 21 2009
(Win9x/NT/2K/XP compatability)
 
SPI connected to LPT port at I/O base address: 378h, SCK pulse width: t+0us
FlashROM JEDEC ID, type: 010214h
Spansion S25FL016A (2MB)
Programming page at: 001FFF00h (100%)
6) Сделаем дамп что бы проверить успешность записи ===> SPIPGMW.EXE /d
spipgm>SPIPGMW.EXE /d flash.bin
SPI FlashROM Programmer 1.6 © 2008-2009 by Martin Rehak; rayer@seznam.cz
Compiled by GCC 3.4.5 (mingw-vista special r3) at 22:49:21, Jan 21 2009
(Win9x/NT/2K/XP compatability)
SPI connected to LPT port at I/O base address: 378h, SCK pulse width: t+0us
FlashROM JEDEC ID, type: 010214h
Spansion S25FL016A (2MB)
Reading sector at: 001FF000h (100%)
 
Поддерживаемые  памяти:
AMIC:

A25L05PU/PT (64kB)
A25L10PU/PT (128kB)
A25L20PU/PT (256kB)
A25L40PU/PT (512kB)
A25L80PU/PT (1MB)
A25L16PU/PT (2MB)
A25L32PU/PT (4MB)
A25L64PU/PT (8MB)
A25L512 (64kB)
A25L010 (128kB)
A25L020 (256kB)
A25L040 (512kB)
A25L080 (1MB)

Atmel:
AT26F004 (512kB)
AT26DF041 (512kB)
AT26DF081A (1MB)
AT26DF161A (2MB)
AT26DF321 (4MB)

EON:
EN25P16 (2MB)
EN25P32 (4MB)
EN25P64 (8MB)
EN25P128 (16MB)
EN25F20 (256kB)
EN25F40 (512kB)
EN25F80 (1024B)
EN25F16 (2MB)
EN25F32 (4MB)
EN25F64 (8MB)
EN25F128 (16MB)

ESMT:
F25L004A (512kB)
F25S04PA (512kB)
F25L08PA (1024B)
F25L16PA (2MB)
F25L32PA (4MB)
F25L32QA (4MB)

Macronix:
MX25L1005 (128kB)
MX25L2005 (256kB)
MX25L4005 (512kB)
MX25L8005 (1MB)
MX25L1605 (2MB)
MX25L3205 (4MB)
MX25L6405 (8MB)

PMC:
Pm25LV512A (64kB)
Pm25LV010A (128kB)
Pm25LV020 (256kB)
Pm25LV040 (512kB)
Pm25LV080B (1MB)
Pm25LV016B (2MB)
Pm25LV032B (4MB)
Pm25LV064B (8MB)

Spansion:
S25FL004A (512kB)
S25FL008A (1MB)
S25FL016A (2MB)
S25FL032A (4MB)
S25FL064A (8MB)
S25FL128P (16MB)

SST:
SST25VF010 (128kB)
SST25VF020 (256kB)
SST25VF040 (512kB)
SST25VF080 (1MB)
SST25VF016 (2MB)
SST25VF032 (4MB)
SST25VF064 (8MB)
SST25VF128 (16MB)
SST26VF016 (2MB)
SST26VF032 (4MB)
SST26VF064 (8MB)
SST25VF064C (8MB)

ST Microelectronic:
M25P10 (128kB)
M25P20 (256kB)
M25P40 (512kB)
M25P80 (1MB)
M25P16 (2MB)
M25P32 (4MB)
M25P64 (8MB)
M25P128 (16MB)

Winbond:
W25Q10 (128kB)
W25Q20BV (256kB)
W25Q40BV (512kB)
W25Q80BV (1MB)
W25Q16BV (2MB)
W25Q32BV (4MB)
W25Q64BV (8MB)
W25Q128BV (16MB)
W25X10 (128kB)
W25X20 (256kB)
W25X40 (512kB)
W25X80 (1MB)
W25X16 (2MB)
W25X32 (4MB)
W25X64 (8MB)


Это скрытый контент, пожалуйста

P.S
Хороший программатор, но при стирании памяти вылезло следующее сообщение: 10h, unlock failed,
set WP# PIN AT HIGH LEVEL для решения этой проблемы подаем на 3 ногу (WP) логический ноль, т.е. спаиваем  3 и 4 ногу вместе.

Каждый участник форума должен проявлять активность, в решении вопросов ремонта и поиска нужной радиотехнической информации.

Вы тоже можете пополнить нашу базу ценной технической информацией, личный опыт ремонта, лично снятые прошивки, всё что вам помогает в вашей работе.

Делитесь своим опытом ремонта, помогайте другим участникам  форума в поиске информации.

Делитесь прошивками, новыми схемами, все что вы сами любите на форуме читать и смотреть!

В этом и заключается суть работы на форуме - обмен информацией!

 

Ссылка на комментарий

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...