Turinys:

Pradėkite kurti STM32 „Linux“: 4 veiksmai
Pradėkite kurti STM32 „Linux“: 4 veiksmai

Video: Pradėkite kurti STM32 „Linux“: 4 veiksmai

Video: Pradėkite kurti STM32 „Linux“: 4 veiksmai
Video: SKRv2 - How to install firmware on STM32F429 2024, Liepa
Anonim
Image
Image
Atsisiųskite viską, ko jums reikia
Atsisiųskite viską, ko jums reikia

Šioje instrukcijoje aš jums parodysiu, kaip lengva pradėti kurti STM32 programas „Linux“. Prieš 2 metus pradėjau naudoti „Linux“kaip pagrindinę mašiną ir nenusivyliau. Viskas veikia greičiau ir geriau nei langai. Žinoma, laikas nuo laiko yra mažiau patogu, tačiau verčia mokytis dalykų giliau, kad galėtumėte jais naudotis.

Šiaip ar taip, šioje pamokomoje serijos dalyje, kurią pradedu čia IR „YouTube“, yra apie tai, kaip ją pradėti. Būtinai pažiūrėkite ir mano „YouTube“vaizdo įrašą, kuriame viską paaiškinu kaip vieną segmentą ir galite koduoti šalia manęs.

Šioje serijoje parodysiu, kaip galite kurti naudodami tik teksto rengyklę, pvz., Užrašų knygelę, „SublimeText“ar „Atom“, taigi jums nereikia jokios programinės įrangos ar IDE. Tai yra pliki kaulai ir tai stebėtinai lengva.

1 veiksmas: atsisiųskite viską, ko jums reikia

Kad viskas veiktų, turite atsisiųsti tris dalis:

  • GCC kompiliatorius, skirtas ARM
  • STM32 programinės įrangos failai
  • „St-link“programa
  • Pavyzdinis projektas

Kompiliatorius yra pagrindinė programinė įranga, kuri surenka mūsų C kodą su visais kitais bibliotekos failais į mašinos kalbą, kurią gali suprasti mūsų „stm32“valdiklis. Atsisiųskite naujausią iš anksto sudarytą šio kompiliatoriaus versiją.

Aplankas, kuriame yra programinė įranga STM32, yra tas, kuriame yra visi paleidimo ir pagrindiniai failai, reikalingi pagrindiniam procesoriui veikti. Mes naudosime standartinę periferinę biblioteką, kurią pranoko HAL. Man labiau patinka „StPeriphLibrary“, nes įmonės, kurios dirba su šiais procesoriais, jas naudoja, nes ji yra tvirta, senesnė ir palaikoma. Jis taip pat yra tvirtesnis. Tai nesumažina darbo, kurį turite atlikti, norėdami inicijuoti periferinį įrenginį arba įjungti šviesos diodą, tačiau verčia jus sužinoti, kaip šie procesoriai veikia. Turėdami daugiau žinių apie vidinį darbą, suprasite bet kokios užduoties programavimą.

Paskutinė parsisiunčiama programinė įranga yra „st-link“programa. Jis palaikomas „github“ir yra naudojamas perkeltiems dvejetainiams failams perkelti į procesorių, naudojant „stlink IC“plokštėje, kuri yra SWD / JTAG programuotojas / derintojas.

Taip pat pateikiau pavyzdinį projekto aplanką, apie kurį vėliau kalbėsiu ir kurį galėsite atsisiųsti. Jis yra pirmojo VIDEO1 aplanko viduje.

2 veiksmas: programinės įrangos diegimas

Programinės įrangos diegimas
Programinės įrangos diegimas
Programinės įrangos diegimas
Programinės įrangos diegimas

Atsisiuntę visus failus, siūlau juos sudėti į bendrą aplanką, nes jie visi naudojami kartu tam pačiam tikslui. Aš sudėjau visus aplankus į aplanką, pavadintą „Įterpta“, mano HOME kataloge.

Pradėsime nuo paprasčiausių, STM32 bibliotekų. Atsisiųstą aplanką galima tiesiog palikti ten. Tiesiog įsitikinkite, kad kasate aplink, kad pamatytumėte, kur saugomi atitinkami failai. Todėl galite pakeisti ir redaguoti pagrindinį „MakeFile“, kad jis veiktų su jūsų platforma.

Antras lengviausias yra kompiliatorius. Jums taip pat nereikia nieko daryti, tačiau kompiliatorių paversime visuotinai prieinama funkcija, kad galėtumėte skambinti kompiliatoriui iš bet kurio aplanko, neatsižvelgiant į kelią. Visus veiksmus galima atlikti terminale arba „gui“, bet man patinka naudotis terminalu, nes kai įgyji patirties, jis tampa greitesnis ir lengvesnis, ir raginu daugiau naudotis terminalu, jei jo bijai. Štai šie veiksmai:

  1. Eikite į savo namų aplanką „/home/YOURUSERNAME/“arba „~/“arba įveskite cd į terminalą
  2. atidarykite failą „.bashrc“įvesdami: nano.bashrc
  3. slinkite žemyn iki failo pabaigos ir pridėkite šią eilutę: export PATH = $ PATH: ~/Embedded/gcc-arm-none-eabi-8-2018-q4/bin
  4. Išeikite išsaugodami: CTRL+X, spustelėkite Y, ENTER
  5. paleiskite komandą: source.bashrc, kad atnaujintumėte terminalo šaltinius
  6. patikrinkite, ar viskas veikia, įvesdami: arm-none-eabi-gcc --version, jame turėtų būti rodoma naujausia kompiliatoriaus versija

Norėdami įdiegti „st-link“, išskleiskite archyvą, kurį atsisiuntėte į aplanką „Embedded“. Tada atlikite šiuos veiksmus:

  1. Vykdyti: padaryti
  2. Eikite į aplanką „build/Release“: cd build/Release
  3. Įveskite ls ir pamatysite du vykdomuosius failus, vadinamus „st-flash“ir „st-util“
  4. Perkelkite šiuos du į pirminį katalogą stlink: mv st-flash st-util../../
  5. Jei norite naudoti šias dvi funkcijas visame pasaulyje, galite dar kartą redaguoti „.bashrc“failą pridėdami:

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

Tai viskas! Jūs turite viską, ko jums reikia. Dabar eik ir pasiimk savo mėgstamą teksto redaktorių. Naudokite tik standartinį, protingesnį, pvz., „SublimeText“ar „Atom“.

3 žingsnis: pavyzdinio projekto nustatymas

Pavyzdinio projekto nustatymas
Pavyzdinio projekto nustatymas

Dabar sukursime pavyzdinį projektą, kurį galėsite naudoti kiekvienam projektui pradėti. Tai tarsi šablonas su visais pagrindiniais nustatymais.

Ją galite atsisiųsti iš mano MEGA, nuoroda yra pirmame šios instrukcijos žingsnyje ir po kiekvienu mano „YouTube“vaizdo įrašu. Viduje yra tuščias failas main.c kartu su kai kuriais šio procesoriaus ir „Makefile“paleisties failais. „Makefile“yra tas, kuris C kompiliatoriui nurodo, kur rasti rankos kompiliatorių, kaip kompiliuoti ir kur yra visos bibliotekos. Norėdami gauti šiuos savo projektui tinkamus failus, galite eiti į STM32 bibliotekos aplanką ir patikrinti, ar nėra aplankų „projektas“arba „pavyzdžiai“. Viduje pamatysite ir nukopijuosite šiuos failus: main.c, Makefile ir XXX_conf.h, system_XXX.c. Taip pat jums reikės nuorodos failo stm32_flash.ld, kurį rasite aplanke:

„/FLASH_Program/TrueSTUDIO/FLASH_Program/“, kuris yra pavyzdiniame aplanke arba tiesiog ieškokite failo.

„Makefile“galima rasti internete arba nukopijuoti iš mano aplanko, tačiau turėsite pakeisti keletą dalykų. Pažvelkime į mano prekės failą ir ką galite pakeisti.

# Kelias į „Stlink“aplanką, skirtą įkelti kodą į lentą

STLINK = ~/Embedded/stlink # Įdėkite savo šaltinio failus čia (*.c) SRCS = main.c system_stm32f4xx.c # Bibliotekų šaltinio failai #SRCS += stm32f4xx_rcc.c #SRCS += stm32f4xx_gpio.c # Dvejetainiai failai bus sugeneruoti naudojant šis vardas (.elf,.bin,.hex) PROJ_NAME = test # Įdėkite čia savo STM32F4 bibliotekos kodų katalogą, pakeiskite YOURUSERNAME į savo STM_COMMON =/home/matej/Embedded/STM32F4-Discovery_FW_V1.1.0 # Kompiliatoriaus nustatymai. Redaguokite CFLAGS tik įtraukdami kitus antraštės failus. CC = arm -none -eabi -gcc OBJCOPY = arm -none -eabi -objcopy # Kompiliatoriaus vėliavos CFLAGS = -g -O2 -Wall -Tstm32_flash.ld CFLAGS += -DUSE_STDPERIPH_DRIVER CFLAGS += -mlittle -endian -mthumb -mcpu = cortex-m4 -mthumb-interwork CFLAGS += -mfloat-abi = hard -mfpu = fpv4-sp-d16 CFLAGS += -I. # Įtraukti failus iš STM bibliotekų CFLAGS += -I $ (STM_COMMON)/Bibliotekos/CMSIS/Įtraukti CFLAGS += -I $ (STM_COMMON)/Bibliotekos/CMSIS/ST/STM32F4xx/Įtraukti CFLAGS += -I $ (STM_COMMON)/ Bibliotekos/STM32F4xx_StdPeriph_Driver/inc CFLAGS += -I $ (STM_COMMON)/Utilities/STM32F4 -Discovery # add startup file to build SRCS += $ (STM_COMMON)/Bibliotekos/CMSIS/ST/STM32F4xx_st/Temp/Temp. s OBJS = $ (SRCS:.c =.o) vpath %.c $ (STM_COMMON)/Bibliotekos/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 dvejetainis $ (PROJ_NAME).elf $ (PROJ_NAME).bin clean: rm -f *.o $ (PROJ_NAME).elf $ (PROJ_NAME).hex $ (PROJ_NAME).bin # „Flash“STM32F4 įrašymas: proj $ (STLINK)/st -flash write $ (PROJ_NAME).bin 0x80000000

  • Galite redaguoti pirmąją eilutę, kad pakeistumėte kelią į „stlink“įrankių aplanką
  • Galite pakeisti eilutę į savo aplanko paskirtį naudodami bibliotekas ir YOURUSERNAME

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

  • Taip pat patikrinkite skyrių, kuriame yra susietos visos bibliotekos. Tai gali keistis priklausomai nuo naudojamos platformos, todėl patikrinkite, ar nėra failų medžio pakeitimų. Viskas, kas apima bet kokius kelius į tam tikrus failus, gali būti pakeista, pvz., Su kita eilute su paleisties failu.

Suredagavę visus šiuos dalykus „Makefile“, galite patikrinti, ar jis veikia, atidarę terminalą savo kataloge ir įvedę: make. Jei viskas surenkama be problemų, tada esate pasiruošę. Jei ne, peržiūrėkite kompiliatoriaus klaidas ir redaguokite „Makefile“.

Be to, kai naudoju „Atom“, sudedu du kodo gabalus. Paprastai main.c ir Makefile yra kairėje, nes Makefile redaguoti reikia tik vieną kartą, o bibliotekos - dešinėje. Nuotraukoje matote, kad atidariau katalogą, kuriame yra kiekvienos bibliotekos.c ir.h failai. Visa tai galite pamatyti vaizdo įrašuose.

4 žingsnis: baigta

Baigta!
Baigta!

Dabar, kai sukonfigūravote „Makefile“ir veikia kompiliatorius, galite naudoti šį aplanką visiems projektams kaip šabloną, todėl būtinai išsaugokite šio aplanko kopiją.

Taip pat galite išbandyti „st-flash“ir „st-info“programas, prijungę savo kūrimo plokštę ir įvesdami į terminalą:

st-info-zondas

Galite pamatyti platformą, kurią atpažįsta „stlink“programinė įranga, ir IC šeimą kartu su talpykla ir kitais dalykais. Galite įvesti:

st-info

kad pamatytumėte visus galimus parametrus.

Dabar galite pradėti programuoti. Kitame pamokoje ir vaizdo įraše parodysiu GPIO pagrindus ir laikrodžius. Šie du yra viso kito pagrindai, nes beveik viskas, su kuo plokštė sąveikauja, yra per GPIO ir viskas veikia pagal laikrodį, ir pamatysite šių procesorių programavimo modelį.

Iki tol ačiū, kad peržiūrėjote mano pamokomą ir mano „YouTube“vaizdo įrašą, jei to dar nepadarėte.

Rekomenduojamas: