Obsah:

Hackujte CFA735/CFA835: 4 kroky
Hackujte CFA735/CFA835: 4 kroky

Video: Hackujte CFA735/CFA835: 4 kroky

Video: Hackujte CFA735/CFA835: 4 kroky
Video: Raspberry Pi, USB-Serial, Crystalfonts CFA633 2024, Červenec
Anonim
Hackujte CFA735/CFA835
Hackujte CFA735/CFA835

Máte projekt, který potřebuje displej, klávesnici a paměť, ale předinstalovaný firmware v modulu Crystalfontz CFA735 nebo CFA835 není přesně to, co hledáte? Máte štěstí - tyto moduly můžete hacknout a načíst vlastní firmware.

CFA735 a CFA835 jsou univerzální inteligentní LCD moduly. Crystalfontz CFA735 i CFA835 jsou založeny na hardwarovém modulu CFA10052, takže během tohoto kurzu budou CFA735 a/nebo CFA835 označovány jako CFA10052. CFA10052 lze přeprogramovat tak, aby provozoval váš vlastní firmware.

  • Mikrokontrolér STMicroelectronics STM32F401
  • ARM 32bitový procesor Cortex ™ -M4 @ 84 MHz
  • 256K Flash, 64K RAM
  • 244 x 68 pixelů podsvícený LCD
  • Sitronix ST7529 32 grafický LCD řadič ve stupních šedi
  • Spínací napájení Buck-boost umožňuje široký rozsah napájecího napětí
  • Samostatné spínací LED ovladače jasu pro podsvícení klávesnice a LCD
  • 6tlačítková podsvícená klávesnice
  • 4x dvoubarevné (červené/zelené) LED diody
  • Rozhraní USB2
  • slot pro kartu microSD
  • 5 univerzálních IO pinů (GPIO)
  • Několik sériových/SPI/I2C/CAN rozhraní (v závislosti na použití GPIO).

Tento tutoriál vám ukáže, jak nahradit firmware dodávaný na CFA10052 novým firmwarem, který:

  1. Zobrazení na LCD střídavém rastru s aktuálním podsvícením, kontrastem LCD a informacemi o stavu klávesnice;
  2. Ovládejte podsvícení a kontrast LCD pomocí klávesnice.
  3. Postupně změňte barvu čtyř LED diod z červené na zelenou.
  4. Povolte sériový port USART na pinech Header-1 1 a 2 (115200 baudů) a zopakujte veškerá přijatá data.
  5. Povolte virtuální sériový port USB a odešlete veškerá přijatá data zpět hostiteli.
  6. Zahrnuje, ale nepředvádí, přístup k souboru čtení/zápisu uSD.

Samozřejmě můžete napsat svůj vlastní firmware a načíst jej pomocí těchto kroků.

DŮLEŽITÁ POZNÁMKA:

Hardwarový modul Crystalfontz CFA10052 je dodáván naprogramovaný se zavaděčem a firmwarem CFA735/CFA835. Zavaděč a firmware CFA735/CFA835 nejsou open-source a nelze je zkopírovat z CFA10052 uživatelem, ani je nelze naprogramovat na CFA10052 uživatelem. Pokud se budete chtít vrátit k firmwaru CFA735/CFA835, budete jej muset odeslat zpět do Crystalfontz, aby jej nechal přeprogramovat.

Zásoby

  • Modul Crystalfontz CFA10052 (hardware v1.1 nebo novější) (CFA735 / CFA835)
  • PC (Windows/Linux/OSX) s nainstalovaným nástrojem STM32CubeIDE a STM32 ST-LINK
  • Programovací rozhraní STMicroelectronics ST-LINK (V2 nebo V3)
  • Programovací kabel CFA10052 (podrobnosti níže)
  • Vlastní firmware (nebo použijte náš zde)
  • Pokud používáte Windows 7/8/8.1/10 (nebo ekvivalentní verze serveru) a chcete otestovat virtuální sériový port USB, budete si muset stáhnout ovladače odtud. Sériový port USB bude fungovat bez dalších ovladačů ve Windows 10+, Linux, OS-X.

Krok 1: Sbírejte/vytvářejte zásoby

Sbírejte/vytvářejte zásoby
Sbírejte/vytvářejte zásoby

K načtení a použití tohoto příkladu projektu firmwaru doporučujeme použít STM32CubeIDE. STM32CubeIDE je bezplatné IDE založené na Eclipse, které bylo upraveno společností STMicroelectronics tak, aby obsahovalo nástroje specifické pro STM32. IDE lze stáhnout na webové stránce STM32CubeIDE.

Chcete-li zachovat správnou funkci konfiguračního nástroje zařízení STM, musíte pouze upravit zdrojový kód vytvořený konfiguračním nástrojem zařízení mezi odpovídajícími bloky komentářů „UŽIVATELSKÝ KÓD ZAČÍNAT xxx“a „USER CODE END xxx“.

Dále se rozhodněte, zda nás budete kontaktovat ohledně programovacího kabelu CFA10052, nebo si vytvoříte vlastní. V tomto tutoriálu se nebudeme zabývat výrobou kabelu podrobně, ale pokud si chcete vytvořit vlastní programovací kabel CFA10052, připojení najdete na stránce GitHub, nejlepší způsob, jak to udělat, je začít s šestnáctipinový plochý kabel a spojte jej s kabelem pro ST Link.

Krok 2: Vymažte stávající firmware

Vymazat stávající firmware
Vymazat stávající firmware
Vymazat stávající firmware
Vymazat stávající firmware

Pokud je váš modul CFA10052 vybaven dodaným firmwarem CFA735 nebo CFA835, budete muset před instalací nového firmwaru nejprve vymazat odcházející firmware. Flash paměť je chráněna proti čtení a zápisu a musí být odstraněna před načtením vlastního firmwaru.

Existují dva způsoby odebrání nainstalovaného firmwaru:

  1. Odpojte kabel USB (nebo napájecí zdroj) od modulu CFA10052.
  2. Připojte CFA10052 k ST-LINK pomocí programovacího kabelu (viz výše) a ST-LINK k hostitelskému počítači.
  3. Podržte klávesy nahoru a dolů na CFA10052, zatímco zapojujete USB kabel do CFA10052 (nebo napájecího zdroje). CFA10052 by nyní měl zobrazovat obrazovku zavaděče Crystalfontz.
  4. Spusťte nástroj STM32 ST-LINK. V nabídce „Cíl“otevřete okno „Volitelné bajty“. V poli „Ochrana proti přečtení“vyberte „Úroveň 0“. Klikněte na Použít. Firmware Crystalfontz byl nyní odstraněn a nyní lze naprogramovat jakýkoli vlastní firmware.

Alternativní metoda (pokud nemůžete vstoupit do zavaděče Crystalfontz podržením kláves):

  1. Odpojte kabel USB (nebo napájecí zdroj) od modulu CFA10052.
  2. Připojte testovací bod BOOT0 (malá podložka na zadní straně modulu CFA10052 poblíž konektoru H1) k 3,3 V nebo 5 V.
  3. Připojte CFA10052 k ST-LINK pomocí programovacího kabelu (viz výše) a ST-LINK k hostitelskému počítači.
  4. Zapněte CFA10052 (nebo jej připojte k napájení USB). Displej by měl být prázdný.
  5. Spusťte nástroj STM32 ST-LINK. V nabídce „Cíl“otevřete okno „Volitelné bajty“. V poli „Ochrana proti přečtení“vyberte „Úroveň 0“. Klikněte na Použít. Firmware Crystalfontz byl nyní odstraněn a nyní lze naprogramovat jakýkoli vlastní firmware.
  6. Připojení kolíku BOOT0 na 3,3 V/5 V již není potřeba.

