Tabla de contenido:

Configuración del tablero de pastillas azul en STM32CubeIDE: 8 pasos
Configuración del tablero de pastillas azul en STM32CubeIDE: 8 pasos

Video: Configuración del tablero de pastillas azul en STM32CubeIDE: 8 pasos

Video: Configuración del tablero de pastillas azul en STM32CubeIDE: 8 pasos
Video: 11. Install STM32 CubeIDE and LED blink program for Windows (OpenOCD included) 2024, Mayo
Anonim
Configuración del tablero de pastillas azul en STM32CubeIDE
Configuración del tablero de pastillas azul en STM32CubeIDE
Configuración del tablero de pastillas azul en STM32CubeIDE
Configuración del tablero de pastillas azul en STM32CubeIDE

La Blue Pill es una placa de desarrollo ARM básica muy barata. Tiene un STM32F103C8 como procesador que tiene 64 kbytes de memoria flash y 20 kbytes de memoria RAM. Funciona hasta 72 MHz y es la forma más económica de entrar en el desarrollo de software integrado ARM.

La mayoría de los proyectos de ejemplo y cómo se describen la programación del tablero Blue Pill utilizando el entorno Auduino. Si bien esto funciona y es una forma de comenzar, tiene sus limitaciones. El entorno Arduino lo protege un poco del hardware subyacente, ese es su objetivo de diseño. Debido a esto, no podrá aprovechar todas las funciones que ofrece el procesador, y la integración de un sistema operativo en tiempo real no es realmente compatible. Esto significa que el entorno Arduino no se utiliza mucho en la industria. Si desea hacer una carrera en el desarrollo de software integrado, Arduino es un buen punto de partida, pero debe seguir adelante y utilizar un entorno de desarrollo que se utilice industrialmente. ST proporciona un paquete de entorno de desarrollo completamente gratuito para sus procesadores llamado STM32CubeIDE. Esto se usa ampliamente en la industria, por lo que es bueno seguir adelante.

Sin embargo, y este es el gran problema, STM32CubeIDE es tremendamente complicado y es una pieza de software desalentadora de usar. Es compatible con todas las funciones de todos los procesadores de ST y les permite configurarse íntimamente, lo que no se encuentra en el IDE de Arduino porque todo está hecho por usted.

Debe configurar su placa como primer paso en STM32CubeIDE. El IDE conoce las placas de desarrollo propias de ST y las configura para usted, pero la Blue Pill, mientras usa un procesador ST, no es un producto ST, por lo que está solo aquí.

Este instructivo lo lleva a través del proceso de configuración de su tablero Blue Pill, habilitando un puerto serial y escribiendo algo de texto. No es mucho, pero es un primer paso importante.

Suministros

STM32CubeIDE: descárguelo del sitio web de ST. Necesitas registrarte y la descarga lleva un tiempo.

Un tablero de píldora azul. Puedes conseguirlos en ebay. Necesita uno que tenga un procesador ST genuino, ya que algunos no lo hacen. En ebay amplíe la imagen y busque el logo ST en el procesador.

Un depurador / programador ST-LINK v2 disponible en ebay por unas pocas libras.

Un cable serial FTDI TTL a USB 3.3V para salida y 2 cables de encabezado macho a hembra para conectarlo.

Un programa de terminal en serie como PuTTY.

Paso 1: crear un nuevo proyecto

Creando un nuevo proyecto
Creando un nuevo proyecto
Creando un nuevo proyecto
Creando un nuevo proyecto
  1. Inicie STM32CubeIDE y luego en el menú seleccione Archivo | Nuevo | Proyecto STM32.
  2. En el cuadro de búsqueda de número de pieza, ingrese STM32F103C8.
  3. En la lista de MCU / MPU debería ver STM32F103C8. Seleccione esta línea como en la imagen de arriba.
  4. Haga clic en Siguiente.
  5. En el cuadro de diálogo Configuración del proyecto, déle un nombre al proyecto.
  6. Deje todo lo demás como está y haga clic en Finalizar. Su proyecto aparecerá a la izquierda en el panel Explorador de proyectos.

Paso 2: configurar el procesador

Configurar el procesador
Configurar el procesador
Configurar el procesador
Configurar el procesador
Configurar el procesador
Configurar el procesador
Configurar el procesador
Configurar el procesador
  1. En el panel Explorador de proyectos, abra su proyecto y haga doble clic en el archivo.ioc.
  2. En la pestaña Proyecto y configuración, expanda Núcleo del sistema y luego seleccione SYS.
  3. En SYS Mode and Configuration en el menú desplegable Debug, elija Serial Wire.
  4. Ahora seleccione RCC en la lista System Core justo encima de SYS que seleccionó anteriormente.
  5. En Modo y configuración de RCC del menú desplegable Reloj de alta velocidad (HSE), seleccione Resonador de cristal / cerámica.
  6. Ahora, en Categorías nuevamente, abra Conectividad y seleccione USART2.
  7. En Modo y configuración de USART2 en el menú desplegable Modo, seleccione Asíncrono.
  8. Ahora seleccione la pestaña Configuración del reloj y vaya al siguiente paso.

