Léxico TI › Hardware › Semihosting

Semihosting

Hardware Svenska → Actualizado: 2026-11-02

Un mecanismo de ARM con el que el firmware toma prestados la consola y el sistema de archivos del PC anfitrión a través de la sonda de depuración, para que printf funcione en un chip sin pantalla.

El programa coloca un código de operación y un puntero en dos registros y ejecuta una instrucción de punto de ruptura especial (BKPT 0xAB en Cortex-M). El depurador detiene el núcleo, lee qué se le pide —imprime esta cadena, abre este archivo—, lo hace en el PC, deja el resultado en un registro y suelta de nuevo el procesador. Sin UART y sin pines extra.

También es lentísimo, porque cada llamada para la CPU, y tiene una trampa célebre: sin depurador conectado nadie atrapa el punto de ruptura y acaba en HardFault. Quien olvide recompilar sin semihosting entrega un producto que solo funciona en su escritorio. ITM sobre SWO y el RTT de Segger hacen lo mismo sin detener el núcleo.

← Volver al léxico