Satura rādītājs:
- 1. darbība: lejupielādējiet visu nepieciešamo
- 2. darbība: programmatūras instalēšana
- 3. darbība: parauga projekta iestatīšana
- 4. solis: pabeigts
Video: Sāciet izstrādāt STM32 operētājsistēmā Linux: 4 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:52
Šajā pamācībā es jums parādīšu, cik viegli ir sākt izstrādāt STM32 programmas Linux. Es sāku izmantot Linux kā savu galveno mašīnu pirms 2 gadiem un neesmu pievīlis. Viss darbojas ātrāk un labāk nekā logi. Protams, laiku pa laikam ir mazāk ērti, bet tas liek jums uzzināt lietas dziļāk, lai jūs varētu to izmantot.
Lai vai kā, šajā pamācībā daļa no sērijas, kuru es sāku šeit UN youtube, ir par to, kā to sākt. Lūdzu, noskatieties arī manu YouTube videoklipu, kur es visu izskaidroju kā vienu segmentu, un jūs varat kodēt man blakus.
Šajā sērijā es jums parādīšu, kā jūs varat attīstīties, izmantojot tikai teksta redaktoru, piemēram, piezīmju grāmatiņu, SublimeText vai Atom, tāpēc jums nav nepieciešama nekāda patentēta programmatūra vai IDE. Tas ir tik kails kauls, cik tas izpaužas, un tas ir pārsteidzoši viegli.
1. darbība: lejupielādējiet visu nepieciešamo
Lai viss darbotos, jums ir jālejupielādē trīs daļas:
- GCC kompilators ARM
- STM32 programmaparatūras faili
- St-link lietderība
- Projekta paraugs
Kompilators ir galvenā programmatūras daļa, kas apkopo mūsu C kodu ar visiem citiem bibliotēkas failiem mašīnas valodā, ko mūsu stm32 kontrolieris var saprast. Lejupielādējiet šī kompilatora jaunāko iepriekš apkopoto versiju.
Mape, kurā ir programmaparatūra STM32, ir tā, kurā ir visi starta un pamata faili, kas nepieciešami galvenā procesora darbībai. Mēs izmantosim standarta perifērijas bibliotēku, kuru ir pārspējis HAL. Man vairāk patīk StPeriphLibrary, jo uzņēmumi, kas strādā pie šiem procesoriem, tos izmanto, jo tas ir izturīgs un vecāks un tiek atbalstīts. Tas ir arī izturīgāks. Tas nesamazina darbu, kas jums jāveic, lai inicializētu perifēriju vai ieslēgtu gaismas diodi, bet tādējādi liek jums uzzināt, kā šie procesori darbojas. Līdz ar to jums ir vairāk zināšanu par iekšējo darbību, tādējādi saprotot jebkura uzdevuma programmēšanu.
Pēdējā lejupielādējamā programmatūra ir st-link utilīta. Tas tiek uzturēts vietnē github un tiek izmantots, lai pārsūtītu apkopotos bināros failus uz procesoru, izmantojot stlink IC uz tāfeles, kas kalpo kā SWD / JTAG programmētājs / atkļūdotājs.
Es arī sniedzu projekta mapes paraugu, par kuru es runāšu vēlāk, un jūs varat to lejupielādēt. Tas atrodas pirmajā VIDEO1 mapē.
2. darbība: programmatūras instalēšana
Pēc visu failu lejupielādes es iesaku tos ievietot kopējā mapē, jo tie visi tiek izmantoti vienam un tam pašam mērķim. Es ievietoju visas mapes mapē ar nosaukumu "Embedded" savā HOME direktorijā.
Sāksim ar vienkāršāko - STM32 bibliotēkām. Lejupielādēto mapi var vienkārši atstāt tur. Vienkārši pārliecinieties, ka rakt apkārt, lai redzētu, kur tiek glabāti atbilstošie faili. Tāpēc jūs varat mainīt un rediģēt galveno MakeFile, lai tas darbotos ar jūsu platformu.
Otrs vienkāršākais ir kompilators. Jums arī nekas nav jādara, bet mēs padarīsim kompilatoru par globāli pieejamu funkciju, lai jūs varētu piezvanīt kompilatoram no jebkuras mapes neatkarīgi no ceļa. Visas darbības var veikt terminālī vai gui, taču man patīk izmantot termināli, jo, kad esat pieredzējis, tas kļūst ātrāks un vieglāks, un, ja jūs no tā baidāties, es aicinu jūs izmantot termināli vairāk. Tālāk ir norādītas darbības.
- Iet uz savu mājas mapi "/home/YOURUSERNAME/" vai "~/" vai ierakstiet terminālī cd
- atveriet failu ".bashrc", ierakstot: nano.bashrc
- ritiniet uz leju līdz faila beigām un pievienojiet šo rindu: export PATH = $ PATH: ~/Embedded/gcc-arm-none-eabi-8-2018-q4/bin
- iziet, saglabājot: CTRL+X, noklikšķiniet uz Y, ENTER
- palaidiet komandu: source.bashrc, lai atsvaidzinātu termināļa avotus
- pārbaudiet, vai viss darbojas, ierakstot: arm-none-eabi-gcc --versija, tam vajadzētu parādīt jaunāko kompilatora versiju
Lai instalētu st-link, izvelciet lejupielādēto arhīvu mapē Embedded. Pēc tam rīkojieties šādi:
- Skrien: uztaisi
- Iet uz mapi "build/Release": cd build/Release
- Ierakstiet ls un jūs redzēsit divus izpildāmos failus ar nosaukumu "st-flash" un "st-util"
- Pārvietojiet šos divus uz galveno direktoriju stlink: mv st-flash st-util../../
-
Ja vēlaties izmantot šīs divas funkcijas globāli, varat rediģēt failu ".bashrc" vēlreiz, pievienojot:
eksportēt PATH = $ PATH: ~/Embedded/stlink/
Tas ir viss! Jums ir viss nepieciešamais. Tagad ejiet un paņemiet savu iecienītāko teksta redaktoru. Izmantojiet tikai standarta, gudrāku, piemēram, SublimeText vai Atom, tas ir tas, ko es izmantoju.
3. darbība: parauga projekta iestatīšana
Tagad mēs izveidosim projekta paraugu, kuru varēsit izmantot katra projekta uzsākšanai. Tā ir kā veidne ar visu galveno iestatījumu.
Jūs to varat lejupielādēt manā MEGA, saite ir uz šīs pamācības pirmā soļa un zem katra mana YouTube videoklipa. Iekšpusē ir tukšs fails main.c kopā ar dažiem šī procesora un Makefile palaišanas failiem. Makefile ir tas, kas norāda C kompilatoram, kur atrast rokas kompilatoru, kā apkopot un kur atrodas visas bibliotēkas. Lai iegūtu šos jūsu projektam atbilstošos failus, varat ieiet bibliotēkas mapē STM32 un pārbaudīt mapes "projekts" vai "piemēri". Iekšpusē redzēsit un kopēsit šos failus: main.c, Makefile un XXX_conf.h, system_XXX.c. Jums būs nepieciešams arī saites fails stm32_flash.ld, ko var atrast mapē:
"/FLASH_Program/TrueSTUDIO/FLASH_Program/", kas atrodas parauga mapē vai vienkārši meklējiet failu.
Makefile var atrast tiešsaistē vai nokopēt no manas mapes, taču jums būs jāmaina dažas lietas. Apskatīsim manu izgatavošanas failu un to, ko jūs varētu mainīt.
# Ceļš uz mapi stlink koda augšupielādei
STLINK = ~/Embedded/stlink # Ievietojiet avota failus šeit (*.c) SRCS = main.c system_stm32f4xx.c # Bibliotēku avota faili #SRCS += stm32f4xx_rcc.c #SRCS += stm32f4xx_gpio.c # Binārie faili tiks ģenerēti ar šis nosaukums (.elf,.bin,.hex) PROJ_NAME = test # Ievietojiet šeit savu STM32F4 bibliotēkas koda direktoriju, mainiet YOURUSERNAME uz savu STM_COMMON =/home/matej/Embedded/STM32F4-Discovery_FW_V1.1.0 # Sastādītāja iestatījumi. Rediģējiet tikai CFLAGS, lai iekļautu citus galvenes failus. CC = arm -none -eabi -gcc OBJCOPY = arm -none -eabi -objcopy # Sastādītāja karodziņi CFLAGS = -g -O2 -Wall -Tstm32_flash.ld CFLAGS += -DUSE_STDPERIPH_DRIVER CFLAGS += -mlittle -endian -mthumb -mcpu = cortex-m4-thumb-interwork CFLAGS += -mfloat-abi = hard -mfpu = fpv4-sp-d16 CFLAGS += -I. # Iekļaut failus no STM bibliotēkām CFLAGS += -I $ (STM_COMMON)/Bibliotēkas/CMSIS/Iekļaut CFLAGS += -I $ (STM_COMMON)/Bibliotēkas/CMSIS/ST/STM32F4xx/Iekļaut CFLAGS += -I $ (STM_COMMON)/ Bibliotēkas/STM32F4xx_StdPeriph_Driver/inc CFLAGS += -I $ (STM_COMMON)/Utilities/STM32F4 -Discovery # pievienot starta failu, lai izveidotu SRCS += $ (STM_COMMON)/Bibliotēkas/CMSIS/ST/STM32F4xx_st/Source/Temp. s OBJS = $ (SRCS:.c =.o) vpath %.c $ (STM_COMMON)/Bibliotēkas/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 # Zibspuldze STM32F4: proj $ (STLINK)/st -flash write $ (PROJ_NAME).bin 0x80000000
- Jūs varētu rediģēt pirmo rindu, lai mainītu ceļu uz jūsu stlink lietderības mapi
-
Jūs varat mainīt rindu uz mapes galamērķi, izmantojot bibliotēkas un YOURUSERNAME
STM_COMMON =/home/YOURUSERNAME/Embedded/STM32F4-Discovery_FW_V1.1.0
- Pārbaudiet arī sadaļu, kurā ir saistītas visas bibliotēkas. Tas var mainīties atkarībā no izmantotās platformas, tāpēc, lūdzu, pārbaudiet, vai failu kokā nav izmaiņas. Var mainīt visu, kas ietver jebkādus ceļus uz noteiktiem failiem, piemēram, ar nākamo rindu ar starta failu.
Pēc visu šo lietu rediģēšanas Makefile varat pārbaudīt, vai tā darbojas, atverot termināli direktorijā un ierakstot: make. Ja tas apkopo visu bez problēmām, tad esat gatavs. Ja nē, apskatiet kompilatora kļūdas un rediģējiet Makefile.
Turklāt, lietojot Atom, es ievietoju divus koda gabalus blakus. Parasti main.c un Makefile atrodas kreisajā pusē, jo Makefile ir jārediģē tikai vienreiz, bet bibliotēkas - labajā pusē. Attēlā redzams, ka esmu atvēris mapi, kurā ir katras bibliotēkas.c un.h faili. To visu var redzēt video.
4. solis: pabeigts
Tagad, kad esat konfigurējis Makefile un strādājat kompilatorā, šo mapi varat izmantot visiem projektiem kā veidni, tāpēc noteikti saglabājiet šīs mapes kopiju.
Varat arī pārbaudīt st-flash un st-info programmas, pievienojot attīstības paneli un ierakstot terminālī:
st-info-zonde
Jūs varat redzēt platformu, ko atpazīst programmatūra stlink, un IC saimi, kā arī kešatmiņu un citas lietas. Jūs varat ierakstīt:
st-info
lai redzētu visus pieejamos parametrus.
Tagad jūs varat sākt programmēt. Nākamajā pamācībā un video es jums parādīšu GPIO pamatus un pulksteņus. Šie divi ir visa pārējā pamati, jo gandrīz viss, ar ko valde mijiedarbojas, ir virs GPIO, un viss darbojas pēc pulksteņa, un jūs redzēsit šo procesoru programmēšanas modeli.
Līdz tam paldies, ka apskatījāt manu pamācību un manu YouTube videoklipu, ja vēl neesat to izdarījis.
Ieteicams:
L-tek deju spilventiņa pārveidošana uz aptauju pie 1000 hz operētājsistēmā Windows un Linux: 9 soļi
L-tek deju spilventiņa modificēšana uz aptauju pie 1000 hz operētājsistēmā Windows un Linux: kāpēc darīt šo modi? Ja kādreiz esat ritinājis līdz 125 BPM dziesmas diagrammai, jūs varētu brīnīties, kas notiek ar šo spikey boi? Kāpēc laiks iekrīt atsevišķos "laika nišās"? ITG un DDR ir neticami saspringti laika logi, un līdz ar to
Linux operētājsistēmā Chromebook pie XE303C12: 7 soļi
Linux operētājsistēmā Chromebook dators XE303C12: Sveiki, šajā apmācībā es parādīšu, kā palaist Kali Linux no SD kartes Samsung Chromebook 1. Šis bija ļoti grūts projekts, tāpēc esiet pacietīgs, es pievienošu e -pastu, lai kāds no jums, puiši, iestrēgtu lūdzu, sūtiet man e -pastu un es centīšos palīdzēt
Instalējiet Arduino operētājsistēmā Linux: 3 soļi
Instalējiet Arduino operētājsistēmā Linux: Kā instalēt jaunāko Arduino versiju Ubuntu
Kā iestatīt AVR programmēšanas vidi operētājsistēmā Linux: 5 soļi
Kā iestatīt AVR programmēšanas vidi operētājsistēmā Linux: ja vēlaties programmēt AVR mikrokontrollerus operētājsistēmā Windows, jums ir Studio, bet operētājsistēmā Linux mums ir tikai puisis. AVRDUDE ir komandrindas saskarne, lai programmētu AVR mikroshēmas, tas var būt nedaudz sarežģīti vispirms iestatīt. Šajā pamācībā es būšu s
Vienkāršs veids, kā instalēt Flash operētājsistēmā Ubuntu Linux: 4 soļi
Kā instalēt Flash operētājsistēmā Ubuntu Linux, vienkāršs veids! labi izmantot komandrindas un dod priekšroku GUI izrunātai Gooey (grafiska lietotāja saskarne)