yottatsa wrote on 2022-12-17, 13:51:
Based on the documents that Paul_v is gladly shared, DM&P has a tablet computer appliance of sorts running Linux to use with their JTAG. Based on this, I'm not sure it'll be possible to find their official tool. :<
"I'm gonna go build my own theme park, with blackjack..." (c) Bender
My XILINX Parallel Cable III clone kind of works now all of a sudden (ECP mode) . IDK, maybe it was some faulty solder joint.
After examining more closely, I found out that the program specifically searches for MX25L2005 flash chip (RDID C2 20 12)
But my SoC has MX25L1605 (RDID C2 20 15), which is read sucesfully, but does not match the coded value.
The hardware part of the puzzle is more or less solved.
UPD:
Went the "quick&dirty" way, manually replacing the RDID hex value it wants.
The cable is working fine. The chip is detected, erased and programmed, but verifying fails and SoC is unable to boot the BIOS.
This is not surprising, given the different flash block structure and address range the code just gets corrupted. I'll try to dig deeper in the disassembled code to fix that.
Interestingly, a full 16Mbit chip dump passes the write and verify, but does not boot. I suppose only first 256KB are written\checked
(I do not exclude a chance of bricking device completely, as I also tried changing chip address ranges. Who knows, what could have been erased 0_o)
Anybody familiar with assembler and interested in helping reverse-engineer the code, please PM me 😀
MX25L1605:
16,777,216 x 1 bit structure; (16Mbit)
32 Equal Sectors with 64K byte each
MX25L2005:
2,097,152 x 1 bit structure; (2Mbit)
64 Equal Sectors with 4K byte each or
4 Equal Blocks with 64K byte each