En muchos microcontroladores u otros dispositivos sin la funcionalidad JTAG / SWD, hay un pin de reinicio que, cuando está bajo, hace que todo se vea incondicional y asíncronamente en un estado conocido. Sin embargo, en los dispositivos con funcionalidad JTAG o SWD, las cosas parecen ser más complicadas, ya que es posible realizar algunas funciones JTAG / SWD mientras se afirma el pin de reinicio.
Tengo algunas placas basadas en Freescale KL15Z que incluyen los pines SWD en un conector con la línea de restablecimiento y algunos otros pines de E / S de diagnóstico. Ocasionalmente, al conectar o desconectar un cable, las partes parecen entrar en un estado extraño de tal manera que incluso el reinicio no las expulsará. Me pregunto si algunos impulsos parásitos en los pines SWD podrían estar poniendo al dispositivo en un estado de "ignorar el pin de reinicio". He encontrado que al usar el depurador, parece que tengo dificultades frecuentes para que los dispositivos se reinicien de manera confiable; No sé si los problemas pueden estar relacionados.
¿Cuál es la relación entre el pin de reinicio y la funcionalidad SWD? Conceptualmente, parece más útil tener un diseño en el que se garantice que cualquier borde descendente en el reinicio realmente reinicie todo, y las comunicaciones SWD que debían ocurrir antes del inicio del código de usuario se podrían realizar con un reinicio bajo, pero no creo Así es como funcionan los chips Freescale KL15Z. ¿Cuál es la mejor manera de resolver estos problemas relacionados con el reinicio con Freescale o partes similares?