Rowley Crossworks STM32 Start from Reset

2

Estoy usando un STM32F4 con Rowley CrossStudio for ARM. No tengo claro cómo hacer que la MCU comience desde int main () al reiniciar (es decir, encender el dispositivo). Pensé que hacerlo en modo de lanzamiento lo habría hecho, pero parece que ese no es el caso.

Mirando en línea, veo a algunas personas diciendo que de alguna manera cambias el vector de inicio, ¿pero esto puede evitar la depuración futura?

¿Hay una buena manera de lograr esto para poder depurar si necesito y ejecutar mi programa sin el depurador al inicio?

¡Gracias!

    
pregunta Biff

2 respuestas

1

En la mayoría de los miembros de la familia STM32 (pero quizás no en todos), para iniciar automáticamente una aplicación desde flash, debe conectar a tierra el pin BOOT0.

Esto se debe esencialmente a que si tienes una aplicación mala en flash, o una que no proporciona un medio para ingresar al cargador de arranque, puedes forzar la entrada al mismo al reiniciar el ciclo con BOOT0 alto (con la configuración adecuada de boot1 u otros controles de modo para seleccionar el cargador de arranque en lugar de la RAM).

    
respondido por el Chris Stratton
2

Si define la macro STARTUP_FROM_RESET, debería saltar al vector de reinicio adecuado al inicio.

La interfaz JTAG aún debería poder ganar control si has creado para la depuración.

    
respondido por el Spehro Pefhany

Lea otras preguntas en las etiquetas