Indholdsfortegnelse:

Start med at udvikle STM32 på Linux: 4 trin
Start med at udvikle STM32 på Linux: 4 trin

Video: Start med at udvikle STM32 på Linux: 4 trin

Video: Start med at udvikle STM32 på Linux: 4 trin
Video: Почему тесто на закваске липкое? Разбираем причины и делаем тесто на закваске упругим и эластичным! 2024, Juli
Anonim
Image
Image
Download alt, hvad du har brug for
Download alt, hvad du har brug for

I denne Instructable vil jeg vise dig, hvor let det er at begynde at udvikle STM32 -programmer på Linux. Jeg begyndte at bruge Linux som min hovedmaskine for 2 år siden og er ikke blevet svigtet. Alt fungerer hurtigere og bedre end vinduer. Selvfølgelig er det mindre bekvemt fra tid til anden, men det tvinger dig til at lære tingene dybere, så du kan bruge det.

Anyway, i denne instruktive del af en serie, jeg starter her OG på youtube, handler om, hvordan man starter den. Sørg også for at se min youtube -video, hvor jeg forklarer alt som et segment, og du kan kode langs mig.

I denne serie vil jeg vise dig, hvordan du kun kan udvikle ved hjælp af et tekstredigeringsprogram som f.eks. Notesblok, SublimeText eller Atom, så du ikke har brug for proprietær software eller IDE. Dette er så bare knogler som det bliver, og det er overraskende let.

Trin 1: Download alt, hvad du har brug for

Du skal downloade tre dele for at alt kan fungere:

  • GCC -kompilator til ARM
  • Firmware -filer fra STM32
  • St-link værktøj
  • Prøveprojekt

Compiler er det vigtigste stykke software, der kompilerer vores C -kode med alle andre biblioteksfiler til maskinsprog, som vores stm32 -controller kan forstå. Download den nyeste forhåndskompilerede version af denne kompilator.

Mappen, der indeholder STM32 -firmware, er den, der indeholder alle opstarts- og kernefiler, der er nødvendige for driften af hovedprocessoren. Vi bruger Standard Peripheral Library, der er blevet overgået af HAL. Jeg kan mere lide StPeriphLibrary, da virksomheder, der arbejder på disse processorer, bruger dem, fordi det er robust og ældre og understøttet. Det er også mere robust. Det reducerer ikke det arbejde, du skal gøre for at initialisere en perifer enhed eller tænde en LED, men det tvinger dig til at lære, hvordan disse processorer fungerer. Med det har du mere viden om indre funktioner og giver derfor mening om at programmere enhver opgave.

Det sidste stykke software, der skal downloades, er st-link-værktøj. Det vedligeholdes på github og bruges til at overføre kompilerede binære filer til processoren ved hjælp af stlink IC på kortet, der fungerer som en SWD / JTAG -programmerer / debugger.

Jeg har også leveret en prøve projektmappe, som jeg taler om senere, og du kan downloade den. Det er inde i den første VIDEO1 -mappe.

Trin 2: Installation af software

Installation af software
Installation af software
Installation af software
Installation af software

Når du har downloadet alle filerne, foreslår jeg, at du lægger dem i en fælles mappe, da de alle bruges sammen til det samme formål. Jeg lagde alle mapperne i en mappe kaldet "Embedded" i mit HOME -bibliotek.

Vi starter med de letteste STM32 -biblioteker. Den mappe, du har downloadet, kan bare stå der. Bare sørg for at grave rundt for at se, hvor de relevante filer er gemt. Derfor kan du ændre og redigere den vigtigste MakeFile, så den fungerer med din platform.

Den anden letteste er kompilatoren. Du behøver heller ikke gøre noget ved det, men vi vil gøre kompilatoren til en globalt tilgængelig funktion, så du kan kalde kompilatoren fra en hvilken som helst mappe uanset stien. Alle trin kan udføres i terminal eller i gui, men jeg kan godt lide at bruge terminal, da når du bliver erfaren, bliver det hurtigere og lettere, og jeg opfordrer dig til at bruge terminal mere, hvis du er bange for det. Her er trinene:

  1. Gå ind i din hjemmemappe "/home/YOURUSERNAME/" eller "~/" eller skriv cd i terminal
  2. åbne filen ".bashrc" ved at skrive: nano.bashrc
  3. rul ned til slutningen af filen og tilføj denne linje: eksporter PATH = $ PATH: ~/Embedded/gcc-arm-none-eabi-8-2018-q4/bin
  4. afslut ved at gemme: CTRL+X, klik Y, ENTER
  5. køre kommando: source.bashrc for at opdatere terminalkilder
  6. kontrollere, om alt fungerer ved at skrive: arm-none-eabi-gcc --version, den skal vise den nyeste version af kompilatoren

For at installere st-link skal du pakke det arkiv, du har downloadet, ind i den integrerede mappe. Følg derefter disse trin:

  1. Kør: lav
  2. Gå ind i mappen "build/Release": cd build/Release
  3. Skriv ls, og du vil se to eksekverbare filer kaldet "st-flash" og "st-util"
  4. Flyt disse to til overordnet bibliotek stlink: mv st-flash st-util../../
  5. Du kan, hvis du gerne vil bruge disse to funktioner globalt redigere ".bashrc" -fil igen ved at tilføje:

    eksport PATH = $ PATH: ~/Embedded/stlink/

Det er alt! Du har alt, hvad du har brug for. Tag nu fat i dig selv din foretrukne teksteditor. Brug bare en standard, en smartere som SublimeText eller Atom, det er det, jeg bruger.

Trin 3: Opsætning af et prøveprojekt

Opsætning af et prøveprojekt
Opsætning af et prøveprojekt

Vi vil nu oprette et prøveprojekt, som du kan bruge til at starte hvert projekt. Det er som en skabelon med alle hovedindstillingerne allerede håndteret.

Du kan downloade den på min MEGA, linket er på det første trin i denne instruerbare og under hver min youtube video. Inde er den tomme main.c -fil sammen med nogle opstartsfiler til denne processor og Makefile. Makefile er den, der fortæller C -kompilatoren, hvor man finder armkompilatoren, hvordan man kompilerer, og hvor er alle bibliotekerne. For at få disse passende filer til dit projekt kan du gå ind i biblioteksmappen STM32 og søge efter mapper med "projekt" eller "eksempler". Indenfor vil du se og kopiere disse filer: main.c, Makefile og XXX_conf.h, system_XXX.c. Du skal også bruge stm32_flash.ld linkerfil, der kan findes i mappe:

"/FLASH_Program/TrueSTUDIO/FLASH_Program/", der er inde i eksempelmappen, eller bare søg efter filen.

Makefile kan findes online eller kopieres fra min mappe, men du skal ændre et par ting. Lad os se på min make -fil og hvad du kan ændre.

# Sti til stlink -mappe til upload af kode til board

STLINK = ~/Embedded/stlink # Sæt dine kildefiler her (*.c) SRCS = main.c system_stm32f4xx.c # Bibliotekernes kildefiler #SRCS += stm32f4xx_rcc.c #SRCS += stm32f4xx_gpio.c # Binarier genereres med dette navn (.elf,.bin,.hex) PROJ_NAME = test # Sæt dit bibliotekskatalog i STM32F4-biblioteket her, ændr DIT BRUGERNAVN til dit STM_COMMON =/home/matej/Embedded/STM32F4-Discovery_FW_V1.1.0 # Kompilerindstillinger. Rediger kun CFLAGS for at inkludere andre overskriftsfiler. CC = arm -none -eabi -gcc OBJCOPY = arm -none -eabi -objcopy # Compiler -flag CFLAGS = -g -O2 -Wall -Tstm32_flash.ld CFLAGS += -DUSE_STDPERIPH_DRIVER CFLAGS += -mlittle -endian -mum = cortex-m4 -mumbumb-interwork CFLAGS += -mfloat-abi = hard -mfpu = fpv4-sp-d16 CFLAGS += -I. # Inkluder filer fra STM -biblioteker CFLAGS += -I $ (STM_COMMON)/Libraries/CMSIS/Include CFLAGS += -I $ (STM_COMMON)/Libraries/CMSIS/ST/STM32F4xx/Include CFLAGS += -I $ (STM_COMMON)/ Libraries/STM32F4xx_StdPeriph_Driver/inc CFLAGS += -I $ (STM_COMMON)/Utilities/STM32F4 -Discovery # tilføj startfil for at opbygge SRCS += $ (STM_COMMON)/Libraries/CMSIS/ST/STM32F4xx/Source/Skabeloner/Skabeloner/Skabeloner/Skabeloner/Skabeloner s OBJS = $ (SRCS:.c =.o) vpath %.c $ (STM_COMMON)/Libraries/STM32F4xx_StdPeriph_Driver/src \. PHONY: proj all: proj proj: $ (PROJ_NAME).elf $ (PROJ_NAME). selv:: $ (SRCS) $ (CC) $ (CFLAGS) $^ -o $@ $ (OBJCOPY) -O ihex $ (PROJ_NAME).elf $ (PROJ_NAME).hex $ (OBJCOPY) -O binær $ (PROJ_NAME).elf $ (PROJ_NAME).bin clean: rm -f *.o $ (PROJ_NAME).elf $ (PROJ_NAME).hex $ (PROJ_NAME).bin # Flash STM32F4 burn: proj $ (STLINK)/st -flash write $ (PROJ_NAME). Bin 0x80000000

  • Du kan redigere første linje for at ændre sti til mappen til dit stlink -værktøj
  • Du kan ændre linje til destinationen for din mappe med biblioteker og DIT BRUGERNAVN

    STM_COMMON =/home/YOURUSERNAME/Embedded/STM32F4-Discovery_FW_V1.1.0

  • Se også afsnittet, hvor alle bibliotekerne er forbundet. Dette kan ændre sig afhængigt af den platform, du bruger, så tjek for ændringer i filtræet. Noget andet, der indeholder stier til bestemte filer, som f.eks. Med næste linje med startfil, kan ændres.

Når du har redigeret alle disse ting inde i Makefile, kan du kontrollere, om det virker, ved at åbne en terminal inde i dit bibliotek og skrive: make. Hvis det kompilerer alle ting uden problemer, så er du klar. Hvis ikke, skal du se på kompilatorfejlene og redigere Makefile.

Når jeg bruger Atom, lægger jeg også to stykker kode side om side. Normalt main.c og Makefile til venstre, da du kun skal redigere Makefile én gang og biblioteker til højre. Du kan se på billedet, at jeg har åbnet mappen, der indeholder.c og.h filerne for hvert bibliotek. Du kan se alt dette i videoerne.

Trin 4: Færdig

Færdig!
Færdig!

Nu hvor du har konfigureret Makefile og kompilatoren fungerer, kan du bruge denne mappe til alle projekter som en skabelon, så sørg for at gemme en kopi af denne mappe.

Du kan også teste st-flash- og st-info-programmerne ved at tilslutte dit udviklingskort og skrive i terminalen:

st-info --probe

Du kan se den platform, som stlink -softwaren genkender og IC -familien sammen med cache og andre ting. Du kan indtaste:

st-info

for at se alle tilgængelige parametre.

Nu kan du begynde at programmere. I den næste instruerbare og video, vil jeg vise dig det grundlæggende i GPIO og ure. Disse to er det grundlæggende for alt andet, da næsten alt, hvad tavlen interagerer med, er over GPIO, og alt fungerer på uret, og du vil se mønsteret til programmering af disse processorer.

Indtil da, tak fordi du tjekkede min instruktive og min youtube video, hvis du ikke har gjort det endnu.

Anbefalede: