Kazalo:
- 1. korak: Prenesite vse, kar potrebujete
- 2. korak: Namestitev programske opreme
- 3. korak: Nastavitev vzorčnega projekta
- 4. korak: Končano
Video: Začnite razvijati STM32 v Linuxu: 4 koraki
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:02
V tem navodilu vam bom pokazal, kako enostavno je začeti razvijati programe STM32 v Linuxu. Linux sem začel uporabljati kot svoj glavni stroj pred dvema letoma in nisem bil razočaran. Vse deluje hitreje in bolje kot okna. Seveda je občasno manj priročno, vendar vas prisili, da se stvari globlje naučite, da jih lahko uporabite.
Kakorkoli, v tem navodilu je del serije, ki jo začenjam tukaj, in na youtubu, kako začeti. Oglejte si tudi moj videoposnetek na youtubu, kjer vse razlagam kot en segment, poleg mene pa lahko kodirate.
V tej seriji vam bom pokazal, kako se lahko razvijate samo z urejevalnikom besedil, kot so beležnica, SublimeText ali Atom, tako da ne potrebujete lastniške programske opreme ali IDE. To je tako gole kosti, kot se dobi, in je presenetljivo enostavno.
1. korak: Prenesite vse, kar potrebujete
Če želite vse delovati, morate prenesti tri dele:
- GCC prevajalnik za ARM
- Datoteke vdelane programske opreme STM32
- Pripomoček st-link
- Vzorec projekta
Prevajalnik je glavni del programske opreme, ki prevede našo kodo C z vsemi drugimi datotekami knjižnice v strojni jezik, ki ga razume naš krmilnik stm32. Prenesite najnovejšo vnaprej sestavljeno različico tega prevajalnika.
Mapa, ki vsebuje vdelano programsko opremo STM32, je tista, ki vsebuje vse zagonske in osnovne datoteke, potrebne za delovanje glavnega procesorja. Uporabljali bomo standardno periferno knjižnico, ki jo je presegel HAL. StPeriphLibrary mi je bolj všeč, saj jih uporabljajo podjetja, ki delajo na teh procesorjih, ker je robusten in starejši ter podprt. Je tudi bolj robusten. To ne zmanjša dela, ki ga morate opraviti, da inicializirate zunanje naprave ali vklopite LED, ampak vas prisili, da se naučite, kako ti procesorji delujejo. S tem imate več znanja o notranjem delovanju, zato je smiselno programirati katero koli nalogo.
Zadnji del programske opreme za prenos je pripomoček st-link. Vzdržuje se na githubu in se uporablja za prenos sestavljenih binarnih datotek v procesor z uporabo stlink IC na plošči, ki služi kot programer / razhroščevalnik SWD / JTAG.
Predložil sem tudi vzorčno mapo projekta, o kateri bom govoril kasneje, in jo lahko prenesete. Nahaja se v prvi mapi VIDEO1.
2. korak: Namestitev programske opreme
Ko naložite vse datoteke, predlagam, da jih vstavite v skupno mapo, saj se vse skupaj uporabljajo za isti namen. Vse mape sem dal v mapo z imenom "Vdelano" v imenik HOME.
Začeli bomo z najlažjimi knjižnicami STM32. Mapo, ki ste jo prenesli, lahko pustite tam. Preverite, kje so shranjene ustrezne datoteke. Zato lahko spremenite in uredite glavni MakeFile, tako da bo deloval z vašo platformo.
Drugi najlažji način je prevajalnik. Prav tako vam ni treba storiti ničesar, vendar bomo prevajalnik naredili globalno dostopno funkcijo, tako da lahko pokličete prevajalnika iz katere koli mape, ne glede na pot. Vse korake je mogoče izvesti v terminalu ali v gui -ju, vendar rad uporabljam terminal, saj ko postaneš izkušen, postane hitrejši in lažji, zato te spodbujam, da ga uporabljaš več, če se tega bojiš. Tu so koraki:
- Pojdite v domačo mapo "/home/YOURUSERNAME/" ali "~/" ali vnesite cd v terminal
- odprite datoteko ".bashrc" tako, da vnesete: nano.bashrc
- pomaknite se navzdol do konca datoteke in dodajte to vrstico: export PATH = $ PATH: ~/Embedded/gcc-arm-none-eabi-8-2018-q4/bin
- izhod shranite: CTRL+X, kliknite Y, ENTER
- ukaz run: source.bashrc za osvežitev terminalskih virov
- preverite, ali vse deluje tako, da vnesete: arm-none-eabi-gcc --version, prikazati mora najnovejšo različico prevajalnika
Če želite namestiti st-link, izvlecite arhiv, ki ste ga prenesli v vgrajeno mapo. Nato sledite tem korakom:
- Zaženi: naredi
- Pojdite v mapo "build/Release": cd build/Release
- Vnesite ls in videli boste dve izvedljivi datoteki, imenovani "st-flash" in "st-util"
- Ta dva premakni v nadrejeni imenik stlink: mv st-flash st-util../../
-
Če želite uporabiti te dve funkciji, lahko datoteko ».bashrc« znova uredite tako, da dodate:
izvoz PATH = $ PATH: ~/Vdelano/stlink/
To je vse! Imate vse, kar potrebujete. Zdaj pa si vzemite svoj najljubši urejevalnik besedil. Uporabljam samo standardnega, pametnejšega, kot sta SublimeText ali Atom, to uporabljam jaz.
3. korak: Nastavitev vzorčnega projekta
Zdaj bomo ustvarili vzorec projekta, s katerim lahko začnete vsak projekt. Je kot predloga z vsemi glavnimi nastavitvami, ki so že obdelane.
Lahko ga prenesete na mojo MEGA, povezava je na prvem koraku tega navodila in pod vsakim mojim videom na youtube. V notranjosti je prazna datoteka main.c skupaj z nekaj zagonskimi datotekami za ta procesor in datoteko Makefile. Makefile je tisti, ki prevajalniku C pove, kje najti ročni prevajalnik, kako prevesti in kje so vse knjižnice. Če želite dobiti te ustrezne datoteke za svoj projekt, pojdite v mapo knjižnice STM32 in poiščite mape »projekt« ali »primeri«. V notranjosti boste videli in kopirali te datoteke: main.c, Makefile in XXX_conf.h, system_XXX.c. Prav tako boste potrebovali datoteko povezovalnika stm32_flash.ld, ki jo najdete v mapi:
"/FLASH_Program/TrueSTUDIO/FLASH_Program/", ki je v vzorčni mapi ali pa samo poiščite datoteko.
Makefile lahko najdete na spletu ali ga kopirate iz moje mape, vendar boste morali spremeniti nekaj stvari. Oglejmo si mojo datoteko make in kaj bi lahko spremenili.
# Pot do mape stlink za nalaganje kode na ploščo
STLINK = ~/Embedded/stlink # Vnesite svoje izvorne datoteke sem (*.c) SRCS = main.c system_stm32f4xx.c # Izvorne datoteke knjižnic #SRCS += stm32f4xx_rcc.c #SRCS += stm32f4xx_gpio.c # Dvojne datoteke bodo ustvarjene z to ime (.elf,.bin,.hex) PROJ_NAME = test # Tukaj vnesite imenik knjižnične kode STM32F4, spremenite YOURUSERNAME v svojega STM_COMMON =/home/matej/Embedded/STM32F4-Discovery_FW_V1.1.0 # Nastavitve prevajalnika. Urejajte samo CFLAGS, da vključite druge datoteke z glavo. CC = arm -none -eabi -gcc OBJCOPY = arm -none -eabi -objcopy # Zastavice prevajalnika CFLAGS = -g -O2 -Wall -Tstm32_flash.ld CFLAGS += -DUSE_STDPERIPH_DRIVER CFLAGS += -mlittle -endian -mthumb -mc cortex-m4 -mthumb-interwork CFLAGS += -mfloat-abi = hard -mfpu = fpv4-sp-d16 CFLAGS += -I # Vključi datoteke iz knjižnic STM CFLAGS += -I $ (STM_COMMON)/Knjižnice/CMSIS/Vključi CFLAGS += -I $ (STM_COMMON)/Knjižnice/CMSIS/ST/STM32F4xx/Vključi CFLAGS += -I $ (STM_COMMON)/ Knjižnice/STM32F4xx_StdPeriph_Driver/inc CFLAGS += -I $ (STM_COMMON)/Utilities/STM32F4 -Discovery # dodaj zagonsko datoteko za izdelavo SRCS += $ (STM_COMMON)/Knjižnice/CMSIS/ST/STM32F4xxx s OBJS = $ (SRCS:.c =.o) vpath %.c $ (STM_COMMON)/Knjižnice/STM32F4xx_StdPeriph_Driver/src \. PHONY: proj vse: proj proj: $ (PROJ_NAME).elf $ (PROJ_NAME).elf: $ (SRCS) $ (CC) $ (CFLAGS) $^ -o $@ $ (OBJCOPY) -O ihex $ (PROJ_NAME).elf $ (PROJ_NAME).hex $ (OBJCOPY) -O binarni $ (PROJ_NAME).elf $ (PROJ_NAME).bin clean: rm -f *.o $ (PROJ_NAME).elf $ (PROJ_NAME).hex $ (PROJ_NAME).bin # Flash zapisovanje STM32F4: proj $ (STLINK)/st -flash zapis $ (PROJ_NAME).bin 0x80000000
- Prvo vrstico lahko uredite, da spremenite pot do mape pripomočka stlink
-
Vrstico lahko spremenite v cilj mape s knjižnicami in YOURUSERNAME
STM_COMMON =/home/YOURUSERNAME/Embedded/STM32F4-Discovery_FW_V1.1.0
- Oglejte si tudi razdelek, kjer so povezane vse knjižnice. To se lahko spremeni glede na platformo, ki jo uporabljate, zato preverite, ali so v drevesnem datotečnem sistemu spremembe. Vse drugo, ki vključuje vse poti do določenih datotek, na primer naslednjo vrstico z zagonsko datoteko, je mogoče spremeniti.
Ko uredite vse te stvari v datoteki Makefile, lahko preverite, ali deluje, tako da odprete terminal v svojem imeniku in vnesete: make. Če vse stvari sestavi brez težav, ste pripravljeni. Če ne, poglejte napake prevajalnika in uredite datoteko Makefile.
Ko uporabljam Atom, postavim dva koda drug ob drugega. Običajno sta main.c in Makefile na levi, saj morate Makefile urediti le enkrat, knjižnice pa na desni. Na sliki lahko vidite, da sem odprl mapo, ki vsebuje datoteke.c in.h za vsako knjižnico. Vse to si lahko ogledate v video posnetkih.
4. korak: Končano
Zdaj, ko ste nastavili Makefile in prevajalnik deluje, lahko to mapo uporabite za vse projekte kot predlogo, zato shranite kopijo te mape.
Prav tako lahko preizkusite programa st-flash in st-info tako, da priključite razvojno ploščo in vtipkate v terminal:
st-info-sonda
Ogledate si lahko platformo, ki jo programska oprema stlink prepozna, in družino IC skupaj s predpomnilnikom in drugimi stvarmi. Vnesete lahko:
st-info
za ogled vseh razpoložljivih parametrov.
Zdaj lahko začnete s programiranjem. V naslednjem navodilu in videoposnetku vam bom pokazal osnove GPIO in ure. Ta dva sta osnova za vse ostalo, saj je skoraj vse, s čimer plošča komunicira, prek GPIO in vse deluje na uro, videli pa boste vzorec programiranja teh procesorjev.
Do takrat pa se vam zahvaljujem, da ste preverili moj videoposnetek in moj videoposnetek na YouTubu, če tega še niste storili.
Priporočena:
Začnite s kodo IDM STM32f767zi in naložite skico po meri: 3 koraki
Začetek s kodo IDM STM32f767zi in naložite skico po meri: KUPITE (kliknite preskus za nakup/obisk spletne strani) STM32F767ZISUPPORTED SOFTWARE · STM32CUBE IDE · KEIL MDK ARM µVISION · EWARM IAR EMBEDDED WORKBENCH uporablja se za programiranje STM mikrokrmilnikov
Začnite z avtomatizacijo doma: Namestitev domačega pomočnika: 3 koraki
Kako začeti z avtomatizacijo doma: Namestitev domačega pomočnika: Zdaj bomo začeli serijo avtomatizacije doma, kjer bomo ustvarili pameten dom, ki nam bo omogočal nadzor nad stvarmi, kot so luči, zvočniki, senzorji in tako naprej z uporabo osrednjega vozlišča skupaj z glasovni pomočnik. V tem prispevku se bomo naučili, kako
Začnite z Esp 8266 Esp-01 z Arduino IDE - Namestitev plošč Esp v Arduino Ide in programiranje Esp: 4 koraki
Začnite z Esp 8266 Esp-01 z Arduino IDE | Namestitev plošč Esp v Arduino Ide in programiranje Esp: V tem navodilu se bomo naučili, kako namestiti plošče esp8266 v Arduino IDE in kako programirati esp-01 in naložiti kodo vanj. Ker so plošče esp tako priljubljene, sem razmišljal, da bi popravil navodila za to in večina ljudi se sooča s težavo
Začnite z NodeMCU (ESP8266) .: 3 koraki
Začnite z NodeMCU (ESP8266) ….: V tem navodilu delim, kako lahko začnete z NodeMCU (ESP8266) z Arduino IDE. Ta vadnica je za začetnike, ki šele začenjajo. NodeMCU je tako kot Arduino z vgrajenim Wi -Fi -jem, zato lahko svoje projekte vzamete na spletu. Do k
Visuino Pro Macchina vmesnik OBDII Začnite LED utripa: 3 koraki
Visuino Pro Macchina vmesnik OBDII Začnite LED utripa: Film prikazuje najprostzy z programom którym rozpocząłem testowanie interfejsu MACCHINA M2 OBDII Prevedi: Video, ki prikazuje najpreprostejši primer testiranja vmesnika MACCHINA M2 OBDII