Krok 3: Kompilace a nahrání firmwaru do CFA10052

Zkompilujte a nahrajte svůj firmware na CFA10052
Zkompilujte a nahrajte svůj firmware na CFA10052

Jakmile bude firmware dodaný společností Crystalfontz odstraněn, jste připraveni zkompilovat a nahrát svůj vlastní firmware. Pro účely tohoto tutoriálu jsme dodali alternativní firmware, který umožňuje ovládání jasu podsvícení a kontrastu displeje pomocí klávesnice.

Kompilace firmwaru:

  1. Otevřete STM32CubeIDE
  2. V nabídce Soubor zvolte Import a poté „Importovat existující projekty do pracovního prostoru“.
  3. V poli kořenového adresáře vyberte adresář tohoto příkladu firmwaru.
  4. Klikněte na tlačítko Dokončit.
  5. V Průzkumníku projektů vyberte projekt cfa10052_example, poté otevřete soubor Src a soubor „main.c“.
  6. V nabídce Projekt vyberte „Vytvořit projekt“.

Programování a spuštění firmwaru na CFA10052:

  1. Odpojte kabel USB (nebo napájecí zdroj) od modulu CFA10052.
  2. Připojte CFA10052 k ST-LINK pomocí programovacího kabelu (viz výše) a ST-LINK k hostitelskému počítači.
  3. Připojte kabel USB (nebo napájecí zdroj) k CFA10052.
  4. Ujistěte se, že byl vytvořen projekt firmwaru (viz výše uvedené kroky) a v „Průzkumníku projektů“se pod „cfa10052_example“zobrazí „Binaries“.
  5. Pokud „Binaries“není viditelné, klikněte pravým tlačítkem na projekt „cfa10052_example“a vyberte Obnovit.
  6. Vyberte nabídku Spustit a poté „Ladit konfigurace“.
  7. Ve výběrovém poli typů ladění cílů vlevo klikněte pravým tlačítkem na „Aplikace STM32 Cortex-M“a vyberte „Nová konfigurace“.
  8. Zobrazí se konfigurační okno. Výchozí nastavení je v pořádku. Klikněte na Použít a poté na tlačítko Zavřít.
  9. V nabídce Spustit vyberte „Ladit jako“a poté „Aplikace STM32 Cortex“. STM32CubeIDE by se nyní měl připojit k ST-LINK a nahrát a spustit firmware na CFA10052.

Výše uvedené kroky jsou vyžadovány pouze při prvním načtení projektu v STM32CubeIDE. Poté, co byly provedeny změny zdrojového kódu firmwaru, je zapotřebí pouze opětovné sestavení projektu (zkratka Ctrl-B) a programování CFA10052 (klávesová zkratka F11).

Firmware lze také načíst pomocí jakékoli z běžných metod zavaděče STM32 (ladění je k dispozici pouze pomocí rozhraní SWD a ST-LINK). Pokud například používáte sériové připojení, lze použít USART1 (RX = H1-Pin1 a TX = H1-Pin2). Podrobnější informace o zavaděči a rozhraních STM32 najdete v PDF zde.

Krok 4: Licence

Zdrojový kód dodávaný společností Crystalfontz je poskytován pomocí licence Unlicense, licence bez jakýchkoli podmínek, která věnuje díla veřejné sféře. Nelicencovaná díla, úpravy a větší díla mohou být distribuována za různých podmínek a bez zdrojového kódu. Podrobnosti najdete v souboru UNLICENCE nebo na unlicense.org.

Knihovny zdrojového kódu vytvořené STM32CubeIDE a STMicroelectronics jsou chráněny autorským právem (c) 2019 STMicroelectronics. Všechna práva vyhrazena. Softwarová komponenta je licencována společností ST na základě licence BSD 3-Clause, „licence“; Tyto soubory smíte používat pouze v souladu s licencí. Kopii licence můžete získat na opensource.org/licenses/BSD-3-Clause.

Doporučuje: