InglésFrancésEspañol

Ad


icono de página de OnWorks

avaricia - en línea en la nube

Ejecute avarice en el proveedor de alojamiento gratuito de OnWorks a través de Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS

Este es el comando avarice que se puede ejecutar en el proveedor de alojamiento gratuito de OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas, como Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS.

PROGRAMA:

NOMBRE


avarice: proporciona una interfaz de avr-gdb a la caja JTAGICE de Atmel.

SINOPSIS


avaricia [CAMPUS] ... [[NOMBRE_HOST]:PORT]

DESCRIPCIÓN


AVaRICE se ejecuta en una máquina POSIX y se conecta a gdb a través de un socket TCP y se comunica a través de
"Protocolo de depuración en serie" de gdb. Este protocolo permite a gdb enviar comandos como "establecer / eliminar
punto de interrupción "y" memoria de lectura / escritura ".

AVaRICE traduce estos comandos al protocolo Atmel utilizado para controlar el AVR JTAG
HIELO. La conexión al AVR JTAG ICE se realiza a través de un puerto serie en la máquina POSIX.

Debido a que la conexión GDB <---> AVaRICE es a través de un socket TCP, los dos programas no necesitan
para ejecutar en la misma máquina. En un entorno de oficina, esto permite a un desarrollador depurar un
apuntar en el laboratorio desde la comodidad de su cubo (o incluso mejor, ¡desde su casa!)

NOTA: Aunque puedas correr avaricia y avr-gdb en diferentes sistemas, no es
recomendado debido al riesgo de seguridad involucrado. avaricia no fue diseñado para ser un
servidor seguro. No se realiza ninguna autenticación cuando un cliente se conecta a
avaricia cuando se ejecuta en modo de servidor gdb.

Soportado Dispositivos
avaricia actualmente tiene soporte para los siguientes dispositivos:
en90can128
en90can32 (o)
en90can64 (o)
at90pwm2o) (+)
at90pwm216o) (+)
en90pwm2b (o) (+)
at90pwm3o) (+)
at90pwm316o) (+)
en90pwm3b (o) (+)
at90usb1287 (o)
at90usb162 (o) (+)
at90usb646 (o)
at90usb647 (o)
atmega128
atmega1280 (o)
atmega1281 (o)
atmega1284p (o)
atmega128rfa1 (o)
atmega16
atmega162
atmega164p (o)
atmega165 (o)
atmega165p (o)
atmega168 (o) (+)
atmega168p (o) (+)
atmega169
atmega16hvao)
atmega16m1 (o) (+)
atmega2560 (o)
atmega2561 (o)
atmega32
atmega323
atmega324p (o)
atmega325 (o)
atmega3250 (o)
atmega3250p (o)
atmega325p (o)
atmega328p (o) (+)
atmega329 (o)
atmega3290 (o)
atmega3290p (o)
atmega329p (o)
atmega32c1 (o) (+)
atmega32hvb (o) (+)
atmega32m1 (o) (+)
atmega32u4 (o)
atmega406 (o)
atmega48 (o) (+)
atmega48p (o) (+)
atmega64
atmega640 (o)
atmega644 (o)
atmega644p (o)
atmega645 (o)
atmega6450 (o)
atmega649 (o)
atmega6490 (o)
atmega64c1 (o) (+)
atmega64m1 (o) (+)
atmega88 (o) (+)
atmega88p (o) (+)
attiny13o) (+)
attiny167o) (+)
attiny2313o) (+)
attiny24o) (+)
attiny25o) (+)
attiny261o) (+)
attiny4313o) (+)
attiny43uo) (+)
attiny44o) (+)
attiny45o) (+)
attiny461o) (+)
attiny48o) (+)
attiny84o) (+)
attiny85o) (+)
attiny861o) (+)
attiny88o) (+)
atxmega128a1 (o) (*)
atxmega128a1revd (o) (*)
atxmega128a3 (o) (*)
atxmega32a4 (o) (*)
atxmega16d4 (o) (*)
atxmega128b1 (o) (*)
atxmega128b3 (o) (*)
atxmega64b1 (o) (*)
atxmega64b3 (o) (*)

o - Solo compatible con el dispositivo JTAG ICE mkII y AVR Dragon.
* - Dispositivo Xmega, requiere una versión de firmware de al menos 7.x (como se envía con AVR Studio 5)
+ - debugWire, ver más abajo

Soportado Archive Formatos
avaricia usa libbfd para leer archivos de entrada. Como tal, puede manejar cualquier formato de archivo que
libbfd conoce. Esto incluye los formatos Intel Hex, Motorola SRecord y ELF, entre
otros. Si tu dices avaricia para leer un archivo ELF, manejará automáticamente la programación
todas las secciones contenidas en el archivo (por ejemplo, flash, eeprom, etc.).

CAMPUS


-h, --ayuda
Imprime este mensaje.

-1, --mkI
Conéctese a JTAG ICE mkI (predeterminado).

-2, --mkII
Conéctese a JTAG ICE mkII.

-3, --jtag3
Conéctese a JTAGICE3.

-B, --jtag-tasa de bits
Establezca la tasa de bits con la que la caja JTAG se comunica con el dispositivo de destino AVR. Esta
debe ser inferior a 1/4 de la frecuencia del objetivo. Los valores válidos son 1 MHz, 500
kHz, 250 kHz o 125 kHz para el JTAG ICE mkI, cualquier valor entre 22 kHz y
aproximadamente 6400 kHz para el JTAG ICE mkII. (predeterminado: 250 kHz)

-C, --capturar
Capturar programa en ejecución.
Nota: la depuración debe estar habilitada antes de iniciar el programa. (por ejemplo, por
ejecutando la avaricia antes)

-c, --cadena de margaritas
Configure la información de conexión en cadena de JTAG.
Deben proporcionarse cuatro parámetros separados por comas, correspondientes a unidades que antes,
unidades que después de, los bits antesy los bits después de.

-D, --despegar
Desconectar una vez sincronizado con JTAG ICE

-d, --depurar
Habilite la impresión de información de depuración.

-e, --borrar
Borrar objetivo. No es posible en modo debugWire.

-E, --evento
Lista de eventos que no interrumpen. Solo JTAG ICE mkII y AVR Dragon. Defecto
es "none, run, target_power_on, target_sleep, target_wakeup"

-f, --expediente
Especifique un archivo para usar con las opciones --program y --verify. Si se pasa --file
y no se dan ni --program ni --verify, entonces --program está implícito. NOTA:
característica obsoleta, debe habilitarse mediante la --enable-target-schedule
opción de configuración.

-g, --continuar
Conéctese a un AVR Dragon. Esta opción implica la -2 .

-I, --ignorar-intr
Pasar automáticamente por encima de las interrupciones.

-j, --jtag
Puerto adjunto a la caja JTAG (predeterminado: / dev / avrjtag). Si el entorno JTAG_DEV
La variable está configurada, avarice la usará como la predeterminada en su lugar.
If avaricia se ha configurado con soporte libusb, el JTAG ICE mkII se puede
conectado a través de USB. En ese caso, la cadena usb se utiliza como el nombre del
dispositivo. Si hay varios dispositivos JTAG ICE mkII conectados al sistema
a través de USB, esta cadena puede ir seguida de la (parte final del) número de serie de ICE
número, delimitado del usb por dos puntos.
El AVR Dragon y JTAGICE3 solo se pueden conectar a través de USB, por lo que esta opción
por defecto es "usb" en ese caso.

-k, --conocidos-dispositivos
Imprima una lista de dispositivos conocidos.

-L, --escribir-lockbits
Escribe bits de bloqueo. Los datos del byte de bloqueo se deben proporcionar en formato hexadecimal de dos dígitos
con relleno de cero si es necesario.

-l, --leer-bits de bloqueo
Lea los bits de bloqueo del objetivo. Los bits individuales también se muestran con
Nombres

-P, --parte
Nombre del dispositivo de destino (por ejemplo, atmega16). Normalmente, avaricia detecta automáticamente el dispositivo a través de
JTAG o debugWIRE. Si se proporciona esta opción, anula el resultado de la
autodetección.

-p, --programa
Programe el objetivo. El nombre del archivo binario debe especificarse con la opción --file. NOTA:
característica obsoleta, debe habilitarse mediante la --enable-target-schedule
opción de configuración.

-R, --reset-srst
Aplique la señal nSRST (reinicio externo) al realizar la conexión. Esto puede anular
aplicaciones que establecen el bit JTD.

-r, - fusibles de lectura
Leer fusibles bytes.

-V, --versión
Imprime la información de la versión.

-v, --verificar
Verifique el programa en el dispositivo con el archivo especificado con la opción --file. NOTA:
característica obsoleta, debe habilitarse mediante la --enable-target-schedule
opción de configuración.

-w, --depuración
Conéctese a JTAG ICE mkII, JTAGICE3 o AVR Dragon, hablando del protocolo debugWire para
el objetivo. Esta opción implica la -2 opción. Consulte la sección DEBUGWIRE a continuación.

-W, --escribir-fusibles
Escribe fusibles bytes. ee es el byte fusible extendido, hh es el byte de fusible alto y ll is
el byte de fusible bajo. Los datos del byte de fusible se deben dar en formato hexadecimal de dos dígitos
con relleno de cero si es necesario. Actualmente se deben proporcionar los tres bytes.
NOTA: Actual, si el dispositivo de destino no tiene un byte fusible extendido (por ejemplo, el
atmega16), debe establecer ee == ll al escribir los bytes de fusible.

-x, --xmega
El dispositivo de destino es una pieza ATxmega, que utiliza transporte JTAG. Dado que el ATxmega usa
una comunicación JTAG diferente a la de otros AVR, la detección automática del dispositivo normal
basado en el ID de JTAG no funciona. Si el dispositivo ha sido seleccionado explícitamente
a través de la opción -P, no es necesario especificar también la opción -x.

-X, --pdi
El dispositivo de destino es una pieza ATxmega, que utiliza transporte PDI.

NOMBRE_HOST el valor predeterminado es 0.0.0.0 (escuchar en cualquier interfaz) si no se proporciona.

:PORT es necesario para poner la avaricia en el modo de servidor gdb.

EJEMPLO USO


avaricia --erase --program --file test.bin --jtag / dev / ttyS0: 4242

Programar el archivo prueba.bin en el JTAG ICE (mkI) conectado a / dev / ttyS0 después de borrar
dispositivo, luego escuche en modo GDB en el puerto local 4242. Esta funcionalidad es
obsoleto y ya no está configurado de forma predeterminada. En su lugar, utilice el comando "cargar" de GDB.

avaricia --jtag usb: 1234 --mkII: 4242

Conéctese al JTAG ICE mkII conectado al USB cuyo número de serie termina en 1234, y escucha
en modo GDB en el puerto local 4242.

DEPURACIÓN HE TRABAJADO AVARICIA


El entorno de depuración de JTAG ICE tiene algunas restricciones y cambios:

· Sin puntos de interrupción "suaves" y solo tres puntos de interrupción de hardware. Los conjuntos de comandos de ruptura
puntos de interrupción de hardware. La forma más sencilla de lidiar con esta restricción es habilitar y
deshabilite los puntos de interrupción según sea necesario.

· Dos puntos de control de hardware de 1 byte (pero cada punto de control de hardware elimina un
punto de interrupción). Si establece un punto de observación en una variable que ocupa más de un byte,
la ejecución será abismalmente lenta. En cambio, es mejor hacer lo siguiente:

ver * (char *) y myvariable

que mira el byte menos significativo de mivariable.

· Los procesadores Atmel AVR tienen una arquitectura Harvard (códigos separados y buses de datos).
Para distinguir la dirección de datos 0 de la dirección de código 0, avr-gdb agrega 0x800000 a todos los datos
direcciones. Tenga esto en cuenta al examinar punteros impresos o al pasar valores absolutos.
direcciones a los comandos gdb.

DEPURADOR


El cable de depuración protocolo es un protocolo patentado introducido por Atmel para permitir la depuración
pequeños controladores AVR que no ofrecen suficientes pines (y suficientes recursos de chip) para
implementar JTAG completo. La comunicación tiene lugar en el / REINICIAR pin que necesita ser
convertido en un pin de conexión debugWire programando el DWEN fusible (habilitación de debugWire),
utilizando una conexión de programador normal (programación en el sistema, programación de alto voltaje).
Tenga en cuenta que al habilitar este fusible, la funcionalidad de reinicio estándar de ese pin será
perdido, por lo que cualquier programacin en el sistema dejar de funcionar ya que requiere un funcional / REINICIAR
alfiler. Por lo tanto, debe hacerse absolutamente seguro existe is a Manera Atrás, como un dispositivo (como el
STK500, por ejemplo) que puede manejar la programación de alto voltaje del AVR. En la actualidad,
avaricia no ofrece ninguna opción para apagar el fusible DWEN. Sin embargo, avrdude ofrece la opción de
apáguelo a través de la programación de alto voltaje, o usando el JTAG ICE mkII para
primero convierta el objetivo en un modo compatible con ISP, y luego use los comandos ISP normales para
cambiar la configuración de los fusibles.
Tenga en cuenta que el entorno debugWire es más limitado en comparación con JTAG. No es asi
ofrecen puntos de interrupción de hardware, por lo que todos los puntos de interrupción deben implementarse como software
puntos de interrupción reescribiendo páginas flash usando ROMPER instrucciones. Algunos espacios de memoria (fusible
y bits de bloqueo) no son accesibles a través del protocolo debugWire.

Use la avaricia en línea usando los servicios de onworks.net


Servidores y estaciones de trabajo gratuitos

Descargar aplicaciones de Windows y Linux

Comandos de Linux

Ad