Un puerto de depuración es un interfaz de diagnóstico a nivel de chip (similar a un puerto del ordenador ) incluido en un circuito integrado a la ayuda de diseño , fabricación , desarrollo , bootstrapping , configuración , depuración , y post-venta de programación en-sistema . En términos generales, un puerto de depuración no es necesario para la función de uso final y, a menudo, está oculto o deshabilitado en los productos terminados.
Cuando se constituye en un sistema de alta disponibilidad o crítico para la seguridad , un puerto de depuración puede continuar funcionando como un monitor del sistema para la validación de la integridad en el producto terminado. En la electrónica de bajo costo o de alto volumen, los puertos de depuración a veces se dejan habilitados para evitar los costos de los cambios de diseño, y los modders y piratas informáticos pueden usarlos para obtener el control del dispositivo y / o acceder a funciones adicionales.
Debido a su alta complejidad, los puertos de depuración son casi universales en microprocesadores (CPU) y microcontroladores (MCU). Estos se analizan a continuación.
Puertos de depuración de hardware
- Ubicuos JTAG puertos de circuitos integrados
- Puerto de depuración Low Pin Count en la Xbox original , utilizado por modders
- Depuración de cables en serie (SWD), ubicua en los microcontroladores Arm Cortex-M
- Interfaz del modo de depuración en segundo plano (BDM)
- Interfaz de programa y depuración
- Depuración de Nexus
Puertos de depuración en microprocesadores
Los microprocesadores son dispositivos excepcionalmente complejos que comúnmente contienen más de mil millones de transistores internamente y, a veces, superan más de un billón. [1]
Puertos de depuración en microcontroladores
Los microcontroladores son generalmente más pequeños que las CPU convencionales, pero ahora han evolucionado hasta el territorio de un sistema en un chip (SoC), que una MCU puede ser casi el único chip complejo que queda en una placa de aplicación de uso final (con chips adicionales dedicados a sistemas eléctricos especializados). funciones como cambio de nivel y protección ESD mejorada ).
Las MCU de SoC suelen ser memoria flash interna como almacén de programas y también pueden contener fusibles de configuración internos basados en EEPROM cuya configuración correcta es esencial para que la MCU se encienda en el modo de funcionamiento correcto; el puerto de depuración puede ser la única forma de configurar inicialmente el árbol de reloj o de cargar el primer programa de software después de la fabricación.
Actualización del firmware del dispositivo USB
Desde aproximadamente 2010, una amplia clase de MCU ahora tienen periféricos USB integrados con actualización de firmware de dispositivo (DFU) en la ROM de fábrica. [2] Esta clase de MCU atrae a los aficionados que no desean invertir en las herramientas de hardware necesarias para acceder a puertos de depuración especializados como JTAG .
Estos dispositivos están diseñados para ser resistentes a los ladrillos . Una carga de firmware defectuosa se recupera fácilmente manteniendo un pin especial en el estado activo, lo que provocó que el chip se iniciara usando su ROM interna de fábrica , lo que hace que una interfaz de programación esté disponible a través de su controlador USB integrado. DFU se puede ver como una forma de puerto de depuración implementado en software en lugar de hardware. Sin embargo, esto anula en gran medida la funcionalidad de depuración de un puerto de depuración de hardware dedicado, ya que es inherentemente frágil depurar software que también implementa su interfaz de depuración, pero solo cuando funciona correctamente.
Ver también
Referencias
- ^ Hruska, Joel (18 de agosto de 2020). "Cerebras Wafer Packs CPU de 2,6 billones de transistores con 850.000 núcleos" . extremetech.com . Tecnología extrema . Consultado el 5 de septiembre de 2020 .
- ^ "AN10986: Programación USB en el sistema con el LPC1300 (Rev. 1)" (PDF) . nxp.com . Semiconductores NXP . 24 de septiembre de 2010 . Consultado el 5 de septiembre de 2020 .