Cuprins:
- Pasul 1: Descărcați tot ce aveți nevoie
- Pasul 2: Instalarea software-ului
- Pasul 3: Configurarea unui exemplu de proiect
- Pasul 4: Finalizat
Video: Începeți să dezvoltați STM32 pe Linux: 4 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:41
În acest Instructable, vă voi arăta cât de ușor este să începeți să dezvoltați programe STM32 pe Linux. Am început să folosesc Linux ca mașină principală acum 2 ani și nu am fost dezamăgit. Totul funcționează mai repede și mai bine decât ferestrele. Desigur, este mai puțin convenabil din când în când, dar te obligă să înveți lucrurile mai adânc, astfel încât să îl poți folosi.
Oricum, în acest instructiv, o parte dintr-o serie pe care o încep aici ȘI pe youtube este despre cum să o încep. Vă rugăm să vă asigurați că urmăriți și videoclipul meu pe YouTube, unde explic totul ca pe un singur segment și puteți codifica alături de mine.
În această serie vă voi arăta cum vă puteți dezvolta folosind doar un editor de text precum notepad, SublimeText sau Atom, deci nu aveți nevoie de niciun software propriu sau IDE. Acest lucru este la fel de osos gol și devine surprinzător de ușor.
Pasul 1: Descărcați tot ce aveți nevoie
Trebuie să descărcați trei părți pentru ca totul să funcționeze:
- Compilator GCC pentru ARM
- Fișiere firmware STM32
- Utilitatea St-link
- Exemplu de proiect
Compilatorul este piesa principală de software care compilează codul nostru C cu toate celelalte fișiere de bibliotecă în limbajul mașinii pe care controlorul nostru stm32 le poate înțelege. Descărcați cea mai recentă versiune precompilată a acestui compilator.
Dosarul care conține firmware-ul STM32 este cel care conține toate fișierele de pornire și de bază necesare pentru funcționarea procesorului principal. Vom folosi Biblioteca Periferică Standard care a fost depășită de HAL. Îmi place mai mult StPeriphLibrary, deoarece companiile care lucrează la aceste procesoare le folosesc pentru că este robustă, mai veche și acceptată. De asemenea, este mai accidentat. Nu reduce lucrurile pe care trebuie să le faceți pentru a inițializa un periferic sau pentru a porni un LED, dar vă obligă să aflați cum funcționează aceste procesoare. Cu aceasta aveți mai multe cunoștințe despre funcționarea interioară, având astfel sens de a programa orice sarcină.
Ultima piesă de software de descărcat este utilitarul st-link. Este menținut pe github și este utilizat pentru a transfera fișiere binare compilate către procesor folosind stlink IC pe placa care servește ca programator / depanator SWD / JTAG.
De asemenea, am oferit un exemplu de folder de proiect despre care vorbesc mai târziu și îl puteți descărca. Se află în primul folder VIDEO1.
Pasul 2: Instalarea software-ului
După ce ați descărcat toate fișierele, vă sugerez să le introduceți într-un folder comun, deoarece toate sunt utilizate împreună pentru același scop. Am pus toate folderele într-un folder numit „Embedded” în directorul meu HOME.
Vom începe cu cele mai ușoare biblioteci STM32. Dosarul pe care l-ați descărcat poate fi lăsat acolo. Asigurați-vă că ați săpat pentru a vedea unde sunt stocate fișierele corespunzătoare. Prin urmare, puteți modifica și edita MakeFile principal, astfel încât acesta să funcționeze cu platforma dvs.
Al doilea cel mai ușor este compilatorul. De asemenea, nu trebuie să faceți nimic, dar vom face din compilator o funcție accesibilă la nivel global, astfel încât să puteți apela compilatorul din orice folder, indiferent de cale. Toți pașii pot fi realizați în terminal sau în gui, dar îmi place să folosesc terminalul, deoarece atunci când ai experiență devine mai rapid și mai ușor și te încurajez să folosești mai mult terminalul, dacă ți-e frică de el. Iată pașii:
- Accesați folderul dvs. de acasă "/ home / DUMNOMULUI DUMNEAVOASTRĂ /" sau "~ /" sau tastați cd în terminal
- deschideți fișierul „.bashrc” tastând: nano.bashrc
- derulați în jos până la sfârșitul fișierului și adăugați această linie: export PATH = $ PATH: ~ / Embedded / gcc-arm-none-eabi-8-2018-q4 / bin
- ieși salvând: CTRL + X, dă clic pe Y, ENTER
- rulați comanda: sursă.bashrc pentru a reîmprospăta sursele terminalului
- verificați dacă totul funcționează tastând: arm-none-eabi-gcc --version, ar trebui să afișeze cea mai recentă versiune a compilatorului
Pentru a instala st-link, extrageți arhiva pe care ați descărcat-o în folderul Embedded. Apoi urmați acești pași:
- Fugiți: faceți
- Accesați folderul „build / Release”: cd build / Release
- Tastați ls și veți vedea două executabile numite „st-flash” și „st-util”
- Mutați-le pe cele două în directorul părinte stlink: mv st-flash st-util../../
-
Puteți, dacă doriți să utilizați aceste două funcții la nivel global, să editați din nou fișierul „.bashrc” adăugând:
export PATH = $ PATH: ~ / Embedded / stlink /
Asta e tot! Ai tot ce ai nevoie. Acum, du-te și ia-ți editorul de text preferat. Folosiți doar unul standard, unul mai inteligent precum SublimeText sau Atom, este ceea ce folosesc.
Pasul 3: Configurarea unui exemplu de proiect
Acum vom crea un exemplu de proiect pe care îl puteți utiliza pentru a începe fiecare proiect. Este ca un șablon cu toate setările principale deja gestionate.
Puteți să-l descărcați de pe MEGA, link-ul este la primul pas al acestui instructable și sub fiecare videoclip al meu de pe YouTube. În interior este fișierul main.c gol, împreună cu câteva fișiere de pornire pentru acest procesor și Makefile. Makefile este cel care spune compilatorului C unde să găsească compilatorul braț, cum să compileze și unde sunt toate bibliotecile. Pentru a obține aceste fișiere adecvate proiectului dvs., puteți accesa folderul bibliotecii STM32 și verificați dacă există un folder „proiect” sau „exemple”. În interior veți vedea și copia aceste fișiere: main.c, Makefile și XXX_conf.h, system_XXX.c. De asemenea, veți avea nevoie de fișierul linker stm32_flash.ld care poate fi găsit în folderul:
„/ FLASH_Program / TrueSTUDIO / FLASH_Program /” care se află în folderul de exemplu sau căutați doar fișierul.
Makefile poate fi găsit online sau copiat din folderul meu, dar va trebui să schimbați câteva lucruri. Să ne aruncăm o privire asupra fișierului meu make și a ceea ce ai putea schimba.
# Calea către folderul stlink pentru încărcarea codului pe bord
STLINK = ~ / Embedded / stlink # Puneți fișierele sursă aici (*.c) SRCS = main.c system_stm32f4xx.c # Fișiere sursă biblioteci #SRCS + = stm32f4xx_rcc.c #SRCS + = stm32f4xx_gpio.c # Binarii vor fi generați cu acest nume (.elf,.bin,.hex) PROJ_NAME = test # Puneți directorul codului de bibliotecă STM32F4 aici, schimbați-VĂ NUMEUL DE UTILIZATOR cu numele dvs. STM_COMMON = / home / matej / Embedded / STM32F4-Discovery_FW_V1.1.0 # Setările compilatorului. Editați CFLAGS numai pentru a include alte fișiere antet. CC = arm-none-eabi-gcc OBJCOPY = arm-none-eabi-objcopy # Compiler flags 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. # Includeți fișiere din bibliotecile STM CFLAGS + = -I $ (STM_COMMON) / Biblioteci / CMSIS / Includeți CFLAGS + = -I $ (STM_COMMON) / Biblioteci / CMSIS / ST / STM32F4xx / Includeți CFLAGS + = -I $ (STM_COMMON) / Biblioteci / STM32F4xx_StdPeriph_Driver / inc CFLAGS + = -I $ (STM_COMMON) / Utilities / STM32F4-Discovery # add startup file to build SRCS + = $ (STM_COMMON) / Libraries / CMSIS / ST / STM32F4xx / Source / Templates / TrueSTUD. s OBJS = $ (SRCS:.c =.o) vpath%.c $ (STM_COMMON) / Libraries / 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 binary $ (PROJ_NAME).elf $ (PROJ_NAME).bin clean: rm -f *.o $ (PROJ_NAME).elf $ (PROJ_NAME).hex $ (PROJ_NAME).bin # Flash STM32F4 burn: proj $ (STLINK) / st-flash write $ (PROJ_NAME).bin 0x80000000
- Ați putea edita prima linie pentru a schimba calea către folderul utilitarului dvs. stlink
-
Puteți schimba linia la destinația dosarului dvs. cu biblioteci și NUMEU DE DUMNEAVOASTRĂ
STM_COMMON = / home / YOURUSERNAME / Embedded / STM32F4-Discovery_FW_V1.1.0
- De asemenea, verificați secțiunea unde sunt conectate toate bibliotecile. Acest lucru se poate schimba în funcție de platforma pe care o utilizați, așa că vă rugăm să verificați dacă există modificări în arborele de fișiere. Altceva care include orice căi către anumite fișiere, cum ar fi linia următoare cu fișierul de pornire, poate fi modificat.
După ce ați editat toate aceste lucruri în Makefile, puteți verifica dacă funcționează deschizând un terminal în directorul dvs. și tastând: make. Dacă compilează fiecare lucru fără nicio problemă, atunci sunteți stabilit. Dacă nu, uitați-vă la erorile compilatorului și editați Makefile.
De asemenea, când folosesc Atom, pun două bucăți de cod una lângă alta. De obicei main.c și Makefile în stânga, deoarece trebuie să editați Makefile o singură dată și bibliotecile în dreapta. Puteți vedea pe imagine că am deschis dosarul care conține fișierele.c și.h pentru fiecare bibliotecă. Puteți vedea toate acestea în videoclipuri.
Pasul 4: Finalizat
Acum că aveți configurat Makefile și că compilatorul funcționează, puteți utiliza acest folder pentru toate proiectele ca șablon, deci asigurați-vă că salvați o copie a acestui folder.
De asemenea, puteți testa programele st-flash și st-info conectând placa de dezvoltare și tastând la terminal:
st-info --probe
Puteți vedea platforma pe care software-ul stlink o recunoaște și familia IC împreună cu memoria cache și alte lucruri. Puteți introduce:
st-info
pentru a vedea toți parametrii disponibili.
Acum puteți începe programarea. În următorul instructabil și video, vă voi arăta elementele de bază ale GPIO și ceasurilor. Aceste două sunt elementele de bază pentru orice altceva, deoarece aproape tot ce interacționează placa este peste GPIO și totul funcționează pe ceas și veți vedea modelul programării acestor procesoare.
Până atunci, vă mulțumesc că ați verificat videoclipul meu instructiv și YouTube, dacă nu ați făcut-o încă.
Recomandat:
Cum să configurați un Raspberry Pi și să începeți să-l utilizați: 4 pași
Cum să configurați un Raspberry Pi și să începeți să-l utilizați: Pentru cititorii viitorului, suntem în 2020. Anul în care, dacă aveți norocul de a fi sănătos și de a nu fi infectat de Covid-19, tu, dintr-o dată , ai mult mai mult timp liber decât ți-ai imaginat vreodată. Deci, cum mă pot ocupa într-un mod nu prea prost? O da
Cum să începeți cu RaspberryPi: 9 pași
Cum să începeți cu RaspberryPi: În acest instructiv vă voi arăta cum să începeți cu RashpberryPi într-un mod diferit
Cum să începeți un flux live de jocuri: 9 pași
Cum să pornești un flux live de jocuri: acest Instructables îți va arăta cum să configurezi un flux folosind Open Broadcaster Software sau OBSTo Pentru a porni fluxul live folosind OBS, vei dori următoarele lucruri Un computer capabil să ruleze jocul tău și software-ul de streaming
Dezvoltați-vă propriul kit PS4 Remapper: 4 pași
Dezvoltați-vă propriul kit PS4 Remapper: Creați-vă propriul kit PS4 Remapper prin inginerie inversă a proiectării layout-ului FPC al kitului Remapper. Ieșire fișiere Gerber din kitul de remapere PS4. Fișierele Gerber sunt disponibile pentru dvs., doar inbox. Aspectul poate fi modificat și dacă este necesar
Dezvoltați film și hârtie cu produse chimice pentru uz casnic: 3 pași
Dezvoltarea filmului și a hârtiei cu produse chimice pentru uz casnic: dezvoltarea filmului alb-negru este distractiv și destul de ușor de realizat acasă. Există o soluție numită cofenol, care este făcută din substanțe chimice ușor de găsit pentru uz casnic. Asta ți-ar da negative, la fel ca cele pe care le primești din fotografia de o oră