Indholdsfortegnelse:

Hack en CFA735/CFA835: 4 trin
Hack en CFA735/CFA835: 4 trin

Video: Hack en CFA735/CFA835: 4 trin

Video: Hack en CFA735/CFA835: 4 trin
Video: CrystalFontz CFA835 Linux Demo 2024, November
Anonim
Hack en CFA735/CFA835
Hack en CFA735/CFA835

Har du et projekt, der har brug for et display, en tastatur og noget hukommelse, men den forudindlæste firmware på Crystalfontz CFA735 eller CFA835 -modulet er ikke helt det, du leder efter? Du har held og lykke - du kan hacke disse moduler for at indlæse brugerdefineret firmware.

CFA735 og CFA835 er alsidige intelligente LCD -moduler. Både Crystalfontz CFA735 og CFA835 er baseret på CFA10052 hardwaremodulet, så under denne vejledning vil CFA735 og/eller CFA835 blive omtalt som CFA10052. CFA10052 kan omprogrammeres til at køre din egen tilpassede firmware.

  • STMicroelectronics STM32F401 mikrokontroller
  • ARM 32-bit Cortex ™ -M4 CPU @ 84 MHz
  • 256K Flash, 64K RAM
  • 244 x 68 pixel baggrundsbelyst LCD
  • Sitronix ST7529 32 gråtoner grafisk LCD -controller
  • Buck-boost-switchforsyning tillader et bredt spændingsområde
  • Separate switch LED -lysstyrke -controllere til tastatur og LCD -baggrundsbelysning
  • Baggrundsbelyst tastatur med 6 knapper
  • 4x tofarvede (røde/grønne) lysdioder
  • USB2 interface
  • slot til microSD -kort
  • 5 generelle IO -ben (GPIO'er)
  • Flere serielle/SPI/I2C/CAN -grænseflader (afhængigt af GPIO -brug).

Denne vejledning viser dig, hvordan du udskifter den firmware, der leveres på en CFA10052, med ny firmware, der vil:

  1. Vis på LCD et alternerende gitter med aktuelle baggrundsbelysning, LCD -kontrast og tastaturstatusinformation;
  2. Kontroller baggrundslyset og LCD -kontrasten ved hjælp af tastaturet.
  3. Skift farven på de fire lysdioder fra rød til grøn i rækkefølge.
  4. Aktiver USART seriel port på Header-1 ben 1 og 2 (115200 baud), og gentag eventuelle modtagne data.
  5. Aktivér den virtuelle USB -serielle port, og gentag alle modtagne data tilbage til værten.
  6. Inkluderer, men viser ikke, uSD læse/skrive filadgang.

Selvfølgelig kan du skrive din egen firmware og indlæse den ved hjælp af disse trin.

VIGTIG NOTE:

Crystalfontz CFA10052 -hardwaremodulet leveres programmeret med en bootloader og CFA735/CFA835 -firmware. Bootloaderen og CFA735/CFA835-firmwaren er ikke open source og kan ikke kopieres af CFA10052 af brugeren, og de kan heller ikke programmeres på CFA10052 af brugeren. Hvis du ender med at ville vende tilbage til CFA735/CFA835 -firmwaren, skal du sende den tilbage til Crystalfontz for at få den omprogrammeret.

Forbrugsvarer

  • Crystalfontz CFA10052 (hardware v1.1 eller nyere) modul (CFA735 / CFA835)
  • PC (Windows/Linux/OSX) med STM32CubeIDE og STM32 ST-LINK Utility installeret
  • STMicroelectronics ST-LINK (V2 eller V3) programmeringsinterface
  • CFA10052 programmeringskabel (detaljer nedenfor)
  • Tilpasset firmware (eller brug vores her)
  • Hvis du bruger Windows 7/8/8.1/10 (eller tilsvarende serverversioner) og gerne vil teste den virtuelle USB -serielle port, skal du downloade drivere herfra. USB seriel port fungerer uden at kræve yderligere drivere til Windows 10+, Linux, OS-X.

Trin 1: Saml/opret forbrugsvarer

Indsaml/opret forbrugsvarer
Indsaml/opret forbrugsvarer

Vi anbefaler at bruge STM32CubeIDE til at indlæse og bruge dette eksempel firmware -projekt. STM32CubeIDE er en gratis IDE baseret på Eclipse, der er blevet ændret af STMicroelectronics til at omfatte STM32 -specifikke værktøjer. IDE'en kan downloades på STM32CubeIDE -websiden.

For at opretholde den korrekte funktion af STM-enhedens konfigurationsværktøj, må du kun redigere enhedskonfigurationsværktøjet, der er oprettet kildekode mellem de matchende "BRUGERKODE BEGYN xxx" og "BRUGERKODE SLUT xxx" -kommentarblokke.

Beslut derefter, om du vil kontakte os for et CFA10052 -programmeringskabel eller lave dit eget. Vi vil ikke gå i detaljer med at lave kablet i denne vejledning, men hvis du vil lave dit eget CFA10052 programmeringskabel, kan du finde forbindelserne på GitHub -siden, den bedste måde at gøre dette på er at starte med et seksten pin båndkabel og splejse det til kablet til ST Link.

Trin 2: Slet eksisterende firmware

Slet eksisterende firmware
Slet eksisterende firmware
Slet eksisterende firmware
Slet eksisterende firmware

Hvis dit CFA10052 -modul er indlæst med den medfølgende CFA735- eller CFA835 -firmware, skal du først slette den eksisterende firmware, før du installerer ny firmware. Flashhukommelsen er læse- og skrivebeskyttet og skal fjernes, før brugerdefineret firmware kan indlæses.

Der er to metoder til fjernelse af den installerede firmware:

  1. Afbryd USB -kablet (eller strømforsyningen) fra CFA10052 -modulet.
  2. Tilslut CFA10052 til ST-LINK ved hjælp af programmeringskablet (se ovenfor) og ST-LINK til værts-pc'en.
  3. Hold op- og ned -tasterne på CFA10052 nede, mens USB -kablet sættes i CFA10052 (eller strømforsyning). CFA10052 skulle nu vise Crystalfontz Bootloader -skærmen.
  4. Kør STM32 ST-LINK Utility. Åbn vinduet "Option Bytes" i menuen "Target". Vælg "Niveau 0" i feltet "Udlæsningsbeskyttelse". Klik på Anvend. Crystalfontz -firmwaren er nu fjernet, og eventuel tilpasset firmware kan nu programmeres.

Alternativ metode (hvis du ikke kan gå ind i Crystalfontz Bootloader ved at holde tasterne nede):

  1. Afbryd USB -kablet (eller strømforsyningen) fra CFA10052 -modulet.
  2. Tilslut BOOT0-testpunktet (en lille pude på bagsiden af CFA10052-modulet, nær H1-stikket) til 3,3V eller 5V.
  3. Tilslut CFA10052 til ST-LINK ved hjælp af programmeringskablet (se ovenfor) og ST-LINK til værts-pc'en.
  4. Tænd CFA10052 (eller tilslut den til USB -strøm). Displayet skal være blankt.
  5. Kør STM32 ST-LINK Utility. I menuen "Target" åbner du vinduet "Option Bytes". Vælg "Level 0" i feltet "Udlæsningsbeskyttelse". Klik på Anvend. Crystalfontz -firmwaren er nu fjernet, og eventuel tilpasset firmware kan nu programmeres.
  6. Tilslutning af BOOT0 -stiften til 3,3V/5V er ikke længere nødvendig.

Trin 3: Kompilér og indlæs din firmware i CFA10052

Kompiler og indlæs din firmware i CFA10052
Kompiler og indlæs din firmware i CFA10052

Når den medfølgende Crystalfontz -firmware er blevet fjernet, er du klar til at kompilere og indlæse din egen firmware. I forbindelse med denne vejledning har vi leveret noget alternativ firmware, der giver tastaturet kontrol af baggrundslysets lysstyrke og skærmkontrast.

Sådan kompileres firmwaren:

  1. Åbn STM32CubeIDE
  2. I menuen Filer skal du vælge Importer og derefter "Importer eksisterende projekter til arbejdsområde".
  3. I kataloget med rodmapper skal du vælge biblioteket for dette eksempel firmware.
  4. Klik på knappen Afslut.
  5. I Project Explorer skal du vælge cfa10052_example -projektet, derefter åbne filen Src og "main.c".
  6. Vælg "Byg projekt" i menuen Projekt.

Sådan programmeres og køres firmwaren på CFA10052:

  1. Afbryd USB -kablet (eller strømforsyningen) fra CFA10052 -modulet.
  2. Tilslut CFA10052 til ST-LINK ved hjælp af programmeringskablet (se ovenfor) og ST-LINK til værts-pc'en.
  3. Tilslut USB -kablet (eller strømforsyningen) til CFA10052.
  4. Sørg for, at firmwareprojektet er blevet bygget (se trin ovenfor), og "Binaries" vises under "cfa10052_example" i Project Explorer.
  5. Hvis "Binaries" ikke er synlig, skal du højreklikke på "cfa10052_example" -projektet og vælge Opdater.
  6. Vælg menuen Kør og derefter "Debug Configurations".
  7. I feltet til valg af fejlretningsmåltyper til venstre skal du højreklikke på "STM32 Cortex-M Application" og vælge "Ny konfiguration".
  8. Der vises et konfigurationsvindue. Standardindstillingerne er OK. Klik på knappen Anvend og derefter på knappen Luk.
  9. I menuen Kør skal du vælge "Debug As" og derefter "STM32 Cortex Application". STM32CubeIDE skal nu oprette forbindelse til ST-LINK og uploade og køre firmwaren på CFA10052.

Ovenstående trin er kun påkrævet ved indlæsning af projektet for første gang i STM32CubeIDE. Efter ændringer af firmwarekildekode er det kun nødvendigt at genopbygge projektet (Ctrl-B genvej) og programmere CFA10052 (F11 tast genvej).

Firmware kan også indlæses via en hvilken som helst af de normale STM32 bootloader-metoder (fejlretning er kun tilgængelig ved hjælp af SWD-grænsefladen og et ST-LINK). Hvis du f.eks. Bruger seriel forbindelse, kan USART1 bruges (RX = H1-Pin1 og TX = H1-Pin2). For mere detaljeret information om STM32-bootloader og grænseflader, se PDF-filen her.

Trin 4: Licenser

Crystalfontz-leveret kildekode leveres ved hjælp af The Unlicense, en licens uden nogen som helst betingelser, der dedikerer værker til det offentlige domæne. Ikke -licenserede værker, ændringer og større værker kan distribueres under forskellige vilkår og uden kildekode. Se UNLICENCE -filen eller unlicense.org for detaljer.

STM32CubeIDE oprettet kildekode og STMicroelectronics-biblioteker er Copyright (c) 2019 STMicroelectronics. Alle rettigheder forbeholdes. Softwarekomponenten er licenseret af ST under BSD 3-Clause-licensen, "Licensen"; Du må ikke bruge disse filer undtagen i overensstemmelse med licensen. Du kan få en kopi af licensen på opensource.org/licenses/BSD-3-Clause.

Anbefalede: