joi, 2 aprilie 2026

QT188A - Metode de citire/scriere a registrului EXT_CSD cu cip eMMC și introducere în CID și CSD

Cele trei partiții importante ale cipului eMMC sunt User, Boot1 și Boot2. În plus, există trei registre importante: CID, CSD și EXT_CSD. Aici vom introduce funcțiile și metodele lor de citire/scriere.

Partiția utilizator , cunoscută și sub numele de zona utilizatorului, este cea mai mare și mai importantă partiție din cipul eMMC. Este de obicei utilizată pentru stocarea datelor obișnuite, a fișierelor de aplicații etc. și este principalul spațiu de stocare al cipului. Partiția utilizator poate fi citită și scrisă folosind modul oglindă al programatorului QT188A, așa cum este descris în alte tutoriale.

Partițiile Boot1 și Boot2 sunt spații mici concepute special pentru stocarea codului de boot. Producătorii le proiectează pentru a oferi performanțe de stocare și securitate mai fiabile decât partițiile obișnuite, așa că majoritatea producătorilor de plăci de bază stochează codul de boot al mașinii în partiția de boot. Partiția BOOT poate fi citită și scrisă folosind modul de programare al programatorului QT188A, așa cum este descris în alte tutoriale.

Registrul CID este utilizat în principal pentru a stoca informații precum producătorul cipului, data producției, numele produsului și numărul de serie. Este doar pentru citire. Datele sunt scrise o singură dată în fabrica cipului și nu pot fi modificate, asigurând autenticitatea și unicitatea informațiilor. Utilizatorii pot citi informațiile din registrul CID folosind funcțiile relevante ale programatorului QT188A pentru a identifica specificațiile și originea specifică a cipului.

Registrul CSD este utilizat în principal pentru a descrie atributele operaționale de bază și structura memoriei cipului eMMC, înregistrând informații precum rata maximă de transfer, lungimea blocului de date și capacitatea cipului. Este doar pentru citire; gazda citește informațiile CSD în timpul inițializării pentru a determina cum să comunice corect cu cipul eMMC. Datele registrului CSD pot fi citite folosind modul de programare al programatorului QT188A.

Registrul EXT_CSD este un registru de configurare extins cu funcție de citire-scriere care conține mai multe informații despre setările și caracteristicile funcționale ale cipului eMMC, cum ar fi configurația partiției, modul de performanță și caracteristicile de securitate. Modificarea registrului EXT_CSD permite setări personalizate ale funcționalității cipului. Cu toate acestea, este important de reținut că modificările aduse EXT_CSD trebuie făcute cu precauție, deoarece configurația necorespunzătoare poate duce la defecțiuni ale cipului.

Mai jos, ne vom concentra asupra funcției celor trei parametri importanți ai registrului EXT_CSD și a metodei de configurare a scrierii.

Octet 162: Configurarea funcției de resetare RST_n_FUNCTION. Pinul RST_n permite gazdei să reseteze cipul eMMC printr-un semnal hardware; aceasta este o funcție opțională. Octetul 162 este setat implicit din fabrică la 00 , indicând o stare dezactivată temporar; 01 indică activare permanentă; iar 02 indică dezactivare permanentă. Octetul 162 este o operațiune OTP și, odată scris, nu mai poate fi modificat. Dacă vedeți că octetul 162 nu este 00, înseamnă că cipul a fost citit și scris. Pe lângă configurarea funcției de resetare, aceasta poate fi utilizată și pentru a determina indirect dacă cipul este recondiționat.

Octet 177: BOOT_BUS_WIDTH (Lățimea magistralei de boot). Aceasta setează lățimea magistralei utilizată pentru transferul de date în modul de boot. Valoarea implicită din fabrică este 00. Combinațiile indică dacă se utilizează lățimea magistralei X1 (SDR) sau X4 (DDR), lățimea magistralei X4 (SDR/DDR) sau lățimea magistralei X8 (SDR/DDR) în modul de boot și dacă se păstrează setările magistralei de boot după resetare. Pentru o funcționare optimă a gazdei, se recomandă configurarea conform parametrilor originali ai mașinii.

Octet 179: PARTITION_CONFIG definește configurația partiției. Acesta gestionează în principal două funcții cheie: 1. configurarea partiției de pe care se va porni la următoarea pornire; 2. furnizarea accesului temporar la anumite partiții speciale în modul normal. Valoarea implicită din fabrică pentru octetul 179 este 00 , indicând faptul că funcționalitatea de pornire este dezactivată și nu există permisiuni speciale de acces la partiție (utilizatorii pot accesa doar partiția USER). Octetul 179 este o combinație specifică de valori; valorile comune sunt 38, 78, 08, 48, 10 și 50. Vă rugăm să îl configurați conform parametrilor originali ai mașinii; altfel, gazda nu va porni.


Citirea datelor din trei registre: (CID, CSD, EXT_CSD)

Comutatorul programator QT188A trebuie selectat fie în modul [Programming-Boot], fie în modul [Read/Write-SPI]. Vă rugăm să selectați sursa de alimentare (internă sau externă) și tensiunea VCCQ corespunzătoare în funcție de situația dumneavoastră specifică.

Faceți clic pe butonul „SET ISP” din software-ul de citire/scriere BOOT. Aceasta va citi și salva trei fișiere în folderul BOOT: cid.bin, csd.bin și ext_csd.bin. Acum, deschideți vizualizatorul de informații despre cip eMMC pentru a vedea informațiile relevante despre cip.



Scrierea în registrul EXT_CSD: (Configurarea a 3 parametri cheie)

Am prezentat deja importanța octeților 162, 177 și 179 din registrul EXT_CSD. Acum vom prezenta cum să le vizualizăm și să scriem în ele.

Pentru a ne asigura că cei 3 octeți de parametri citiți de pe cipul EMMC sunt aceiași cu cei de pe dispozitivul original, trebuie să încărcăm fișierul EXT_CSD din datele dispozitivului original, să le analizăm, să le comparăm și apoi să le scriem.


Faceți clic pe butonul „Analizează parametrii cheie EXT_CSD” din software, selectați fișierul EXT_CSD original care a fost salvat pe computer (Notă: acest fișier nu este același cu cipul citit în prezent). După încărcarea fișierului, software-ul va afișa și lista parametrii cheie și îi va compara cu parametrii cipului citit în prezent.

În acest moment, am obținut valorile octeților 162, 177 și 179 din EXT_CSD-ul mașinii originale. Acum putem reveni la software-ul de citire/scriere BOOT pentru a efectua operațiunea de scriere.

Faceți clic pe 【Setări】 din software-ul software-ului-->【Deschidere】--> Vizualizați parametrii cheie, completați parametrii originali pe care tocmai i-ați analizat, apoi faceți clic pe 【Scriere】 pentru a scrie parametrii în registrul EXT_CSD al cipului.




Rețineți că, dacă valoarea octetului 162 este modificată în timpul operațiunii, software-ul va afișa o fereastră de solicitare: „Aceasta este o operațiune OTP! Apăsați OK dacă sunteți absolut sigur.” (Solicitarea indică faptul că octetul 162 este o operațiune OTP; nu poate fi modificat după scrierea cu succes). Faceți clic pe „OK” pentru a finaliza operațiunea. Software-ul va afișa „gata” pentru a indica faptul că operațiunea de modificare a octetului este finalizată.


După efectuarea din nou a operațiunii „Setare ISP” , reveniți la software-ul de vizualizare a informațiilor despre cipurile eMMC și faceți clic pe „Reîncărcare informații cip” pentru a vedea rezultatele modificate. Dacă comparația arată același rezultat, înseamnă că această operațiune a fost finalizată.



Aceasta imagine încheie explicația despre cum se citește și se scrie registrul EXT_CSD al unui cip EMMC folosind programatorul QT188A, precum și funcțiile registrelor CID și CSD.


Niciun comentariu:

Trimiteți un comentariu