Indholdsfortegnelse:
- Forbrugsvarer
- Trin 1: Saml/opret forbrugsvarer
- Trin 2: Slet eksisterende firmware
- Trin 3: Kompilér og indlæs din firmware i CFA10052
- Trin 4: Licenser
Video: Hack en CFA735/CFA835: 4 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:27
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:
- Vis på LCD et alternerende gitter med aktuelle baggrundsbelysning, LCD -kontrast og tastaturstatusinformation;
- Kontroller baggrundslyset og LCD -kontrasten ved hjælp af tastaturet.
- Skift farven på de fire lysdioder fra rød til grøn i rækkefølge.
- Aktiver USART seriel port på Header-1 ben 1 og 2 (115200 baud), og gentag eventuelle modtagne data.
- Aktivér den virtuelle USB -serielle port, og gentag alle modtagne data tilbage til værten.
- 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
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
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:
- Afbryd USB -kablet (eller strømforsyningen) fra CFA10052 -modulet.
- Tilslut CFA10052 til ST-LINK ved hjælp af programmeringskablet (se ovenfor) og ST-LINK til værts-pc'en.
- 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.
- 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):
- Afbryd USB -kablet (eller strømforsyningen) fra CFA10052 -modulet.
- Tilslut BOOT0-testpunktet (en lille pude på bagsiden af CFA10052-modulet, nær H1-stikket) til 3,3V eller 5V.
- Tilslut CFA10052 til ST-LINK ved hjælp af programmeringskablet (se ovenfor) og ST-LINK til værts-pc'en.
- Tænd CFA10052 (eller tilslut den til USB -strøm). Displayet skal være blankt.
- 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.
- 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
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:
- Åbn STM32CubeIDE
- I menuen Filer skal du vælge Importer og derefter "Importer eksisterende projekter til arbejdsområde".
- I kataloget med rodmapper skal du vælge biblioteket for dette eksempel firmware.
- Klik på knappen Afslut.
- I Project Explorer skal du vælge cfa10052_example -projektet, derefter åbne filen Src og "main.c".
- Vælg "Byg projekt" i menuen Projekt.
Sådan programmeres og køres firmwaren på CFA10052:
- Afbryd USB -kablet (eller strømforsyningen) fra CFA10052 -modulet.
- Tilslut CFA10052 til ST-LINK ved hjælp af programmeringskablet (se ovenfor) og ST-LINK til værts-pc'en.
- Tilslut USB -kablet (eller strømforsyningen) til CFA10052.
- Sørg for, at firmwareprojektet er blevet bygget (se trin ovenfor), og "Binaries" vises under "cfa10052_example" i Project Explorer.
- Hvis "Binaries" ikke er synlig, skal du højreklikke på "cfa10052_example" -projektet og vælge Opdater.
- Vælg menuen Kør og derefter "Debug Configurations".
- I feltet til valg af fejlretningsmåltyper til venstre skal du højreklikke på "STM32 Cortex-M Application" og vælge "Ny konfiguration".
- Der vises et konfigurationsvindue. Standardindstillingerne er OK. Klik på knappen Anvend og derefter på knappen Luk.
- 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:
Hack din garageport: 5 trin
Hack din garageport: Hvem har aldrig drømt om at gå hjem bare med en telefon -app eller være i stand til at lytte til og kopiere datatrammer? Jeg er glad for at kunne dele med dig, hvad jeg indså, og hvordan jeg gik frem. Jeg startede dette projekt efter anden gang jeg glemte mine nøgler
Sangfølger Led-blinkende Hack-O-Lantern !: 6 trin
Sang-efterfølgende LED-blinkende Hack-O-Lantern !: Lav en jack-o-lanterne, der spiller og blinker flerfarvede lysdioder til alles yndlings Halloween-sang
Hack Action Camera Batterilevetid: 4 trin (med billeder)
Hack Action Camera Batterilevetid: Enten har du en GoPro, Contour eller et andet kamera, dette er til dig! Videokamera batterier er ofte et problem. Enten optager du lange videoer, og de holder ikke længe nok, eller også har du bare glemt at oplade det fuldstændigt før. Måske er det meget co
ESP32 Xiaomi Hack - Få data trådløst: 6 trin (med billeder)
ESP32 Xiaomi Hack - Få data trådløst: Kære venner velkommen til en anden Instructable! I dag skal vi lære at få de data, som denne Xiaomi temperatur- og luftfugtighedsmonitor overfører ved hjælp af Bluetooth -funktionaliteten på ESP32 -kortet. Som du kan se, bruger jeg et ESP32 -kort
Akustisk levitation med Arduino Uno trin for trin (8 trin): 8 trin
Akustisk levitation med Arduino Uno Step-by Step (8-trin): ultralyds lydtransducere L298N Dc kvindelig adapter strømforsyning med en han-DC-pin Arduino UNOBreadboard Sådan fungerer det: Først uploader du kode til Arduino Uno (det er en mikrokontroller udstyret med digital og analoge porte til konvertering af kode (C ++)