STM32F030 (K6) Systick no se dispara (problema BOOT0)

0

Estoy intentando escribir un programa simple para un microcontrolador STM32F030K6T6. El problema al que me enfrento es el problema más común "Systick no funciona".

El código se genera utilizando Cube32MX (Firmware 1.9.0) y se compila en Atollic true studio 9.1.0. Lo que estoy tratando de hacer es alternar un led con un retraso de 500ms. La parte extraña es que no puedo hacer que funcione en el STM32F030K6T6 y funciona fuera de la caja en el STM32F030R8T8. El manejador de systick nunca se llama y, por lo tanto, la función de retardo se bloquea.

Al pasar por el código de ensamblaje, es obvio que el microcontrolador está en un bucle infinito mientras comprueba los tics del sistema. Sin embargo, si el código se ejecuta de forma continua, salta más allá del programa a otro bucle (que no puedo identificar).

Lo que no puedo entender es que para dos microcontroladores con el mismo núcleo obtengo resultados muy diferentes. Revisé la diferencia en los dos proyectos completos, pero no pude encontrar ninguna diferencia además del hecho de que algunos registros de periféricos difieren.

¿Alguien tiene experiencia con este tipo de problemas o tiene alguna idea sobre lo que puedo hacer a continuación?

    
pregunta Frank Berndsen

1 respuesta

2

A partir del hardware, descubrí el problema. En mi diseño de PCB, BOOT0 se conectó involuntariamente a VCC, por lo que se inicia desde SRAM. Lo que al pasar por el código usando el depurador no es obvio.

Conectar BOOT0 a GND resuelve el problema.

    
respondido por el Frank Berndsen

Lea otras preguntas en las etiquetas