Paso 3: configurar los relojes

Configurar los relojes
Configurar los relojes

Ahora puede ver un diagrama de reloj bastante desalentador, pero solo necesita configurarlo una vez. Esto es lo más difícil de describir aquí ya que el diagrama es complejo. Todas las cosas que necesita cambiar están resaltadas en la imagen de arriba.

  1. La placa Blue Pill viene con un cristal de 8 MHz en la placa y ese es el valor predeterminado del diagrama de configuración del reloj, por lo que no es necesario cambiar eso.
  2. En PLL Source Mux, seleccione la opción más baja, HSE.
  3. Justo a la derecha, establezca PLLMul en X9.
  4. De nuevo a la derecha, debajo de System Clock Mux, seleccione PLLCLK.
  5. A la derecha de nuevo bajo APB1 Prescalar seleccione / 2.
  6. Eso es todo. Si ve alguna parte del diagrama resaltada en violeta, ha hecho algo mal.

Paso 4: guardar y compilar

  1. Guarde la configuración.ioc con Ctrl-S. Cuando se le pregunte si desea generar código, seleccione Sí (y marque Recordar mi decisión para que no se le pregunte todo el tiempo). Puede cerrar el archivo.ioc.
  2. Ahora haga una compilación desde el menú Proyecto | Generar proyecto.

Paso 5: Agregar código

Adición de código
Adición de código
Adición de código
Adición de código

Ahora agregaremos un código para usar el puerto serie que configuramos.

  1. En el Explorador de proyectos, abra Core / Src y haga doble clic en main.c para editarlo.
  2. Desplácese hacia abajo hasta encontrar la función main () y agregue el código que se muestra a continuación justo debajo del comentario / * USER CODE BEGIN 3 * / luego haga una compilación nuevamente.

HAL_UART_Transmit (& huart2, (uint8_t *) "¡Hola, mundo! / R / n", 15U, 100U);

A continuación, conecte el hardware y pruébelo.

Paso 6: Conexión del hardware

Conexión del hardware
Conexión del hardware
Conexión del hardware
Conexión del hardware

Conexión del ST-LINK v2

El ST-LINK v2 debería haber venido con un cable plano de encabezado hembra a hembra de 4 hilos. Debe realizar las siguientes conexiones:

Pastilla azul a ST-LINK v2

GND a GND

CLK a SWCLK

DIO a SWDIO

3.3 hasta 3.3V

Vea la primera imagen de arriba.

Conexión del cable serial

Si vuelve al archivo.ioc y mira el diagrama de chip a la derecha, verá que la línea Tx de UART2 está en el pin PA2. Por lo tanto, conecte el pin etiquetado PA2 en el tablero Blue Pill a la conexión con el cable amarillo en el cable serial FTDI. También conecte uno de los pines de tierra de Blue Pill (etiquetado G) al cable negro en el cable serial FTDI.

Vea la segunda imagen de arriba.

Paso 7: depuración

Depuración
Depuración
Depuración
Depuración

Conecte su cable serial FTDI y encienda un terminal serial a 115200 baudios. Luego, conecte su ST-LINK v2 y estará listo para comenzar.

  1. Desde STM32CubeIDE, elija Ejecutar | Depurar. Cuando aparezca un cuadro de diálogo Depurar como, elija Aplicación STM32 Cortex-M C / C ++ y Aceptar.
  2. Cuando aparezca un cuadro de diálogo Editar configuración, simplemente presione Aceptar.
  3. El depurador se interrumpirá en la primera línea de main (). En el menú, elija Ejecutar | Reanudar y compruebe si hay mensajes en el terminal serie.

Paso 8: hacer más

Eso es todo, su primera aplicación STM32CubeIDE está configurada y en ejecución. Este ejemplo no hace mucho, solo envía algunos datos desde el puerto serie.

Para usar otros periféricos y escribir controladores para dispositivos externos, ¡debe abordar ese desalentador editor de configuración nuevamente! Para ayudar, he producido una serie de proyectos de ejemplo STM32CubeIDE que configuran y ejercitan todos los periféricos en el procesador de Blue Pill en pequeños proyectos fáciles de entender. Todos son de código abierto y puedes hacer lo que quieras con ellos. Cada periférico está configurado y luego tiene un código de muestra para ejercitarlo de forma aislada (¡casi!) Para que pueda concentrarse en poner en funcionamiento solo un periférico a la vez.

También hay controladores para dispositivos externos desde simples chips EEPROM hasta sensores de presión, LCD de texto y gráficos, módem SIM800 para TCP, HTTP y MQTT, teclados, módulos de radio, USB y también integración con FatFS, tarjetas SD y FreeRTOS.

Todos se pueden encontrar en Github aquí …

github.com/miniwinwm/BluePillDemo

Recomendado: