Obsah:

Hacknite CFA735/CFA835: 4 kroky
Hacknite CFA735/CFA835: 4 kroky

Video: Hacknite CFA735/CFA835: 4 kroky

Video: Hacknite CFA735/CFA835: 4 kroky
Video: Raspberry Pi, USB-Serial, Crystalfonts CFA633 2024, Júl
Anonim
Nabehnite na CFA735/CFA835
Nabehnite na CFA735/CFA835

Máte projekt, ktorý potrebuje displej, klávesnicu a určitú pamäť, ale predinštalovaný firmvér v module Crystalfontz CFA735 alebo CFA835 nie je úplne to, čo hľadáte? Máte šťastie - tieto moduly môžete hacknúť a načítať vlastný firmvér.

CFA735 a CFA835 sú všestranné inteligentné LCD moduly. Crystalfontz CFA735 aj CFA835 sú založené na hardvérovom module CFA10052, takže počas tohto tutoriálu budú CFA735 a/alebo CFA835 označované ako CFA10052. CFA10052 je možné preprogramovať tak, aby používal váš vlastný firmvér.

  • Mikrokontrolér STMicroelectronics STM32F401
  • ARM 32-bitový procesor Cortex ™ -M4 @ 84 MHz
  • 256 kB Flash, 64 kB RAM
  • 244 x 68 pixelov podsvietený LCD
  • Sitronix ST7529 32 grafický LCD ovládač v odtieňoch sivej
  • Spínané napájanie s podporou Buck-boost umožňuje široký rozsah napájacieho napätia
  • Samostatné spínacie LED regulátory jasu pre podsvietenie klávesnice a LCD
  • 6 -tlačidlová podsvietená klávesnica
  • 4x dvojfarebné (červené/zelené) diódy LED
  • Rozhranie USB2
  • slot na kartu microSD
  • 5 univerzálnych IO pinov (GPIO)
  • Viac sériových/SPI/I2C/CAN rozhraní (v závislosti od použitia GPIO).

Tento tutoriál vám ukáže, ako nahradiť firmvér dodávaný na modeli CFA10052 novým firmvérom, ktorý:

  1. Zobrazujte na LCD striedavú mriežku s aktuálnym podsvietením, kontrastom LCD a informáciami o stave klávesnice;
  2. Ovládajte podsvietenie a kontrast LCD pomocou klávesnice.
  3. Postupne zmeňte farbu štyroch diód LED z červenej na zelenú.
  4. Povoľte sériový port USART na kolíkoch Header-1 1 a 2 (115200 baudov) a zopakujte všetky prijaté údaje.
  5. Povoľte virtuálny sériový port USB a všetky prijaté údaje odošlite späť hostiteľovi.
  6. Zahŕňa, ale nepreukazuje, prístup k súborom na čítanie/zápis uSD.

Samozrejme, pomocou týchto krokov môžete napísať svoj vlastný firmvér a načítať ho.

DÔLEŽITÁ POZNÁMKA:

Hardvérový modul Crystalfontz CFA10052 sa dodáva naprogramovaný so zavádzačom a firmvérom CFA735/CFA835. Zavádzač a firmvér CFA735/CFA835 nie sú open source a nemôžu byť kopírované z CFA10052 používateľom, ani ich nemôžu programovať na CFA10052. Ak sa budete chcieť vrátiť k firmvéru CFA735/CFA835, budete ho musieť odoslať späť do Crystalfontz, aby ho nechal preprogramovať.

Zásoby

  • Modul Crystalfontz CFA10052 (hardvér v1.1 alebo novší) (CFA735 / CFA835)
  • PC (Windows/Linux/OSX) s nainštalovaným nástrojom STM32CubeIDE a STM32 ST-LINK
  • Programovacie rozhranie STMicroelectronics ST-LINK (V2 alebo V3)
  • Programovací kábel CFA10052 (podrobnosti nižšie)
  • Vlastný firmvér (alebo tu použite náš)
  • Ak používate systém Windows 7/8/8.1/10 (alebo ekvivalentné verzie servera) a chcete otestovať virtuálny sériový port USB, budete si musieť stiahnuť ovládače tu. Sériový port USB bude fungovať bez nutnosti ďalších ovládačov v systéme Windows 10+, Linux, OS-X.

Krok 1: Zhromažďujte/vytvárajte zásoby

Zbierajte/vytvárajte zásoby
Zbierajte/vytvárajte zásoby

Odporúčame načítať a použiť tento príklad projektu firmvéru STM32CubeIDE. STM32CubeIDE je bezplatné IDE založené na Eclipse, ktoré bolo upravené spoločnosťou STMicroelectronics tak, aby obsahovalo nástroje špecifické pre STM32. IDE je možné stiahnuť na webovej stránke STM32CubeIDE.

Aby bola zachovaná správna činnosť konfiguračného nástroja zariadenia STM, musíte upravovať iba zdrojový kód vytvorený v konfiguračnom nástroji zariadenia medzi zodpovedajúcimi blokmi komentárov „USER CODE BEGIN xxx“a „USER CODE END xxx“.

Ďalej sa rozhodnite, či nás kontaktujete kvôli programovaciemu káblu CFA10052, alebo si vytvoríte vlastný. V tomto návode sa nebudeme zaoberať výrobou kábla podrobne, ale ak si chcete vytvoriť vlastný programovací kábel CFA10052, prepojenia nájdete na stránke GitHub. Najlepším spôsobom, ako to urobiť, je začať šestnásťpólový plochý kábel a spojte ho s káblom pre ST Link.

Krok 2: Vymažte existujúci firmvér

Vymazať existujúci firmvér
Vymazať existujúci firmvér
Vymazať existujúci firmvér
Vymazať existujúci firmvér

Ak je váš modul CFA10052 nabitý dodaným firmvérom CFA735 alebo CFA835, budete musieť pred inštaláciou nového firmvéru najskôr vymazať odchádzajúci firmvér. Flash pamäť je chránená proti čítaniu a zápisu a musí byť odstránená pred načítaním vlastného firmvéru.

Existujú dva spôsoby odstránenia nainštalovaného firmvéru:

  1. Odpojte kábel USB (alebo napájací zdroj) od modulu CFA10052.
  2. Pripojte CFA10052 k ST-LINK pomocou programovacieho kábla (pozri vyššie) a ST-LINK k hostiteľskému počítaču.
  3. Podržte klávesy hore a dole na CFA10052 a súčasne zapojte USB kábel do CFA10052 (alebo napájacieho zdroja). CFA10052 by teraz mal zobrazovať obrazovku zavádzača Crystalfontz.
  4. Spustite nástroj STM32 ST-LINK. V ponuke „Cieľ“otvorte okno „Voliteľné bajty“. V poli „Ochrana pred prečítaním“vyberte „Úroveň 0“. Kliknite na Použiť. Firmvér Crystalfontz bol teraz odstránený a je možné teraz naprogramovať akýkoľvek vlastný firmvér.

Alternatívna metóda (ak nemôžete vstúpiť do bootloadera Crystalfontz podržaním klávesov):

  1. Odpojte kábel USB (alebo napájací zdroj) od modulu CFA10052.
  2. Pripojte testovací bod BOOT0 (malá podložka na zadnej strane modulu CFA10052, blízko konektora H1) k 3,3 V alebo 5 V.
  3. Pripojte CFA10052 k ST-LINK pomocou programovacieho kábla (pozri vyššie) a ST-LINK k hostiteľskému počítaču.
  4. Zapnite CFA10052 (alebo ho pripojte k napájaniu USB). Displej by mal byť prázdny.
  5. Spustite nástroj STM32 ST-LINK. V ponuke „Cieľ“otvorte okno „Voliteľné bajty“. V poli „Ochrana pred čítaním“vyberte „Úroveň 0“. Kliknite na Použiť. Firmvér Crystalfontz bol teraz odstránený a je možné teraz naprogramovať akýkoľvek vlastný firmvér.
  6. Pripojenie kolíka BOOT0 na 3,3 V/5 V už nie je potrebné.

Krok 3: Zostavte a vložte firmvér do CFA10052

Skompilovajte a nahrajte svoj firmvér do CFA10052
Skompilovajte a nahrajte svoj firmvér do CFA10052

Po odstránení dodaného firmvéru Crystalfontz ste pripravení skompilovať a načítať svoj vlastný firmvér. Na účely tohto tutoriálu sme dodali alternatívny firmvér, ktorý pomocou klávesnice ovláda jas podsvietenia a kontrast displeja.

Zostavenie firmvéru:

  1. Otvorte STM32CubeIDE
  2. V ponuke Súbor vyberte položku Importovať a potom „Importovať existujúce projekty do pracovného priestoru“.
  3. V poli koreňového adresára vyberte adresár tohto príkladu firmvéru.
  4. Kliknite na tlačidlo Dokončiť.
  5. V Prieskumníkovi projektov vyberte projekt cfa10052_example, potom otvorte súbor Src a súbor „main.c“.
  6. V ponuke Projekt vyberte položku „Vytvoriť projekt“.

Programovanie a spustenie firmvéru na CFA10052:

  1. Odpojte kábel USB (alebo napájací zdroj) od modulu CFA10052.
  2. Pripojte CFA10052 k ST-LINK pomocou programovacieho kábla (pozri vyššie) a ST-LINK k hostiteľskému počítaču.
  3. Pripojte kábel USB (alebo napájací zdroj) k CFA10052.
  4. Uistite sa, že bol vytvorený firmvérový projekt (pozri kroky vyššie) a v Prieskumníkovi projektov sa v časti „cfa10052_example“zobrazuje „Binaries“.
  5. Ak „Binárne súbory“nie sú viditeľné, kliknite pravým tlačidlom myši na projekt „cfa10052_example“a vyberte položku Obnoviť.
  6. Vyberte ponuku Spustiť a potom „Ladiť konfigurácie“.
  7. Do poľa výberu typov cieľov ladenia vľavo kliknite pravým tlačidlom myši na „Aplikácia STM32 Cortex-M“a zvoľte „Nová konfigurácia“.
  8. Zobrazí sa konfiguračné okno. Predvolené nastavenia sú v poriadku. Kliknite na tlačidlo Použiť a potom na tlačidlo Zavrieť.
  9. V ponuke Spustiť vyberte „Ladiť ako“a potom „Aplikácia STM32 Cortex“. STM32CubeIDE by sa teraz mal pripojiť k ST-LINK a nahrať a spustiť firmvér na CFA10052.

Vyššie uvedené kroky sú potrebné iba pri prvom načítaní projektu v STM32CubeIDE. Po vykonaní zmien zdrojového kódu firmvéru je potrebné iba opätovné zostavenie projektu (skratka Ctrl-B) a programovanie CFA10052 (klávesová skratka F11).

Firmvér je tiež možné načítať ktoroukoľvek z bežných metód zavádzača STM32 (ladenie je k dispozícii iba pomocou rozhrania SWD a ST-LINK). Ak napríklad používate sériové pripojenie, je možné použiť USART1 (RX = H1-Pin1 a TX = H1-Pin2). Podrobnejšie informácie o bootloaderi a rozhraniach STM32 nájdete v dokumente PDF tu.

Krok 4: Licencie

Zdrojový kód dodávaný spoločnosťou Crystalfontz je poskytovaný pomocou licencie The Unlicense, licencie bez akýchkoľvek podmienok, ktorá dedikuje diela vo verejnom vlastníctve. Nelicencované diela, úpravy a väčšie diela môžu byť distribuované za odlišných podmienok a bez zdrojového kódu. Podrobnosti nájdete v súbore UNLICENCE alebo na adrese unlicense.org.

Knižnice zdrojového kódu vytvorené STM32CubeIDE a STMicroelectronics sú chránené autorským právom (c) 2019 STMicroelectronics. Všetky práva vyhradené. Softvérový komponent je licencovaný spoločnosťou ST na základe licencie BSD 3-Clause, „licencia“; Tieto súbory môžete používať iba v súlade s licenciou. Kópiu licencie môžete získať na adrese opensource.org/licenses/BSD-3-Clause.

Odporúča: