PEmicro-erlebniswelt

Introducción a la depuración en chip

¿Cómo funciona la depuración en chip?

Lo siguiente es una simplificación para ayudar a los nuevos usuarios con los conceptos..........

Cada chip individual de una familia ( por ejemplo, ARM o NXP/Freescale ColdFire ) asigna algunos pines para la comunicación entre un módulo de control especial dentro del chip microprocesador y un programa de aplicación que normalmente se ejecuta en un PC. Para minimizar el número de patillas y circuitos utilizados en el chip, esta comunicación suele utilizar un enlace de comunicación no estándar, por lo que necesitamos una interfaz especial en el lado del PC.

Cuando se enciende el microcontrolador, se comprueban estos pines y, si están configurados de una determinada manera, el módulo de control toma el control y se considera que el microcontrolador funciona en modo de depuración en el chip (utilizaremos la abreviatura BDM para Modo de Depuración en Segundo Plano como sinónimo).  Si no se configura para BDM, el módulo de control simplemente arranca el microcontrolador en la posición de encendido y no tiene nada más que hacer --- a los pines se les asignan sus funciones estándar de E/S. 

Cuando se establece BDM, el módulo de control, y no la CPU, decide lo que ocurre a continuación. El módulo de control tiene acceso a todos los buses de memoria y, en modo BDM, puede, por ejemplo, leer y escribir en todas las memorias y registros y enviar su contenido al PC para que lo vea el ingeniero. El ingeniero puede decidir enviar nuevo código desde el PC para que se cargue en la RAM del objetivo. El módulo de control también puede obligar al microprocesador a ejecutar una única instrucción o a funcionar hasta que el microprocesador alcance una ubicación predefinida cuya dirección corresponda al contenido de los "registros de punto de interrupción" del módulo de control. Con estas pocas funciones, el ingeniero que maneja el PC tiene todas las posibilidades de controlar el sistema de destino y depurar código en el microcontrolador.

En resumen, el BDM proporciona el 90% de la funcionalidad de un Emulador en Circuito (ICE) a <1% del coste. 

Nota: Cuando se utiliza JTAG para controlar la depuración en el chip, se utilizan para la comunicación los estándares de señal especificados por el Grupo de Acción de Pruebas Conjuntas (JTAG es el nombre común de IEEE 1149.1), pero esto no significa automáticamente que se pueda probar el chip utilizando técnicas y herramientas de escaneo de límites.

 

¿Utilizar el BDM para programar la flash?

El secreto consiste en utilizar la interfaz BDM para cargar una pequeña aplicación en la RAM, además de tantos datos para cargar en la flash como quepan en el resto de la RAM.  A continuación, la BDM lanza esta aplicación, que "quema" la flash y luego vuelve al PC a buscar más datos hasta que termina la tarea.

A continuación se describe la oferta de productos BDM y JTAG de PEmicro

PEmicro es líder en este campo y sus productos están incluidos en muchos paquetes EVB de NXP/Freescale.  Las herramientas de PEmicro, que incluyen interfaces, software como programadores (PROG), depuradores en circuito (ICD), ensambladores/editores y visualizadores de archivos de registro (REGxx) están disponibles en stock. Funcionan a través de las interfaces de PEmicro que conectan el PC al objetivo, mediante USB o Ethernet. Estos productos están disponibles como aplicaciones Windows completas de 32/64 bits para W95/98/2K/NT/XP/W7 y W8 para las siguientes familias de procesadores objetivo:

  • ARM Cortex M0-4
  • Todos los dispositivos Freescale
  • Dispositivos NXP (LPC TI/Stellaris)
  • Dispositivos Renesas e Hitachi
  • Dispositivos ST Microelectronics

Interfaces BDM, JTAG y SWD

Los últimos cables universales multienlace USB de PEmicro son las interfaces de hardware entre un PC estándar y el cabezal de cualquiera de una amplia gama de sistemas de destino. Dependiendo del chip, proporcionan acceso a las interfaces Modo de depuración en segundo plano (BDM), JTAG y SWD del microcontrolador. Utilizando el cable BDM/JTAG/SWD, el

 usuario puede aprovechar la "depuración en chip" para programar dispositivos de memoria FLASH internos o externos y probar el código de aplicación en el micro.

Con el Multilink ACP de bajo coste para ARM, el Multilink Universal para una amplia gama de CPU de Motorola, NXP a ARM, o el Multilink Universal FX de alto rendimiento y para la producción de la serie Cyclone como alternativas, se dispone de diferentes puntos de precio/rendimiento.

Hay herramientas de programación de memoria flash disponibles tanto para entornos de desarrollo como de producción.  A continuación encontrarás información detallada sobre su funcionamiento.

pemicro Multilink fx debug schnittstelle
howbdm

Características

Control total de los recursos en el chip mediante BDM/JTAG/SWD
Emulación en circuito a toda velocidad a un precio asequible
Programación para dispositivos de memoria EEPROM/FLASH internos o externos
Ejecuta hasta el punto de interrupción del hardwarehasta el punto de interrupción del hardware
Funciona con paquetes de software de programación PROG, así como con diversos entornos de depuración de compiladores
como CodeWarrior, KDS, Keil, IAR, Atollic, GDB
Hay disponibles versiones de 1,8 a 5 voltios, consulta la información específica del chip
Descargas y pasos muy rápidos
Biblioteca de interfaz y demo para probadores y software propios

Cuando se utilizan las arquitecturas de destino síncronas del modelo Universal FX, como Kinetis, Qorivva, Coldfire V2-V4, 683xx, HC16, Power Architecture serie PX y DSC, la comunicación puede ser de 4 a 10 veces más rápida que con las antiguas interfaces multilink.

Download-speed-universal-fx

Serie Ciclón

Cyclone_Bild

Estas cajas se conectan a un PC vía serie, USB o Ethernet para proporcionar un programador flash interactivo y superrápido bajo control manual o automático. Incluso pueden desconectarse del PC y utilizarse como programador flash autónomo. Si estás desarrollando aplicaciones para cualquiera de los dispositivos NXP / Freescale, son la única herramienta de desarrollo de hardware específica para CPU que necesitarás comprar. Funcionan con todos los paquetes de software que se indican a continuación.

Cyclone Universal LC Para utilizar con las familias 68HC08, HCS08, HC12, HCS12. Interfaz con los entornos de depuración PEmicro, CodeWarrior y Cosmic.  También Para usar con las familias Arm cortex, Kinetis, 55xx/56xx/57xx Qorivva, ColdFire, PPC 5xx/8xx, STM32, STM8, SPC56 y MAC 71xx,72xx (ARM). Interfaz con el servidor GDB de ARM. También programan los siguientes dispositivos

Cyclone para dispositivos ARM® Cortex Para programar dispositivos basados en ARM Cortex M0-4 de STMicro, NXP, TI Stellaris y NXP/Freescale Kinetis.


Cyclone Universal FX, la especificación más alta de la familia, está diseñada para su uso en producción y ofrece velocidades de descarga extremadamente altas: Hasta 75 Mb/s. Tiene un Gbyte de memoria para almacenar más de 200 imágenes y puede seleccionar e iniciar la programación mediante un escáner de código de barras. Programa todos los chips mencionados anteriormente de las familias HC08 - ARM y luego con adaptadores STM32, STM8 y SPC56, así como las familias Renesas M32C, M16C, M16C/80, R8C, H8 y H8S/Tiny.  Una versión de menor coste está destinada exclusivamente a la familia ARM.

Los Cyclone están equipados con un conjunto completo de algoritmos de programación Flash y son especialmente populares en entornos de producción, donde se pueden utilizar con una serie de opciones de automatización diseñadas para la programación de líneas de producción a gran escala.

prog32w

Programador Flash BDM

Un paquete de software interactivo de programación de EEPROM flash que te permite programar/reprogramar dispositivos flash internos y externos en circuito a través de un cable de interfaz PEmicro. Perfecto para el desarrollo, la programación de la línea de producción o las actualizaciones de firmware sobre el terreno. Los productos de PEmicro incluyen toda nuestra biblioteca de archivos de configuración para un procesador determinado, así como versiones interactivas y de línea de comandos para su uso en desarrollo y producción. 

Las funciones para la memoria flash son: 

Programar, Verificar, Comprobar en blanco, Cargar, Ver y Borrar.

Depurador en circuito

El software In-Circuit Debugger de PEmicro - ICD para Windows es una potente herramienta de depuración. Utiliza el modo de depuración de código de fondo del procesador a través de un cable de interfaz para dar al usuario acceso directo a todos los recursos del chip.

  • Soporte de depuración a nivel de código C para IEEE695 y GNU
  • Emulador en circuito a toda velocidad
  • Puntos de interrupción con contadores para hacer una pausa en la siguiente ejecución
  • Ventana variable con visualización de bytes, palabras, cadenas y palabras largas
  • Ejecución en tiempo real y múltiples modos de rastreo
  • Archivos de inicio y macros para automatizar el proceso de depuración
  • Ayuda contextual para todos los comandos
  • Funciones de medición del tiempo y recuento de ejecuciones
  • Teclas de acceso rápido para establecer puntos de interrupción y contadores
  • Soporte para archivos de registro simbólico
icd32w
reg32w

Archivo de registro

REGxx permite al usuario ver y cambiar los campos de registro del procesador, tanto en formato simbólico como numérico, a través del BDM, eliminando el tedioso proceso de buscar en las páginas del manual las descripciones de los registros. Cuando el usuario selecciona un registro, se lee y se muestra la memoria real del procesador. Los archivos de registro funcionan con el software depurador en circuito de PEmicro.

PAQUETE con ensamblador  

Ya está disponible para todas las CPU un completo paquete de software de 32 bits para Windows que consta de entorno de desarrollo integrado, depurador en circuito, ensamblador, programador y archivo de registro... sólo tienes que añadir el cable que prefieras. 

 

PAQUETE Pro con C 

El paquete PEmicro "Pros" proporciona todo lo que el ingeniero necesita para empezar a utilizar el Compilador Cruzado Gnu.  Contiene una versión precompilada por PEmicro del conjunto de herramientas del compilador GNU/GCC que funciona directamente en el entorno Windows sin necesidad de instalar un shell Unix. El compilador está integrado en WinIDE y permite compilar con un solo toque un proyecto de nivel C. El paquete contiene código de inicio y scripts de enlazador para los dispositivos más comunes. El compilador produce formatos de salida Elf/Dwarf 2.0 y S19; el formato Elf/Dwarf se puede cargar con el depurador en circuito de PEmicro y el formato S19 se puede cargar con el programador flash en circuito de PEmicro, todos los cuales se incluyen junto con una interfaz BDM/JTAG adecuada. Ya están disponibles las versiones Pro del paquete para ColdFire y Power PC Qorivva 55xx/56xx/57xx (alias NEXUS). 

 

Biblioteca de unidades

Una biblioteca de llamadas que permiten al PC controlar directamente el cable BDM.  Ideal si quieres crear tus propios programas de prueba para la línea de producción.  Aquí tienes un ejemplo de la API en C y Pascal. Hay dos versiones disponibles Windows y Linux x86 (no ARM).

Herramientas de depuración

PEmicro Multilink UniversalMultilink Universal
Multilink Universal
USB-ML-UNIVERSAL
El PEmicro Multilink Universal es una interfaz para depurar y programar procesadores ARM y de 8/16/32 bits.

290,00 €*
1.5 %
PEmicro Multilink FX UniversalMultilink Universal FX
Multilink Universal FX
USB-ML-UNIVERSAL-FX
El PEmicro Multilink FX Universal es una interfaz para depurar y programar procesadores ARM y de 8/16/32 bits

590,00 €* 599,00 €*
pemicro cyclone fx universalCyclone FX Universal Header Layout
Cyclone Universal FX
CYCLONE-FX-UNIV
El PEmicro Cyclone FX Universal es un programador autónomo para ARM y procesadores de 8/16/32 bits.

1.369,00 €*