Programando un nuevo chip STM32

2

Soy nuevo en STM32 y recientemente he intentado crear un tablero personalizado con STM32F103RB. Pero estoy un poco confundido por los métodos disponibles para programar el chip. Digamos que uso ST-Link a través de SWD, ¿significa que no necesito grabar el cargador de arranque en el chip por mi cuenta? Es decir, ¿significa que puedo programar el nuevo chip directamente con ST-Link sin ningún otro procedimiento adicional?

En caso afirmativo, ¿significa que no necesito usar los pines BOOT0 y BOOT1?

¿Qué pasa con el uso de USB a través de los pines USBDP y USBDM en STM32?

Muchas gracias a todos!

    
pregunta Penthrite

1 respuesta

7

El cargador de arranque está en la ROM, no es modificable por el usuario (es decir, no puede "grabar" un nuevo cargador de arranque). Este appnote describe las características del cargador de arranque para diferentes partes de STM32.

En todas las partes de STM32 que he usado, tira de BOOT0 a tierra para omitir el cargador de arranque y arrancar desde flash (dirección 0x0800000 en la mayoría de los STM32s). Con BOOT0 bajado, el estado del pin de BOOT1 no importa. Normalmente suelo bajar BOOT0 con una resistencia de 100 kOhm en los tableros que diseño en el trabajo. No lo dejes flotar, no es no interno, por lo que sucederán cosas divertidas si no lo haces.

Puede usar ST-Link SWD para actualizar su firmware al chip y depurar el código de ejecución. Cualquier IDE que admita el STM32 debería saber cómo hacerlo de forma inmediata, personalmente uso Ac6 porque es gratis. Como mínimo, debe conectar las líneas SWDIO, SWCLK y GND al programador, pero también debe llevar a cabo NRST siempre que sea posible, ya que la depuración sin una línea de reinicio de hardware puede ser una molestia real.

En cuanto a su última pregunta, el gestor de arranque para la serie F103 no es compatible con USB, aunque algunas otras partes (como la serie F105) sí lo hacen. No recomendaría la programación a través de USB a menos que tenga una razón específica para: SWD le permitirá programar y depurar, y es mucho más sencillo comenzar a trabajar.

    
respondido por el Peter

Lea otras preguntas en las etiquetas