INHOUDSOPGAWE:
- Stap 1: Laai alles af wat u benodig
- Stap 2: Installeer sagteware
- Stap 3: Die opstel van 'n voorbeeldprojek
- Stap 4: klaar
Video: Begin met die ontwikkeling van STM32 op Linux: 4 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:23
In hierdie instruksies gaan ek u wys hoe maklik dit is om STM32 -programme op Linux te begin ontwikkel. Ek het 2 jaar gelede Linux as my hoofmasjien begin gebruik en is nie in die steek gelaat nie. Alles werk vinniger en beter as vensters. Natuurlik is dit van tyd tot tyd minder gerieflik, maar dit dwing u om dinge dieper te leer sodat u dit kan gebruik.
In elk geval, in hierdie instruksionele deel van 'n reeks wat ek hier begin, en op YouTube gaan dit oor hoe om dit te begin. Kyk ook na my YouTube -video, waar ek alles as een segment verduidelik, en u langs my kan kodeer.
In hierdie reeks sal ek u wys hoe u slegs met 'n teksredakteur soos notepad, SublimeText of Atom kan ontwikkel, sodat u geen eie sagteware of IDE nodig het nie. Dit is so blote bene as wat dit raak en dit is verbasend maklik.
Stap 1: Laai alles af wat u benodig
U moet drie dele aflaai om alles te laat werk:
- GCC -samesteller vir ARM
- STM32 firmware lêers
- St-link nut
- Voorbeeldprojek
Samesteller is die belangrikste sagteware wat ons C -kode saamstel met alle ander biblioteeklêers in masjientaal wat ons stm32 -beheerder kan verstaan. Laai die nuutste vooraf saamgestelde weergawe van hierdie samesteller af.
Die gids met die firmware van STM32 bevat al die opstart- en kernlêers wat nodig is vir die werking van die hoofverwerker. Ons gebruik Standard Peripheral Library wat deur HAL oortref is. Ek hou meer van StPeriphLibrary, aangesien ondernemings wat aan hierdie verwerkers werk, dit gebruik omdat dit robuust en ouer is en ondersteun word. Dit is ook meer robuust. Dit verminder nie die werk wat u moet doen om 'n randapparaat te initialiseer of 'n LED aan te skakel nie, maar dit dwing u om te leer hoe hierdie verwerkers werk. Daarmee het u meer kennis van die innerlike werking, en maak u dus sin vir die programmering van enige taak.
Die laaste sagteware om af te laai is die st-link-nut. Dit word op github onderhou en word gebruik om saamgestelde binêre lêers na die verwerker oor te dra met behulp van stlink IC op die bord wat dien as 'n SWD / JTAG programmeerder / ontfouter.
Ek het ook 'n voorbeeldprojekvouer gegee waaroor ek later praat, en u kan dit aflaai. Dit is in die eerste VIDEO1 -lêergids.
Stap 2: Installeer sagteware
Nadat u al die lêers afgelaai het, stel ek voor dat u dit in 'n gemeenskaplike gids plaas, aangesien dit almal saam vir dieselfde doel gebruik word. Ek het al die dopgehou in 'n gids met die naam "Embedded" in my HOME -gids geplaas.
Ons begin met die maklikste, die STM32 -biblioteke. Die gids wat u afgelaai het, kan net daar gelaat word. Maak seker dat u rondgrawe om te sien waar die toepaslike lêers gestoor word. Daarom kan u die belangrikste MakeFile verander en wysig sodat dit met u platform werk.
Die tweede maklikste is die samesteller. U hoef ook niks daaraan te doen nie, maar ons maak van die samesteller 'n funksie wat wêreldwyd toeganklik is, sodat u die samesteller uit enige gids kan bel, ongeag die pad. Al die stappe kan in terminale of in gui gedoen word, maar ek hou daarvan om terminale te gebruik, aangesien dit vinniger en makliker word as u ervare word, en ek moedig u aan om meer terminale te gebruik as u bang is daarvoor. Hier is die stappe:
- Gaan na u tuisgids "/home/YOURUSERNAME/" of "~/" of tik cd in terminale
- lêer ".bashrc" oop deur te tik: nano.bashrc
- blaai af na die einde van die lêer en voeg hierdie reël by: uitvoer PATH = $ PATH: ~/Embedded/gcc-arm-none-eabi-8-2018-q4/bin
- verlaat deur te stoor: CTRL+X, klik Y, ENTER
- run command: source.bashrc om terminale bronne te verfris
- kyk of alles werk deur te tik: arm-none-eabi-gcc --versie, dit moet die nuutste weergawe van die samesteller vertoon
Om st-link te installeer, pak die argief wat u afgelaai het in die Embedded-lêergids uit. Volg dan hierdie stappe:
- Hardloop: maak
- Gaan na die gids "build/Release": cd build/Release
- Tik ls en u sien twee uitvoerbare programme met die naam "st-flash" en "st-util"
- Skuif die twee na die ouergids stlink: mv st-flash st-util../../
-
As u hierdie twee funksies wêreldwyd '.bashrc' -lêer wêreldwyd wil gebruik, kan u dit weer byvoeg deur die volgende by te voeg:
uitvoer PATH = $ PATH: ~/Embedded/stlink/
Dit is al! Jy het alles wat jy nodig het. Gryp nou u gunsteling teksredakteur. Gebruik net 'n standaard een, 'n slimmer een soos SublimeText of Atom, dit is wat ek gebruik.
Stap 3: Die opstel van 'n voorbeeldprojek
Ons sal nou 'n voorbeeldprojek skep wat u kan gebruik om elke projek te begin. Dit is soos 'n sjabloon met al die hoofinstellings wat reeds hanteer is.
U kan dit op my MEGA aflaai, die skakel is in die eerste stap van hierdie instruksies en onder elke YouTube -video van my. Binne is die leë main.c -lêer saam met 'n paar opstartlêers vir hierdie verwerker en die Makefile. Makefile is die een wat die C -samesteller vertel waar die arm -samesteller gevind moet word, hoe om op te stel en waar al die biblioteke is. Om hierdie toepaslike lêers vir u projek te kry, kan u na die STM32 -biblioteekmap gaan en na 'n 'projek'- of' voorbeelde' -lêergids kyk. Binne sal u hierdie lêers sien en kopieer: main.c, Makefile en XXX_conf.h, system_XXX.c. Ook benodig u 'n linker lêer lêer stm32_flash.ld wat in die gids gevind kan word:
"/FLASH_Program/TrueSTUDIO/FLASH_Program/" wat in die voorbeeldvouer is, of soek net na die lêer.
Makefile kan aanlyn gevind word of uit my gids gekopieer word, maar u moet 'n paar dinge verander. Kom ons kyk na my maaklêer en wat u kan verander.
# Pad na die stlink -gids om kode na boord op te laai
STLINK = ~/Embedded/stlink # Plaas u bronlêers hier (*.c) SRCS = main.c system_stm32f4xx.c # Bronlêers van biblioteke #SRCS += stm32f4xx_rcc.c #SRCS += stm32f4xx_gpio.c # Binêre sal gegenereer word met hierdie naam (.elf,.bin,.hex) PROJ_NAME = toets # Plaas u biblioteekkode-gids van STM32F4 hier, verander UWERNAME na u STM_COMMON =/home/matej/Embedded/STM32F4-Discovery_FW_V1.1.0 # Samestellerinstellings. Wysig slegs CFLAGS om ander koptekstlêers in te sluit. CC = arm -none -eabi -gcc OBJCOPY = arm -none -eabi -objcopy # Samestellervlae CFLAGS = -g -O2 -Wall -Tstm32_flash.ld CFLAGS += -DUSE_STDPERIPH_DRIVER CFLAGS += -mlittle -endian -mum = korteks-m4 -duim-interwerk CFLAGS += -mfloat-abi = hard -mfpu = fpv4-sp-d16 CFLAGS += -I. # Sluit lêers in van STM -biblioteke CFLAGS += -I $ (STM_COMMON)/Biblioteke/CMSIS/Sluit CFLAGS in += -I $ (STM_COMMON)/Libraries/CMSIS/ST/STM32F4xx/Sluit CFLAGS += -I $ (STM_COMMON) in/ Biblioteke/STM32F4xx_StdPeriph_Driver/inc CFLAGS += -I $ (STM_COMMON)/Utilities/STM32F4 -Discovery # voeg opstartlêer by om SRCS te bou += $ (STM_COMMON)/Biblioteke/CMSIS/ST/STM32F4xx/Source/Templ32 s OBJS = $ (SRCS:.c =.o) vpath %.c $ (STM_COMMON)/Libraries/STM32F4xx_StdPeriph_Driver/src \. PHONY: proj all: proj proj: $ (PROJ_NAME).elf $ (PROJ_NAME). self: $ (SRCS) $ (CC) $ (CFLAGS) $^ -o $@ $ (OBJCOPY) -O ihex $ (PROJ_NAME).elf $ (PROJ_NAME).hex $ (OBJCOPY) -O binêre $ (PROJ_NAME).elf $ (PROJ_NAME). Bin skoon: rm -f *.o $ (PROJ_NAME).elf $ (PROJ_NAME).hex $ (PROJ_NAME).bin # Flits die STM32F4 -brand: proj $ (STLINK)/st -flash skryf $ (PROJ_NAME). Bin 0x80000000
- U kan die eerste reël wysig om die pad na die gids van u stlink te verander
-
U kan die lyn verander na die bestemming van u vouer met biblioteke en u gebruikersnaam
STM_COMMON =/home/YOURUSERNAME/Embedded/STM32F4-Discovery_FW_V1.1.0
- Kyk ook na die gedeelte waar al die biblioteke gekoppel is. Dit kan verander na gelang van die platform wat u gebruik, dus kyk na veranderinge in die lêerboom. U kan alles verander wat paaie na sekere lêers insluit, soos met die volgende reël met die opstartlêer.
Nadat u al hierdie dinge in die Makefile gewysig het, kan u kyk of dit werk deur 'n terminale in u gids oop te maak en te tik: make. As dit alles sonder probleme saamstel, dan is u gereed. Indien nie, kyk na die opstelfoute en wysig die Makefile.
As ek Atom gebruik, sit ek twee stukke kode langs mekaar. Gewoonlik main.c en Makefile aan die linkerkant, aangesien u Makefile slegs een keer hoef te wysig en biblioteke aan die regterkant. U kan op die foto sien dat ek die gids met die.c- en.h -lêers vir elke biblioteek oopgemaak het. U kan dit alles in die video's sien.
Stap 4: klaar
Noudat u Makefile gekonfigureer en samesteller laat werk, kan u hierdie gids vir alle projekte as 'n sjabloon gebruik, dus maak seker dat u 'n afskrif van hierdie gids stoor.
U kan ook die st-flash- en st-info-programme toets deur u ontwikkelbord aan te sluit en in terminale te tik:
st-info-sonde
U kan die platform sien wat die stlink -sagteware herken en die IC -gesin, saam met kas en ander dinge. U kan tik:
st-inligting
om alle beskikbare parameters te sien.
Nou kan u begin programmeer. In die volgende instruksies en video sal ek u die basiese beginsels van GPIO en horlosies wys. Hierdie twee is die basiese beginsels vir alles anders, want byna alles waarmee die bord in wisselwerking is, is meer as GPIO en alles werk op die klok en u sal die patroon sien om hierdie verwerkers te programmeer.
Tot dan, dankie dat u my instruksies en my YouTube -video besoek het, as u dit nog nie gedoen het nie.
Aanbeveel:
Ontwikkeling van mobiele programme met behulp van Adobe XD: 5 stappe
Ontwikkeling van mobiele app's met behulp van Adobe XD: Goeie more! Ek is Elizabeth Kacerek, 'n afgestudeerde senior op die hoërskool, en ek het dit leerbaar gemaak omdat ek 'n gat opgemerk het in hierdie wyd gebruikte platform wat ek kon vul. Ek sou hierdie soort gids graag gehad het toe ek met my jaar lange navorsing begin het
Konfigurasie van die AVR -mikrobeheerder. Skep en laai die LED -knipperprogram in die flitsgeheue van die mikrokontroleerder op: 5 stappe
Konfigurasie van die AVR -mikrobeheerder. Skep en laai die LED -knipperprogram in die flitsgeheue van die mikrokontroleerder: In hierdie geval sal ons 'n eenvoudige program in C -kode skep en dit in die geheue van die mikrokontroleerder verbrand. Ons sal ons eie program skryf en die hex -lêer saamstel, met behulp van die Atmel Studio as die geïntegreerde ontwikkelingsplatform. Ons sal die sekering van twee instel
Ontwikkeling van toepassings met behulp van GPIO -penne op die DragonBoard 410c met Android- en Linux -bedryfstelsels: 6 stappe
Ontwikkeling van toepassings met behulp van GPIO-penne op die DragonBoard 410c met Android- en Linux-bedryfstelsels: Die doel van hierdie tutoriaal is om die inligting te wys wat nodig is om toepassings te ontwikkel met behulp van die GPIO-pen op DragonBoard 410c lae spoeduitbreiding. Hierdie handleiding bied inligting oor die ontwikkeling van toepassings met behulp van die GPIO -penne met SYS op die Andr
Hoe om die veiligheid van die meeste blokkeerders aan die kant van die bediener te omseil: 3 stappe
Hoe om die veiligheid van die meeste webblokkers op die bediener te verlig: dit is my eerste instruksie, so hou my in gedagte: Ok, ek sal u vertel hoe u die webblokkers wat ek in skole gebruik het, kan omseil. Al wat u nodig het, is 'n flash drive en 'n paar sagteware aflaai
Instruksies vir die voltooiing van die opmaak van die baanskyfontwerp vir die opheffing/verlaging van die middelste voetsteun op motorwielstoele: 9 stappe (met foto's)
Instruksies vir die voltooiing van die opmaak van die baanskyfontwerp vir die opheffing/verlaging van die middelste voetsteun op motorwielstoele: die middelste voetsteunhysers moet goed onder die sitplek geberg word en laer om te ontplooi. 'N Meganisme vir die onafhanklike werking van die opberging en ontplooiing van voetsteun is nie ingesluit by rolstoele op die mark nie, en PWC -gebruikers het die behoefte uitgespreek