Taula de continguts:

Comenceu a desenvolupar STM32 a Linux: 4 passos
Comenceu a desenvolupar STM32 a Linux: 4 passos

Vídeo: Comenceu a desenvolupar STM32 a Linux: 4 passos

Vídeo: Comenceu a desenvolupar STM32 a Linux: 4 passos
Vídeo: BTT SKR2 - Установка прошивки FluiddPi и Klipper 2024, Juliol
Anonim
Image
Image
Descarregueu tot el que necessiteu
Descarregueu tot el que necessiteu

En aquest instructiu, us mostraré el fàcil que és començar a desenvolupar programes STM32 a Linux. Vaig començar a utilitzar Linux com a màquina principal fa 2 anys i no m’han decebut. Tot funciona més ràpidament i millor que les finestres. Per descomptat, és menys convenient de tant en tant, però t’obliga a aprendre coses més a fons perquè puguis utilitzar-les.

De totes maneres, en aquesta instrucció, part d’una sèrie que estic començant aquí I a youtube tracta sobre com iniciar-la. Assegureu-vos de veure també el meu vídeo de YouTube, on explico tot com un segment i podeu codificar al costat de mi.

En aquesta sèrie us mostraré com es pot desenvolupar utilitzant només un editor de text com el bloc de notes, SublimeText o Atom, de manera que no necessiteu cap programari propietari ni IDE. Es tracta d’ossos tan nus com es fa i és sorprenentment fàcil.

Pas 1: descarregueu tot el que necessiteu

Cal que descarregueu tres parts perquè tot funcioni:

  • Compilador GCC per a ARM
  • Fitxers de firmware STM32
  • Utilitat St-link
  • Projecte de mostra

El compilador és la peça principal de programari que compila el nostre codi C amb la resta de fitxers de la biblioteca al llenguatge de la màquina que el nostre controlador stm32 pot entendre. Baixeu-vos l'última versió precompilada d'aquest compilador.

La carpeta que conté el firmware STM32 és la que conté tots els fitxers inicials i bàsics necessaris per al funcionament del processador principal. Utilitzarem la biblioteca perifèrica estàndard que HAL ha superat. M'agrada més StPeriphLibrary, ja que les empreses que treballen en aquests processadors les utilitzen perquè és robusta, antiga i compatible. També és més accidentat. No talla el treball que heu de fer per inicialitzar un perifèric o encendre un LED, sinó que us obliga a aprendre com funcionen aquests processadors. Amb això, teniu més coneixement del funcionament intern, donant així sentit a programar qualsevol tasca.

L'última peça de programari a descarregar és la utilitat st-link. Es manté a github i s’utilitza per transferir fitxers binaris compilats al processador mitjançant stlink IC a la placa que serveix de programador / depurador SWD / JTAG.

També he proporcionat una mostra de carpeta de projectes de la qual parlaré més endavant i la podeu descarregar. Es troba dins de la primera carpeta VIDEO1.

Pas 2: Instal·lació del programari

Instal·lació de programari
Instal·lació de programari
Instal·lació de programari
Instal·lació de programari

Després de descarregar tots els fitxers, us proposo que els poseu dins d’una carpeta comuna, ja que s’utilitzen tots junts amb el mateix propòsit. He posat totes les carpetes dins d’una carpeta anomenada “incrustada” al directori HOME.

Començarem per les biblioteques STM32 més fàcils. La carpeta que heu baixat només es pot deixar allà. Assegureu-vos d’excavar per veure on s’emmagatzemen els fitxers adequats. Per tant, podeu canviar i editar el MakeFile principal perquè funcioni amb la vostra plataforma.

El segon més fàcil és el compilador. Tampoc no hi heu de fer res, però farem del compilador una funció accessible a tot el món perquè pugueu trucar al compilador des de qualsevol carpeta independentment del camí d'accés. Tots els passos es poden fer al terminal o a la interfície gràfica d’usuari, però m’agrada fer servir el terminal, ja que quan experimenta es fa més ràpid i fàcil i us animo a fer servir més el terminal, si en teniu por. Aquests són els passos següents:

  1. Aneu a la carpeta inicial "/ home / YOURUSERNAME /" o "~ /" o escriviu cd al terminal
  2. obriu el fitxer ".bashrc" escrivint: nano.bashrc
  3. desplaceu-vos cap avall fins al final del fitxer i afegiu aquesta línia: export PATH = $ PATH: ~ / Embedded / gcc-arm-none-eabi-8-2018-q4 / bin
  4. sortir desant: CTRL + X, feu clic a Y, ENTRAR
  5. ordre d'execució: font.bashrc per actualitzar les fonts del terminal
  6. comproveu si tot funciona funcionant escrivint: arm-none-eabi-gcc --version, hauria de mostrar l'última versió del compilador

Per instal·lar st-link, extreu l'arxiu que heu baixat a la carpeta incrustada. A continuació, seguiu aquests passos:

  1. Córrer: fer
  2. Aneu a la carpeta "build / Release": cd build / Release
  3. Escriviu ls i veureu dos executables anomenats "st-flash" i "st-util"
  4. Moveu aquests dos al directori principal stlink: mv st-flash st-util../../
  5. Si voleu utilitzar aquestes dues funcions, podeu tornar a editar globalment el fitxer ".bashrc" afegint:

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

Això és tot! Tens tot el que necessites. Ara agafeu el vostre editor de text preferit. Utilitzeu només un estàndard, més intel·ligent com SublimeText o Atom, és el que faig servir.

Pas 3: configurar un projecte de mostra

Configuració d’un projecte de mostra
Configuració d’un projecte de mostra

Ara crearem un projecte de mostra que podeu utilitzar per iniciar cada projecte. És com una plantilla amb tota la configuració principal ja gestionada.

Podeu descarregar-lo al meu MEGA, l’enllaç es troba al primer pas d’aquest instructiu i a sota de tots els meus vídeos de youtube. A dins hi ha el fitxer main.c buit juntament amb alguns fitxers d’inici d’aquest processador i del Makefile. Makefile és el que indica al compilador C on trobar el compilador de braços, com compilar i on es troben totes les biblioteques. Per obtenir aquests fitxers adequats per al vostre projecte, podeu anar a la carpeta de la biblioteca STM32 i comprovar si hi ha carpetes "projecte" o "exemples". A l'interior veureu i copieu aquests fitxers: main.c, Makefile i XXX_conf.h, system_XXX.c. També necessitareu el fitxer d'enllaç stm32_flash.ld que es pot trobar a la carpeta:

"/ FLASH_Program / TrueSTUDIO / FLASH_Program /" que es troba dins de la carpeta d'exemple o simplement cerqueu el fitxer.

Makefile es pot trobar en línia o copiar-se de la meva carpeta, però haureu de canviar algunes coses. Anem a fer una ullada al meu fitxer make i al que podríeu canviar.

# Camí a la carpeta stlink per penjar codi al tauler

STLINK = ~ / Embedded / stlink # Poseu aquí els vostres fitxers font (*.c) SRCS = main.c system_stm32f4xx.c # Fitxers font de les biblioteques #SRCS + = stm32f4xx_rcc.c #SRCS + = stm32f4xx_gpio.c # Es generaran binaris amb aquest nom (.elf,.bin,.hex) PROJ_NAME = prova # Posa aquí el directori del codi de la biblioteca STM32F4, canvia YOURUSERNAME al teu STM_COMMON = / home / matej / Embedded / STM32F4-Discovery_FW_V1.1.0 # Configuració del compilador. Editeu CFLAGS només per incloure altres fitxers de capçalera. 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 -mthumb-interwork CFLAGS + = -mfloat-abi = hard -mfpu = fpv4-sp-d16 CFLAGS + = -I. # Inclou fitxers de biblioteques STM CFLAGS + = -I $ (STM_COMMON) / Biblioteques / CMSIS / Inclou CFLAGS + = -I $ (STM_COMMON) / Biblioteques / CMSIS / ST / STM32F4xx / Inclou CFLAGS + = -I $ (STM_COMMON) / Libraries / STM32F4xx_StdPeriph_Driver / inc CFLAGS + = -I $ (STM_COMMON) / Utilities / STM32F4-Discovery # add startup file to build SRCS + = $ (STM_COMMON) / Libraries / CMSIS / ST / STM32F4xx / Source / Templates / TrueSTUD. s OBJS = $ (SRCS:.c =.o) vpath%.c $ (STM_COMMON) / Libraries / 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 binari $ (PROJ_NAME).elf $ (PROJ_NAME).bin clean: rm -f *.o $ (PROJ_NAME).elf $ (PROJ_NAME).hex $ (PROJ_NAME).bin # Flash la gravació STM32F4: proj $ (STLINK) / st-flash write $ (PROJ_NAME).bin 0x80000000

  • Podeu editar la primera línia per canviar el camí a la carpeta de la vostra utilitat stlink
  • Podeu canviar la línia a la destinació de la vostra carpeta amb les biblioteques i EL VOSTRE NOM

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

  • Consulteu també la secció on estan enllaçades totes les biblioteques. Això pot canviar segons la plataforma que utilitzeu, així que comproveu si hi ha canvis a l'arbre de fitxers. Tot el que inclogui qualsevol camí d'accés a determinats fitxers, com ara amb la següent línia amb el fitxer d'inici, es pot canviar.

Després d'haver editat totes aquestes coses dins del Makefile, podeu comprovar si funciona, obrint un terminal dins del directori i escrivint: make. Si compila totes les coses sense cap problema, ja estarà configurat. Si no, mireu els errors del compilador i editeu el Makefile.

A més, quan faig servir Atom, poso dues peces de codi una al costat de l’altra. Normalment main.c i Makefile a l’esquerra, ja que només cal editar Makefile una vegada i les biblioteques a la dreta. A la imatge podeu veure que he obert la carpeta que conté els fitxers.c i.h de cada biblioteca. Podeu veure tot això als vídeos.

Pas 4: acabat

Acabat!
Acabat!

Ara que teniu el Makefile configurat i el compilador funciona, podeu utilitzar aquesta carpeta per a tots els projectes com a plantilla, així que assegureu-vos de desar una còpia d'aquesta carpeta.

També podeu provar els programes st-flash i st-info connectant la placa de desenvolupament i escrivint al terminal:

st-info --probe

Podeu veure la plataforma que reconeix el programari stlink i la família d’IC juntament amb la memòria cau i altres coses. Podeu escriure:

st-info

per veure tots els paràmetres disponibles.

Ara podeu començar a programar. Al següent vídeo i instructiu us mostraré els conceptes bàsics de GPIO i rellotges. Aquests dos són els conceptes bàsics de tota la resta, ja que gairebé tot el que interactua la placa és sobre GPIO i tot funciona al rellotge i veureu el patró per programar aquests processadors.

Fins aleshores, gràcies per comprovar el meu vídeo instructiu i el de youtube, si encara no ho heu fet.

Recomanat: