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, Srpanj
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 temelje se na hardverskom modulu CFA10052, pa će se tijekom ovog vodiča CFA735 i/ili CFA835 nazivati CFA10052. CFA10052 se može ponovno programirati za pokretanje vlastitog prilagođenog firmvera.

  • STMicroelectronics STM32F401 mikrokontroler
  • ARM 32-bitni Cortex ™ -M4 CPU na 84 MHz
  • 256K Flash, 64K RAM -a
  • LCD s pozadinskim osvjetljenjem 244 x 68 piksela
  • Sitronix ST7529 32 grafički LCD kontroler u sivim tonovima
  • Sklopna opskrba pojačanjem pojačanja omogućuje širok raspon napona napajanja
  • Odvojeni prekidači za kontrolu svjetline LED tipkovnice i LCD pozadinskog osvjetljenja
  • Tastatura sa 6 tipki s pozadinskim osvjetljenjem
  • 4x dvobojne (crvene/zelene) LED diode
  • USB2 sučelje
  • 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 izmjeničnu mrežu s trenutnim pozadinskim osvjetljenjem, kontrastom LCD -a i podacima o statusu tipkovnice;
  2. Upravljajte pozadinskim osvjetljenjem i kontrastom LCD -a pomoću tipkovnice.
  3. Promijenite boju četiri LED diode iz crvene u zelenu u nizu.
  4. Omogućite serijski port USART na zaglavljima 1 pinova 1 i 2 (115200 bauda) i ponovite sve primljene podatke.
  5. Omogućite USB virtualni serijski priključak i povratite sve primljene podatke natrag 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 NOTA:

Hardverski modul Crystalfontz CFA10052 isporučuje se programiran s pokretačkim programom i firmverom CFA735/CFA835. Bootloader i firmver CFA735/CFA835 nisu otvorenog koda te ih korisnik ne može kopirati s 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.

Pribor

  • Modul Crystalfontz CFA10052 (hardver v1.1 ili noviji) (CFA735 / CFA835)
  • PC (Windows/Linux/OSX) sa instaliranim STM32CubeIDE i STM32 ST-LINK Utility
  • Sučelje za programiranje STMicroelectronics ST-LINK (V2 ili V3)
  • Kabel za programiranje CFA10052 (detalji ispod)
  • Prilagođeni firmver (ili upotrijebite naš ovdje)
  • Ako koristite Windows 7/8/8.1/10 (ili ekvivalentne verzije poslužitelja) 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 u sustavima Windows 10+, Linux, OS-X.

Korak 1: Prikupite/stvorite potrepštine

Prikupite/stvorite potrepštine
Prikupite/stvorite potrepštine

Preporučujemo korištenje STM32CubeIDE za učitavanje i korištenje ovog primjera projekta firmvera. STM32CubeIDE je besplatni IDE baziran 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 izrađen u alatu 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 izrađivati kabel, ali ako želite napraviti vlastiti programski kabel CFA10052, veze možete pronaći na stranici GitHub, najbolji način za to je da počnete s šesnaest pinski vrpčni kabel i spojite ga s kabelom za ST Link.

Korak 2: Obrišite postojeći firmver

Izbrišite postojeći firmver
Izbrišite postojeći firmver
Izbrišite postojeći firmver
Izbrišite postojeći firmver

Ako je vaš CFA10052 modul napunjen isporučenim firmverom CFA735 ili CFA835, prije instaliranja novog firmvera morate prvo izbrisati postojeći firmver. 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 dvije metode za uklanjanje instaliranog firmvera:

  1. Odspojite USB kabel (ili napajanje) iz modula CFA10052.
  2. Spojite CFA10052 na ST-LINK pomoću kabela za programiranje (vidi gore), a ST-LINK na računalo domaćin.
  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 izborniku "Target" otvorite prozor "Option Bytes". U okviru "Zaštita od čitanja" odaberite "Razina 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 testnu točku BOOT0 (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 kabela za programiranje (vidi gore), a ST-LINK na računalo domaćin.
  4. Uključite CFA10052 (ili ga priključite na USB napajanje). Zaslon bi trebao biti prazan.
  5. Pokrenite STM32 ST-LINK Utility. U izborniku "Target" otvorite prozor "Option Bytes". U okviru "Read Out Protection" odaberite "Level 0". Kliknite Primijeni. Firmware Crystalfontz sada je 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

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

Nakon što je uklonjeni firmver isporučen s Crystalfontzom spreman za sastavljanje i učitavanje vlastitog firmvera. Za potrebe ovog vodiča, isporučili smo alternativni firmver koji tipkovnici daje kontrolu svjetline pozadinskog osvjetljenja i kontrasta zaslona.

Za sastavljanje firmvera:

  1. Otvorite STM32CubeIDE
  2. Na izborniku Datoteka odaberite Uvoz, a zatim "Uvezi postojeće projekte u radni prostor".
  3. U okviru korijenskog direktorija odaberite direktorij ovog primjera firmvera.
  4. Pritisnite gumb Završi.
  5. U Project Exploreru odaberite projekt cfa10052_example, zatim otvorite datoteku Src i "main.c".
  6. Na 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 kabela za programiranje (vidi gore), a ST-LINK na računalo domaćin.
  3. Spojite USB kabel (ili izvor napajanja) na CFA10052.
  4. Provjerite je li projekt firmvera izgrađen (pogledajte gore navedene korake), a "Binaries" se pojavljuje 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 okviru za odabir vrsta ciljeva za otklanjanje pogrešaka lijevo kliknite desnom tipkom miša "STM32 Cortex-M Application" i odaberite "New Configuration".
  8. Prikazat će se prozor za konfiguraciju. Zadane postavke su u redu. Pritisnite Primijeni pa gumb Zatvori.
  9. Na izborniku Run odaberite "Debug As", zatim "STM32 Cortex Application". STM32CubeIDE sada bi se 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 što su napravljene izmjene izvornog koda firmvera, potrebna je samo ponovna izgradnja projekta (prečac Ctrl-B) i programiranje CFA10052 (prečac tipke F11).

Firmware se također može učitati putem bilo koje od normalnih metoda pokretanja STM32 bootloadera (otklanjanje pogrešaka dostupno je 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 bootloaderu 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 uvjeta koja djela posvećuju javnoj domeni. Nelicencirana djela, izmjene i veća djela mogu se distribuirati pod različitim uvjetima i bez izvornog koda. Za detalje pogledajte datoteku UNLICENCE ili unlicense.org.

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

Preporučeni: