Obsah:

Začněte vyvíjet STM32 na Linuxu: 4 kroky
Začněte vyvíjet STM32 na Linuxu: 4 kroky

Video: Začněte vyvíjet STM32 na Linuxu: 4 kroky

Video: Začněte vyvíjet STM32 na Linuxu: 4 kroky
Video: Endeer3 v3 SE - Koktejl z jahod a králičích bobků...? 2024, Červenec
Anonim
Image
Image
Stáhněte si vše, co potřebujete
Stáhněte si vše, co potřebujete

V tomto Instructable vám ukážu, jak snadné je začít vyvíjet programy STM32 na Linuxu. Začal jsem používat Linux jako svůj hlavní stroj před 2 lety a nebyl jsem zklamán. Všechno funguje rychleji a lépe než Windows. Samozřejmě je to čas od času méně pohodlné, ale nutí vás to naučit se věci hlouběji, abyste je mohli používat.

Každopádně v této instruktabilní části série Začínám zde A na youtube je o tom, jak ji spustit. Nezapomeňte se také podívat na moje video na YouTube, kde vše vysvětluji jako jeden segment a můžete kódovat vedle mě.

V této sérii vám ukážu, jak se můžete vyvíjet pouze pomocí textového editoru, jako je poznámkový blok, SublimeText nebo Atom, takže nepotřebujete žádný proprietární software ani IDE. Je to tak holé, jak to jen jde, a je to překvapivě snadné.

Krok 1: Stáhněte si vše, co potřebujete

Aby vše fungovalo, musíte si stáhnout tři části:

  • Kompilátor GCC pro ARM
  • Soubory firmwaru STM32
  • Nástroj St-link
  • Ukázkový projekt

Kompilátor je hlavní část softwaru, která kompiluje náš kód C se všemi ostatními soubory knihovny do strojového jazyka, kterému náš ovladač stm32 rozumí. Stáhněte si nejnovější předkompilovanou verzi tohoto kompilátoru.

Složka obsahující firmware STM32 obsahuje všechny spouštěcí a základní soubory potřebné pro provoz hlavního procesoru. Budeme používat standardní periferní knihovnu, která byla překonána HAL. StPeriphLibrary se mi líbí více, protože společnosti, které na tomto procesoru pracují, je používají, protože jsou robustní, starší a podporované. Je také odolnější. Neomezuje práci, kterou musíte udělat pro inicializaci periferie nebo zapnutí LED, ale nutí vás to naučit se, jak tyto procesory fungují. Díky tomu budete mít více znalostí o vnitřním fungování, takže budete mít smysl programovat jakýkoli úkol.

Posledním stahovaným softwarem je nástroj st-link. Je udržován na githubu a slouží k přenosu kompilovaných binárních souborů do procesoru pomocí stlink IC na desce sloužící jako SWD / JTAG programátor / debugger.

Také jsem poskytl ukázkovou složku projektu, o které mluvím později, a můžete si ji stáhnout. Je uvnitř první složky VIDEO1.

Krok 2: Instalace softwaru

Instalace softwaru
Instalace softwaru
Instalace softwaru
Instalace softwaru

Poté, co si stáhnete všechny soubory, navrhuji, abyste je vložili do společné složky, protože jsou všechny použity společně ke stejnému účelu. Všechny složky jsem vložil do složky s názvem „Embedded“v mém adresáři HOME.

Začneme tím nejjednodušším, knihovnami STM32. Složku, kterou jste stáhli, zde můžete nechat. Stačí se porozhlédnout a zjistit, kde jsou příslušné soubory uloženy. Proto můžete hlavní MakeFile změnit a upravit, aby fungoval s vaší platformou.

Druhý nejjednodušší je kompilátor. Také s tím nemusíte nic dělat, ale z kompilátoru vytvoříme globálně dostupnou funkci, takže kompilátor můžete zavolat z libovolné složky bez ohledu na cestu. Všechny kroky lze provést v terminálu nebo v gui, ale já rád používám terminál, protože když budete mít zkušenosti, bude to rychlejší a snazší a doporučuji vám používat terminál více, pokud se toho bojíte. Zde jsou kroky:

  1. Přejděte do domovské složky „/home/YOURUSERNAME/“nebo „~/“nebo do terminálu zadejte cd
  2. otevřete soubor ".bashrc" zadáním: nano.bashrc
  3. přejděte dolů na konec souboru a přidejte tento řádek: export PATH = $ PATH: ~/Embedded/gcc-arm-none-eabi-8-2018-q4/bin
  4. ukončete uložením: CTRL+X, klikněte na Y, ENTER
  5. spusťte příkaz: source.bashrc pro aktualizaci terminálových zdrojů
  6. zkontrolujte, zda vše funguje, zadáním: arm-none-eabi-gcc --version, mělo by se zobrazit nejnovější verze kompilátoru

Chcete-li nainstalovat st-link, rozbalte stažený archiv do složky Embedded. Potom postupujte takto:

  1. Spustit: make
  2. Přejděte do složky „build/Release“: cd build/Release
  3. Napište ls a uvidíte dva spustitelné soubory s názvem „st-flash“a „st-util“
  4. Přesuňte je do nadřazeného adresáře stlink: mv st-flash st-util../../
  5. Pokud chcete tyto dvě funkce globálně znovu použít, můžete soubor „.bashrc“znovu upravit přidáním:

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

To je vše! Máte vše, co potřebujete. Nyní si pořiďte svůj oblíbený textový editor. Použijte jen standardní, chytřejší, jako je SublimeText nebo Atom, to používám já.

Krok 3: Nastavení ukázkového projektu

Nastavení ukázkového projektu
Nastavení ukázkového projektu

Nyní vytvoříme ukázkový projekt, který můžete použít ke spuštění každého projektu. Je to jako šablona se všemi hlavními nastaveními, která již byla zpracována.

Můžete si ho stáhnout na mé MEGA, odkaz je v prvním kroku tohoto instruktážního programu a pod každým mým videem na youtube. Uvnitř je prázdný soubor main.c spolu s některými spouštěcími soubory pro tento procesor a Makefile. Makefile je ten, který říká kompilátoru C, kde najít kompilátor arm, jak kompilovat a kde jsou všechny knihovny. Chcete -li pro svůj projekt získat tyto vhodné soubory, můžete přejít do složky knihovny STM32 a vyhledat složky „projekt“nebo „příklady“. Uvnitř uvidíte a zkopírujete tyto soubory: main.c, Makefile a XXX_conf.h, system_XXX.c. Také budete potřebovat soubor linkeru stm32_flash.ld, který najdete ve složce:

"/FLASH_Program/TrueSTUDIO/FLASH_Program/", který se nachází v ukázkové složce, nebo soubor jednoduše vyhledejte.

Makefile lze nalézt online nebo zkopírovat z mé složky, ale budete muset změnit několik věcí. Pojďme se podívat na můj soubor make a co byste mohli změnit.

# Cesta ke složce stlink pro odeslání kódu na palubu

STLINK = ~/Embedded/stlink # Sem vložte své zdrojové soubory (*.c) SRCS = main.c system_stm32f4xx.c # Zdrojové soubory knihoven #SRCS += stm32f4xx_rcc.c #SRCS += stm32f4xx_gpio.c # Binární soubory budou generovány pomocí toto jméno (.elf,.bin,.hex) PROJ_NAME = test # Sem vložte adresář s kódem knihovny STM32F4, změňte YOURUSERNAME na své STM_COMMON =/home/matej/Embedded/STM32F4-Discovery_FW_V1.1.0 # Nastavení kompilátoru. Upravujte pouze CFLAGS tak, aby zahrnoval další soubory záhlaví. CC = arm -none -eabi -gcc OBJCOPY = arm -none -eabi -objcopy # Příznaky kompilátoru 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. # Zahrnout soubory z knihoven STM CFLAGS += -I $ (STM_COMMON)/Knihovny/CMSIS/Zahrnout CFLAGS += -I $ (STM_COMMON)/Knihovny/CMSIS/ST/STM32F4xx/Zahrnout CFLAGS += -I $ (STM_COMMON)/ Knihovny/STM32F4xx_StdPeriph_Driver/inc CFLAGS += -I $ (STM_COMMON)/Utilities/STM32F4 -Discovery # přidat spouštěcí soubor pro vytvoření SRCS += $ (STM_COMMON)/Knihovny/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ární $ (PROJ_NAME).elf $ (PROJ_NAME).bin clean: rm -f *.o $ (PROJ_NAME).elf $ (PROJ_NAME).hex $ (PROJ_NAME).bin # Flashujte vypalování STM32F4: proj $ (STLINK)/st -flash write $ (PROJ_NAME).bin 0x80000000

  • První řádek můžete upravit a změnit tak cestu ke složce nástrojů stlink
  • Řádek můžete změnit na cíl vaší složky pomocí knihoven a YOURUSERNAME

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

  • Podívejte se také do sekce, kde jsou propojeny všechny knihovny. To se může změnit v závislosti na platformě, kterou používáte, proto prosím zkontrolujte změny ve stromu souborů. Všechno, co obsahuje cesty k určitým souborům, jako například další řádek se spouštěcím souborem, lze změnit.

Poté, co jste upravili všechny tyto věci uvnitř Makefile, můžete zkontrolovat, zda to funguje, otevřením terminálu uvnitř vašeho adresáře a zadáním: make. Pokud zkomplikuje každou věc bez problémů, pak jste připraveni. Pokud ne, podívejte se na chyby kompilátoru a upravte Makefile.

Když používám Atom, vložil jsem vedle sebe dva kusy kódu. Obvykle main.c a Makefile vlevo, protože stačí upravit Makefile jednou a knihovny vpravo. Na obrázku vidíte, že jsem otevřel složku obsahující soubory.c a.h pro každou knihovnu. To vše můžete vidět ve videích.

Krok 4: Hotovo

Hotovo!
Hotovo!

Nyní, když máte nakonfigurovaný Makefile a kompilátor funguje, můžete tuto složku použít pro všechny projekty jako šablonu, takže si uložte kopii této složky.

Také můžete vyzkoušet programy st-flash a st-info zapojením vývojové desky a zadáním do terminálu:

st-info-sonda

Můžete vidět platformu, kterou software stlink rozpoznává, a rodinu IC spolu s mezipamětí a dalšími věcmi. Můžete zadat:

st-info

zobrazit všechny dostupné parametry.

Nyní můžete začít programovat. V dalším návodu a videu vám ukážu základy GPIO a hodin. Tyto dva jsou základem všeho ostatního, protože téměř vše, s čím deska interaguje, je přes GPIO a vše funguje na hodinách a uvidíte vzor pro programování těchto procesorů.

Do té doby vám děkuji za zhlédnutí mého instruktážního a mého youtube videa, pokud jste tak ještě neučinili.

Doporučuje: