McMCC 6786ecf918 Release version 1.7.7
* Add SPI EEPROM 251024
* Add option set page size SPI EEPROM for fast write
* Many fix code
L
2022-12-05 15:11:10 +03:00
2020-10-20 23:41:24 +03:00
2022-12-05 15:11:10 +03:00
2022-12-05 15:11:10 +03:00
2020-10-20 23:41:24 +03:00
2022-12-05 15:11:10 +03:00
2022-12-05 15:11:10 +03:00
2022-12-05 15:11:10 +03:00
2021-02-13 02:33:52 +03:00
2020-10-20 23:38:26 +03:00
2022-12-05 15:11:10 +03:00

SNANDer - Serial Nor/nAND/Eeprom programmeR v.1.7.7 by McMCC <mcmcc_at_mail.ru>



  Usage:

 -h             display this message

 -d             disable internal ECC(use read and write page size + OOB size)

 -o <bytes>     manual set OOB size with disable internal ECC(default 0)

 -I             ECC ignore errors(for read test only)

 -L             print list support chips

 -i             read the chip ID info

 -E             select I2C EEPROM {24c01|24c02|24c04|24c08|24c16|24c32|24c64|24c128|24c256|24c512|24c1024}

                select Microwire EEPROM {93c06|93c16|93c46|93c56|93c66|93c76|93c86|93c96} (need SPI-to-MW adapter)

                select SPI EEPROM 25xxx {25010|25020|25040|25080|25160|25320|25640|25128|25256|25512|251024}

 -8             set organization 8-bit for Microwire EEPROM(default 16-bit) and set jumper on SPI-to-MW adapter

 -f <addr len>  set manual address size in bits for Microwire EEPROM(default auto)

 -s <bytes>     set page size from datasheet for fast write SPI EEPROM(default not usage)

 -e             erase chip(full or use with -a [-l])

 -l <bytes>     manually set length

 -a <address>   manually set address

 -w <filename>  write chip with data from filename

 -r <filename>  read chip and save data to filename

 -v             verify after write on chip



Examples:



1. Get info Flash.



igor@mcmcc-GL553VE:~/Soft/SNANDer-bin/Linux$ ./SNANDer -i



SNANDer - Serial Nor/nAND/Eeprom programmeR v.1.7.7 by McMCC <mcmcc_at_mail.ru>



Found programmer device: WinChipHead (WCH) - CH341A

Device revision is 3.0.4

spi_nand_probe: mfr_id = 0xc2, dev_id = 0x22

Get Status Register 1: 0x38

Get Status Register 2: 0x10

Using Flash ECC.

Detected SPI NAND Flash: MXIC MX35LF2G, Flash Size: 256 MB



or



SNANDer - Serial Nor/nAND/Eeprom programmeR v.1.7.7 by McMCC <mcmcc_at_mail.ru>



Found programmer device: Winchiphead (WCH) - CH341A

Device revision is 3.0.4

spi_nand_probe: mfr_id = 0xef, dev_id = 0xaa

Get Status Register 1: 0x81

Get Status Register 2: 0x18

Using Flash ECC.

Detected SPI NAND Flash: WINBOND W25N01G, Flash Size: 128 MB



2. Full erase flash with disable internal ECC check. Without OOB, page size 2112 bytes.



igor@mcmcc-GL553VE:~/Soft/SNANDer-bin/Linux$ ./SNANDer -d -e



SNANDer - Serial Nor/nAND/Eeprom programmeR v.1.7.7 by McMCC <mcmcc_at_mail.ru>



Found programmer device: WinChipHead (WCH) - CH341A

Device revision is 3.0.4

spi_nand_probe: mfr_id = 0xc2, dev_id = 0x22

Get Status Register 1: 0x00

Get Status Register 2: 0x11

Disable Flash ECC.

Detected SPI NAND Flash: MXIC MX35LF2G, Flash Size: 256 MB

ERASE:

Set full erase chip!

Erase addr = 0x0000000000000000, len = 0x0000000010800000

Erase 100% [276824064] of [276824064] bytes

Elapsed time: 3 seconds

Status: OK

igor@mcmcc-GL553VE:~/Soft/SNANDer-bin/Linux$



3. Write and verify flash with disable internal ECC check. Without OOB, page size 2112 bytes.



igor@mcmcc-GL553VE:~/Soft/SNANDer-bin/Linux$ ./SNANDer -d -v -w ecc_2Gb_2K_64_flashimage_rfb1_ac2600.bin 



SNANDer - Serial Nor/nAND/Eeprom programmeR v.1.7.7 by McMCC <mcmcc_at_mail.ru>



Found programmer device: WinChipHead (WCH) - CH341A

Device revision is 3.0.4

spi_nand_probe: mfr_id = 0xc2, dev_id = 0x22

Get Status Register 1: 0x00

Get Status Register 2: 0x11

Disable Flash ECC.

Detected SPI NAND Flash: MXIC MX35LF2G, Flash Size: 256 MB

WRITE:

Write addr = 0x0000000000000000, len = 0x000000000E5A9D6F

Written 100% [240819567] of [240819567] bytes

Elapsed time: 4184 seconds

Status: OK

VERIFY:

Read addr = 0x0000000000000000, len = 0x000000000E5A9D6F

Read 100% [240819567] of [240819567] bytes

Elapsed time: 2047 seconds

Status: OK



4. Read Microwire EEPROM Atmel 93C46 and save file.



igor@igor-GL553VE:~/Soft/SNANDer-bin/Linux$ ./SNANDer -E 93c46 -r test.bin



SNANDer - Serial Nor/nAND/Eeprom programmeR v.1.7.7 by McMCC <mcmcc_at_mail.ru>



Found programmer device: WinChipHead (WCH) - CH341A

Device revision is 3.0.4

Microwire EEPROM chip: 93c46, Size: 64 bytes, Org: 16 bits, fix addr len: Auto

READ:

Read addr = 0x0000000000000000, len = 0x0000000000000080

Read_EEPROM_3wire: Set address len 6 bits

Read 100% [64] of [64] bytes

Read [128] bytes from [93c46] EEPROM address 0x00000000

Elapsed time: 0 seconds

Status: OK



5. Write and verify Microwire EEPROM Atmel 93C46 from file.



igor@igor-GL553VE:~/Soft/SNANDer-bin/Linux$ ./SNANDer -E 93c46 -w test.bin -v



SNANDer - Serial Nor/nAND/Eeprom programmeR v.1.7.7 by McMCC <mcmcc_at_mail.ru>



Found programmer device: WinChipHead (WCH) - CH341A

Device revision is 3.0.4

Microwire EEPROM chip: 93c46, Size: 64 bytes, Org: 16 bits, fix addr len: Auto

WRITE:

Write addr = 0x0000000000000000, len = 0x0000000000000080

Erase_EEPROM_3wire: Set address len 6 bits

Write_EEPROM_3wire: Set address len 6 bits

Written 100% [64] of [64] bytes

Wrote [128] bytes to [93c46] EEPROM address 0x00000000

Elapsed time: 1 seconds

Status: OK

VERIFY:

Read addr = 0x0000000000000000, len = 0x0000000000000080

Read_EEPROM_3wire: Set address len 6 bits

Read 100% [64] of [64] bytes

Read [128] bytes from [93c46] EEPROM address 0x00000000

Elapsed time: 1 seconds

Status: OK



6. Write and verify SPI EEPROM Atmel AT25640B from file.



igor@igor-GL553VE:~/Soft/SNANDer-bin/Linux$ ./SNANDer -E 25640 -v -w test.bin



SNANDer - Serial Nor/nAND/Eeprom programmeR v.1.7.7 by McMCC <mcmcc_at_mail.ru>



Found programmer device: WinChipHead (WCH) - CH341A

Device revision is 3.0.4

SPI EEPROM chip: 25640, Size: 8192 bytes

WRITE:

Write addr = 0x0000000000000000, len = 0x0000000000002000

Written 100% [8192] bytes to [25640] EEPROM address 0x00000000

Elapsed time: 22 seconds

Status: OK

VERIFY:

Read addr = 0x0000000000000000, len = 0x0000000000002000

Read 100% [8192] bytes from [25640] EEPROM address 0x00000000

Elapsed time: 2 seconds

Status: OK



7. Fast write and verify SPI EEPROM Atmel AT25640B from file with use page size.

   (Find out page size from datasheet on chip!!!)



igor@igor-GL553VE:~/Soft/SNANDer-bin/Linux$ ./SNANDer -E 25640 -v -w test.bin -s 32



SNANDer - Serial Nor/nAND/Eeprom programmeR v.1.7.7 by McMCC <mcmcc_at_mail.ru>



Found programmer device: WinChipHead (WCH) - CH341A

Device revision is 3.0.4

SPI EEPROM chip: 25640, Size: 8192 bytes

Setting page size 32B for write.

WRITE:

Write addr = 0x0000000000000000, len = 0x0000000000002000

Written 100% [8192] bytes to [25640] EEPROM address 0x00000000

Elapsed time: 1 seconds

Status: OK

VERIFY:

Read addr = 0x0000000000000000, len = 0x0000000000002000

Read 100% [8192] bytes from [25640] EEPROM address 0x00000000

Elapsed time: 2 seconds

Status: OK

S
Description
SNANDer - Serial Nor/nAND/Eeprom programmeR (based on CH341A)
Readme GPL-2.0
46 MiB
Languages
C 94.3%
C++ 3.7%
M4 1%
Makefile 0.9%