Tartalomjegyzék:

Indítsa el az STM32 fejlesztését Linuxon: 4 lépés
Indítsa el az STM32 fejlesztését Linuxon: 4 lépés

Videó: Indítsa el az STM32 fejlesztését Linuxon: 4 lépés

Videó: Indítsa el az STM32 fejlesztését Linuxon: 4 lépés
Videó: Visual Studio Code, PlatformIO telepítés, fejlesztés STM32 mikrokontrollerel 2024, Július
Anonim
Image
Image
Tölts le mindent, amire szükséged van
Tölts le mindent, amire szükséged van

Ebben az utasításban megmutatom, milyen könnyű elkezdeni az STM32 programok fejlesztését Linuxon. 2 éve kezdtem el használni a Linuxot fő gépemként, és nem hagytam cserben. Minden gyorsabban és jobban működik, mint az ablakok. Természetesen időnként kevésbé kényelmes, de kényszeríti a dolgok mélyebb megismerésére, hogy használhassa.

Egyébként ebben az oktatható részben egy sorozat, amit itt kezdek ÉS a youtube -on, arról szól, hogyan kell elkezdeni. Kérlek nézd meg a youtube videómat is, ahol mindent egy szegmensként magyarázok, és mellettem kódolhatsz.

Ebben a sorozatban megmutatom, hogyan fejleszthet csak szövegszerkesztővel, mint például a Jegyzettömb, a SublimeText vagy az Atom, így nincs szüksége saját szoftverre vagy IDE -re. Ez olyan csupasz csont, amennyire csak lehet, és meglepően egyszerű.

1. lépés: Töltsön le mindent, amire szüksége van

Három részt kell letöltenie, hogy minden működjön:

  • GCC fordító az ARM számára
  • STM32 firmware fájlok
  • St-link segédprogram
  • Mintaprojekt

A fordító a fő szoftver, amely összeállítja a C kódunkat az összes többi könyvtári fájllal olyan gépi nyelvre, amelyet az stm32 vezérlőnk megért. Töltse le a fordító legújabb, előre összeállított verzióját.

Az STM32 firmware -t tartalmazó mappa tartalmazza a fő processzor működéséhez szükséges összes indítási és alapvető fájlt. A szabványos perifériás könyvtárat fogjuk használni, amelyet a HAL felülmúlt. A StPeriphLibrary -t jobban szeretem, mivel az ezen a processzoron dolgozó vállalatok használják őket, mert robusztus, régebbi és támogatott. Ez is strapabíróbb. Ez nem csökkenti a periféria inicializálásához vagy a LED bekapcsolásához szükséges munkát, de kényszeríti Önt arra, hogy megismerje ezeknek a processzoroknak a működését. Ezzel több ismerete van a belső működésről, így értelemszerűen programozhat bármilyen feladatot.

Az utolsó letöltendő szoftver az st-link segédprogram. A githubon van karbantartva, és az összeállított bináris fájlok továbbítására szolgál a processzorra az SWD / JTAG programozó / hibakeresőként szolgáló táblán lévő stlink IC használatával.

Ezenkívül megadtam egy minta projektmappát, amelyről később beszélek, és letöltheti. Az első VIDEO1 mappában található.

2. lépés: Szoftver telepítése

Szoftver telepítése
Szoftver telepítése
Szoftver telepítése
Szoftver telepítése

Miután letöltötte az összes fájlt, azt javaslom, hogy tegye őket egy közös mappába, mivel mindegyiket együtt használják ugyanahhoz a célhoz. Az összes mappát a HOME könyvtár "Embedded" nevű mappájába helyeztem.

Kezdjük a legegyszerűbb, az STM32 könyvtárakkal. A letöltött mappát ott hagyhatja. Csak feltétlenül ásson körül, hogy megnézze, hol vannak tárolva a megfelelő fájlok. Ezért megváltoztathatja és szerkesztheti a fő MakeFile -t, hogy az működjön a platformjával.

A második legegyszerűbb a fordító. Önnek sem kell semmit sem tennie vele, de a fordítót globálisan elérhető funkcióvá tesszük, így az útvonaltól függetlenül bármelyik mappából felhívhatja a fordítót. Minden lépést meg lehet tenni a terminálon vagy a gui -ban, de én szeretem használni a terminált, mivel amikor tapasztalsz, gyorsabb és egyszerűbb lesz, és bátorítalak, hogy használd többet a terminált, ha félsz tőle. Íme a lépések:

  1. Lépjen be a "/home/YOURUSERNAME/" vagy a "~/" otthoni mappába, vagy írja be a cd -t a terminálba
  2. nyissa meg a ".bashrc" fájlt a következő beírásával: nano.bashrc
  3. görgessen le a fájl végéig, és adja hozzá ezt a sort: export PATH = $ PATH: ~/Embedded/gcc-arm-none-eabi-8-2018-q4/bin
  4. kilépés mentéssel: CTRL+X, kattintson az Y, az ENTER gombra
  5. futtassa a következő parancsot: source.bashrc a terminálforrások frissítéséhez
  6. ellenőrizze, hogy minden működik, írja be: arm-none-eabi-gcc --version, a fordító legújabb verzióját kell megjelenítenie

Az st-link telepítéséhez bontsa ki a letöltött archívumot a beágyazott mappába. Ezután kövesse az alábbi lépéseket:

  1. Fuss: készíts
  2. Menjen a "build/Release" mappába: cd build/Release
  3. Írja be az ls parancsot, és két futtatható fájlt fog látni: "st-flash" és "st-util"
  4. Vigye ezt a kettőt a szülőkönyvtárba: stv: mv st-flash st-util../../
  5. Ha ezt a két funkciót globálisan szeretné használni, akkor újra szerkesztheti a ".bashrc" fájlt a következő hozzáadásával:

    export PATH = $ PATH: ~/Beágyazott/stlink/

Ez minden! Minden megvan, amire szüksége van. Most pedig ragadja meg kedvenc szövegszerkesztőjét. Csak egy szabványt használjon, egy okosabbat, mint a SublimeText vagy az Atom, ezt használom.

3. lépés: Mintaprojekt beállítása

Mintaprojekt beállítása
Mintaprojekt beállítása

Most létrehozunk egy mintaprojektet, amellyel minden projekt elindítható. Olyan, mint egy sablon, ahol az összes fő beállítás már kezelt.

Letöltheted a MEGA -ról, a link ennek az utasításnak az első lépésén található, és minden youtube videóm alatt. Belül az üres main.c fájl, valamint néhány indítófájl ehhez a processzorhoz és a Makefile -hez. A Makefile az, amely megmondja a C fordítónak, hogy hol találja meg a kar fordítóját, hogyan kell fordítani, és hol vannak az összes könyvtár. A projekthez megfelelő fájlok beszerzéséhez lépjen be az STM32 könyvtármappába, és keresse meg a "projekt" vagy a "példák" mappákat. Belül ezeket a fájlokat láthatja és másolhatja: main.c, Makefile és XXX_conf.h, system_XXX.c. Szüksége lesz továbbá az mappában található stm32_flash.ld linker fájlra:

"/FLASH_Program/TrueSTUDIO/FLASH_Program/", amely a példa mappában található, vagy csak keressen rá a fájlra.

A Makefile megtalálható az interneten, vagy másolható a mappámból, de néhány dolgot módosítania kell. Nézzünk egy pillantást a make fájlomra, és hogy mit változtathat.

# A stlink mappa elérési útja a kód fedélzetre való feltöltéséhez

STLINK = ~/Embedded/stlink # Tedd ide a forrásfájlokat (*.c) SRCS = main.c system_stm32f4xx.c # Könyvtárak forrásfájljai #SRCS += stm32f4xx_rcc.c #SRCS += stm32f4xx_gpio.c # Bináris fájlok generálódnak ez a név (.elf,.bin,.hex) PROJ_NAME = teszt # Tedd ide az STM32F4 könyvtár kódkönyvtárát, változtasd meg a YOURUSERNAME-t a sajátodra STM_COMMON =/home/matej/Embedded/STM32F4-Discovery_FW_V1.1.0 # Fordító beállításai. Csak a CFLAGS szerkesztése más fejlécfájlok felvételéhez. 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 -hüvelykujj-interwork CFLAGS += -mfloat-abi = hard -mfpu = fpv4-sp-d16 CFLAGS += -I. # Tartalmazza a fájlokat az STM könyvtárakból CFLAGS += -I $ (STM_COMMON)/Libraries/CMSIS/Include CFLAGS += -I $ (STM_COMMON)/Libraries/CMSIS/ST/STM32F4xx/Include CFLAGS += -I $ (STM_COMMON)/ Könyvtárak/STM32F4xx_StdPeriph_Driver/inc CFLAGS += -I $ (STM_COMMON)/Utilities/STM32F4 -Discovery # add start file to add SRCS += $ (STM_COMMON)/Libraries/CMSIS/ST/STM32F4xx_st/Source/Temp. s OBJS = $ (SRCS:.c =.o) vpath %.c $ (STM_COMMON)/Könyvtárak/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áris $ (PROJ_NAME).elf $ (PROJ_NAME).bin tiszta: rm -f *.o $ (PROJ_NAME).elf $ (PROJ_NAME).hex $ (PROJ_NAME).bin # Villogja az STM32F4 írást: proj $ (STLINK)/st -flash write $ (PROJ_NAME).bin 0x80000000

  • Az első sor szerkesztésével megváltoztathatja az stlink segédprogram mappájának elérési útját
  • A könyvtárakkal és a YOURUSERNAME névvel módosíthatja a mappájának sorát

    STM_COMMON =/home/YOURUSERNAME/Beágyazott/STM32F4-Discovery_FW_V1.1.0

  • Nézze meg azt a részt is, ahol az összes könyvtár össze van kapcsolva. Ez a használt platformtól függően változhat, ezért kérjük, ellenőrizze, hogy nem történt -e változás a fájlfában. Minden más, amely bizonyos fájlokhoz bármilyen utat tartalmaz, például az indítófájl következő sorában, megváltoztatható.

Miután ezeket a dolgokat szerkesztette a Makefile -ban, ellenőrizheti, hogy működik -e, ha megnyit egy terminált a könyvtárban, és beírja: make. Ha minden problémamentesen lefordítja, akkor készen áll. Ha nem, nézze meg a fordító hibáit, és szerkessze a Makefile fájlt.

Továbbá, amikor az Atomot használom, két kódrészletet teszek egymás mellé. Általában a main.c és a Makefile a bal oldalon, mivel csak egyszer kell szerkesztenie a Makefile -t, és a könyvtárakat a jobb oldalon. A képen látható, hogy minden könyvtárhoz megnyitottam a.c és.h fájlokat tartalmazó mappát. Mindezt a videókban láthatod.

4. lépés: Kész

Befejezett!
Befejezett!

Most, hogy a Makefile konfigurálva van és a fordító működik, ezt a mappát sablonként használhatja minden projekthez, ezért mindenképpen mentse el a mappa másolatát.

Ezenkívül tesztelheti az st-flash és az st-info programokat, ha csatlakoztatja a fejlesztői kártyát, és beírja a terminálba:

st-info-szonda

Láthatja a platformot, amelyet az stlink szoftver felismer, és az IC családot, valamint a gyorsítótárat és egyéb dolgokat. Beírhatja:

st-info

az összes elérhető paraméter megtekintéséhez.

Most elkezdheti a programozást. A következő oktatható és videóban megmutatom a GPIO és az órák alapjait. Ez a kettő minden más alapja, mivel szinte minden, amellyel a tábla kölcsönhatásba lép, GPIO -n keresztül történik, és minden óra szerint működik, és látni fogja a processzorok programozásának mintáját.

Addig is köszönöm, hogy megnézted az oktatható és a youtube videómat, ha még nem tetted meg.

Ajánlott: