Tartalomjegyzék:
- 1. lépés: Töltsön le mindent, amire szüksége van
- 2. lépés: Szoftver telepítése
- 3. lépés: Mintaprojekt beállítása
- 4. lépés: Kész
Videó: Indítsa el az STM32 fejlesztését Linuxon: 4 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:39
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
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:
- Lépjen be a "/home/YOURUSERNAME/" vagy a "~/" otthoni mappába, vagy írja be a cd -t a terminálba
- nyissa meg a ".bashrc" fájlt a következő beírásával: nano.bashrc
- 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
- kilépés mentéssel: CTRL+X, kattintson az Y, az ENTER gombra
- futtassa a következő parancsot: source.bashrc a terminálforrások frissítéséhez
- 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:
- Fuss: készíts
- Menjen a "build/Release" mappába: cd build/Release
- Írja be az ls parancsot, és két futtatható fájlt fog látni: "st-flash" és "st-util"
- Vigye ezt a kettőt a szülőkönyvtárba: stv: mv st-flash st-util../../
-
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
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
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:
Nappali VR kész játék Linuxon: 4 lépés
Living Room VR Ready Gaming Linux alatt: Bevezetés Szerettem volna készíteni egy játékgépet a VR -hoz és a társasjátékokhoz a nappalimban. A Linux és a nyílt forráskódú közösség rajongója vagyok, így a kérdés az volt, hogy "képes -e a Linux a VR -re?", A Linux nagyon alkalmas játék operációs rendszer - nem kis részben a Win -nek köszönhetően
Indítsa el ünnepi képeinek diavetítését egy varázslattal!: 9 lépés (képekkel)
Indítsa el a Holiday Pictures diavetítést egy varázslattal!: Az évek során kialakult bennem egy szokás, hogy utazás közben magammal viszek egy kis figurát: gyakran veszek egy kicsi, üres artoy -t (mint a képen) és festem hogy megfeleljen az általam meglátogatott ország (jelen esetben Szicília) zászlajának és témájának. T
Hatékony PDF -megjegyzések Linuxon: 4 lépés
Hatékony PDF -jegyzetek Linuxon: Szükség volt valaha a PDF -dokumentumok jegyzetelésére Linuxon? Nem a PDF -ek létrehozásáról beszélek, amelyet számos eszközzel lehet elvégezni, beleértve a latex+dvipdf, pdflatex, LibreOffice vagy más eszközöket. Arról beszélek, hogy saját megjegyzéseit hozzáadja egy létezőhez
Indítsa el első projektjét Málnával: Villogó LED: 4 lépés
Indítsa el első projektjét a Raspberry -vel: Villogó LED: Ebben a projektben megmutatom, hogyan kell programozni a Raspberry Pi -t, hogy villogjon a LED. Ha majdnem vásárolt egy Raspberry pi -t, és nem tudja, hol kezdje, bemutató illeszkedik. Amellett, hogy Raspberry Pi -n fut a Raspbian, y
Indítsa el és futtassa az Ubuntut flash meghajtóról: 6 lépés
Az Ubuntu indítása és futtatása flash meghajtóról: Az operációs rendszer, például a Windows, futtatása a flash meghajtóról néha nagyon hasznos lehet. Visszaállíthatja adatait egy merevlemezről, és átmásolhatja egy külső merevlemezre, ha a számítógép nem indul el, vagy nem vizsgálja át a számítógépet vírusok és fertőzések ellen