Sadržaj:

Hakirajte CFA735/CFA835: 4 koraka
Hakirajte CFA735/CFA835: 4 koraka

Video: Hakirajte CFA735/CFA835: 4 koraka

Video: Hakirajte CFA735/CFA835: 4 koraka
Video: Raspberry Pi, USB-Serial, Crystalfonts CFA633 2024, Juli
Anonim
Hakirajte CFA735/CFA835
Hakirajte CFA735/CFA835

Imate li projekt koji treba zaslon, tipkovnicu i nešto memorije, ali unaprijed instalirani firmver na modulu Crystalfontz CFA735 ili CFA835 nije baš ono što tražite? Imate sreće - možete hakirati ove module za učitavanje prilagođenog firmvera.

CFA735 i CFA835 su svestrani inteligentni LCD moduli. I Crystalfontz CFA735 i CFA835 zasnovani su na CFA10052 hardverskom modulu, pa će se tokom ovog vodiča CFA735 i/ili CFA835 nazivati CFA10052. CFA10052 se može ponovo programirati za pokretanje vlastitog prilagođenog firmvera.

  • STMicroelectronics STM32F401 mikrokontroler
  • ARM 32-bitni Cortex ™ -M4 CPU na 84 MHz
  • 256K Flash, 64K RAM
  • LCD sa pozadinskim osvetljenjem 244 x 68 piksela
  • Sitronix ST7529 32 grafički LCD kontroler u sivim tonovima
  • Sklopno napajanje sa pojačanjem potiskivanja omogućava širok raspon napona napajanja
  • Odvojeni prekidači za kontrolu svjetline LED tipkovnice i LCD pozadinskog osvjetljenja
  • Tastatura sa 6 tastera sa pozadinskim osvetljenjem
  • 4x dvobojne (crvene/zelene) LED diode
  • USB2 interfejs
  • utor za microSD karticu
  • 5 IO pinova opće namjene (GPIO -ovi)
  • Više serijskih/SPI/I2C/CAN sučelja (ovisno o upotrebi GPIO -a).

Ovaj vodič će vam pokazati kako zamijeniti firmver koji se isporučuje na CFA10052 novim firmverom koji će:

  1. Prikažite na LCD -u naizmjeničnu mrežu sa trenutnim pozadinskim osvjetljenjem, kontrastom LCD -a i podacima o statusu tastature;
  2. Upravljajte pozadinskim osvjetljenjem i kontrastom LCD -a pomoću tastature.
  3. Promijenite boju četiri LED diode iz crvene u zelenu u nizu.
  4. Omogućite USART serijski port na zaglavljima-1 pinovi 1 i 2 (115200 bauda) i ponovite sve primljene podatke.
  5. Omogućite USB virtualni serijski port i eho sve primljene podatke vratite na host.
  6. Uključuje, ali ne demonstrira, pristup USB datotekama za čitanje/pisanje.

Naravno, možete napisati vlastiti firmver i učitati ga pomoću ovih koraka.

VAŽNA NAPOMENA:

Hardverski modul Crystalfontz CFA10052 isporučuje se programiran sa pokretačkim programom i CFA735/CFA835 firmverom. Bootloader i firmver CFA735/CFA835 nisu otvorenog koda i korisnik ih ne može kopirati sa CFA10052, niti ih može programirati na CFA10052. Ako se na kraju poželite vratiti na firmver CFA735/CFA835, morat ćete ga poslati natrag u Crystalfontz kako biste ga ponovno programirali.

Supplies

  • Modul Crystalfontz CFA10052 (hardver v1.1 ili noviji) (CFA735 / CFA835)
  • PC (Windows/Linux/OSX) sa instaliranim STM32CubeIDE i STM32 ST-LINK Utility
  • STMicroelectronics ST-LINK (V2 ili V3) programsko sučelje
  • Kabel za programiranje CFA10052 (detalji ispod)
  • Prilagođeni firmver (ili koristite naš ovdje)
  • Ako koristite Windows 7/8/8.1/10 (ili ekvivalentne verzije servera) i želite testirati USB virtualni serijski port, morate preuzeti upravljačke programe odavde. USB serijski port će raditi bez potrebe za dodatnim upravljačkim programima na Windows 10+, Linux, OS-X.

Korak 1: Prikupite/kreirajte zalihe

Prikupite/kreirajte zalihe
Prikupite/kreirajte zalihe

Preporučujemo korištenje STM32CubeIDE za učitavanje i korištenje ovog primjera projekta firmvera. STM32CubeIDE je besplatni IDE zasnovan na Eclipse -u koji je STMicroelectronics izmijenio tako da uključuje alate specifične za STM32. IDE se može preuzeti na web stranici STM32CubeIDE.

Da biste održali ispravan rad alata za konfiguraciju STM uređaja, morate urediti samo izvorni kod napravljen za konfiguraciju uređaja između odgovarajućih blokova komentara "USER CODE BEGIN xxx" i "USER CODE END xxx".

Zatim odlučite hoćete li nas kontaktirati radi programiranja kabela CFA10052 ili ćete sami napraviti. U ovom vodiču nećemo detaljno praviti kabel, ali ako želite napraviti svoj vlastiti programski kabel CFA10052, veze možete pronaći na stranici GitHub, najbolji način za to je da počnete sa šesnaest pinski vrpčni kabel i spojite ga s kabelom za ST Link.

Korak 2: Obrišite postojeći firmver

Obrišite postojeći firmver
Obrišite postojeći firmver
Obrišite postojeći firmver
Obrišite postojeći firmver

Ako je vaš CFA10052 modul učitan isporučenim firmverom CFA735 ili CFA835, prvo morate izbrisati postojeći firmver prije instaliranja novog firmvera. Flash memorija je zaštićena za čitanje i pisanje i mora se ukloniti prije nego što se može učitati prilagođeni firmver.

Postoje dva načina za uklanjanje instaliranog firmvera:

  1. Odspojite USB kabel (ili napajanje) iz modula CFA10052.
  2. Spojite CFA10052 na ST-LINK pomoću kabla za programiranje (pogledajte gore), a ST-LINK na glavni računar.
  3. Držite tipke za gore i dolje na CFA10052 dok priključujete USB kabel u CFA10052 (ili izvor napajanja). CFA10052 bi sada trebao prikazati zaslon Crystalfontz Bootloader.
  4. Pokrenite STM32 ST-LINK Utility. U meniju "Target" otvorite prozor "Option Bytes". U okviru "Zaštita od čitanja" odaberite "Nivo 0". Kliknite Primijeni. Crystalfontz firmver je sada uklonjen i svaki prilagođeni firmver se sada može programirati.

Alternativna metoda (ako ne možete ući u Crystalfontz Bootloader držeći tipke):

  1. Odspojite USB kabel (ili napajanje) iz modula CFA10052.
  2. Spojite BOOT0 testnu točku (mali jastučić na stražnjoj strani modula CFA10052, blizu priključka H1) na 3,3 V ili 5 V.
  3. Spojite CFA10052 na ST-LINK pomoću kabla za programiranje (pogledajte gore), a ST-LINK na PC računar.
  4. Uključite CFA10052 (ili ga priključite na USB napajanje). Zaslon bi trebao biti prazan.
  5. Pokrenite STM32 ST-LINK Utility. U meniju "Target" otvorite prozor "Option Bytes". U polju "Read Out Protection" odaberite "Level 0". Kliknite Primijeni. Crystalfontz firmver je sada uklonjen i svaki prilagođeni firmver se sada može programirati.
  6. Priključivanje BOOT0 pina na 3.3V/5V više nije potrebno.

Korak 3: Sastavite i učitajte svoj firmver na CFA10052

Kompajlirajte i učitajte svoj firmver na CFA10052
Kompajlirajte i učitajte svoj firmver na CFA10052

Nakon uklanjanja isporučenog firmvera Crystalfontz, spremni ste za sastavljanje i učitavanje vlastitog firmvera. Za potrebe ovog vodiča, isporučili smo alternativni firmver koji tastaturi daje kontrolu svjetline pozadinskog osvjetljenja i kontrasta ekrana.

Da biste kompajlirali firmver:

  1. Otvorite STM32CubeIDE
  2. U izborniku Datoteka odaberite Uvoz, a zatim "Uvezi postojeće projekte u radni prostor".
  3. U okviru osnovnog direktorija odaberite direktorij ovog primjera firmvera.
  4. Pritisnite dugme Završi.
  5. U Project Exploreru odaberite projekt cfa10052_example, zatim otvorite datoteku Src i "main.c".
  6. U izborniku Project odaberite "Build Project".

Za programiranje i pokretanje firmvera na CFA10052:

  1. Odspojite USB kabel (ili napajanje) iz modula CFA10052.
  2. Spojite CFA10052 na ST-LINK pomoću kabla za programiranje (pogledajte gore), a ST-LINK na glavni računar.
  3. Spojite USB kabel (ili izvor napajanja) na CFA10052.
  4. Provjerite je li projekt firmvera izgrađen (pogledajte gore navedene korake), a "Binarne datoteke" se pojavljuju pod "cfa10052_example" u Project Exploreru.
  5. Ako "Binarne datoteke" nisu vidljive, desnom tipkom miša kliknite projekt "cfa10052_example" i odaberite Osvježi.
  6. Odaberite izbornik Run, a zatim "Debug Configurations".
  7. U polju za odabir tipova ciljeva za otklanjanje grešaka lijevo kliknite desnom tipkom miša na "STM32 Cortex-M aplikacija" i odaberite "Nova konfiguracija".
  8. Prikazat će se prozor za konfiguraciju. Zadane postavke su u redu. Pritisnite Primijeni, zatim dugme Zatvori.
  9. U izborniku Run odaberite "Debug As", zatim "STM32 Cortex Application". STM32CubeIDE bi se sada trebao spojiti na ST-LINK te učitati i pokrenuti firmver na CFA10052.

Gore navedeni koraci potrebni su samo pri prvom učitavanju projekta u STM32CubeIDE. Nakon izmjena izvornog koda firmvera, potrebna je samo ponovna izgradnja projekta (prečica Ctrl-B) i programiranje CFA10052 (prečica na tipki F11).

Firmware se također može učitati putem bilo koje od uobičajenih metoda za učitavanje programa STM32 (otklanjanje grešaka je dostupno samo pomoću SWD sučelja i ST-LINK-a). Na primjer, ako koristite serijsko povezivanje, može se koristiti USART1 (RX = H1-Pin1 i TX = H1-Pin2). Za detaljnije informacije o STM32 pokretačkom programu i sučeljima pogledajte PDF ovdje.

Korak 4: Licence

Izvorni kôd koji isporučuje Crystalfontz isporučuje se pomoću The Unlicense, licence bez ikakvih uslova koji djela posvećuju javnoj domeni. Nelicencirana djela, izmjene i veća djela mogu se distribuirati pod različitim uslovima i bez izvornog koda. Za detalje pogledajte datoteku UNLICENCE ili unlicense.org.

Izvorni kod i biblioteke STMicroelectronics kreirane od STM32CubeIDE zaštićene su autorskim pravima (c) 2019 STMicroelectronics. Sva prava zadržana. Softverska komponenta je licencirana od strane ST pod licencom BSD 3 klauzule, "Licenca"; Ove datoteke ne možete koristiti osim u skladu s Licencom. Kopiju licence možete dobiti na opensource.org/licenses/BSD-3-Clause.

Preporučuje se: