EPROM/EEPROM/flash reader/writer

Marius '95

troubleShooter
Imi trebuie un reader/writer pentru o gama cat mai variata de memorii non-volatile. Intentionez sa citesc si sa scriu memorii BIOS, memorii de pe placi PCI, memorii din routere, Raspberry, laptop-uri, etc.
Imi trebuie sa vina cu socket-uri si clesti (mai ales clesti!) pentru toate formele de cipuri posibile si imposibile.
Ar fi preferabil sa se conecteze pe serial, dar e ok si USB.

Aaaa! Si sa aiba soft in engleza. Nu chineza, nu rusa!
 
Dacă Raspberry ar avea BIOS ai putea probabil să găsești ceva conform cerințelor. Din păcate n-are, așa că orice soluție e greșită din start :smile:.

Nu există clești decât pentru SOIC8 (sau alte SOIC, da' BIOS-urile au de obicei 8 pini). Restul sunt socketed sau nu se pot folosi clești (pentru că au pini pe toate părțile sau pentru că au pini doar dedesubt).

Versiunea chinezească cu multe chestii: https://www.ebay.com/itm/New-XGecu-...m=173277810344&_trksid=p2047675.c100005.m1851

Versiunile serioase, cu soft "spălat" sunt cam $500 fără accesorii.

Vezi că ceea ce downloadezi de pe site-uri mai trebuie modificat ca să poată fi uploadat într-un chip.
 
Am un Willem la BSI. :smile: Daca spui EPROM (deci atentie: EPROM!), Willem e singura solutie economica, la bani putini. In rest costa 2..3$ ce programator pt. EEPROM / flash / PIC / ISP / SPI / etc... vrei tu. Ca e multe standarde. :smile:
 
Pai am programat deja multe cipuri, doar ca nu am folosit un programator extern. Cand am dat de belea si n-a mai bootat calcu', m-am dus la altii sa mi le reprogrameze. Modez BIOS-uri de la K6-2. Link cu un mod mai recent.
Dar Quark cam are dreptate: 135$+TVA e cam mult doar ca sa ma joc cu BIOS-uri si boot-loadere. La pretul ala pare mai ieftin sa schimb placa cu totul.
 
Un Willem e pe la 30$. Dar e oarecum rudimentar, merge numai pe port paralel adevarat, nu frectie port paralel pe interfata USB. Avantajul e ca poti programa cu el aproape orice, cu soft adecvat si cu adaptoarele potrivite.
 
Cu BIOS-uri "simple" te poți juca cu câțiva dolari. Eu mi-am modat BIOS-ul de la T430 (scos whitelist din firmware semnat) cu CH341A + clește (vreo 60 de lei direct din .ro). Ceea ce vrei tu (chestii super universale, de care poate ai nevoie sau aproape sigur nu) vin cu un preț.
 

Attachments

  • C__Data_Users_DefApps_AppData_INTERNETEXPLORER_Temp_Saved Images_3_3V Fix.jpg
    C__Data_Users_DefApps_AppData_INTERNETEXPLORER_Temp_Saved Images_3_3V Fix.jpg
    80.8 KB · Views: 52
Last edited:
Trebuie să mă uit și eu cum e la mine, implementarea diferă mult de ăla. Oricum, a mers :smile:.
 
Versiunea mea e și mai interesantă: alimentează CH341 cu 3.3V, dar nu setează și pin-ul 9 la VCC, are doar un condensator de decuplare.

2018-08-29 20.07.51.jpg 2018-08-29 20.08.06.jpg

Of course, Datasheet-ul e engrish, nu zice clar ce s-ar întâmpla în cazul ăsta.

If the work power is 3.3V, connect V3 to VCC, input 3.3V source voltage. The voltage of other circuit which is connected to CH341 is no pass than 3.3V.
 
Am eu un datasheet mai intreg la minte. Il caut maine, dupa ce termin zacusca. Daca imi aduc bine aminte, daca CH341 e alimentat la 5V, atunci pinul ala are pe el numai un condensator chior, catre masa. Daca e alimentat la 3V3, ambii pini sunt pusi la 3.3V.
 
Da, asta zice și în datasheet-ul ăsta. Dar nu zice ce se întâmplă dacă alimentezi la 3.3 dar nu pui pinul 9 la 3.3V.
 
O mai trai Marius? :biggrin: Eu inca ii recomand un d'asta daca chiar are nevoie de ceva care sa stie multe chestii si la pret decent. Altfel, ce a recomandat Miahi, adica ceva bazat pe CH341A. :smile:
Alte propuneri?
 
Salutare,

Imi pare rau ca redeschid acest subiect dupa atata vreme, dar aici am gasit cele mai multe informatii din RO privitoare la CH341A.
Inainte de toate, tin sa mentioneza ca nu am nici un fel de experienta in electronica.
In urma cu ceva vreme am corupt BIOS-ul de pe acest chip SST25VF080B, ce este instalat pe placa de baza DG965SS. In speranta ca il voi putea rescrie, incat PC-ul pornea, dar nu afisa nimic pe ecran, am cumparat programatorul CH341A pe negru, din moment ce am vazut ca chip-ul este prezent pe aceasta lista.
Problema a fost ca doar dupa ce mi-a ajuns programatorul am observat atentionarea din lista care spune ca aceasta unealta nu poate citi decat chip-urile SST si ESMT din seria 25. Asumandu-mi greseala facuta, am spus totusi sa incerc sa citesc chip-ul si poate si sa-l rescriu, incat traducerea din chineza in engleza sa fi fost posibil eronata.
Pentru asta, am configurat programatorul in felul urmator:

CH341A_setup - Copy.jpg


Configurare facuta dupa pasii urmariti din acest video, plus adaptarea pe care am facut-o referitoare la chip-ul pe care-l am. Apoi m-am folosit de instructiunile aceluiasi video, privitoare la citirea chip-ului folosindu-ma de Linux, cu asigurarea ca chip-ul este suportat de catre flashrom. Desi stiam ca programatorul pe negru vine cu o eroare de proiectare care-i permite sa functioneze doar la 5V (lucru pe care l-am aflat iarasi dupa ce mi-a ajuns programatorul), am incercat totusi sa citesc chip-ul, chiar daca chip-ul era menit sa fie citit si scris la 3.3 V, asta pentru ca n-ar fi fost o pierdere majora daca as fi ars chip-ul.
In toate incercarile de a monta clestii pe chip, cu aprinderea LED-ului rosu (ce pe PCB are denumirea de RUN, dupa cum se poate vedea si in imagine) de pe CH341A pentru a semnala ca acesti clesti au fost bine pozitionati pe pinii de pe chip, flashrom n-a reusit sa vada chip-ul, chiar daca pinul clestelui, cu cablul de culoare rosie, l-am atasat pe pinul din dreptul gaurii de pe chip.
Este posibil sa fi ars chip-ul sau faptul ca nu am modat CH341A pentru a functiona la 3.3V nu-i permite lui flashrom sa vada chip-ul?

Va multumesc!
 
Last edited:
Succesul folosirii cleștilor depinde și de cum e legat BIOS-ul de alte componente de pe PCB. Pentru că în unele cazuri atunci când alimentezi EEPROM-ul se alimentează și alte chestii care încearcă să comunice cu el, și interferează cu programatorul. Nu-s sigur că Led-ul RUN se aprinde doar dacă chip-ul e corect legat - pare că se aprinde dacă programatorul trimite semnal către chip, nu neapărat dacă și răspunde cineva (ex: se aprinde dacă chip select e pe low, ceea ce programatorul controlează. După cum arată schema, RUN ar trebui să clipească atunci când se transmite ceva.

Da, e posibil să fie și probleme cu faptul că e la 5V. Majoritatea device-urilor suportă 5V (de-aia a și funcționat la chinezi și n-au găsit bug-ul), dar nu e neapărat plăcut pentru chip și pentru celelalte circuite de pe lângă. Eu am folosit CH341A în circuit pe un laptop și a mers ok atât la citit cât și la scris, dar al meu era o versiune mai veche, care nu are bug-ul cu 5V ("green edition"). Din câte îmi amintesc, problema e că EEPROM-ul e alimentat la 3.3V, dar chip-ul programatorului la 5V și atunci ieșirile programatorului sunt și ele pe 5V.

Ce aș face eu, în ordine:
- jucat cu alt chip întâi, să vezi că programatorul și conexiunile sunt ok; mai sunt lucruri care au EEPROM-uri SOIC; preferabil ceva ce nu mai folosești. Ex: eu mă joc cu memorii RAM (se vede că a fost citit corect pentru că are chiar model number-ul în memorie); dar RAM-ul are de obicei 24xx, nu 25.

1588261457013.png 20200430_184330(1).jpg


- curățat contactele chip-ului ca să fii sigur că face contact cleștele cum trebuie (contact cleaner sau alcool izopropilic + frecat un pic cu un șervețel)
- modat CH341A sau făcut rost de unul care știe direct 3.3V (dar sunt mai rare)
- dezlipit chip-ul și lipit direct pe un adaptor (parcă programatorul venea și cu niște plăcuțe de adaptare); da, e mai mult de muncă și necesită un pic de pricepere
- cumpărat altă placă, că asta e, se mai întâmplă (LGA 775 sunt vechi și destul de ieftine)

Of course, e posibil și ca să nu fi mers placa pentru că chip-ul era deja ars. Caz în care e mult mai greu de aflat ce s-a întâmplat.
 
Back
Top