Innehållsförteckning:

Börja utveckla STM32 på Linux: 4 steg
Börja utveckla STM32 på Linux: 4 steg

Video: Börja utveckla STM32 på Linux: 4 steg

Video: Börja utveckla STM32 på Linux: 4 steg
Video: Programmering av STM32 Blue Pill med LDmicro PLC Ladder Logic 2024, November
Anonim
Image
Image
Ladda ner allt du behöver
Ladda ner allt du behöver

I denna instruktionsbok ska jag visa dig hur enkelt det är att börja utveckla STM32 -program på Linux. Jag började använda Linux som min huvudsakliga maskin för 2 år sedan och har inte svikit. Allt fungerar snabbare och bättre än fönster. Visst är det mindre bekvämt emellanåt, men det tvingar dig att lära dig saker djupare så att du kan använda det.

Hur som helst, i denna instruerbara del av en serie jag börjar här OCH på youtube handlar om hur man startar det. Var noga med att titta på min youtube -video också där jag förklarar allt som ett segment och du kan koda längs mig.

I den här serien kommer jag att visa dig hur du kan utvecklas med endast en textredigerare som anteckningsblock, SublimeText eller Atom, så du behöver ingen egen programvara eller IDE. Det här är så bara ben som det blir och det är förvånansvärt enkelt.

Steg 1: Ladda ner allt du behöver

Du måste ladda ner tre delar för att allt ska fungera:

  • GCC -kompilator för ARM
  • Firmware -filer för STM32
  • St-link-verktyg
  • Provprojekt

Kompilatorn är den viktigaste programvaran som sammanställer vår C -kod med alla andra biblioteksfiler till maskinspråk som vår stm32 -kontroller kan förstå. Ladda ner den senaste förkompilerade versionen av denna kompilator.

Mappen som innehåller STM32 -firmware är den som innehåller alla start- och kärnfiler som behövs för driften av huvudprocessorn. Vi kommer att använda Standard Periferbibliotek som har överträffats av HAL. Jag gillar StPeriphLibrary mer eftersom företag som arbetar med dessa processorer använder dem eftersom det är robust och äldre och stöds. Det är också mer robust. Det minskar inte arbetet som du måste göra för att initiera en kringutrustning eller tända en LED, men det tvingar dig att lära dig hur dessa processorer fungerar. Med det har du mer kunskap om inre funktioner, vilket gör att du känner för att programmera vilken uppgift som helst.

Den sista programvaran att ladda ner är st-link-verktyget. Den underhålls på github och används för att överföra sammanställda binära filer till processorn med hjälp av stlink IC på kortet som fungerar som en SWD / JTAG -programmerare / debugger.

Jag har också tillhandahållit en exempelprojektmapp som jag pratar om senare och du kan ladda ner den. Den finns i den första VIDEO1 -mappen.

Steg 2: Installera programvara

Installera programvara
Installera programvara
Installera programvara
Installera programvara

När du har laddat ner alla filer föreslår jag att du lägger dem i en gemensam mapp eftersom de alla används tillsammans för samma ändamål. Jag lägger alla mappar i en mapp som heter "Inbäddad" i min HOME -katalog.

Vi börjar med de enklaste, STM32 -biblioteken. Den mapp som du har laddat ner kan bara lämnas där. Se bara till att gräva runt för att se var rätt filer lagras. Därför kan du ändra och redigera huvudmakeFile så att den fungerar med din plattform.

Den näst enklaste är kompilatorn. Du behöver inte heller göra något åt det, men vi kommer att göra kompilatorn till en globalt tillgänglig funktion så att du kan ringa kompilatorn från valfri mapp oavsett sökväg. Alla steg kan göras i terminal eller i gui, men jag gillar att använda terminal som när du blir erfaren blir det snabbare och enklare och jag uppmuntrar dig att använda terminal mer, om du är rädd för det. Här är stegen:

  1. Gå till din hemmapp "/home/YOURUSERNAME/" eller "~/" eller skriv cd i terminalen
  2. öppna filen ".bashrc" genom att skriva: nano.bashrc
  3. rulla ner till slutet av filen och lägg till den här raden: export PATH = $ PATH: ~/Embedded/gcc-arm-none-eabi-8-2018-q4/bin
  4. avsluta genom att spara: CTRL+X, klicka på Y, ENTER
  5. kör kommando: source.bashrc för att uppdatera terminalkällor
  6. kontrollera om allt fungerar genom att skriva: arm-none-eabi-gcc --version, den ska visa den senaste versionen av kompilatorn

För att installera st-link, extrahera arkivet som du har laddat ner till den inbäddade mappen. Följ sedan dessa steg:

  1. Kör: gör
  2. Gå till mappen "build/Release": cd build/Release
  3. Skriv ls så ser du två körbara filer som heter "st-flash" och "st-util"
  4. Flytta dessa två till den överordnade katalogen stlink: mv st-flash st-util../../
  5. Du kan, om du vill använda dessa två funktioner globalt redigera ".bashrc" -fil igen genom att lägga till:

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

Det är allt! Du har allt du behöver. Gå nu och skaffa dig din favorittextredigerare. Använd bara en standard, en smartare som SublimeText eller Atom, det är vad jag använder.

Steg 3: Skapa ett provprojekt

Upprätta ett provprojekt
Upprätta ett provprojekt

Vi kommer nu att skapa ett exempelprojekt som du kan använda för att starta varje projekt. Det är som en mall med alla huvudinställningar som redan hanterats.

Du kan ladda ner den på min MEGA, länken är på första steget i denna instruerbara och under varje youtube -video av mig. Inuti finns den tomma main.c -filen tillsammans med några startfiler för denna processor och Makefile. Makefile är den som berättar för C -kompilatorn var man hittar armkompilatorn, hur man kompilerar och var alla bibliotek finns. För att få dessa lämpliga filer för ditt projekt kan du gå till biblioteksmappen STM32 och leta efter mappar med "projekt" eller "exempel". Inuti kommer du att se och kopiera dessa filer: main.c, Makefile och XXX_conf.h, system_XXX.c. Och du behöver stm32_flash.ld länkarfil som finns i mappen:

"/FLASH_Program/TrueSTUDIO/FLASH_Program/" som finns i exempelmappen eller sök bara efter filen.

Makefile kan hittas online eller kopieras från min mapp, men du måste ändra några saker. Låt oss titta på min make -fil och vad du kan ändra.

# Sökväg till stlink -mapp för överföring av kod till kort

STLINK = ~/Embedded/stlink # Lägg dina källfiler här (*.c) SRCS = main.c system_stm32f4xx.c # Bibliotekets källfiler #SRCS += stm32f4xx_rcc.c #SRCS += stm32f4xx_gpio.c # Binärer kommer att genereras med detta namn (.elf,.bin,.hex) PROJ_NAME = test # Lägg din bibliotekskodkatalog STM32F4 här, ändra DITT ANVÄNDARNAMN till din STM_COMMON =/home/matej/Embedded/STM32F4-Discovery_FW_V1.1.0 # Kompilatorinställningar. Redigera endast CFLAGS för att inkludera andra rubrikfiler. CC = arm -none -eabi -gcc OBJCOPY = arm -none -eabi -objcopy # Kompilatorflaggor CFLAGS = -g -O2 -Wall -Tstm32_flash.ld CFLAGS += -DUSE_STDPERIPH_DRIVER CFLAGS += -mlittle -endian -mumbumb -m = cortex-m4 -mumbumb-interwork CFLAGS += -mfloat-abi = hard -mfpu = fpv4-sp-d16 CFLAGS += -I. # Inkludera filer från STM -bibliotek CFLAGS += -I $ (STM_COMMON)/Libraries/CMSIS/Inkludera CFLAGS += -I $ (STM_COMMON)/Libraries/CMSIS/ST/STM32F4xx/Inkludera CFLAGS += -I $ (STM_COMMON)/ Libraries/STM32F4xx_StdPeriph_Driver/inc CFLAGS += -I $ (STM_COMMON)/Verktyg/STM32F4 -Discovery # lägg till startfil för att bygga SRCS += $ (STM_COMMON)/Libraries/CMSIS/ST/STM32F4xx/Source/Mall32 s OBJS = $ (SRCS:.c =.o) vpath %.c $ (STM_COMMON)/Libraries/STM32F4xx_StdPeriph_Driver/src \. PHONY: proj all: proj proj: $ (PROJ_NAME).elf $ (PROJ_NAME).elf:: $ (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 redigera första raden för att ändra sökväg till din stlink -verktygsmapp
  • Du kan ändra rad till destinationen för din mapp med bibliotek och DITT ANVÄNDARNAMN

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

  • Kolla också avsnitt där alla bibliotek är länkade. Detta kan variera beroende på vilken plattform du använder så kolla efter ändringar i filträdet. Allt annat som innehåller alla sökvägar till vissa filer, som med nästa rad med startfil, kan ändras.

När du har redigerat alla dessa saker i Makefile kan du kontrollera om det fungerar genom att öppna en terminal i din katalog och skriva: make. Om det sammanställer allt utan problem, är du klar. Om inte, titta på kompilatorfelen och redigera Makefile.

När jag använder Atom lägger jag också två bitar sida vid sida. Vanligtvis main.c och Makefile till vänster eftersom du bara behöver redigera Makefile en gång och bibliotek till höger. Du kan se på bilden att jag har öppnat mappen som innehåller.c- och.h -filerna för varje bibliotek. Du kan se allt detta i videorna.

Steg 4: Avslutad

Färdiga!
Färdiga!

Nu när du har konfigurerat Makefile och kompilatorn fungerar kan du använda den här mappen för alla projekt som en mall, så se till att du sparar en kopia av den här mappen.

Du kan också testa st-flash och st-info-program genom att ansluta ditt utvecklingskort och skriva in terminalen:

st-info --probe

Du kan se plattformen som stlink -programvaran känner igen och IC -familjen tillsammans med cache och andra saker. Du kan skriva in:

st-info

för att se alla tillgängliga parametrar.

Nu kan du börja programmera. I nästa instruerbara och video kommer jag att visa dig grunderna i GPIO och klockor. Dessa två är grunderna för allt annat eftersom nästan allt som styrelsen interagerar med är över GPIO och allt fungerar på klockan och du kommer att se mönstret för att programmera dessa processorer.

Tills dess, tack för att du kollade in min instruerbara och min youtube -video, om du inte har gjort det än.

Rekommenderad: