¿Hay una manera más fácil de hacer esto que configurar un perro guardián y esperar? ¿Usando solo software (sin vincular un GPIO al pin de reinicio)?
El PRM_RSTCTRL
registro tiene bits que le permiten restablecer directamente el chip desde el software...
Este registro se encuentra aquí...
Entonces, desde Linux, por ejemplo, podemos ejecutar un reinicio en frío ejecutando el devmem2
comando así ...
devmem2 0x44e00f00 W 0x02
... ¡y se reiniciará debidamente antes de que la línea de salida termine de imprimirse!
NB: si está pensando que puede usar esto para bajar la NRESET_INOUT
línea con la esperanza de restablecer el chip LAN para sortear el desagradable error PHY de Beaglebone (lo estaba), estará triste. No funciona porque el chip no mantiene la línea lo suficientemente baja como para descargar el capacitor que también está conectado a esa línea cerca del botón... :/
NBB: Si está pensando que puede extender el tiempo de reinicio usando el PRM_RSTCTRL
registro de retardo, se sentirá doblemente triste porque el tiempo máximo que puede establecer es un número de ciclos de 13 bits, que no es lo suficientemente largo... :/