Saltar al contenido

¿Es posible programar un STM32 con un Arduino?

Solución:

A través de JTAG, es prácticamente imposible. Su mejor opción es utilizar el gestor de arranque integrado que se envía instalado de fábrica en cada chip STM32. Este cargador de arranque utiliza el periférico USART1 del STM32 para interactuar con una computadora u otro dispositivo. Sin embargo, la herramienta más útil para interactuar con este gestor de arranque es un convertidor de USB a serie, utilizando, por ejemplo, un chip FT232, que puede conectar a su computadora. Luego, puede instalar la aplicación ST Flash Loader Demonstrator para cargar el código en su placa usando el cargador de arranque.

Algunos puntos importantes a destacar:

  • para usar el gestor de arranque, debe tirar de BOOT1 bajo (conectar a GND) y BOOT0 alto (conectar a VDD) antes de encender la placa. Luego, cuando ejecute el código que acaba de cargar, tire de BOOT0 hacia atrás. Consulte la sección 3.4 del manual de referencia STM32F10x.
  • un convertidor de USB a serie comercial incluiría un traductor de nivel de voltaje, ya que los niveles de voltaje RS-232 son mucho más altos que los 3.3 V utilizados en el STM32 (generalmente $ pm $ 12V). Necesitaría piratear un convertidor de este tipo para obtener señales TX y RX directamente del FT232; de lo contrario, dejará escapar el humo mágico del STM32. Si no tiene uno, puede encontrarlo en venta en su tienda de computadoras local. Otra opción sería buscar algún código Arduino que emule un convertidor de USB a serie (sería demasiado trabajo escribir uno usted mismo). Tenga en cuenta que incluso si su convertidor usa señalización de 5.0 V, está bien usarlo con el STM32, ya que los pines USART1 necesarios para el cargador de arranque son tolerantes a 5V.
  • finalmente, debe tener en cuenta que esto no sustituye a un programador JTAG real. Con el gestor de arranque, solo puede cargar y ejecutar el programa. Es imposible depurarlo (es decir, insertar puntos de interrupción, leer y modificar registros y valores de memoria, recorrer el código, etc.) Usar el gestor de arranque está bien si solo desea ver algunos LED parpadeando en su nueva placa brillante, pero en serio. funciona, un depurador real le hace más productivo en órdenes de magnitud. Pide un JTAG ahora, si aún no lo ha hecho. El ST-Link / V2 es agradable y no demasiado caro ($ 29,75 de Digi-Key al momento de escribir este artículo).

Sí, usando un Arduino Sketch; consulte “Carga del cargador de arranque de los pobres” en: https://git.jeelabs.org/jcw/embello/src/branch/master/projects/ask/stm32f1init/stm32f1init.ino

Más información en https://jeelabs.org/book/1546c/index.html

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *