Anonymous - 2013-05-19


I'm using UrJTAG version urjtag-0.10nb3 from pkgsrc on NetBSD and luckily I've managed it to work with TI TNETV1060 processor. I can read external flash (Spansion S29GL032M) without any problems, but when I tried to write an image to it, it failed.

Here's the device information:

Query system interface information:
        Vcc Logic Supply Minimum Write/Erase or Write voltage: 2700 mV
        Vcc Logic Supply Maximum Write/Erase or Write voltage: 3600 mV
        Vpp [Programming] Supply Minimum Write/Erase voltage: 0 mV
        Vpp [Programming] Supply Maximum Write/Erase voltage: 0 mV
        Typical timeout per single byte/word program: 128 us
        Typical timeout for maximum-size multi-byte program: 128 us
        Typical timeout per individual block erase: 1024 ms
        Typical timeout for full chip erase: 0 ms
        Maximum timeout for byte/word program: 256 us
        Maximum timeout for multi-byte program: 4096 us
        Maximum timeout per individual block erase: 16384 ms
        Maximum timeout for chip erase: 0 ms
Device geometry definition:
        Device Size: 4194304 B (4096 KiB, 4 MiB)
        Flash Device Interface Code description: 0x0002 (x8/x16)
        Maximum number of bytes in multi-byte program: 32
        Number of Erase Block Regions within device: 2
        Erase Block Region Information:
                Region 0:
                        Erase Block Size: 8192 B (8 KiB)
                        Number of Erase Blocks: 8
                Region 1:
                        Erase Block Size: 65536 B (64 KiB)
                        Number of Erase Blocks: 63
Primary Vendor-Specific Extended Query:
        Major version number: 1
        Minor version number: 3
        Address Sensitive Unlock: Required
        Process Technology: CS99
        Erase Suspend: Read/write
        Sector Protect: 1 sectors per group
        Sector Temporary Unprotect: Not supported
        Sector Protect/Unprotect Scheme: 29BDS640 mode (Software Command Locking)
        Simultaneous Operation: Not supported
        Burst Mode Type: Supported
        Page Mode Type: 4 word Page
        ACC (Acceleration) Supply Minimum: 11500 mV
        ACC (Acceleration) Supply Maximum: 12500 mV
        Top/Bottom Sector Flag: Bottom boot device
        Program Suspend: Not supported

And that's what happened when I tried to write to flash:

jtag> flashmem 0x10020000 mtd.img
Chip: AMD Flash
        Manufacturer: AMD
        Chip: S92GLxxxN
        Protected: 0000
flash_unlock_block 0x10020000 IGNORE
block 9 unlocked
flash_erase_block 0x10020000
flash_erase_block 0x10020000 DONE
erasing block 9: 0
addr: 0x10020000
flash error

And then

jtag> detectflash 0x10000000
dev ID=00ff   man ID=0086
amd_detect: mid 86, did ff
Flash not found!

But when I tried to turn off and turn on again the voltage it can identify the memory again, but the content unfortunately is corrupted (I've done whole memory backup).

Please give me some advices what can be done to allow UrJTAG write to this memory.