Innholdsfortegnelse:

Hack en CFA735/CFA835: 4 trinn
Hack en CFA735/CFA835: 4 trinn

Video: Hack en CFA735/CFA835: 4 trinn

Video: Hack en CFA735/CFA835: 4 trinn
Video: CrystalFontz CFA835 Linux Demo 2024, Juli
Anonim
Hack en CFA735/CFA835
Hack en CFA735/CFA835

Har du et prosjekt som trenger en skjerm, et tastatur og litt minne, men den forhåndslastede fastvaren på Crystalfontz CFA735 eller CFA835 -modulen er ikke helt det du leter etter? Du har lykke - du kan hacke disse modulene for å laste inn tilpasset fastvare.

CFA735 og CFA835 er allsidige intelligente LCD -moduler. Både Crystalfontz CFA735 og CFA835 er basert på CFA10052 maskinvaremodulen, så i løpet av denne opplæringen vil CFA735 og/eller CFA835 bli referert til som CFA10052. CFA10052 kan omprogrammeres for å kjøre din egen tilpassede fastvare.

  • STMicroelectronics STM32F401 mikrokontroller
  • ARM 32-biters Cortex ™ -M4 CPU @ 84 MHz
  • 256K Flash, 64K RAM
  • 244 x 68 piksler bakgrunnsbelyst LCD
  • Sitronix ST7529 grafisk LCD -kontroller med 32 gråtoner
  • Buck-boost-bryterforsyning gir et bredt spenningsområde
  • Separate LED -lysstyrke -kontroller for tastatur og LCD -bakgrunnsbelysning
  • 6 knappers bakgrunnsbelyst tastatur
  • 4x tofarger (rød/grønn) lysdioder
  • USB2 -grensesnitt
  • microSD -kortspor
  • 5 generelle IO -pinner (GPIO)
  • Flere serielle/SPI/I2C/CAN -grensesnitt (avhengig av GPIO -bruk).

Denne opplæringen viser deg hvordan du erstatter fastvaren som leveres på en CFA10052 med ny fastvare som vil:

  1. Vis et vekslende rutenett på LCD -skjermen med gjeldende bakgrunnsbelysning, LCD -kontrast og tastaturstatusinformasjon;
  2. Kontroller bakgrunnsbelysningen og LCD -kontrasten ved hjelp av tastaturet.
  3. Endre fargen på de fire lysdiodene fra rød til grønn i rekkefølge.
  4. Aktiver USART-seriell port på topptekst-1 pinne 1 og 2 (115200 baud), og gjenta alle mottatte data.
  5. Aktiver den virtuelle USB -porten, og ekko mottatte data tilbake til verten.
  6. Inkluderer, men viser ikke, uSD lese/skrive filtilgang.

Selvfølgelig kan du skrive din egen fastvare og laste den ved å følge disse trinnene.

VIKTIG NOTAT:

Crystalfontz CFA10052 maskinvaremodulen leveres programmert med en bootloader og CFA735/CFA835 firmware. Bootloader og CFA735/CFA835 fastvare er ikke åpen kildekode, og kan ikke kopieres av CFA10052 av brukeren, og de kan heller ikke programmeres på CFA10052 av brukeren. Hvis du ønsker å gå tilbake til CFA735/CFA835 -fastvaren, må du sende den tilbake til Crystalfontz for å få den omprogrammert.

Rekvisita

  • Crystalfontz CFA10052 (hardware v1.1 eller nyere) modul (CFA735 / CFA835)
  • PC (Windows/Linux/OSX) med STM32CubeIDE og STM32 ST-LINK Utility installert
  • STMicroelectronics ST-LINK (V2 eller V3) programmeringsgrensesnitt
  • CFA10052 programmeringskabel (detaljer nedenfor)
  • Tilpasset fastvare (eller bruk vår her)
  • Hvis du bruker Windows 7/8/8.1/10 (eller tilsvarende serverversjoner) og ønsker å teste den virtuelle USB -porten, må du laste ned drivere herfra. Seriell USB-port fungerer uten at det krever flere drivere på Windows 10+, Linux, OS-X.

Trinn 1: Samle/lage rekvisita

Samle/lage rekvisita
Samle/lage rekvisita

Vi anbefaler å bruke STM32CubeIDE for å laste inn og bruke dette eksempelet fastvareprosjekt. STM32CubeIDE er en gratis IDE basert på Eclipse som har blitt modifisert av STMicroelectronics for å inkludere STM32 -spesifikke verktøy. IDE kan lastes ned på nettsiden STM32CubeIDE.

For å opprettholde korrekt bruk av STM-enhetens konfigurasjonsverktøy, må du bare redigere enhetskonfigurasjonsverktøyet som er opprettet kildekoden mellom de matchende "BRUKERKODEN BEGYNN xxx" og "BRUKERKODE SLUTT xxx" -blokkene.

Bestem deretter om du vil kontakte oss for en CFA10052 programmeringskabel eller lage din egen. Vi skal ikke gå nærmere på å lage kabelen i detalj i denne opplæringen, men hvis du vil lage din egen CFA10052 programmeringskabel, kan du finne tilkoblingene på GitHub -siden. Den beste måten å gjøre dette på er å starte med en sekstenbolt båndkabel og skjøt den til kabelen for ST Link.

Trinn 2: Slett eksisterende fastvare

Slett eksisterende fastvare
Slett eksisterende fastvare
Slett eksisterende fastvare
Slett eksisterende fastvare

Hvis CFA10052 -modulen er lastet med den medfølgende CFA735- eller CFA835 -fastvaren, må du først slette den utgående fastvaren før du installerer ny fastvare. Flash -minnet er lese- og skrivebeskyttet og må fjernes før tilpasset fastvare kan lastes inn.

Det er to metoder for å fjerne den installerte fastvaren:

  1. Koble USB -kabelen (eller strømforsyningen) fra CFA10052 -modulen.
  2. Koble CFA10052 til ST-LINK ved hjelp av programmeringskabelen (se ovenfor), og ST-LINK til vert-PCen.
  3. Hold inne opp- og ned -tastene på CFA10052 mens du kobler USB -kabelen til CFA10052 (eller strømforsyning). CFA10052 skal nå vise Crystalfontz Bootloader -skjermen.
  4. Kjør STM32 ST-LINK Utility. I "Target" -menyen åpner du "Option Bytes" -vinduet. Velg "Nivå 0" i "Les opp beskyttelse" -boksen. Klikk på Apply. Crystalfontz -fastvaren er nå fjernet, og eventuell tilpasset fastvare kan nå programmeres.

Alternativ metode (hvis du ikke kan gå inn i Crystalfontz Bootloader ved å holde nøkler):

  1. Koble USB -kabelen (eller strømforsyningen) fra CFA10052 -modulen.
  2. Koble BOOT0-testpunktet (en liten pute på baksiden av CFA10052-modulen, nær H1-kontakten) til 3,3V eller 5V.
  3. Koble CFA10052 til ST-LINK ved hjelp av programmeringskabelen (se ovenfor), og ST-LINK til vert-PCen.
  4. Slå på CFA10052 (eller koble den til USB -strøm). Displayet skal være tomt.
  5. Kjør STM32 ST-LINK Utility. I "Target" -menyen åpner du "Option Bytes" -vinduet. I "Read Out Protection" -boksen velger du "Level 0". Klikk på Bruk. Crystalfontz -fastvaren er nå fjernet, og eventuell tilpasset fastvare kan nå programmeres.
  6. Tilkobling av BOOT0 -pinnen til 3,3V/5V er ikke lenger nødvendig.

Trinn 3: Kompiler og last fastvaren din på CFA10052

Kompiler og last fastvaren din på CFA10052
Kompiler og last fastvaren din på CFA10052

Når fastvaren fra Crystalfontz er fjernet, er du klar til å kompilere og laste inn din egen fastvare. I forbindelse med denne opplæringen har vi levert noen alternativ fastvare som gir tastaturet kontroll over bakgrunnslysets lysstyrke og displaykontrast.

Slik kompilerer du fastvaren:

  1. Åpne STM32CubeIDE
  2. Velg Importer på Fil -menyen, deretter "Importer eksisterende prosjekter til arbeidsområde".
  3. I katalogen for rotkataloger, velg katalogen for dette fastvareeksemplet.
  4. Klikk på Fullfør -knappen.
  5. I prosjektutforsker velger du cfa10052_example -prosjektet, åpner deretter filen Src og "main.c".
  6. Velg "Bygg prosjekt" på Prosjekt -menyen.

Slik programmerer og kjører du fastvaren på CFA10052:

  1. Koble USB -kabelen (eller strømforsyningen) fra CFA10052 -modulen.
  2. Koble CFA10052 til ST-LINK ved hjelp av programmeringskabelen (se ovenfor), og ST-LINK til vert-PCen.
  3. Koble USB -kabelen (eller strømforsyningen) til CFA10052.
  4. Sørg for at fastvareprosjektet er bygget (se trinnene ovenfor), og at "Binaries" vises under "cfa10052_example" i Project Explorer.
  5. Hvis "Binaries" ikke er synlig, høyreklikker du på "cfa10052_example" -prosjektet og velger Oppdater.
  6. Velg Kjør -menyen, deretter "Debug Configurations".
  7. I valgboksen for feilsøkingsmåltyper til venstre, høyreklikker du på "STM32 Cortex-M Application" og velger "Ny konfigurasjon".
  8. Et konfigurasjonsvindu vises. Standardinnstillingene er OK. Klikk på Bruk og deretter på Lukk -knappen.
  9. I Kjør -menyen, velg "Debug As", deretter "STM32 Cortex Application". STM32CubeIDE skal nå koble til ST-LINK, og laste opp og kjøre fastvaren på CFA10052.

De ovennevnte trinnene kreves bare for å laste prosjektet for første gang i STM32CubeIDE. Etter at endringer i fastvare-kildekoden er utført, er det bare nødvendig å gjenoppbygge prosjektet (Ctrl-B-snarvei) og programmere CFA10052 (F11-hurtigtast).

Firmware kan også lastes inn via hvilken som helst av de vanlige STM32-opplastingsmetodene (feilsøking er bare tilgjengelig ved bruk av SWD-grensesnittet og en ST-LINK). For eksempel, hvis du bruker seriell tilkobling, kan USART1 brukes (RX = H1-Pin1 og TX = H1-Pin2). For mer detaljert informasjon om STM32 bootloader og grensesnitt, se PDF-filen her.

Trinn 4: Lisenser

Crystalfontz-kildekoden leveres med The Unlicense, en lisens uten noen som helst betingelser som dedikerer verk til allmennheten. Ulisensierte verk, modifikasjoner og større arbeider kan distribueres under forskjellige vilkår og uten kildekode. Se UNLICENCE -filen eller unlicense.org for detaljer.

STM32CubeIDE opprettet kildekode og STMicroelectronics-biblioteker er Copyright (c) 2019 STMicroelectronics. Alle rettigheter forbeholdt. Programvarekomponenten er lisensiert av ST under BSD 3-Clause-lisens, "Lisensen"; Du kan ikke bruke disse filene unntatt i samsvar med lisensen. Du kan få en kopi av lisensen på opensource.org/licenses/BSD-3-Clause.

Anbefalt: