Satura rādītājs:

Sāciet izstrādāt STM32 operētājsistēmā Linux: 4 soļi
Sāciet izstrādāt STM32 operētājsistēmā Linux: 4 soļi

Video: Sāciet izstrādāt STM32 operētājsistēmā Linux: 4 soļi

Video: Sāciet izstrādāt STM32 operētājsistēmā Linux: 4 soļi
Video: Sāciet darbu ar Enscape | Enscape ar SketchUp 2024, Novembris
Anonim
Image
Image
Lejupielādējiet visu nepieciešamo
Lejupielādējiet visu nepieciešamo

Š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

Programmatūras instalēšana
Programmatūras instalēšana
Programmatūras instalēšana
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.

  1. Iet uz savu mājas mapi "/home/YOURUSERNAME/" vai "~/" vai ierakstiet terminālī cd
  2. atveriet failu ".bashrc", ierakstot: nano.bashrc
  3. ritiniet uz leju līdz faila beigām un pievienojiet šo rindu: export PATH = $ PATH: ~/Embedded/gcc-arm-none-eabi-8-2018-q4/bin
  4. iziet, saglabājot: CTRL+X, noklikšķiniet uz Y, ENTER
  5. palaidiet komandu: source.bashrc, lai atsvaidzinātu termināļa avotus
  6. 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:

  1. Skrien: uztaisi
  2. Iet uz mapi "build/Release": cd build/Release
  3. Ierakstiet ls un jūs redzēsit divus izpildāmos failus ar nosaukumu "st-flash" un "st-util"
  4. Pārvietojiet šos divus uz galveno direktoriju stlink: mv st-flash st-util../../
  5. 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

Parauga projekta iestatīšana
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

Pabeigts!
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: