Sadržaj:
- Korak 1: Preuzmite sve što vam treba
- Korak 2: Instaliranje softvera
- Korak 3: Postavljanje uzorka projekta
- Korak 4: Završeno
Video: Počnite razvijati STM32 na Linuxu: 4 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:32
U ovom Instructable -u pokazat ću vam kako je lako započeti razvoj STM32 programa na Linuxu. Počeo sam koristiti Linux kao svoj glavni stroj prije 2 godine i nisu me iznevjerili. Sve radi brže i bolje od prozora. Naravno da je s vremena na vrijeme manje prikladan, ali vas tjera da dublje naučite stvari kako biste ih mogli koristiti.
U svakom slučaju, u ovom uputstvu dio serije koju započinjem ovdje I na youtubeu govori o tome kako je započeti. Molimo vas da svakako pogledate i moj video na YouTubeu gdje vam sve objašnjavam kao jedan segment, a vi možete kodirati pored mene.
U ovoj seriji pokazat ću vam kako se možete razvijati koristeći samo uređivač teksta poput bilježnice, SublimeText ili Atom, tako da vam ne treba nikakav vlasnički softver ili IDE. Ovo je koliko god gole kosti i iznenađujuće je jednostavno.
Korak 1: Preuzmite sve što vam treba
Morate preuzeti tri dijela da bi sve radilo:
- GCC prevoditelj za ARM
- STM32 datoteke firmvera
- Uslužni program St-link
- Uzorak projekta
Prevoditelj je glavni dio softvera koji kompilira naš C kod sa svim ostalim datotekama knjižnice na strojni jezik koji naš stm32 kontroler može razumjeti. Preuzmite najnoviju unaprijed sastavljenu verziju ovog prevoditelja.
Mapa koja sadrži firmver STM32 je ona koja sadrži sve datoteke za pokretanje i jezgru potrebne za rad glavnog procesora. Koristit ćemo standardnu perifernu biblioteku koju je nadmašio HAL. StPeriphLibrary mi se više sviđa jer ih tvrtke koje rade na ovim procesorima koriste jer je robustan i stariji te podržan. Također je i robusniji. To ne smanjuje posao koji morate učiniti za inicijalizaciju perifernih uređaja ili uključivanje LED -a, već vas tjera da naučite kako ti procesori rade. Uz to imate više znanja o unutarnjem radu pa imate smisla programirati bilo koji zadatak.
Posljednji softver za preuzimanje je uslužni program st-link. Održava se na githubu i koristi se za prijenos sastavljenih binarnih datoteka u procesor pomoću stlink IC -a na ploči koji služi kao SWD / JTAG programer / ispravljač pogrešaka.
Također sam dao uzorak projektne mape o kojoj ću kasnije govoriti i koju možete preuzeti. Nalazi se unutar prve mape VIDEO1.
Korak 2: Instaliranje softvera
Nakon što preuzmete sve datoteke, predlažem da ih stavite u zajedničku mapu jer se sve zajedno koriste u istu svrhu. Sve sam mape stavio u mapu pod nazivom "Ugrađeno" u svoj HOME direktorij.
Počet ćemo s najjednostavnijim, knjižnicama STM32. Mapu koju ste preuzeli možete ostaviti tamo. Samo svakako kopajte okolo da vidite gdje su pohranjene odgovarajuće datoteke. Stoga možete promijeniti i urediti glavni MakeFile kako bi radio s vašom platformom.
Drugi najjednostavniji je prevoditelj. Također ne morate ništa učiniti, ali prevoditelj ćemo učiniti globalno dostupnom funkcijom tako da možete pozvati prevoditelja iz bilo koje mape bez obzira na put. Svi se koraci mogu izvesti u terminalu ili u gui -u, ali ja volim koristiti terminal jer kad ste iskusni, postaje sve brži i lakši i potičem vas da više koristite terminal, ako se toga bojite. Evo koraka:
- Idite u svoju kućnu mapu "/home/YOURUSERNAME/" ili "~/" ili upišite cd u terminal
- otvorite datoteku ".bashrc" upisivanjem: nano.bashrc
- pomaknite se do kraja datoteke i dodajte ovaj redak: export PATH = $ PATH: ~/Embedded/gcc-arm-none-eabi-8-2018-q4/bin
- izađite spremanjem: CTRL+X, kliknite Y, ENTER
- naredba run: source.bashrc za osvježavanje terminala
- provjerite radi li sve upisivanjem: arm-none-eabi-gcc --version, trebala bi prikazati najnoviju verziju prevoditelja
Da biste instalirali st-link, ekstrahirajte arhivu koju ste preuzeli u mapu Embedded. Zatim slijedite ove korake:
- Trči: napravi
- Idite u mapu "build/Release": cd build/Release
- Upišite ls i vidjet ćete dvije izvršne datoteke pod nazivom "st-flash" i "st-util"
- Premjestite to dvoje u roditeljski direktorij stlink: mv st-flash st-util../../
-
Ako želite koristiti ove dvije funkcije na globalnoj razini, možete ponovno urediti datoteku ".bashrc" dodavanjem:
izvoz PATH = $ PATH: ~/Ugrađeno/stlink/
To je sve! Imate sve što vam treba. Sada uzmite svoj omiljeni uređivač teksta. Koristim samo standardni, pametniji poput SublimeText ili Atom, to je ono što ja koristim.
Korak 3: Postavljanje uzorka projekta
Sada ćemo stvoriti uzorak projekta koji možete koristiti za početak svakog projekta. To je poput predloška sa svim već postavljenim glavnim postavkama.
Možete ga preuzeti na moju MEGA -u, veza je na prvom koraku ovog uputstva i ispod svakog mog YouTube videa. Unutra je prazna datoteka main.c zajedno s nekim datotekama za pokretanje za ovaj procesor i Makefile. Makefile je onaj koji govori C prevoditelju gdje pronaći arm kompajler, kako kompajlirati i gdje su sve knjižnice. Da biste dobili odgovarajuće datoteke za svoj projekt, možete otići u mapu knjižnice STM32 i provjeriti ima li mapa "projekt" ili "primjeri". Unutra ćete vidjeti i kopirati ove datoteke: main.c, Makefile i XXX_conf.h, system_XXX.c. Također će vam trebati datoteka povezivača stm32_flash.ld koja se može pronaći u mapi:
"/FLASH_Program/TrueSTUDIO/FLASH_Program/" koji se nalazi unutar mape primjera ili samo potražite datoteku.
Makefile se može pronaći na mreži ili kopirati iz moje mape, ali morate promijeniti nekoliko stvari. Hajdemo ispričati priču o mojoj datoteci make i što biste mogli promijeniti.
# Put do mape stlink za prijenos koda na ploču
STLINK = ~/Embedded/stlink # Ovdje postavite svoje izvorne datoteke (*.c) SRCS = main.c system_stm32f4xx.c # Izvorne datoteke knjižnica #SRCS += stm32f4xx_rcc.c #SRCS += stm32f4xx_gpio.c # Binarne datoteke bit će generirane sa ovaj naziv (.elf,.bin,.hex) PROJ_NAME = test # Ovdje unesite direktorij koda knjižnice STM32F4, promijenite YOURUSERNAME u svoj STM_COMMON =/home/matej/Embedded/STM32F4-Discovery_FW_V1.1.0 # Postavke prevoditelja. Uredite samo CFLAGS tako da uključuje druge datoteke zaglavlja. CC = arm -none -eabi -gcc OBJCOPY = arm -none -eabi -objcopy # Zastavice kompajlera CFLAGS = -g -O2 -Wall -Tstm32_flash.ld CFLAGS += -DUSE_STDPERIPH_DRIVER CFLAGS += -mlittle -endian -mputa -mc cortex-m4 -mthumb-interwork CFLAGS += -mfloat-abi = hard -mfpu = fpv4-sp-d16 CFLAGS += -I. # Uključi datoteke iz STM knjižnica CFLAGS += -I $ (STM_COMMON)/Knjižnice/CMSIS/Uključi CFLAGS += -I $ (STM_COMMON)/Knjižnice/CMSIS/ST/STM32F4xx/Uključi CFLAGS += -I $ (STM_COMMON)/ Knjižnice/STM32F4xx_StdPeriph_Driver/inc CFLAGS += -I $ (STM_COMMON)/Utilities/STM32F4 -Discovery # dodavanje datoteke za pokretanje za izgradnju 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 all: 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 STM32F4 narezivanje: proj $ (STLINK)/st -flash zapis $ (PROJ_NAME).bin 0x80000000
- Možete urediti prvi redak da biste promijenili put do mape uslužnog programa stlink
-
Možete promijeniti redak u odredište svoje mape s knjižnicama i YOURUSERNAME
STM_COMMON =/home/YOURUSERNAME/Embedded/STM32F4-Discovery_FW_V1.1.0
- Također pogledajte odjeljak gdje su sve knjižnice povezane. To se može promijeniti ovisno o platformi koju koristite pa provjerite ima li promjena u stablu datoteka. Sve ostalo što uključuje bilo koje putove do određenih datoteka, kao što je sljedeći redak s datotekom za pokretanje, može se promijeniti.
Nakon što ste uredili sve ove stvari unutar Makefile -a, možete provjeriti radi li tako što ćete otvoriti terminal u svom direktoriju i unijeti: make. Ako sastavi sve stvari bez problema, onda ste spremni. Ako ne, pogledajte pogreške prevoditelja i uredite Makefile.
Također, kada koristim Atom, stavljam dva komada koda jedan do drugog. Obično main.c i Makefile slijeva jer trebate samo jednom urediti Makefile, a biblioteke desno. Na slici možete vidjeti da sam otvorio mapu koja sadrži datoteke.c i.h za svaku knjižnicu. Sve to možete vidjeti u video zapisima.
Korak 4: Završeno
Sada kada ste konfigurirali Makefile i radili kompajler, možete koristiti ovu mapu za sve projekte kao predložak, stoga obavezno spremite kopiju ove mape.
Također možete testirati programe st-flash i st-info uključivanjem razvojne ploče i upisivanjem u terminal:
st-info-sonda
Možete vidjeti platformu koju stlink softver prepoznaje i IC obitelj zajedno s predmemorijom i drugim stvarima. Možete unijeti:
st-info
da biste vidjeli sve dostupne parametre.
Sada možete početi s programiranjem. U sljedećem uputstvu i videu pokazat ću vam osnove GPIO -a i satova. Ovo dvoje su osnove za sve ostalo jer gotovo sve s čime ploča komunicira je preko GPIO -a i sve radi na satu i vidjet ćete uzorak programiranja ovih procesora.
Do tada, hvala vam što ste pogledali moj video s uputama i moj YouTube video, ako to još niste učinili.
Preporučeni:
USB stolni sat s pogonom na Linuxu: 10 koraka
USB stolni sat s pogonom na Linuxu: Stolni sat sa USB napajanjem za stol je stolni sat s Raspbian Lite sustavom Linux. Napravljen je da ga koriste posebno noćne sove poput mene koje žele vidjeti brzo vrijeme, ali je presvijetli LCD da bi provjerio vrijeme na mobilnom telefonu. Izgleda super na mojim postavkama
Pokretanje bez zaslona / zaslona (bez glave) na Raspberry Pi ili drugim računalima temeljenim na Linuxu / unixu: 6 koraka
Pokretanje bez zaslona / zaslona (bez glave) na Raspberry Pi ili drugim računalima sa sustavom Linux / unix: Kada većina ljudi kupi Raspberry PI, misle da im je potreban zaslon računala. Ne trošite novac na nepotrebne računalne monitore i tipkovnice. Ne gubite vrijeme na premještanje tipkovnica i monitora između računala. Ne vežite televizor kad nema
[HASS.IO] Počnite graditi svoju pametnu kuću bez kodiranja, za manje od 100 USD: 6 koraka
[HASS.IO] Počnite graditi svoju pametnu kuću bez kodiranja, za manje od 100 USD: Nedavno sam se petljao i uspješno učinio svoju kuću manje " idiotskom ". Stoga ću podijeliti kako napraviti sustav pametne kuće s niskom cijenom, visokom kompatibilnošću koja bi radila besprijekorno i stabilno
Počnite s Kicadom - Dodijelite otiske PCB -a shematskim simbolima: 9 koraka
Počnite s Kicadom - Dodijelite otiske PCB -a shematskim simbolima: Nastavljajući s mini nizom uputa o korištenju Kicada, sada imamo dio koji mi se čini kada se počne koristiti Kicad najkompliciraniji je povezivanje simbola ili simboli sheme na stvarne komade koje ćemo vi
Počnite s Kicadom - shematski dijagram: 9 koraka
Počnite s Kicadom - shematski dijagram: Kicad je besplatna i otvorena alternativa CAD sustavima za komercijalne PCB -e, nemojte me pogriješiti. EAGLE i slično su vrlo dobri, ali besplatna verzija EAGLE -a ponekad ne uspije, a studentska verzija traje samo 3 godine, pa je Kicad izvanredan