Innehållsförteckning:
- Steg 1: Ladda ner allt du behöver
- Steg 2: Installera programvara
- Steg 3: Skapa ett provprojekt
- Steg 4: Avslutad
Video: Börja utveckla STM32 på Linux: 4 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:38
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
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:
- Gå till din hemmapp "/home/YOURUSERNAME/" eller "~/" eller skriv cd i terminalen
- öppna filen ".bashrc" genom att skriva: nano.bashrc
- 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
- avsluta genom att spara: CTRL+X, klicka på Y, ENTER
- kör kommando: source.bashrc för att uppdatera terminalkällor
- 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:
- Kör: gör
- Gå till mappen "build/Release": cd build/Release
- Skriv ls så ser du två körbara filer som heter "st-flash" och "st-util"
- Flytta dessa två till den överordnade katalogen stlink: mv st-flash st-util../../
-
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
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
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:
Börja Med Scratch: 7 steg
Börja Med Scratch: Scratch ä r ett programmeringsspr å k d ä r du kan skapa dina egna interaktiva ber ä ttelser, animationer, spel, musik och konst. Du ska nu programmera din f ö rsta scratch. G å i p å programmets webbsida: Scratch och log
Soft Toy Bluetooth -tärningar och utveckla Android -spel med MIT App Inventor: 22 steg (med bilder)
Soft Toy Bluetooth -tärningar och utveckla Android -spel med MIT App Inventor: Att spela tärningsspel har olika metoder1) Traditionellt spel med tärningar av trä eller mässing. spela tärningarna fysiskt och flytta myntet i mobilen eller datorn
Utveckla ditt eget PS4 Remapper Kit: 4 steg
Utveckla ditt eget PS4 Remapper Kit: Gör ditt eget PS4 Remapper Kit genom att omvandla Remapper kit FPC layout design. Mata ut Gerber -filer från PS4 -remapper -kit. Gerber -filer är tillgängliga för dig, bara inkorg. Layouten kan också ändras om det behövs
Utveckla en motoriserad infällbar joystick: 10 steg (med bilder)
Utveckla en motoriserad infällbar joystick: Denna motoriserade infällbara joystick är en billig lösning för elrullstolsanvändare som har svårt att använda manuella svängbara joystickfästen. Det är en design iteration på ett tidigare infällbart joystickprojekt. Projektet består av
Utveckla film och fotopapper med hushållskemikalier: 3 steg
Utveckla film och fotopapper med hushållskemikalier: Att utveckla svartvitt film är roligt och ganska enkelt att göra hemma. Det finns en lösning som kallas caffenol som är gjord på lättillgängliga hushållskemikalier. Det skulle ge dig negativa, precis som de du får från en timmes foto