Tabla de contenido:
- Paso 1: descargue todo lo que necesita
- Paso 2: instalación del software
- Paso 3: configuración de un proyecto de muestra
- Paso 4: ¡Terminado
Video: Comience a desarrollar STM32 en Linux: 4 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:40
En este Instructable, les mostraré lo fácil que es comenzar a desarrollar programas STM32 en Linux. Empecé a usar Linux como mi máquina principal hace 2 años y no me han defraudado. Todo funciona más rápido y mejor que Windows. Por supuesto, es menos conveniente de vez en cuando, pero te obliga a aprender cosas más a fondo para que puedas usarlo.
De todos modos, en este instructivo, parte de una serie que estoy comenzando aquí Y en youtube trata sobre cómo comenzar. Por favor, asegúrese de ver también mi video de YouTube donde explico todo como un segmento y usted puede codificar junto a mí.
En esta serie, le mostraré cómo puede desarrollar usando solo un editor de texto como el bloc de notas, SublimeText o Atom, por lo que no necesita ningún software propietario o IDE. Esto es lo más básico posible y es sorprendentemente fácil.
Paso 1: descargue todo lo que necesita
Necesita descargar tres partes para que todo funcione:
- Compilador GCC para ARM
- Archivos de firmware STM32
- Utilidad st-link
- Proyecto de muestra
El compilador es la pieza principal de software que compila nuestro código C con todos los demás archivos de la biblioteca en un lenguaje de máquina que nuestro controlador stm32 puede entender. Descargue la última versión precompilada de este compilador.
La carpeta que contiene el firmware STM32 es la que contiene todos los archivos principales y de inicio necesarios para el funcionamiento del procesador principal. Usaremos la biblioteca periférica estándar que ha sido superada por HAL. Me gusta más StPeriphLibrary ya que las empresas que trabajan en estos procesadores los utilizan porque es robusto, antiguo y compatible. También es más resistente. No reduce el trabajo que tiene que hacer para inicializar un periférico o encender un LED, pero lo obliga a aprender cómo funcionan estos procesadores. Con eso, tiene más conocimiento del funcionamiento interno, lo que le da sentido a la programación de cualquier tarea.
La última pieza de software para descargar es la utilidad st-link. Se mantiene en github y se usa para transferir archivos binarios compilados al procesador usando stlink IC en la placa que sirve como programador / depurador SWD / JTAG.
También he proporcionado una carpeta de proyecto de muestra de la que hablo más adelante y puede descargarla. Está dentro de la primera carpeta VIDEO1.
Paso 2: instalación del software
Una vez que haya descargado todos los archivos, le sugiero que los ponga dentro de una carpeta común, ya que todos se usan juntos para el mismo propósito. Pongo todas las carpetas dentro de una carpeta llamada "Incrustado" en mi directorio HOME.
Comenzaremos con las bibliotecas STM32 más sencillas. La carpeta que ha descargado se puede dejar allí. Solo asegúrese de investigar para ver dónde se almacenan los archivos apropiados. Por lo tanto, puede cambiar y editar el MakeFile principal para que funcione con su plataforma.
El segundo más fácil es el compilador. Tampoco es necesario que le haga nada, pero haremos del compilador una función accesible globalmente para que pueda llamar al compilador desde cualquier carpeta independientemente de la ruta. Todos los pasos se pueden hacer en la terminal o en la interfaz gráfica de usuario, pero me gusta usar la terminal, ya que cuando tienes experiencia se vuelve más rápido y fácil y te animo a que uses más la terminal, si le tienes miedo. Estos son los pasos:
- Vaya a su carpeta de inicio "/ home / YOURUSERNAME /" o "~ /" o escriba cd en la terminal
- abra el archivo ".bashrc" escribiendo: nano.bashrc
- desplácese hacia abajo hasta el final del archivo y agregue esta línea: export PATH = $ PATH: ~ / Embedded / gcc-arm-none-eabi-8-2018-q4 / bin
- salir guardando: CTRL + X, haga clic en Y, ENTER
- ejecutar comando: fuente.bashrc para actualizar las fuentes de la terminal
- verifique si todo está funcionando escribiendo: arm-none-eabi-gcc --version, debería mostrar la última versión del compilador
Para instalar st-link, extraiga el archivo que ha descargado en la carpeta Embedded. Luego sigue estos pasos:
- Ejecutar: hacer
- Vaya a la carpeta "build / Release": cd build / Release
- Escriba ls y verá dos ejecutables llamados "st-flash" y "st-util"
- Mueva esos dos al directorio principal stlink: mv st-flash st-util../../
-
Puede, si desea utilizar estas dos funciones, editar globalmente el archivo ".bashrc" nuevamente agregando:
export PATH = $ PATH: ~ / Embedded / stlink /
¡Eso es todo! Tienes todo lo que necesitas. Ahora ve a buscar tu editor de texto favorito. Use solo uno estándar, uno más inteligente como SublimeText o Atom, es lo que uso.
Paso 3: configuración de un proyecto de muestra
Ahora crearemos un proyecto de muestra que puede usar para comenzar cada proyecto. Es como una plantilla con toda la configuración principal ya manejada.
Puedes descargarlo en mi MEGA, el enlace está en el primer paso de este instructivo y debajo de cada video mío de YouTube. Dentro está el archivo main.c vacío junto con algunos archivos de inicio para este procesador y el Makefile. Makefile es el que le dice al compilador de C dónde encontrar el compilador arm, cómo compilar y dónde están todas las bibliotecas. Para obtener estos archivos apropiados para su proyecto, puede ir a la carpeta de la biblioteca STM32 y buscar un "proyecto" o carpetas de "ejemplos". En el interior verá y copiará estos archivos: main.c, Makefile y XXX_conf.h, system_XXX.c. También necesitará el archivo vinculador stm32_flash.ld que se puede encontrar en la carpeta:
"/ FLASH_Program / TrueSTUDIO / FLASH_Program /" que está dentro de la carpeta de ejemplo o simplemente busque el archivo.
Makefile se puede encontrar en línea o copiar desde mi carpeta, pero necesitará cambiar algunas cosas. Echemos un vistazo a mi archivo make y lo que podría cambiar.
# Ruta a la carpeta stlink para cargar el código al tablero
STLINK = ~ / Embedded / stlink # Coloque sus archivos fuente aquí (*.c) SRCS = main.c system_stm32f4xx.c # Archivos fuente de bibliotecas #SRCS + = stm32f4xx_rcc.c #SRCS + = stm32f4xx_gpio.c # Se generarán binarios con este nombre (.elf,.bin,.hex) PROJ_NAME = test # Ponga su directorio de código de biblioteca STM32F4 aquí, cambie YOURUSERNAME al suyo STM_COMMON = / home / matej / Embedded / STM32F4-Discovery_FW_V1.1.0 # Configuración del compilador. Solo edite CFLAGS para incluir otros archivos de encabezado. CC = arm-none-eabi-gcc OBJCOPY = arm-none-eabi-objcopy # Indicadores del compilador 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. # Incluir archivos de bibliotecas STM CFLAGS + = -I $ (STM_COMMON) / Bibliotecas / CMSIS / Incluir CFLAGS + = -I $ (STM_COMMON) / Bibliotecas / CMSIS / ST / STM32F4xx / Incluir CFLAGS + = -I $ (STM_COMMON) / Bibliotecas / STM32F4xx_StdPeriph_Driver / inc CFLAGS + = -I $ (STM_COMMON) / Utilities / STM32F4-Discovery # agregar archivo de inicio para compilar SRCS + = $ (STM_COMMON) / Bibliotecas / CMSIS / ST / STM32F4xx / Source / Templates_ True. 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 binary $ (PROJ_NAME).elf $ (PROJ_NAME).bin clean: rm -f *.o $ (PROJ_NAME).elf $ (PROJ_NAME).hex $ (PROJ_NAME).bin # Flash de la grabación STM32F4: proj $ (STLINK) / st-flash write $ (PROJ_NAME).bin 0x80000000
- Puede editar la primera línea para cambiar la ruta a la carpeta de su utilidad stlink
-
Puede cambiar la línea al destino de su carpeta con bibliotecas y SU NOMBRE DE USUARIO
STM_COMMON = / home / YOURUSERNAME / Embedded / STM32F4-Discovery_FW_V1.1.0
- Consulte también la sección donde están vinculadas todas las bibliotecas. Esto puede cambiar dependiendo de la plataforma que esté utilizando, así que verifique los cambios en el árbol de archivos. Se puede cambiar todo lo demás que incluya rutas a ciertos archivos, como la siguiente línea con el archivo de inicio.
Después de haber editado todas estas cosas dentro del Makefile, puede verificar si está funcionando abriendo una terminal dentro de su directorio y escribiendo: make. Si compila todo sin problemas, entonces está listo. Si no es así, mire los errores del compilador y edite el Makefile.
Además, cuando uso Atom, coloco dos piezas de código una al lado de la otra. Por lo general, main.cy Makefile a la izquierda, ya que solo necesita editar Makefile una vez y las bibliotecas a la derecha. Puede ver en la imagen que he abierto la carpeta que contiene los archivos.cy.h para cada biblioteca. Puedes ver todo esto en los videos.
Paso 4: ¡Terminado
Ahora que tiene su Makefile configurado y el compilador funcionando, puede usar esta carpeta para todos los proyectos como plantilla, así que asegúrese de guardar una copia de esta carpeta.
También puede probar los programas st-flash y st-info conectando su placa de desarrollo y escribiendo en la terminal:
st-info --probe
Puede ver la plataforma que reconoce el software stlink y la familia IC junto con el caché y otras cosas. Puede escribir:
st-info
para ver todos los parámetros disponibles.
Ahora puede comenzar a programar. En el siguiente instructivo y video, le mostraré los conceptos básicos de GPIO y relojes. Estos dos son los conceptos básicos para todo lo demás, ya que casi todo con lo que interactúa la placa está sobre GPIO y todo funciona en el reloj y verá el patrón para programar estos procesadores.
Hasta entonces, gracias por ver mi instructivo y mi video de youtube, si aún no lo ha hecho.
Recomendado:
Comience con Arduino Nano: 5 pasos
Comience con Arduino Nano: Arduino Nano es uno de los modelos de placa Arduino disponibles. Tiene un tamaño pequeño, característica completa y fácil de usar. Tiene un tamaño de 1.70 pulgadas x 0.7 pulgadas, Arduino nano tiene una característica completa, como: Atmel ATmega 328 IC, botón Restar, 4 LED indicadores, 3V3 Re
Comience con Python: 7 pasos (con imágenes)
Comience con Python: ¡La programación es increíble! Es creativa, es divertida y le da a su cerebro un entrenamiento mental. Muchos de nosotros queremos aprender sobre programación, pero nos convencemos de que no podemos. Tal vez tenga demasiadas matemáticas, tal vez la jerga que se usa asusta
[HASS.IO] Comience a construir su hogar inteligente sin codificación, por menos de $ 100: 6 pasos
[HASS.IO] Comience a construir su casa inteligente sin codificación, por menos de $ 100: Recientemente he estado jugando y con éxito hago que mi casa sea menos "idiota". Así que voy a compartir cómo hacer un sistema de hogar inteligente con un precio bajo, alta compatibilidad que funcionaría sin problemas y de manera estable
Comience con NodeMCU (ESP8266) : 3 pasos
Comience con NodeMCU (ESP8266) ….: En este Instructable, comparto cómo puede comenzar con NodeMCU (ESP8266) con Arduino IDE. Este tutorial es para principiantes que recién comienzan. NodeMCU es como Arduino con Wifi integrado, por lo que puede llevar sus proyectos en línea. Para k
Comience su espectáculo de luces navideñas con un botón: 5 pasos
Comience su espectáculo de luces navideñas con un botón: cuando ejecute un espectáculo de luces navideñas sincronizado con música, es posible que desee comenzar el espectáculo presionando un botón. Este tutorial solo es aplicable para un programa que se controla a través de Falcon Pi Player (FPP) que se ejecuta en una Raspberry Pi. Si estás ejecutando F