Cuprins:
- Provizii
- Pasul 1: colectați / creați consumabile
- Pasul 2: Ștergeți firmware-ul existent
- Pasul 3: Compilați și încărcați firmware-ul pe CFA10052
- Pasul 4: Licențe
Video: Hackează un CFA735 / CFA835: 4 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:43
Aveți un proiect care are nevoie de afișaj, tastatură și memorie, dar firmware-ul preîncărcat de pe modulul Crystalfontz CFA735 sau CFA835 nu este exact ceea ce căutați? Ai noroc - poți hack aceste module pentru a încărca firmware personalizat.
CFA735 și CFA835 sunt module LCD inteligente versatile. Atât Crystalfontz CFA735, cât și CFA835 se bazează pe modulul hardware CFA10052, deci în timpul acestui tutorial CFA735 și / sau CFA835 vor fi denumite CFA10052. CFA10052 poate fi reprogramat pentru a rula propriul firmware personalizat.
- Microcontroler STMicroelectronics STM32F401
- ARM 32-bit Cortex ™ -M4 CPU @ 84 MHz
- 256K Flash, 64K RAM
- LCD retroiluminat de 244 x 68 pixeli
- Controler LCD grafic Sitronix ST7529 32 în tonuri de gri
- Alimentarea cu comutare Buck-boost permite o gamă largă de tensiune de alimentare
- Controlere separate de luminozitate cu comutare LED pentru tastatură și lumini de fundal LCD
- Tastatură cu 6 butoane iluminată din spate
- 4x LED-uri bi-color (roșu / verde)
- Interfață USB2
- slot pentru card microSD
- 5 pini IO de uz general (GPIO)
- Mai multe interfețe serial / SPI / I2C / CAN (în funcție de utilizarea GPIO).
Acest tutorial vă va arăta cum să înlocuiți firmware-ul livrat pe un CFA10052 cu un firmware nou care va:
- Afișați pe ecranul LCD o rețea alternativă, cu lumini de fundal actuale, contrast LCD și informații despre starea tastaturii;
- Controlați luminile de fundal și contrastul LCD utilizând tastatura.
- Schimbați culoarea celor patru LED-uri din roșu în verde în ordine.
- Activați portul serial USART pe pini 1 și 2 Header-1 (115200 baud) și faceți ecou tuturor datelor primite.
- Activați portul serial virtual USB și faceți ecoul tuturor datelor primite înapoi la gazdă.
- Include, dar nu demonstrează, acces la fișierul de citire / scriere uSD.
Desigur, puteți scrie propriul firmware și îl puteți încărca folosind acești pași.
NOTĂ IMPORTANTĂ:
Modulul hardware Crystalfontz CFA10052 este livrat programat cu un bootloader și firmware CFA735 / CFA835. Bootloader-ul și firmware-ul CFA735 / CFA835 nu sunt open-source și nu pot fi copiate de pe CFA10052 de către utilizator și nici nu pot fi programate pe CFA10052 de către utilizator. Dacă ajungeți să reveniți la firmware-ul CFA735 / CFA835, va trebui să îl expediați înapoi la Crystalfontz pentru a-l reprograma.
Provizii
- Crystalfontz CFA10052 (hardware v1.1 sau o versiune ulterioară) Modul (CFA735 / CFA835)
- PC (Windows / Linux / OSX) cu STM32CubeIDE și STM32 ST-LINK Utility instalat
- STMicroelectronics ST-LINK (V2 sau V3) interfață de programare
- Cablu de programare CFA10052 (detalii mai jos)
- Firmware personalizat (sau utilizați-l pe al nostru aici)
- Dacă utilizați Windows 7/8 / 8.1 / 10 (sau versiuni de server echivalente) și doriți să testați portul serial virtual USB, va trebui să descărcați driverele de aici. Portul serial USB va funcționa fără a necesita drivere suplimentare pe Windows 10+, Linux, OS-X.
Pasul 1: colectați / creați consumabile
Vă recomandăm să utilizați STM32CubeIDE pentru a încărca și utiliza acest exemplu de proiect de firmware. STM32CubeIDE este un IDE gratuit bazat pe Eclipse care a fost modificat de STMicroelectronics pentru a include instrumente specifice STM32. IDE-ul poate fi descărcat de pe pagina web STM32CubeIDE.
Pentru a menține funcționarea corectă a instrumentului de configurare a dispozitivului STM, trebuie să editați numai codul sursă creat de instrumentul de configurare a dispozitivului între blocurile de comentarii potrivite „USER CODE BEGIN xxx” și „USER CODE END xxx”.
Apoi, decideți dacă să ne contactați pentru un cablu de programare CFA10052 sau să vă creați propriul. Nu vom trece la realizarea cablului în detaliu în acest tutorial, dar dacă doriți să creați propriul cablu de programare CFA10052, puteți găsi conexiunile pe pagina GitHub, cel mai bun mod de a face acest lucru este să începeți cu un cablu panglică cu șaisprezece pini și legați-l de cablul pentru ST Link.
Pasul 2: Ștergeți firmware-ul existent
Dacă modulul dvs. CFA10052 este încărcat cu firmware-ul CFA735 sau CFA835 furnizat, va trebui mai întâi să ștergeți firmware-ul care iese înainte de a instala un firmware nou. Memoria flash este protejată la citire și scriere și trebuie eliminată înainte de a putea fi încărcat firmware-ul personalizat.
Există două metode pentru eliminarea firmware-ului instalat:
- Deconectați cablul USB (sau sursa de alimentare) de la modulul CFA10052.
- Conectați CFA10052 la ST-LINK folosind cablul de programare (a se vedea mai sus) și ST-LINK la computerul gazdă.
- Țineți apăsat tastele sus și jos de pe CFA10052 în timp ce conectați cablul USB la CFA10052 (sau sursa de alimentare). CFA10052 ar trebui să afișeze acum ecranul Crystalfontz Bootloader.
- Rulați utilitarul STM32 ST-LINK. În meniul „Țintă”, deschideți fereastra „Opțiune octeți”. În caseta „Protecție citire”, selectați „Nivel 0”. Faceți clic pe Aplicați. Firmware-ul Crystalfontz a fost acum eliminat și orice firmware personalizat poate fi acum programat.
Metodă alternativă (dacă nu puteți intra în Crystalfontz Bootloader ținând apăsate tastele):
- Deconectați cablul USB (sau sursa de alimentare) de la modulul CFA10052.
- Conectați punctul de test BOOT0 (un mic tampon pe partea din spate a modulului CFA10052, lângă conectorul H1) la 3,3V sau 5V.
- Conectați CFA10052 la ST-LINK folosind cablul de programare (a se vedea mai sus) și ST-LINK la computerul gazdă.
- Porniți CFA10052 (sau conectați-l la alimentare USB). Afișajul ar trebui să fie gol.
- Rulați utilitarul STM32 ST-LINK. În meniul „Țintă”, deschideți fereastra „Opțiune octeți”. În caseta „Protecție citire”, selectați „Nivel 0”. Faceți clic pe Aplicați. Firmware-ul Crystalfontz a fost acum eliminat și orice firmware personalizat poate fi acum programat.
- Conectarea pinului BOOT0 la 3,3V / 5V nu mai este necesară.
Pasul 3: Compilați și încărcați firmware-ul pe CFA10052
Odată ce firmware-ul furnizat de Crystalfontz a fost eliminat, sunteți gata să compilați și să încărcați propriul firmware. În scopul acestui tutorial, am furnizat câteva firmware alternative care oferă controlul tastaturii asupra luminii de fundal și a contrastului afișajului.
Pentru a compila firmware-ul:
- Deschideți STM32CubeIDE
- În meniul Fișier, alegeți Import, apoi „Importați proiectele existente în spațiul de lucru”.
- În caseta director rădăcină, selectați directorul acestui exemplu de firmware.
- Faceți clic pe butonul Finalizare.
- În Project Explorer, selectați proiectul cfa10052_example, apoi deschideți fișierul Src și „main.c”.
- În meniul Proiect, selectați „Construiți proiectul”.
Pentru a programa și rula firmware-ul pe CFA10052:
- Deconectați cablul USB (sau sursa de alimentare) de la modulul CFA10052.
- Conectați CFA10052 la ST-LINK folosind cablul de programare (a se vedea mai sus) și ST-LINK la computerul gazdă.
- Conectați cablul USB (sau sursa de alimentare) la CFA10052.
- Asigurați-vă că proiectul de firmware a fost construit (consultați pașii de mai sus) și „Binaries” apare sub „cfa10052_example” în Project Explorer.
- Dacă „Binaries” nu este vizibil, faceți clic dreapta pe proiectul „cfa10052_example” și selectați Reîmprospătare.
- Selectați meniul Executare, apoi „Configurări de depanare”.
- În caseta de selectare a tipurilor țintă de depanare din stânga, faceți clic dreapta pe „STM32 Cortex-M Application” și selectați „Configurare nouă”.
- Va fi afișată o fereastră de configurare. Setările implicite sunt OK. Faceți clic pe Aplicare, apoi pe butonul Închidere.
- În meniul Run, selectați „Depanare ca”, apoi „STM32 Cortex Application”. STM32CubeIDE ar trebui să se conecteze acum la ST-LINK și să încarce și să ruleze firmware-ul pe CFA10052.
Pașii de mai sus sunt necesari numai la încărcarea proiectului pentru prima dată în STM32CubeIDE. După ce s-au făcut modificări ale codului sursă al firmware-ului, sunt necesare doar reconstruirea proiectului (comanda rapidă Ctrl-B) și programarea CFA10052 (comanda rapidă a tastei F11).
Firmware-ul poate fi, de asemenea, încărcat prin oricare dintre metodele normale de încărcare STM32 (depanarea este disponibilă numai utilizând interfața SWD și un ST-LINK). De exemplu, dacă se utilizează conexiunea serială, se poate utiliza USART1 (RX = H1-Pin1 și TX = H1-Pin2). Pentru informații mai detaliate despre bootloader-ul STM32 și interfețe, consultați PDF-ul aici.
Pasul 4: Licențe
Codul sursă furnizat de Crystalfontz este furnizat folosind The Unlicense, o licență fără condiții, care dedică lucrări domeniului public. Lucrările fără licență, modificările și lucrările mai mari pot fi distribuite în termeni diferiți și fără cod sursă. Pentru detalii, consultați fișierul UNLICENCE sau unlicense.org.
STM32CubeIDE a creat codul sursă și bibliotecile STMicroelectronics sunt Copyright (c) 2019 STMicroelectronics. Toate drepturile rezervate. Componenta software este licențiată de ST sub licența BSD 3-Clause, „Licența”; Nu puteți utiliza aceste fișiere decât în conformitate cu licența. Puteți obține o copie a licenței la opensource.org/licenses/BSD-3-Clause.
Recomandat:
Cum să faci 4G LTE dublă antenă BiQuade Pași simpli: 3 pași
Cum să fac 4G LTE Double BiQuade Antenna Pași simpli: De cele mai multe ori mă confrunt, nu am o putere de semnal bună pentru lucrările mele de zi cu zi. Asa de. Căut și încerc diferite tipuri de antenă, dar nu funcționează. După un timp pierdut, am găsit o antenă pe care sper să o fac și să o testez, pentru că nu se bazează pe principiul
Design de joc în Flick în 5 pași: 5 pași
Designul jocului în Flick în 5 pași: Flick este un mod foarte simplu de a crea un joc, în special ceva de genul puzzle, roman vizual sau joc de aventură
Sistemul de alertă pentru parcarea inversă a autovehiculului Arduino - Pași cu pași: 4 pași
Sistemul de alertă pentru parcarea inversă a autovehiculului Arduino | Pași cu pas: în acest proiect, voi proiecta un senzor senzor de parcare inversă Arduino Car Circuit folosind senzorul cu ultrasunete Arduino UNO și HC-SR04. Acest sistem de avertizare auto bazat pe Arduino poate fi utilizat pentru navigație autonomă, autonomie robotică și alte r
Detectarea feței pe Raspberry Pi 4B în 3 pași: 3 pași
Detectarea feței pe Raspberry Pi 4B în 3 pași: În acest instructabil vom efectua detectarea feței pe Raspberry Pi 4 cu Shunya O / S folosind Biblioteca Shunyaface. Shunyaface este o bibliotecă de recunoaștere / detectare a feței. Proiectul își propune să obțină cea mai rapidă viteză de detectare și recunoaștere cu
Cum să faci un contor de pași ?: 3 pași (cu imagini)
Cum să fac un contor de pași ?: obișnuiam să performez bine la multe sporturi: mersul pe jos, alergatul, mersul pe bicicletă, jocul de badminton etc. Îmi place să călăresc să călătoresc în preajmă. Ei bine, uită-te la burtica mea ostilă …… Ei bine, oricum, decid să reîncep să fac mișcare. Ce echipament ar trebui să pregătesc?