Obsah:

Začnite vyvíjať STM32 v systéme Linux: 4 kroky
Začnite vyvíjať STM32 v systéme Linux: 4 kroky
Anonim
Image
Image
Stiahnite si všetko, čo potrebujete
Stiahnite si všetko, čo potrebujete

V tomto návode vám ukážem, aké ľahké je začať s vývojom programov STM32 v systéme Linux. Linux som začal používať ako svoj hlavný stroj pred 2 rokmi a nesklamal som. Všetko funguje rýchlejšie a lepšie ako okná. Čas od času je to samozrejme menej pohodlné, ale núti vás to naučiť sa veci hlbšie, aby ste ich mohli používať.

V každom prípade v tejto inštruktážnej časti série, ktorou začínam tu A na youtube, ide o to, ako ju začať. Nezabudnite si pozrieť aj moje video na YouTube, kde všetko vysvetľujem ako jeden segment a môžete kódovať vedľa mňa.

V tejto sérii vám ukážem, ako sa môžete vyvíjať iba pomocou textového editora, ako je poznámkový blok, SublimeText alebo Atom, takže nepotrebujete žiadny proprietárny softvér ani IDE. Je to také prázdne, ako to len ide a je to prekvapivo ľahké.

Krok 1: Stiahnite si všetko, čo potrebujete

Aby všetko fungovalo, musíte si stiahnuť tri časti:

  • Kompilátor GCC pre ARM
  • Súbory firmvéru STM32
  • Nástroj St-link
  • Ukážkový projekt

Kompilátor je hlavná časť softvéru, ktorá kompiluje náš kód C so všetkými ostatnými súbormi knižnice do strojového jazyka, ktorému náš radič stm32 rozumie. Stiahnite si najnovšiu predkompilovanú verziu tohto kompilátora.

Priečinok obsahujúci firmvér STM32 obsahuje všetky spúšťacie a základné súbory potrebné na prevádzku hlavného procesora. Budeme používať štandardnú periférnu knižnicu, ktorú HAL prekonal. StPeriphLibrary sa mi páči viac, pretože spoločnosti, ktoré na tomto procesore pracujú, ich používajú, pretože sú robustné, staršie a podporované. Je tiež odolnejší. Nezníži prácu, ktorú musíte vykonať pri inicializácii periférie alebo zapnutí diódy LED, ale prinúti vás naučiť sa, ako tieto procesory fungujú. Vďaka tomu budete mať lepšie znalosti o vnútornom fungovaní, takže budete mať zmysel programovať akúkoľvek úlohu.

Posledným softvérom na stiahnutie je nástroj st-link. Je udržiavaný na github a používa sa na prenos skompilovaných binárnych súborov do procesora pomocou stlink IC na doske slúžiacej ako SWD / JTAG programátor / debugger.

Tiež som poskytol ukážkový priečinok projektu, o ktorom budem hovoriť neskôr a môžete si ho stiahnuť. Nachádza sa v prvom priečinku VIDEO1.

Krok 2: Inštalácia softvéru

Inštalácia softvéru
Inštalácia softvéru
Inštalácia softvéru
Inštalácia softvéru

Potom, čo ste stiahli všetky súbory, navrhujem, aby ste ich vložili do spoločného priečinka, pretože všetky sa používajú spoločne na rovnaký účel. Všetky priečinky som vložil do priečinka s názvom „Embedded“v mojom adresári HOME.

Začneme tým najľahším, knižnicami STM32. Priečinok, ktorý ste stiahli, tam môžete nechať. Nezabudnite sa porozhliadnuť, aby ste zistili, kde sú uložené príslušné súbory. Preto môžete hlavný MakeFile zmeniť a upraviť, aby fungoval s vašou platformou.

Druhý najľahší je kompilátor. Tiež s tým nemusíte nič robiť, ale urobíme z kompilátora globálne prístupnú funkciu, aby ste mohli kompilátor zavolať z ľubovoľného priečinka bez ohľadu na cestu. Všetky kroky je možné vykonať v termináli alebo v GUI, ale rád používam terminál, pretože keď budete mať skúsenosti, bude to rýchlejšie a jednoduchšie. Odporúčame vám používať terminál častejšie, ak sa ho bojíte. Tu sú kroky:

  1. Prejdite do domovského priečinka „/home/YOURUSERNAME/“alebo „~/“alebo do terminálu zadajte príkaz cd
  2. otvorte súbor ".bashrc" zadaním: nano.bashrc
  3. posuňte sa nadol na koniec súboru a pridajte tento riadok: export PATH = $ PATH: ~/Embedded/gcc-arm-none-eabi-8-2018-q4/bin
  4. ukončite uložením: CTRL+X, kliknite na Y, ENTER
  5. na obnovenie terminálových zdrojov spustite príkaz: source.bashrc
  6. skontrolujte, či všetko funguje, zadaním: arm-none-eabi-gcc --version, mala by sa zobraziť najnovšia verzia kompilátora

Ak chcete nainštalovať st-link, rozbaľte archív, ktorý ste stiahli, do vstavaného priečinka. Potom postupujte podľa týchto krokov:

  1. Spustiť: urobiť
  2. Prejdite do priečinka „build/Release“: cd build/Release
  3. Napíšte ls a uvidíte dva spustiteľné súbory s názvom „st-flash“a „st-util“
  4. Presuňte tieto dva do odkazu na nadradený adresár: mv st-flash st-util../../
  5. Ak chcete tieto dve funkcie globálne znova použiť, môžete súbor „.bashrc“znova upraviť pridaním:

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

To je všetko! Máte všetko, čo potrebujete. Teraz si vezmite svoj obľúbený textový editor. Používajte iba štandardný, inteligentnejší ako SublimeText alebo Atom, ja ho používam.

Krok 3: Nastavenie ukážkového projektu

Nastavenie ukážkového projektu
Nastavenie ukážkového projektu

Teraz vytvoríme ukážkový projekt, ktorý môžete použiť na spustenie každého projektu. Je to ako šablóna so všetkými hlavnými nastaveniami, ktoré sú už zvládnuté.

Môžete si ho stiahnuť na mojom MEGA, odkaz je v prvom kroku tohto návodu a pod každým mojím videom na youtube. Vnútri je prázdny súbor main.c spolu s niektorými spúšťacími súbormi pre tento procesor a súbor Makefile. Makefile je ten, ktorý kompilátoru C hovorí, kde nájsť kompilátor ramena, ako kompilovať a kde sú všetky knižnice. Ak chcete získať tieto vhodné súbory pre svoj projekt, môžete prejsť do priečinka knižnice STM32 a vyhľadať priečinky „projekt“alebo „príklady“. Vnútri uvidíte a skopírujete tieto súbory: main.c, Makefile a XXX_conf.h, system_XXX.c. Tiež budete potrebovať súbor linkera stm32_flash.ld, ktorý nájdete v priečinku:

„/FLASH_Program/TrueSTUDIO/FLASH_Program/“, ktorý sa nachádza vo vzorovom priečinku, alebo jednoducho vyhľadajte súbor.

Makefile je možné nájsť online alebo skopírovať z môjho priečinka, budete však musieť zmeniť niekoľko vecí. Poďme sa pozrieť na môj súbor make a čo by ste mohli zmeniť.

# Cesta k priečinku s prepojením na odoslanie kódu na palubu

STLINK = ~/Embedded/stlink # Sem vložte svoje zdrojové súbory (*.c) SRCS = main.c system_stm32f4xx.c # Zdrojové súbory knižníc #SRCS += stm32f4xx_rcc.c #SRCS += stm32f4xx_gpio.c # Binárne súbory budú generované pomocou toto meno (.elf,.bin,.hex) PROJ_NAME = test # Sem vložte adresár s kódom knižnice STM32F4, zmeňte YOURUSERNAME na svoje STM_COMMON =/home/matej/Embedded/STM32F4-Discovery_FW_V1.1.0 # Nastavenia kompilátora. Upravujte iba CFLAGS tak, aby obsahoval ďalšie hlavičkové súbory. CC = arm -none -eabi -gcc OBJCOPY = arm -none -eabi -objcopy # Príznaky kompilátora 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. # Zahrnúť súbory z knižníc STM CFLAGS += -I $ (STM_COMMON)/Knižnice/CMSIS/Zahrnúť CFLAGS += -I $ (STM_COMMON)/Knižnice/CMSIS/ST/STM32F4xx/Zahrnúť CFLAGS += -I $ (STM_COMMON)/ Knižnice/STM32F4xx_StdPeriph_Driver/inc CFLAGS += -I $ (STM_COMMON)/Utilities/STM32F4 -Discovery # pridať štartovací súbor na zostavenie SRCS += $ (STM_COMMON)/Knižnice/CMSIS/ST/STM32F4xx/Source/Templates/True 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 binárne $ (PROJ_NAME).elf $ (PROJ_NAME).bin clean: rm -f *.o $ (PROJ_NAME).elf $ (PROJ_NAME).hex $ (PROJ_NAME).bin # Spustite vypaľovanie STM32F4: proj $ (STLINK)/st -flash zapíšte $ (PROJ_NAME).bin 0x80000000

  • Prvý riadok môžete upraviť a zmeniť tak cestu k priečinku s nástrojmi stlink
  • Riadok môžete zmeniť na cieľový priečinok s knižnicami a YOURUSERNAME

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

  • Prezrite si tiež sekciu, kde sú prepojené všetky knižnice. To sa môže zmeniť v závislosti od platformy, ktorú používate, preto skontrolujte zmeny v strome súborov. Všetko, čo zahŕňa cesty k určitým súborom, ako napríklad nasledujúci riadok so štartovacím súborom, je možné zmeniť.

Potom, čo ste upravili všetky tieto veci v Makefile, môžete skontrolovať, či funguje, otvorením terminálu vo vašom adresári a zadaním: make. Ak bez problémov skomplikuje každú vec, potom ste pripravení. Ak nie, pozrite sa na chyby kompilátora a upravte súbor Makefile.

Tiež, keď používam Atom, vložil som dva kusy kódu vedľa seba. Obvykle main.c a Makefile vľavo, pretože stačí, aby ste Makefile upravili iba raz a knižnice vpravo. Na obrázku môžete vidieť, že som otvoril priečinok obsahujúci súbory.c a.h pre každú knižnicu. To všetko môžete vidieť vo videách.

Krok 4: Hotovo

Hotovo!
Hotovo!

Teraz, keď máte nakonfigurovaný Makefile a kompilátor funguje, môžete tento priečinok použiť pre všetky projekty ako šablónu, takže si uložte kópiu tohto priečinka.

Môžete tiež vyskúšať programy st-flash a st-info zapojením vývojovej dosky a zadaním príkazu do terminálu:

st-info-sonda

Môžete vidieť platformu, ktorú softvér stlink rozpoznáva, a rodinu IC spolu s vyrovnávacou pamäťou a ďalšími vecami. Môžete zadať:

st-info

zobraziť všetky dostupné parametre.

Teraz môžete začať s programovaním. V ďalšom návode a videu vám ukážem základy GPIO a hodín. Tieto dva sú základom všetkého ostatného, pretože takmer všetko, s čím doska interaguje, je cez GPIO a všetko funguje na hodinách, a uvidíte vzor na programovanie týchto procesorov.

Do tej doby vám ďakujem za to, že ste si pozreli moje video s pokynmi a moje video na YouTube, ak ste to ešte neurobili.

Odporúča: