Provided by:
ava_0.3b.19990815-5_i386 
NOMBRE
ava - Ensamblador virtual algebraico para microcontroladores AVR de
Atmel
SINOPSIS
ava [ -pLv ] [ -Adispositivo ] [ -lIarchivo ] [ -Idirectorio ] [
-Tarchivo ] [ -Dmacro=val ] [ -fmacro=val ] [ -o archivo ] [ --version
] [ --multiple-output-files ] [ --motorola ] [ --intel ] archivos
bibliotecas
DESCRIPCIÓN
AVA es un ensablador y enlazador avanzado para los microcontroladores
de la familia AVR de 8 y 16 bits, aunque también puede ser extendido
para las familias de 32 bits. Tiene un preprocesador estilo C,
segmentos poderosos y símbolos virtuales. Estas dos características
especiales mejoran la programación modular y permiten que los objetos
sean completamente independientes entre sí.
La sintaxis del ensamblador no es compatible con la sintaxis de Atmel.
AVA agrupa dos funciones: ensambador y enlazador. Según los archivos
con que se lo invoque, se ejecutará uno u otro. Dentro de los objetos
comunes se pueden utilizar bibliotecas, en las que cada función puede
ser declarada en su propio segmento que luego es quitado si no se
utiliza.
UTILIZACIÓN
AVA es una aplicación de consola, que puede leer la entrada desde un
archivo o desde entrada estándar (stdin). La salida puede guardarse en
otro archivo o bien redirigirse a la salida estándar (stdout). Por
omisión, los mensajes de error se imprimen por la salida de errores
(stderr).
El ensamblador y el enlazador están integrados, el programa selecciona
cuál de los dos invocar según la extensión de los archivos. Si se
utiliza stdin o stdout, AVA automáticamente llama al ensamblador, ya
que el enlazador no puede ser usado sobre ninguno de ellos. Para más
información acerca de los formatos de archivo soportados, vea la
sección ARCHIVOS.
El ensamblador puede ensamblar un solo archivo a la vez.
El orden de las opciónes (las que comienzan con -), no importa. El
orden de los archivos, por otro lado, es muy importante: los archivos
son enlazados exactamente en el mismo orden que se indica en la línea
de comados. Esto tiene un efecto muy importante en los símbolos
virtuales.
Ejemplos
ava -o proyecto main.o print.o
Este comando enlaza los archivos main.o y print.o en un archivo
llamado proyecto".
ava -p < archivo.s | gzip > archivo.o.gz
Este comando ensambla archivo.s. El código ensamblado se
redirige a la salida estándar, donde el gzip lo procesa.
ava -v -v -o ejemplo ejemplo.o mis-bibliotecas
Este comando enlaza el archivo ejemplo.o con las bibliotecas
contenidas en mis-bibliotecas, generando el archivo ejemplo,
imprimiendo información adicional.
OPCIONES
Se pueden especificar muchas opciones, tanto para el ensamblador como
el enlazador, el formato de los reportes y de la salida. A
continuación se incluye un resumen de las opciones soportadas por AVA.
Opciones generales
-h, --help
Muestra un resumen de las opciones soportadas.
--version
Muestra información sobre la versión actual y sale.
-o archivo
Redirije la salida a archivo, si quiere redirigir a salida
estándar, utilice -o stdout
-p Utiliza entrada estándar, y salida estándar si no se especificó
la opción -o.
Opciones de ensamblador y enlazador
-Dmacro=val
Define una macro con valor val, si no se indica un valor val, se
asume 1.
Ejemplos:
ava -DVER=2 main.s
ava -DSTR="cadena" main.s
-f macro=val
Define una macro pública, de la forma __macro{=val}.
Ejemplo:
ava -favr_noskipbug main.s
-Tarchivo
Incluye archivo dentro del código fuente, si no se proporciona
ningún nombre de archivo, se incluye el archivo target.inc. El
archivo especificado por esta opción es siempre el primero en la
cola, y se procesa antes que los especificados por la opción -I.
Se lo busca en el directorio predeterminado y luego en la lista
predefinida.
-Adispositivo
Declara el dispositivo de destino. Es equivalente a
-Ddispositivo -Tarch.inc
-Inombre
Agrega el directorio nombre a la lista de búsqueda, o bien
incluye el archivo nombre al código fuente.
Opciones de los reportes
-v Salida con más información. Más de un -v puede ser
especificado, para aumentar la cantidad de información que se
imprime.
-L Genera el reporte del archivo que se está ensamblando.
-larchivo-log
Agrega la información del árbol de segmentos y los reportes de
estados al archivo-log. Los errores y advertencias se mostrarán
tanto por la salida de errores como archivo-log.
Formatos de salida
--multiple-output-files
Guarda cada segmento en un archivo separado. Los nombres de los
archivos se generan concatenando el nombre de salida con el
segmento base. Ej: a.out.flash, a.out.eeprom, ...
--intel
Selecciona una salida con formato estándar de Intel de 16 bit
(en este caso, se toma el parámetro -- multiple-output-files por
omisión).
--motorola
Selecciona una salida con formato Motorola S-record S1/S2
(16/24) bit. Las direcciones están limitadas a 24 bits.
--uasm Selecciona una salida con formato Micro Assembler
(predeterminada)
Opciones específicas de AVR
-favr_noskipbug
No verificar direcciones de retorno incorrectas.
-favr_noendianbug
No cambiar los bytes en el segmento de flash (esto se tomará por
omisión en las próximas versiones).
ARCHIVOS
Los tipos de archivos que AVA soporta son:
file.s Código fuente assembler. Es un archivo de entrada que hará que
AVA funcione como ensamblador.
file.o Archivo objecto. Es un archivo de entrada/salida, que hará que
AVA funcione como enlazador.
a.out Nombre de archivo predeterminado para la salida del enlazador.
Este es el archivo de salida que se utiliza al enlazar.
a.out.segmento
Nombre de archivo para la salida del enlazador si se seleccionó
la opción --multiple-output-files. El nombre segmento es el que
corresponde al nombre del segmento enlazado.
archivo.lst
Reporte de assembler. Este es el archivo de salida generado al
seleccionar la opción -L.
bibliotecas
Una biblioteca es un directorio de archivos objeto. Puede
contener otros archivos, siempre y cuando no tengan la misma
extensión que los archivos objeto.
Cada función debe estar posicionada en segmentos removibles
separados. Ya que sólo de esta manera puede verificar el
enlazador las dependencias de las funciones y quitar las
porciones de código que no se utilicen.
VERSION
0.3b
VEA TAMBIÉN
uisp(1), avra(1), avrp(1), y el Manual de Usuario de AVA.
AUTOR
Uros Platise <uros.platise@ijs.si>
Esta página de manual fue escrita y traducida por Margarita Manterola
<debian@marga.com.ar>, para la versión 0.3b del programa ava.