Përmbajtje:

Filloni të Zhvilloni STM32 në Linux: 4 hapa
Filloni të Zhvilloni STM32 në Linux: 4 hapa

Video: Filloni të Zhvilloni STM32 në Linux: 4 hapa

Video: Filloni të Zhvilloni STM32 në Linux: 4 hapa
Video: BTT GTR v1.0/M5 v1.0 - Basics 2024, Nëntor
Anonim
Image
Image
Shkarkoni gjithçka që ju nevojitet
Shkarkoni gjithçka që ju nevojitet

Në këtë Instructable, unë do t'ju tregoj se sa e lehtë është të fillosh zhvillimin e programeve STM32 në Linux. Fillova të përdor Linux si makinën time kryesore 2 vjet më parë dhe nuk jam zhgënjyer. Çdo gjë funksionon më shpejt dhe më mirë se dritaret. Sigurisht që është më pak i përshtatshëm herë pas here, por ju detyron të mësoni gjërat më thellë në mënyrë që ta përdorni.

Gjithsesi, në këtë udhëzues, pjesë e një serie që po filloj këtu DHE në youtube ka të bëjë me mënyrën e fillimit të saj. Ju lutemi sigurohuni që të shikoni edhe videon time në youtube ku unë shpjegoj gjithçka si një segment dhe ju mund të kodoni përkrah meje.

Në këtë seri do t'ju tregoj se si mund të zhvilloheni duke përdorur vetëm një redaktues teksti si fletore, SublimeText ose Atom, kështu që nuk keni nevojë për ndonjë softuer të pronarit ose IDE. Kjo është aq kockat e zhveshura sa bëhet dhe është çuditërisht e lehtë.

Hapi 1: Shkarkoni gjithçka që ju nevojitet

Ju duhet të shkarkoni tre pjesë që gjithçka të funksionojë:

  • Përpilues GCC për ARM
  • Skedarët e firmware STM32
  • Shërbimi St-link
  • Projekt Shembull

Përpiluesi është pjesa kryesore e softuerit që përpilon kodin tonë C me të gjithë skedarët e tjerë të bibliotekës në gjuhën e makinerisë që kontrolluesi ynë stm32 mund të kuptojë. Shkarkoni versionin e fundit të përpiluar paraprakisht të këtij përpiluesi.

Dosja që përmban firmware STM32 është ajo që mban të gjithë skedarët e fillimit dhe thelbin e nevojshëm për funksionimin e procesorit kryesor. Ne do të përdorim Bibliotekën Standard Periferike që është tejkaluar nga HAL. Më pëlqen StPeriphLibrary më shumë pasi kompanitë që punojnë në këtë procesorë i përdorin ato sepse është e fuqishme dhe më e vjetër dhe e mbështetur. Alsoshtë gjithashtu më i thyer. Nuk e ndërpret punën që duhet të bëni për të inicializuar një periferik ose për të ndezur një LED, por, kështu që ju detyron të mësoni se si funksionojnë këta përpunues. Me këtë ju keni më shumë njohuri për punën e brendshme duke bërë kështu kuptimin e programimit të çdo detyre.

Pjesa e fundit e softuerit për tu shkarkuar është mjeti st-link. Ajo mirëmbahet në github dhe përdoret për të transferuar skedarë binarë të përpiluar në procesor duke përdorur IC stlink në tabelë që shërben si programues / korrigjues SWD / JTAG.

Gjithashtu kam siguruar një dosje mostër të projektit për të cilën flas më vonë dhe ju mund ta shkarkoni. Insideshtë brenda dosjes së parë VIDEO1.

Hapi 2: Instalimi i softuerit

Instalimi i Softuerit
Instalimi i Softuerit
Instalimi i Softuerit
Instalimi i Softuerit

Pasi të keni shkarkuar të gjithë skedarët, ju sugjeroj t'i vendosni brenda një dosje të zakonshme pasi të gjitha përdoren së bashku për të njëjtin qëllim. I vendos të gjitha dosjet brenda një dosje të quajtur "Embedded" në drejtorinë time HOME.

Ne do të fillojmë me bibliotekat më të lehta, STM32. Dosja që keni shkarkuar mund të lihet vetëm atje. Vetëm sigurohuni që të gërmoni për të parë se ku ruhen skedarët e duhur. Prandaj, mund të ndryshoni dhe modifikoni MakeFile -in kryesor, në mënyrë që të funksionojë me platformën tuaj.

E dyta më e lehtë është përpiluesi. Ju gjithashtu nuk keni nevojë të bëni asgjë për të, por ne do ta bëjmë përpiluesin një funksion të arritshëm globalisht, kështu që ju mund të telefononi përpiluesin nga çdo dosje pavarësisht nga rruga. Të gjithë hapat mund të bëhen në terminal ose në gui, por më pëlqen të përdor terminal pasi kur të përjetosh bëhet më i shpejtë dhe më i lehtë dhe ju inkurajoj të përdorni më shumë terminalin, nëse keni frikë prej tij. Këtu janë hapat:

  1. Shkoni në dosjen tuaj në shtëpi "/home/YOURUSERNAME/" ose "~/" ose shkruani cd në terminal
  2. hap skedarin ".bashrc" duke shtypur: nano.bashrc
  3. lëvizni deri në fund të skedarit dhe shtoni këtë rresht: eksportoni PATH = $ PATH: ~/Embedded/gcc-arm-none-eabi-8-2018-q4/bin
  4. dilni duke kursyer: CTRL+X, klikoni Y, ENTER
  5. ekzekutoni komandën: burimi.bashrc për të rifreskuar burimet terminale
  6. kontrolloni nëse gjithçka funksionon duke shtypur: arm-none-eabi-gcc-version, ai duhet të shfaqë versionin e fundit të përpiluesit

Për të instaluar st-link, nxirrni arkivin që keni shkarkuar në dosjen Embedded. Pastaj ndiqni këto hapa:

  1. Vraponi: bëni
  2. Shkoni te dosja "build/Release": cd build/Release
  3. Shkruani ls dhe do të shihni dy ekzekutues të quajtur "st-flash" dhe "st-util"
  4. Zhvendosini ato të dyja në drejtorinë e prindërve stlink: mv st-flash st-util../../
  5. Nëse dëshironi të përdorni këto dy funksione në nivel global, redaktoni përsëri skedarin ".bashrc" duke shtuar:

    Rruga e eksportit = $ PATH: ~/Embedded/stlink/

Kjo eshte e gjitha! Ju keni gjithçka që ju nevojitet. Tani shkoni të kapni redaktorin tuaj të preferuar të tekstit. Përdorni vetëm një standard, një më të zgjuar si SublimeText ose Atom, kjo është ajo që unë përdor.

Hapi 3: Krijimi i një projekti shembull

Krijimi i një projekti shembull
Krijimi i një projekti shembull

Tani do të krijojmë një projekt mostër që mund ta përdorni për të filluar çdo projekt. Likeshtë si një shabllon me të gjitha cilësimet kryesore të trajtuara tashmë.

Mund ta shkarkoni në MEGA -n time, lidhja është në hapin e parë të kësaj videoje udhëzuese dhe nën çdo video të mia në youtube. Brenda është skedari i zbrazët main.c së bashku me disa skedarë fillimi për këtë procesor dhe Makefile. Makefile është ai që i thotë përpiluesit C ku të gjejë përpiluesin e krahut, si të përpilohet dhe ku janë të gjitha bibliotekat. Për të marrë këto skedarë të përshtatshëm për projektin tuaj, mund të hyni në dosjen e bibliotekës STM32 dhe të kontrolloni për dosjet "projekt" ose "shembuj". Brenda do të shihni dhe kopjoni këto skedarë: main.c, Makefile dhe XXX_conf.h, system_XXX.c. Gjithashtu do t'ju duhet skedari lidhës stm32_flash.ld që mund të gjendet në dosjen:

"/FLASH_Program/TrueSTUDIO/FLASH_Program/" që është brenda dosjes së shembullit ose thjesht kërkoni skedarin.

Makefile mund të gjendet në internet ose të kopjohet nga dosja ime, por do t'ju duhet të ndryshoni disa gjëra. Le të tregojmë një vështrim në dosjen time të prodhimit dhe atë që mund të ndryshoni.

# Rruga për të ndërlidhur dosjen për ngarkimin e kodit në bord

STLINK = ~/Embedded/stlink # Vendosni skedarët tuaj burim këtu (*.c) SRCS = main.c system_stm32f4xx.c # Skedarët burim të bibliotekave #SRCS += stm32f4xx_rcc.c #SRCS += stm32f4xx_gpio.c # Binarët do të gjenerohen me ky emër (.elf,.bin,.hex) PROJ_NAME = test # Vendosni drejtorinë tuaj të kodit të bibliotekës STM32F4 këtu, ndryshoni emrin tuaj në STM_COMMON =/home/matej/Embedded/STM32F4-Discovery_FW_V1.1.0 # Cilësimet e përpiluesit. Ndryshoni vetëm CFLAGS për të përfshirë skedarë të tjerë të kokës. CC = arm -none -eabi -gcc OBJCOPY = arm -none -eabi -objcopy # Flamujt e përpiluesit CFLAGS = -g -O2 -Wall -Tstm32_flash.ld CFLAGS += -DUSE_STDPERIPH_DRIVER CFLAGS += -mumb -mian -p = cortex-m4 -mthumb-interwork CFLAGS += -mfloat-abi = e fortë -mfpu = fpv4-sp-d16 CFLAGS += -I. # Përfshi skedarë nga bibliotekat STM CFLAGS += -I $ (STM_COMMON)/Bibliotekat/CMSIS/Përfshi CFLAGS += -I $ (STM_COMMON)/Bibliotekat/CMSIS/ST/STM32F4xx/Përfshi CFLAGS += -I $ (STM_COMMON) Bibliotekat/STM32F4xx_StdPeriph_Driver/inc CFLAGS += -I $ (STM_COMMON)/Shërbimet/STM32F4 -Discovery # shtoni skedarin fillestar për të ndërtuar SRCS += $ (STM_COMMON)/Bibliotekat/CMSIS/ST/STM32F4xx/burim s OBJS = $ (SRCS:.c =.o) vpath %.c $ (STM_COMMON)/Bibliotekat/STM32F4xx_StdPeriph_Driver/src \. PHONY: proj all: proj proj: $ (PROJ_NAME). veten $ (PROJ_NAME).elf: $ (SRCS) $ (CC) $ (CFLAGS) $^ -o $@ $ (OBJCOPY) -O ihex $ (PROJ_NAME).elf $ (PROJ_NAME). Hex $ (OBJCOPY) -O binar $ (PROJ_NAME) vetja $ (PROJ_NAME). Kombinuar pastër: rm -f *.o $ (PROJ_NAME). Veten $ (PROJ_NAME). Hex $ (PROJ_NAME).bin # Flash # djeg STM32F4: proj $ (STLINK)/st -flash shkruaj $ (PROJ_NAME). Kombinuar 0x80000000

  • Ju mund të redaktoni rreshtin e parë për të ndryshuar shtegun në dosjen tuaj të shërbimeve të ndërlidhura
  • Ju mund të ndryshoni linjën në destinacionin e dosjes tuaj me bibliotekat dhe YOURUSERNAME

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

  • Gjithashtu shikoni pjesën ku janë lidhur të gjitha bibliotekat. Kjo mund të ndryshojë në varësi të platformës që po përdorni, kështu që ju lutemi kontrolloni për ndryshimet në pemën e skedarëve. Gjithnjë tjetër që përfshin çdo rrugë për skedarë të caktuar, si me rreshtin tjetër me skedarin e fillimit mund të ndryshohet.

Pasi të keni redaktuar të gjitha këto gjëra brenda Makefile, mund të kontrolloni nëse po funksionon duke hapur një terminal brenda drejtorisë tuaj dhe duke shtypur: make. Nëse përpilon çdo gjë pa problem, atëherë jeni gati. Nëse jo, shikoni gabimet e përpiluesit dhe redaktoni Makefile.

Gjithashtu, kur përdor Atom, vendos dy pjesë të kodit krah për krah. Zakonisht main.c dhe Makefile në të majtë pasi ju duhet vetëm të redaktoni Makefile një herë dhe bibliotekat në të djathtë. Ju mund të shihni në foto që kam hapur dosjen që përmban skedarët.c dhe.h për secilën bibliotekë. Të gjitha këto mund t’i shihni në video.

Hapi 4: Përfundoi

Përfundoi!
Përfundoi!

Tani që keni konfiguruar dhe përpiluar Makefile, ju mund ta përdorni këtë dosje për të gjitha projektet si një model, prandaj sigurohuni që të ruani një kopje të kësaj dosjeje.

Gjithashtu mund të provoni programet st-flash dhe st-info duke futur bordin tuaj të zhvillimit dhe duke shtypur në terminal:

st-info-sondë

Ju mund të shihni platformën që softueri i ndërlidhur njeh dhe familjen IC së bashku me cache dhe sende të tjera. Mund të shkruani:

st-info

për të parë të gjithë parametrat në dispozicion.

Tani mund të filloni programimin. Në videon tjetër udhëzuese dhe mësimore, unë do t'ju tregoj bazat e GPIO dhe orët. Këta të dy janë bazat për gjithçka tjetër pasi pothuajse gjithçka me të cilën ndërvepron bordi është mbi GPIO dhe gjithçka funksionon në orë dhe ju do të shihni modelin e programimit të këtyre përpunuesve.

Deri atëherë, faleminderit që shikuat videon time udhëzuese dhe YouTube, nëse nuk e keni bërë ende.

Recommended: