STM32F103 Systick Interrupt dejó de funcionar al depurar en RAM - (Coocox IDE)

1

Intenté depurar mi código en el ram para aumentar la vida útil del flash (solo con una clasificación de 10k como mínimo)

De todos modos, he atado los pines boot0 y boot1 a 3.3v y he configurado el compilador para que se depure desde el ram de la siguiente manera:

Compiler"debug in ram" settings

Cuando depuro mi código de esta manera, mi SysTick_Handler no se ejecuta. Si depuro desde flash todo funciona bien.

No puedo entender qué está pasando y ¿cómo puedo hacer que mi interrupción SysTick funcione en modo de depuración de RAM?

P.S: Intenté preguntar esto en el foro de Coocox, pero no recibí ninguna ayuda allí.

    
pregunta Mike

1 respuesta

3

Debe reubicar la tabla de vectores. En este momento, es probable que el procesador aún esté utilizando la copia de la tabla de vectores en FLASH, que apuntará a una versión anterior de su código en FLASH. (O, si ha borrado FLASH desde que comenzó a desarrollar en SRAM, la tabla de vectores en uso estará en blanco).

Si está utilizando la biblioteca de periféricos estándar (SPL) STM32, puede definir la macro VECT_TAB_SRAM para que establezca los indicadores apropiados para usar una tabla vectorial en SRAM. Si va por la ruta básica, necesita establezca el campo TBLOFF de VTOR para que apunte a la base de la SRAM (0x02000000 en STM32F1).

    
respondido por el duskwuff

Lea otras preguntas en las etiquetas