¿Se detiene STM32 RTC durante la depuración o no?

Estoy trabajando con STM32F411RE, pero supongo que el problema es el mismo para cualquier STM32F y posiblemente para otros.

No pude encontrar en el manual de referencia si el RTC se detuvo o no durante una sesión de depuración. Para cualquier otra IP, incluidas las que tienen diferentes fuentes de reloj como la IP de vigilancia, se menciona claramente que la detención de depuración es configurable o al menos el comportamiento es fijo y dado.

¿Qué pasa con el RTC?

Actualmente estoy desarrollando en un STM32F427 y en este dispositivo no he observado ningún efecto en el RTC durante la depuración. Está sincronizado por su propio cristal separado y alimentado por su propia batería, y los ajustes de configuración se mantienen 'seguros' detrás de una secuencia de desbloqueo. Habilitar/deshabilitar el reloj periférico del módulo RTC no tiene efecto en el contador del RTC ni en ninguna otra cosa en el dominio alimentado por la batería del RTC y sincronizado por el cristal RTC.
Mi problema es que si me rompo en algún momento, ¿seguirá contando el RTC? Creo que la respuesta es sí, pero me gustaría una fuente confiable para esto.
La respuesta a eso es un 'sí' definitivo. Detener la CPU no tiene ningún efecto en el contador del RTC: continúa contando ya que tiene su propia fuente de reloj dedicada (el cristal de 32 kHz).
Si lee atentamente mi pregunta, verá que observo y sé que: IWDG y WWDG también tienen su fuente de reloj "propia" y pueden modificarse explícitamente durante la depuración. La depuración no actúa solo en la CPU, ya que los temporizadores externos a la CPU en el bus APB también pueden modificarse durante la depuración. (Por cierto, el reloj LSI RC se puede seleccionar como fuente de reloj RTC y no es generado por un cristal. Está en el chip y probablemente sea un oscilador básico)

Respuestas (1)

Encontré la solución: el STM32F411 tiene un registro en la IP de depuración que controla el estado detenido del RTC. El registro es

Depurar el registro de congelación de MCU APB1 (DBGMCU_APB1_FZ)

El estado de restablecimiento es 0. El campo es

Bit 10 DBG_RTC_STOP: RTC se detuvo cuando Core se detuvo

0: el reloj del contador RTC continúa incluso si el núcleo se detiene

1: El reloj del contador RTC se detiene cuando se detiene el núcleo

Manual de referencia p 830

Mi error fue no buscar en la parte de IP de depuración de la documentación sino en la parte RTC.