Sisukord:

Alustage STM32 arendamist Linuxis: 4 sammu
Alustage STM32 arendamist Linuxis: 4 sammu

Video: Alustage STM32 arendamist Linuxis: 4 sammu

Video: Alustage STM32 arendamist Linuxis: 4 sammu
Video: Candy CS34 1051D1/2-07 ошибка E22. (Как прошить процессор) 2024, Juuli
Anonim
Image
Image
Laadige alla kõik, mida vajate
Laadige alla kõik, mida vajate

Selles juhendis näitan teile, kui lihtne on alustada STM32 programmide arendamist Linuxis. Alustasin Linuxi kasutamist peamasinaga 2 aastat tagasi ja pole alt vedanud. Kõik töötab kiiremini ja paremini kui aknad. Muidugi on see aeg -ajalt vähem mugav, kuid see sunnib teid asju sügavamalt õppima, et saaksite seda kasutada.

Igatahes selles juhendatavas osas, millest ma siin ja Youtube'is alustan, on osa sellest, kuidas seda alustada. Vaadake kindlasti ka minu youtube'i videot, kus ma selgitan kõike ühe segmendina ja saate minu kõrval kodeerida.

Selles seerias näitan teile, kuidas saate areneda, kasutades ainult tekstiredaktorit, nagu märkmik, SublimeText või Atom, nii et te ei vaja omanditarkvara ega IDE -d. See on nii paljaste luudega kui võimalik ja see on üllatavalt lihtne.

Samm: laadige alla kõik vajalik

Et kõik toimiks, peate alla laadima kolm osa:

  • GCC kompilaator ARM -i jaoks
  • STM32 püsivara failid
  • St-link utiliit
  • Näidisprojekt

Kompilaator on peamine tarkvara, mis kompileerib meie C -koodi koos kõigi teiste raamatukogufailidega masinakeelde, millest meie stm32 -kontroller saab aru. Laadige alla selle kompilaatori uusim eelkompileeritud versioon.

STM32 püsivara sisaldav kaust mahutab kõik põhiprotsessori tööks vajalikud käivitus- ja põhifailid. Kasutame standardset perifeerset raamatukogu, mille HAL on ületanud. Mulle meeldib StPeriphLibrary rohkem, kuna selle protsessoriga töötavad ettevõtted kasutavad neid, kuna see on vastupidav ja vanem ning seda toetatakse. See on ka karmim. See ei vähenda tööd, mida peate tegema välisseadme lähtestamiseks või LED -i sisselülitamiseks, kuid sunnib teid õppima, kuidas need protsessorid töötavad. Sellega on teil rohkem teadmisi sisemisest toimimisest, seega on mõttekas mis tahes ülesande programmeerimine.

Viimane allalaaditav tarkvara on utiliit st-link. Seda hoitakse githubis ja seda kasutatakse kompileeritud binaarfailide edastamiseks protsessorile, kasutades SWL / JTAG programmeerija / siluri tahvlil olevat stlink IC -d.

Samuti olen esitanud näidisprojekti kausta, millest räägin hiljem ja saate selle alla laadida. See asub esimeses VIDEO1 kaustas.

Samm: tarkvara installimine

Tarkvara installimine
Tarkvara installimine
Tarkvara installimine
Tarkvara installimine

Pärast kõigi failide allalaadimist soovitan need panna ühisesse kausta, kuna neid kõiki kasutatakse samal eesmärgil. Panin kõik kaustad oma kausta HOME kataloogi "Embedded".

Alustame lihtsaimast, STM32 raamatukogudest. Allalaaditud kausta saab lihtsalt sinna jätta. Kindlasti kaevake ringi, et näha, kuhu sobivad failid on salvestatud. Seetõttu saate muuta ja redigeerida peamist MakeFile'i, et see teie platvormiga töötaks.

Teine lihtsaim on kompilaator. Samuti ei pea te sellega midagi tegema, kuid muudame kompilaatori globaalselt juurdepääsetavaks funktsiooniks, nii et saate helistajale helistada mis tahes kaustast olenemata teest. Kõiki samme saab teha terminalis või gui -s, kuid mulle meeldib terminali kasutada, kuna kogenuna muutub see kiiremaks ja lihtsamaks ning julgustan teid terminali rohkem kasutama, kui te seda kardate. Siin on sammud:

  1. Minge oma kodukataloogi "/home/YOURUSERNAME/" või "~/" või tippige terminali cd
  2. avage fail ".bashrc", tippides: nano.bashrc
  3. kerige alla faili lõpuni ja lisage see rida: eksport PATH = $ PATH: ~/Embedded/gcc-arm-none-eabi-8-2018-q4/bin
  4. väljumiseks salvestades: CTRL+X, klõpsake Y, ENTER
  5. käivitage käsk: source.bashrc terminaliallikate värskendamiseks
  6. kontrollige, kas kõik töötab, tippides: arm-none-eabi-gcc --version, see peaks kuvama kompilaatori uusima versiooni

St-linki installimiseks ekstraheerige allalaaditud arhiiv kausta Embedded. Seejärel järgige neid samme.

  1. Jooks: tee
  2. Minge kausta "build/Release": cd build/Release
  3. Sisestage ls ja näete kahte käivitatavat faili nimega "st-flash" ja "st-util"
  4. Teisaldage need kaks vanemkataloogi stlink: mv st-flash st-util../../
  5. Kui soovite neid kahte funktsiooni globaalselt kasutada, saate ".bashrc" faili uuesti muuta, lisades:

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

See on kõik! Teil on kõik, mida vajate. Nüüd haara endale oma lemmiktekstiredaktor. Kasutage ainult tavalist, nutikamat, nagu SublimeText või Atom, see on see, mida ma kasutan.

3. samm: näidisprojekti seadistamine

Näidisprojekti seadistamine
Näidisprojekti seadistamine

Nüüd loome näidisprojekti, mida saate kasutada iga projekti käivitamiseks. See on nagu mall, kus kõik põhiseaded on juba käsitletud.

Saate selle alla laadida minu MEGA -lt, link on selle juhendi esimesel sammul ja iga minu YouTube'i video all. Toas on tühi fail main.c koos mõne selle protsessori ja Makefile'i käivitusfailiga. Makefile on see, mis ütleb C kompilaatorile, kust leida käsikompilaator, kuidas kompileerida ja kus on kõik teegid. Nende projekti jaoks sobivate failide hankimiseks võite minna STM32 raamatukogu kausta ja otsida kaustu "projekt" või "näited". Sees näete ja kopeerite neid faile: main.c, Makefile ja XXX_conf.h, system_XXX.c. Samuti vajate linki faili stm32_flash.ld, mille leiate kaustast:

"/FLASH_Program/TrueSTUDIO/FLASH_Program/", mis asub näidiskaustas või otsige lihtsalt faili.

Makefile'i võib leida Internetist või kopeerida minu kaustast, kuid peate muutma mõnda asja. Vaatame mu markifaili ja seda, mida saate muuta.

# Tee kausta stlink kausta pardale laadimiseks

STLINK = ~/Embedded/stlink # Pane oma lähtefailid siia (*.c) SRCS = main.c system_stm32f4xx.c # Raamatukogude lähtefailid #SRCS += stm32f4xx_rcc.c #SRCS += stm32f4xx_gpio.c # Binaarfailid luuakse see nimi (.elf,.bin,.hex) PROJ_NAME = test # Pane siia oma STM32F4 raamatukogu koodikataloog, muuda YOURUSERNAME enda omaks STM_COMMON =/home/matej/Embedded/STM32F4-Discovery_FW_V1.1.0 # Koostaja seaded. Muutke CFLAGS -i ainult teiste päisefailide lisamiseks. CC = arm -none -eabi -gcc OBJCOPY = arm -none -eabi -objcopy # Koostaja lipud CFLAGS = -g -O2 -sein -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. # Kaasa failid STM -teekidest CFLAGS += -I $ (STM_COMMON)/Raamatukogud/CMSIS/Kaasa CFLAGS += -I $ (STM_COMMON)/Raamatukogud/CMSIS/ST/STM32F4xx/Kaasa CFLAGS += -I $ (STM_COMMON)/ Raamatukogud/STM32F4xx_StdPeriph_Driver/inc CFLAGS += -I $ (STM_COMMON)/Utilities/STM32F4 -Discovery # add startup file to build SRCS += $ (STM_COMMON)/Librarys/CMSIS/ST/STM32F4xx_st/Source/Templates s OBJS = $ (SRCS:.c =.o) vpath %.c $ (STM_COMMON)/Raamatukogud/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 binaarne $ (PROJ_NAME).elf $ (PROJ_NAME).bin puhas: rm -f *.o $ (PROJ_NAME).elf $ (PROJ_NAME).hex $ (PROJ_NAME).bin # Välguta STM32F4 põletust: proj $ (STLINK)/st -flash write $ (PROJ_NAME).bin 0x80000000

  • Saate redigeerida esimest rida, et muuta tee oma stlink utiliidi kausta
  • Teekide ja YOURUSERNAME abil saate rida muuta oma kausta sihtkohaks

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

  • Vaadake ka jaotist, kus kõik teegid on lingitud. See võib sõltuvalt kasutatavast platvormist muutuda, seega kontrollige failipuu muudatusi. Kõike muud, mis sisaldab teatud failide teid, näiteks käivitusfaili järgmise reaga, saab muuta.

Kui olete kõik need asjad Makefile'is redigeerinud, saate kontrollida, kas see töötab, avades oma kataloogis terminali ja tippides: make. Kui see kompileerib kõik probleemideta, olete valmis. Kui ei, siis vaadake kompilaatori vigu ja muutke Makefile.

Samuti panen Atomi kasutamisel kaks kooditükki kõrvuti. Tavaliselt on main.c ja Makefile vasakul, kuna peate Makefile'i redigeerima ainult üks kord ja teegid paremal. Pildilt näete, et olen iga teegi jaoks avanud kausta, mis sisaldab.c ja.h faile. Seda kõike näete videotes.

Samm: lõpetatud

Valmis!
Valmis!

Nüüd, kui olete Makefile'i konfigureerinud ja kompilaator töötanud, saate seda kausta kõikide projektide jaoks mallina kasutada, seega salvestage kindlasti selle kausta koopia.

Samuti saate st-flash ja st-info programme testida, ühendades oma arendusplaadi ja kirjutades terminali:

st-info-sond

Näete platvormi, mille stlink tarkvara tunneb ära, ja IC -perekonda koos vahemälu ja muu kraamiga. Saate sisestada:

st-info

et näha kõiki saadaolevaid parameetreid.

Nüüd saate alustada programmeerimist. Järgmises juhendis ja videos näitan teile GPIO ja kellade põhitõdesid. Need kaks on kõige muu põhitõed, kuna peaaegu kõik, millega plaat suhtleb, on üle GPIO ja kõik töötab kella järgi ning näete nende protsessorite programmeerimise mustrit.

Seni tänan teid, et vaatasite minu juhendatavat ja minu YouTube'i videot, kui te pole seda veel teinud.

Soovitan: