La interfaz de modo de depuración en segundo plano ( BDM ) es una interfaz electrónica que permite la depuración de sistemas embebidos . Específicamente, proporciona funcionalidad de depuración en circuito en microcontroladores. Requiere un solo cable y componentes electrónicos especializados en el sistema que se está depurando. Aparece en muchos productos de Freescale Semiconductor . Los comandos en segundo plano se clasifican en dos tipos: comandos no intrusivos y comandos activos en segundo plano. Los comandos no intrusivos se pueden emitir mientras se ejecuta el programa de usuario e incluyen comandos de acceso a memoria. [ 1 ]
La interfaz permite que un host gestione y consulte un dispositivo de destino . Se requiere hardware especializado en el dispositivo de destino. No se requiere hardware especial en el host; basta con un simple pin de E/S bidireccional.
señales de E/S
Las señales utilizadas por BDM para comunicar datos hacia y desde el objetivo son iniciadas por el procesador anfitrión. El anfitrión niega la línea de transmisión y luego o bien
- Afirma la línea antes, para producir un 1,
- Afirma la línea más tarde, para generar un 0,
- Su salida se pone en estado de alta impedancia , lo que permite al dispositivo objetivo controlar la línea. El host puede detectar un 1 o un 0 como valor de entrada.
Al inicio del siguiente intervalo de tiempo de bit, el host desactiva la línea de transmisión y el proceso se repite. Cada bit se comunica de esta manera.
En otras palabras, la creciente complejidad de los diseños de software y hardware actuales está dando lugar a nuevos enfoques para la depuración. Los fabricantes de silicio ofrecen cada vez más funciones de depuración integradas en el chip para la emulación de nuevos procesadores .
Esta capacidad, implementada en varios procesadores bajo nombres como modo de depuración en segundo plano (BDM), JTAG y emulación en circuito integrada en el chip, coloca las funciones básicas de depuración en el propio chip. Con un puerto de depuración BDM (interfaz de 1 cable) o JTAG (JTAG estándar) , se controla y supervisa el microcontrolador únicamente a través de los servicios de depuración integrados y estables.
Este modo de depuración se ejecuta incluso cuando el sistema de destino falla y permite a los desarrolladores seguir investigando la causa del fallo.
Desarrollo de aplicaciones para microcontroladores
Un buen entorno de desarrollo es fundamental para reducir el tiempo y el coste totales de desarrollo. Los usuarios desean depurar su programa de aplicación en condiciones que imiten la configuración real de su sistema. Por ello, se requiere la capacidad de depurar un programa de usuario en un sistema de destino real. Esto se conoce como depuración en circuito . Además, la mayoría de los nuevos microcontroladores cuentan con memoria no volátil, como la memoria flash , por lo que también se requiere programar el código en el sistema de destino. Esto se conoce como programación en circuito .
Para admitir los requisitos de depuración y programación en circuito, la familia HC08 cuenta con el modo de monitorización , mientras que los modelos HCS08 y RS08 utilizan el modo de depuración en segundo plano (BDM). El hardware de depuración en segundo plano del HCS08 consta de un controlador de depuración en segundo plano (BDC) y un módulo de depuración (DBG). El hardware de depuración en segundo plano del RS08 consta únicamente del controlador de depuración en segundo plano (BDC).
Comandos BDM
El host BDM puede enviar comandos con parámetros al dispositivo de destino. Algunos comandos permiten leer o escribir bloques de la memoria del dispositivo de destino, registros individuales de la CPU o registros no disponibles para el dispositivo de destino.
Algunos ejemplos son:
Funciones de BDM
Dependiendo del componente de destino, el controlador BDM puede incluir un registro de punto de interrupción de hardware . Este registro almacena un valor que indica una dirección de memoria. Cuando la CPU del componente de destino accede a esa ubicación de memoria, el hardware BDM puede tomar el control del componente, detener la ejecución del programa y comenzar a operar en segundo plano.
Referencias
- ↑ "Manual de referencia familiar HCS08" . págs. 34–35 . Consultado el 6 de febrero de 2024 .
Enlaces externos
- Hoja de datos MC9RS08KA2 de Freescale Semiconductor Inc. (MC9RS08KA2, Rev. 4.0)
- Manual de referencia de la CPU12 de Freescale Semiconductor Inc.
- Manual de referencia de la CPU12 de Freescale Semiconductor Inc.
- Manual de referencia del núcleo RS08 de Freescale Semiconductor Inc.
- Manual de referencia del núcleo RS08 de Freescale Semiconductor Inc.
- Manual de referencia de la familia HCS08 de Freescale Semiconductor Inc.
- Manual de referencia de la familia HCS08 de Freescale Semiconductor Inc.
- Sistemas embebidos