Sisällysluettelo:

Aloita STM32: n kehittäminen Linuxissa: 4 vaihetta
Aloita STM32: n kehittäminen Linuxissa: 4 vaihetta

Video: Aloita STM32: n kehittäminen Linuxissa: 4 vaihetta

Video: Aloita STM32: n kehittäminen Linuxissa: 4 vaihetta
Video: I designed STM32 MCU card for Speeduino! 2024, Marraskuu
Anonim
Image
Image
Lataa kaikki mitä tarvitset
Lataa kaikki mitä tarvitset

Tässä Instructable -ohjelmassa näytän sinulle, kuinka helppoa on aloittaa STM32 -ohjelmien kehittäminen Linuxissa. Aloin käyttää Linuxia pääkoneena 2 vuotta sitten, eikä minua ole petetty. Kaikki toimii nopeammin ja paremmin kuin ikkunat. Tietenkin se on aika ajoin vähemmän kätevää, mutta se pakottaa sinut oppimaan asioita syvemmälle, jotta voit käyttää sitä.

Joka tapauksessa, tässä opastetussa osassa sarjaa, jonka aloitan täällä JA youtubessa, on kyse siitä, miten se aloitetaan. Muista katsoa myös YouTube -videoni, jossa selitän kaiken yhdeksi segmentiksi ja voit koodata vierelläni.

Tässä sarjassa näytän sinulle, kuinka voit kehittyä käyttämällä vain tekstieditoria, kuten muistilehtiö, SublimeText tai Atom, joten et tarvitse mitään ohjelmistoja tai IDE: tä. Tämä on niin paljaita luita kuin se saa ja se on yllättävän helppoa.

Vaihe 1: Lataa kaikki tarvitsemasi

Sinun on ladattava kolme osaa, jotta kaikki toimii:

  • GCC -kääntäjä ARM: lle
  • STM32 -laiteohjelmistotiedostot
  • St-link-apuohjelma
  • Näyteprojekti

Kääntäjä on tärkein ohjelmisto, joka kokoaa C -koodimme ja kaikki muut kirjastotiedostot konekielelle, jonka stm32 -ohjaimemme voi ymmärtää. Lataa tämän kääntäjän uusin valmiiksi koottu versio.

Kansio, joka sisältää STM32 -laiteohjelmiston, sisältää kaikki pääprosessorin toimintaan tarvittavat käynnistys- ja ydintiedostot. Käytämme normaalia oheiskirjastoa, jonka HAL on ylittänyt. Pidän StPeriphLibrarystä enemmän, koska yritykset, jotka työskentelevät tämän prosessorin parissa, käyttävät niitä, koska se on vankka ja vanhempi ja tuettu. Se on myös kestävämpi. Se ei vähennä työtä, joka sinun on tehtävä oheislaitteen alustamiseksi tai LED -valon kytkemiseksi päälle, mutta pakottaa sinut oppimaan, miten nämä prosessorit toimivat. Siten sinulla on enemmän tietoa sisäisestä toiminnasta, joten sinulla on järkeä ohjelmoida mitä tahansa tehtävää.

Viimeinen ladattava ohjelmisto on st-link-apuohjelma. Sitä ylläpidetään githubissa, ja sitä käytetään käännettyjen binaaritiedostojen siirtämiseen suorittimelle käyttämällä SWD / JTAG -ohjelmoijana / debuggerina toimivalla kortin stlink IC: llä.

Olen myös toimittanut mallikappaleen kansion, josta puhun myöhemmin, ja voit ladata sen. Se on ensimmäisen VIDEO1 -kansion sisällä.

Vaihe 2: Ohjelmiston asentaminen

Ohjelmiston asentaminen
Ohjelmiston asentaminen
Ohjelmiston asentaminen
Ohjelmiston asentaminen

Kun olet ladannut kaikki tiedostot, ehdotan, että laitat ne yhteiseen kansioon, koska niitä käytetään yhdessä samaan tarkoitukseen. Laitoin kaikki kansiot HOME -hakemistoni "Embedded" -kansioon.

Aloitamme helpoimmista, STM32 -kirjastoista. Lataamasi kansio voidaan jättää sinne. Muista vain kaivaa ympärille nähdäksesi, missä sopivat tiedostot on tallennettu. Siksi voit muuttaa ja muokata tärkeintä MakeFileä niin, että se toimii alustasi kanssa.

Toiseksi helpoin on kääntäjä. Sinun ei myöskään tarvitse tehdä sille mitään, mutta teemme kääntäjästä maailmanlaajuisesti käytettävissä olevan toiminnon, jotta voit soittaa kääntäjälle mistä tahansa kansiosta polusta riippumatta. Kaikki vaiheet voidaan tehdä terminaalissa tai gui: ssa, mutta haluan käyttää päätelaitetta, koska kun koet sen, se muuttuu nopeammaksi ja helpommaksi, ja kehotan sinua käyttämään terminaalia enemmän, jos pelkäät sitä. Tässä on vaiheet:

  1. Siirry kotikansioosi "/home/YOURUSERNAME/" tai "~/" tai kirjoita cd terminaaliin
  2. avaa tiedosto ".bashrc" kirjoittamalla: nano.bashrc
  3. vieritä tiedoston loppuun ja lisää tämä rivi: export PATH = $ PATH: ~/Embedded/gcc-arm-none-eabi-8-2018-q4/bin
  4. Lopeta tallentamalla: CTRL+X, napsauta Y, ENTER
  5. suorita komento: source.bashrc päivittääksesi päätelaitteiden lähteet
  6. tarkista, toimiiko kaikki kirjoittamalla: arm-none-eabi-gcc --version, sen pitäisi näyttää kääntäjän uusin versio

Jos haluat asentaa st-linkin, poista lataamasi arkisto Embedded-kansioon. Noudata sitten näitä ohjeita:

  1. Suorita: tee
  2. Siirry kansioon "build/Release": cd build/Release
  3. Kirjoita ls ja näet kaksi suoritettavaa tiedostoa nimeltä "st-flash" ja "st-util"
  4. Siirrä nämä kaksi päähakemistoon stlink: mv st-flash st-util../../
  5. Jos haluat käyttää näitä kahta toimintoa maailmanlaajuisesti, voit muokata.bashrc -tiedostoa uudelleen lisäämällä:

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

Siinä kaikki! Sinulla on kaikki mitä tarvitset. Ota nyt suosikki tekstieditori. Käytä vain tavallista, älykkäämpää, kuten SublimeText tai Atom, sitä käytän.

Vaihe 3: Esimerkkiprojektin määrittäminen

Esimerkkiprojektin määrittäminen
Esimerkkiprojektin määrittäminen

Luomme nyt näyteprojektin, jonka avulla voit aloittaa jokaisen projektin. Se on kuin malli, jossa kaikki pääasetukset on jo käsitelty.

Voit ladata sen MEGA -laitteestani, linkki on tämän ohjeen ensimmäisessä vaiheessa ja jokaisen youtube -videoni alla. Sisällä on tyhjä main.c -tiedosto sekä joitakin tämän prosessorin ja Makefile -tiedoston käynnistystiedostoja. Makefile kertoo C -kääntäjälle, mistä käsikääntäjä löytyy, miten kääntää ja missä ovat kaikki kirjastot. Jos haluat saada nämä projektillesi sopivat tiedostot, siirry STM32 -kirjastokansioon ja tarkista "projekti" - tai "esimerkki" - kansiot. Sisällä näet ja kopioit nämä tiedostot: main.c, Makefile ja XXX_conf.h, system_XXX.c. Tarvitset myös stm32_flash.ld linkeritiedoston, joka löytyy kansiosta:

"/FLASH_Program/TrueSTUDIO/FLASH_Program/", joka on esimerkkikansion sisällä tai etsi vain tiedosto.

Makefile löytyy verkosta tai kopioidaan kansiostani, mutta sinun on muutettava muutamia asioita. Katsotaanpa minun make -tiedostoani ja mitä voit muuttaa.

# Polku stlink -kansioon koodin lataamiseksi alukselle

STLINK = ~/Embedded/stlink # Laita lähdetiedostot tähän (*.c) SRCS = main.c system_stm32f4xx.c # Kirjastot lähdetiedostot #SRCS += stm32f4xx_rcc.c #SRCS += stm32f4xx_gpio.c # tämä nimi (.elf,.bin,.hex) PROJ_NAME = test # Laita STM32F4-kirjaston koodihakemisto tähän, muuta YOURUSERNAME -nimesi omaksesi STM_COMMON =/home/matej/Embedded/STM32F4-Discovery_FW_V1.1.0 # Kääntäjäasetukset. Muokkaa CFLAGS -tiedostoja vain muiden otsikkotiedostojen sisällyttämiseksi. CC = arm -none -eabi -gcc OBJCOPY = arm -none -eabi -objcopy # Kääntäjäliput 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. # Sisällytä tiedostot STM -kirjastoista CFLAGS += -I $ (STM_COMMON)/Libraries/CMSIS/Include CFLAGS += -I $ (STM_COMMON)/Libraries/CMSIS/ST/STM32F4xx/Include CFLAGS += -I $ (STM_COMMON)/ Kirjastot/STM32F4xx_StdPeriph_Driver/inc CFLAGS += -I $ (STM_COMMON)/Apuohjelmat/STM32F4 -Discovery # lisää käynnistystiedosto SRCS +: n rakentamiseen = $ (STM_COMMON)/Kirjastot/CMSIS/ST/STM32F4xx_st/Temp/Temp. s OBJS = $ (SRCS:.c =.o) vpath %.c $ (STM_COMMON)/Kirjastot/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 binaarinen $ (PROJ_NAME).elf $ (PROJ_NAME).bin clean: rm -f *.o $ (PROJ_NAME).elf $ (PROJ_NAME).hex $ (PROJ_NAME).bin # Vilkkaa STM32F4 -polttoa: proj $ (STLINK)/st -flash write $ (PROJ_NAME).bin 0x80000000

  • Voit muokata ensimmäistä riviä ja vaihtaa polun stlink -apuohjelmakansioosi
  • Voit muuttaa rivin kansion määränpääksi kirjastoilla ja YOURUSERNAME -nimellä

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

  • Katso myös osio, johon kaikki kirjastot on linkitetty. Tämä voi muuttua käyttämäsi alustan mukaan, joten tarkista tiedostopuun muutokset. Kaikkea muuta, joka sisältää polkuja tiettyihin tiedostoihin, kuten seuraavan rivin käynnistystiedoston kanssa, voidaan muuttaa.

Kun olet muokannut kaikkia näitä asioita Makefile -tiedostossa, voit tarkistaa, toimiiko se avaamalla päätelaitteen hakemistossasi ja kirjoittamalla: make. Jos se kokoaa kaikki asiat ilman ongelmia, olet valmis. Jos ei, katso kääntäjävirheet ja muokkaa Makefile -tiedostoa.

Lisäksi kun käytän Atomia, laitoin kaksi koodikappaletta vierekkäin. Yleensä main.c ja Makefile vasemmalla, koska sinun tarvitsee muokata Makefileä vain kerran ja kirjastot oikealla. Kuvasta näet, että olen avannut kansion, joka sisältää.c- ja.h -tiedostot kullekin kirjastolle. Näet kaiken tämän videoista.

Vaihe 4: Valmis

Valmis!
Valmis!

Nyt kun Makefile on määritetty ja kääntäjä toimii, voit käyttää tätä kansiota kaikissa projekteissa mallina, joten muista tallentaa kopio tästä kansiosta.

Voit myös testata st-flash- ja st-info-ohjelmia kytkemällä kehityskortin ja kirjoittamalla terminaaliin:

st-info-anturi

Näet stlink -ohjelmiston tunnistaman alustan ja IC -perheen sekä välimuistin ja muut asiat. Voit kirjoittaa:

st-info

nähdäksesi kaikki käytettävissä olevat parametrit.

Nyt voit aloittaa ohjelmoinnin. Seuraavassa ohjeessa ja videossa näytän sinulle GPIO: n perusteet ja kellot. Nämä kaksi ovat kaiken muun perusasiat, koska melkein kaikki, mitä levy vuorovaikutuksessa on, on GPIO: n kautta ja kaikki toimii kellon mukaan ja näet näiden prosessorien ohjelmointimallin.

Siihen asti kiitos, että katsoit ohjeistettavan ja youtube -videoni, ellet ole vielä tehnyt sitä.

Suositeltava: