t
v
/help
/find
/scan <PORT>
/read <PORT> <ADDRESS#> <filepath> /silent
/write <PORT> <ADDRESS#> <FILEPATH> /silent
/writeforce <PORT> <ADDRESS#> <FILEPATH> /silent
/enablewriteprotection <PORT>
/enablewriteprotection <PORT> <block#>
/disablewriteprotection <PORT>
/enablepermanentwriteprotection <PORT> <ADDRESS#>
/read
SpdReaderWriter.exe /find
Found Device on Serial Port: COM3
SpdReaderWriter.exe /scan COM3
Found EEPROM at address: 80
Found EEPROM at address: 80Found EEPROM at address: 82
SpdReaderWriter.exe /read COM3 80
Reading EEPROM at address 80000: 23 10 0C 02 84 19 00 08 00 00 00 03 01 03 00 00010: 00 00 08 0C F4 1B 00 00 6C 6C 6C 11 00 74 20 08020: 00 05 70 03 00 A8 1E 2B 2B 00 00 00 00 00 00 00--edited on purpose--1D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 001E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 001F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00Read 512 bytes from EEPROM at address 80 on port COM3 in 1547 ms
SpdReaderWriter.exe /read COM3 80 C:\temp\spdoutput.bin
SpdReaderWriter.exe /read COM3 80 "C:\temp\my ddr4 spd file.bin"
Reading EEPROM at address 80 to C:\temp\my ddr4 spd file.bin000: 23 10 0C 02 84 19 00 08 00 00 00 03 01 03 00 00--edited on purpose--1F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00Read 512 bytes from EEPROM at address 80 on port COM3 in 1562 ms to file "C:\temp\my ddr4 spd file.bin"
SpdReaderWriter.exe /write COM3 80 C:\temp\newspd.bin
/writeforce
/write
Writing "C:\temp\my ddr4 spd file.bin" (512 bytes) to EEPROM at address 80000: 23 10 0C 02 84 19 00 08 00 00 00 03 01 03 00 00010: 00 00 08 0C F4 1B 00 00 6C 6C 6C 11 00 74 20 08020: 00 05 70 03 00 A8 1E 2B 2B 00 00 00 00 00 00 00--edited on purpose--1D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 001E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 001F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00Written 512 bytes to EEPROM at address 80 on port COM3 in 7093 ms
/silent
SpdReaderWriter.exe /read COM3 80 C:\temp\spdoutput.bin /silent
SpdReaderWriter.exe /write COM3 80 C:\temp\newspd.bin /silent
SpdReaderWriter.exe /enablewriteprotection COM3
Block 0 is now read-onlyBlock 1 is now read-onlyBlock 2 is now read-onlyBlock 3 is now read-only
SpdReaderWriter.exe /enablewriteprotection COM3 0
SpdReaderWriter.exe /enablewriteprotection COM3 2
SpdReaderWriter.exe /disablewriteprotection COM3
Write protection successfully disabled.
SpdReaderWriter.exe /enablepermanentwriteprotection COM3 80
Cool GTXsounds interesting can damaged/ corrupted SPD code be overwritten -- Recovered ? Cause you know someone will OC it too far
PropretorThis is a very good project. Thank you very much for your work!I've been doing data correction in SPD DIMM for a long time, but all RSWP deprotection tools are very expensive. Your project is very important for not rich people. I have not met with the Arduino platform before. At the moment, there is reason to become familiar with this platform.So. I want to ask questions and share my thoughts.1. I have an Arduino Micro Leonardo: Instead of D6, do I need to use pin D7, and instead of A4 and A5 - D2 and D3?
Propretor2. For what purpose are you using contact EVENT_N? This contact is not used in the EEPROM 34C04 chip:
Propretor3. Why is your SA1 always grounded? According to the standard: CWP requires a high level on pin SA1 Vddspd !!!
a213mFor high voltage switch pin you can use any of the digital pins, just edit the sketch accordingly.
a213mAlso you'll need to source an external power supply for VDDSPD as Arduino Micro Leonardo has no 3.3V output.
a213mIt's grounded for compatibility. Older EEPROMs used pin 7 to configure hardware write protection. EEPROMs used on DDR4 modules I worked with recommend to have this pin left alone or grounded.
a213mI don't know where you got that information from, but connecting SA1 to VDD would only change device address, which is relevant for read and write operations. Device addresses are ignored when issuing RSWP commands. Just because bit 2 of CWP command is set to 1, doesn't mean SA1 has to be physically wired to VDDSPD. None of EEPROMS I've encountered with require SA1 or SA2 to be configured in specific way for write protection operations. Only SA0 has to be connected to high voltage source.
Propretor1. The program starts for a very long time from 10 to 40 seconds on my computer:
Propretor..In my opinion, if we close the jumper, then we will have a 3.3V version: