Innholdsfortegnelse:

Sette opp Blue Pill Board i STM32CubeIDE: 8 trinn
Sette opp Blue Pill Board i STM32CubeIDE: 8 trinn

Video: Sette opp Blue Pill Board i STM32CubeIDE: 8 trinn

Video: Sette opp Blue Pill Board i STM32CubeIDE: 8 trinn
Video: Программирование STM32 Blue Pill с помощью релейной логики ПЛК LDmicro 2024, November
Anonim
Sette opp Blue Pill Board i STM32CubeIDE
Sette opp Blue Pill Board i STM32CubeIDE
Sette opp Blue Pill Board i STM32CubeIDE
Sette opp Blue Pill Board i STM32CubeIDE

The Blue Pill er et veldig billig ARM utviklingstavle for bare bein. Den har en STM32F103C8 som prosessor som har 64 kbyte flash og 20 kbyte RAM -minner. Den går opp til 72 MHz og er den billigste måten å komme inn på ARM innebygd programvareutvikling.

De fleste eksempelprosjekter og hvordan du beskriver programmering av Blue Pill -kortet ved hjelp av Auduino -miljøet. Selv om dette fungerer og er en måte å komme i gang, har det sine begrensninger. Arduino -miljøet beskytter deg litt fra den underliggende maskinvaren - det er designmålet. På grunn av dette vil du ikke kunne dra nytte av alle funksjonene prosessoren tilbyr, og integrering av et sanntids operativsystem støttes egentlig ikke. Dette betyr at Arduino -miljøet ikke er mye brukt i industrien. Hvis du ønsker å gjøre en karriere innen innebygd programvareutvikling, er Arduino et godt utgangspunkt, men du må gå videre og bruke et utviklingsmiljø som brukes industrielt. ST tilbyr nyttig en helt gratis utviklingsmiljøpakke for prosessorene deres, kalt STM32CubeIDE. Dette er mye brukt i industrien, så det er bra å gå videre til.

Imidlertid, og dette er den store, STM32CubeIDE er fryktelig komplisert og er en skremmende programvare å bruke. Den støtter alle funksjonene til alle STs prosessorer og lar dem bli intimt konfigurert, som du ikke kommer over i Arduino IDE fordi alt er gjort for deg.

Du må sette opp brettet ditt som et første trinn i STM32CubeIDE. IDE vet om STs egne utviklingstavler og setter dem opp for deg, men Blue Pill, mens du bruker en ST -prosessor, er det ikke et ST -produkt, så du er alene her.

Denne instruksen tar deg gjennom prosessen med å sette opp Blue Pill -kortet, aktivere en seriell port og skrive ut litt tekst. Det er ikke mye, men det er et viktig første skritt.

Rekvisita

STM32CubeIDE - last ned fra STs nettsted. Du må registrere deg, og det tar en stund å laste ned.

Et blått pillebrett. Du kan få dem fra ebay. Du trenger en som har en ekte ST -prosessor, som noen ikke gjør. Zoom inn på ebay på bildet og se etter ST -logoen på prosessoren.

En ST-LINK v2 debugger/programmerer tilgjengelig fra ebay for noen få pund.

En FTDI TTL til USB 3.3V seriell kabel for utgang og 2 mannlige til kvinnelige toppledninger for å koble den til.

Et serielt terminalprogram som PuTTY.

Trinn 1: Opprette et nytt prosjekt

Opprette et nytt prosjekt
Opprette et nytt prosjekt
Opprette et nytt prosjekt
Opprette et nytt prosjekt
  1. Start STM32CubeIDE og velg deretter Fil | Ny | STM32 -prosjekt fra menyen.
  2. Skriv inn STM32F103C8 i boksen Søk etter delenummer.
  3. I MCU/MPU -listen bør du se STM32F103C8. Velg denne linjen som på bildet ovenfor.
  4. Klikk Neste.
  5. Gi prosjektet et navn i dialogboksen Prosjektoppsett.
  6. La alt annet være som det er, og klikk på Fullfør. Prosjektet ditt vises til venstre i Project Explorer -ruten.

Trinn 2: Konfigurere prosessoren

Konfigurere prosessoren
Konfigurere prosessoren
Konfigurere prosessoren
Konfigurere prosessoren
Konfigurere prosessoren
Konfigurere prosessoren
Konfigurere prosessoren
Konfigurere prosessoren
  1. Åpne prosjektet i ruten Prosjektutforsker, og dobbeltklikk på.ioc -filen.
  2. I kategorien Prosjekt og konfigurasjon utvider du System Core, og deretter velger du SYS.
  3. Velg Serial Wire under SYS-modus og -konfigurasjon i Debug-rullegardinmenyen.
  4. Velg nå RCC i System Core -listen like over SYS du valgte ovenfor.
  5. Velg Crystal/Ceramic Resonator under RCC Mode & Configuration fra rullegardinmenyen High Speed Clock (HSE).
  6. Nå under Kategorier igjen, åpne opp Tilkobling og velg USART2.
  7. Velg Asynkron under USART2-modus og konfigurasjon fra rullegardinmenyen Modus.
  8. Velg nå kategorien Klokkekonfigurasjon og gå til neste trinn.

Trinn 3: Konfigurere klokkene

Konfigurere klokkene
Konfigurere klokkene

Du kan nå se et ganske skremmende klokkediagram, men det trenger bare å konfigureres en gang. Dette er det vanskeligste å beskrive her som diagrammet er komplekst. Alle tingene du trenger å endre er uthevet i bildet ovenfor.

  1. Blue Pill -brettet kommer med en 8 MHz krystall på brettet, og det er det klokkekonfigurasjonsdiagrammet som standard er, så vi trenger ikke å endre det.
  2. Under PLL Source Mux velger du det lavere valget, HMS.
  3. Bare til høyre sett PLLMul til X9.
  4. Til høyre igjen under System Clock Mux, velg PLLCLK.
  5. Til høyre igjen under APB1 Prescalar velg /2.
  6. Det er det. Hvis du ser noen deler av diagrammet markert med lilla, har du gjort noe galt.

Trinn 4: Lagre og bygg

  1. Lagre.ioc-konfigurasjonen med Ctrl-S. Når du blir spurt om du vil generere kode, velg Ja (og merk av for Husk beslutningen min, slik at du ikke blir spurt hver gang). Du kan lukke.ioc -filen.
  2. Gjør nå en build fra menyen Project | Build Project.

Trinn 5: Legge til litt kode

Legger til litt kode
Legger til litt kode
Legger til litt kode
Legger til litt kode

Nå legger vi til noen kode for å bruke den serielle porten vi konfigurerte.

  1. Åpne Core / Src i Project Explorer og dobbeltklikk på main.c for å redigere den.
  2. Rull ned til du finner hovedfunksjonen () og legg til koden som vises nedenfor like under kommentaren / * BRUKERKODE BEGIN 3 * / og bygg deretter på nytt.

HAL_UART_Transmit (& huart2, (uint8_t *) "Hei, verden! / R / n", 15U, 100U);

Deretter kobler du opp maskinvaren og prøver.

Trinn 6: Koble til maskinvaren

Koble til maskinvaren
Koble til maskinvaren
Koble til maskinvaren
Koble til maskinvaren

Koble til ST-LINK v2

ST-LINK v2 burde ha kommet med en 4-leder båndkabel til hun. Du må gjøre følgende tilkoblinger:

Blå pille til ST-LINK v2

GND til GND

CLK til SWCLK

DIO til SWDIO

3,3 til 3,3V

Se det første bildet ovenfor.

Koble til seriekabelen

Hvis du går tilbake til.ioc -filen og ser på brikkediagrammet til høyre, vil du se at UART2s Tx -linje er på pin PA2. Koble derfor pinnen merket PA2 på Blue Pill -kortet til forbindelsen med den gule ledningen på FTDI -seriekabelen. Koble også en av Blue Pills jordpinner (merket G) til den svarte ledningen på FTDI -seriekabelen.

Se det andre bildet ovenfor.

Trinn 7: Feilsøking

Feilsøking
Feilsøking
Feilsøking
Feilsøking

Koble til FTDI -seriekabelen og fyr opp en seriell terminal på 115200 baud. Deretter kobler du til ST-LINK v2, og du er klar til å gå.

  1. Velg Kjør | Debug fra STM32CubeIDE. Når en Debug som dialog dukker opp, velg STM32 Cortex-M C/C ++ Application og OK.
  2. Når en dialogboks for redigering av konfigurasjon dukker opp, trykker du bare på OK.
  3. Debugger vil bryte på den første linjen med main (). Velg Kjør | Fortsett fra menyen og se etter meldinger i den serielle terminalen.

Trinn 8: Gjør mer

Det er det, din første STM32CubeIDE -applikasjon er konfigurert og kjører. Dette eksemplet gjør ikke så mye - sender bare noen data ut av serieporten.

For å bruke andre eksterne enheter og skrive drivere for eksterne enheter må du takle den skremmende konfigurasjonsredigereren igjen! For å hjelpe har jeg produsert en serie STM32CubeIDE -eksempelprosjekter som konfigurerer og utøver alle eksterne enheter på Blue Pill -prosessoren i små lettfattelige prosjekter. De er alle åpen kildekode, og du kan gjøre hva du vil med dem. Hver perifer enhet er konfigurert og har deretter prøvekode for å utøve den isolert (nesten!), Slik at du kan konsentrere deg om å få bare en perifer enhet til å gå om gangen.

Det er også drivere for eksterne enheter fra enkle EEPROM -brikker til trykksensorer, tekst og grafiske LCD -er, SIM800 -modem for TCP, HTTP og MQTT, tastaturer, radiomoduler, USB og også integrasjon med FatFS, SD -kort og FreeRTOS.

De kan alle bli funnet i Github her …

github.com/miniwinwm/BluePillDemo

Anbefalt: