Parpadeando STM32F030 a través del cargador de arranque uart en Linux

Voy a evaluar los microcontroladores STM32F030 (ARM) para reemplazarlos en un dispositivo de medición, y ya pedí algunos. Mientras tanto, estoy tratando de recopilar información sobre cómo trabajar con ellos.

Actualmente estoy buscando formas de flashearlos en Ubuntu: quiero alguna herramienta de consola que funcione a través de UART y el cargador de arranque incorporado. Encontré lo que parece ser una instrucción sobre el uso de OpenOCD, pero me encantaría conocer otras utilidades.

No necesito funciones de depuración, solo para poder actualizar un archivo hexadecimal a, probablemente, alrededor de cien dispositivos... Así que cuanto más simple, ¡mejor!

Configurar SWD es útil para el desarrollo, pero para el cargador de arranque UART real, puede probar sourceforge.net/projects/stm32flash aunque solo lo he usado con la familia F1 y no sé si es compatible con las partes F0 listas para usar. .

Respuestas (1)

Hay un cargador de arranque en serie Python de código abierto que he usado con STM32F103.

Se describe, junto con una corrección de errores, en el sitio web Micromouse Online de Pete Harrisons. Proporciona enlaces al guión original , así como a su versión corregida. Necesitará Python 2.6 o posterior, pero no Python 3. También necesitará la biblioteca PySerial.

Se basa en la línea de comandos, por lo que puede usarlo desde la consola y los scripts.

Si decide utilizar las placas Discovery o Nucleo de ST Micro para el desarrollo, que incluyen un ST-Link/V2, hay un cargador de código abierto para STLink de Texane en github . Requiere la biblioteca de código abierto libusb-1.0, pero es posible que ya la tenga instalada.

También se basa en la línea de comandos.

Las placas de desarrollo ST Nucleo también son mbed, por lo que tienen una característica ingeniosa. Se ven como una unidad flash USB en el sistema operativo host y, al copiar un archivo en la unidad, se programa la MCU de destino. Por lo tanto, estos no necesitan ningún software de host adicional para cargar.