Man Linux: Main Page and Category List


       ava - Algebraical Virtual Assembler for Atmel’s AVR MCUs


       ava  [ -pLv ] [ -Adevice ] [ -lIfilename ] [ -Idirname ] [ -Tfilename ]
       [ -Dmacro=val ] [ -fmacro=val  ]  [  -o  outfile  ]  [  --version  ]  [
       --multiple-output-files ] [ --motorola ] [ --intel ] files libraries


       AVA is an advanced assembler and linker for Atmel’s family of 8 bit and
       16 bit AVR microcontrollers, but can be extended  to  32  bit  families
       also.   It offers a C-like preprocessor, powerful segments, and virtual
       symbols.  These two features  improve  modular  programming  and  allow
       objects to be completely independent from each other.

       The assembler is not compatible with Atmel’s assembler syntax.

       AVA  integrates  two functions: assembler and linker.  Depending on the
       command line it executes either the first or the second one.  Libraries
       are  supported  by  the  ordinary  objects  where  each function can be
       declared in its own segment which is removed if not needed.


       AVA is a console application running in batch  mode.   It  reads  input
       either  from  a  file  or  from  the standard input (stdin).  Output is
       written to another  file  or  to  the  standard  output  (stdout).   By
       default, error messages are printed to the standard error (stderr).

       Assembler  and  linker  are  integrated,  which  of  them is invoked is
       identified by the source filename extension. If  stdin  or  stdout  are
       specified,  AVA  automatically  invokes the assembler, since the linker
       cannot used these two streams  as  input  or  output.   See  the  FILES
       section for a description of the supported formats.

       Assembler can only assemble one file at a time.

       The order of the options (beginning with -) does not matter.  The order
       of the filenames, however, is  very  important:  files  are  linked  in
       exactly  the  same  sequence as listed in the command line.  This has a
       strong effect on virtual symbols.


       ava -o project main.o print.o
              This command links the files main.o and print.o into one project

       ava -p < file.s | gzip > file.o.gz
              This  command assemblies file.s.  The assembled code is directed
              towards stdout, where the gzip command processes it.

       ava -v -v -o example example.o mylib
              This  command  links  the  file  example.o  with  the  libraries
              contained  in  mylib,  into the example file, with extra verbose


       Many options can be specified, regarding the assembler and linker,  the
       report  format or the output format. A summary of the options supported
       by AVA is included below.

       General Options

       -h, --help
              Show summary of options.

              output version information and exit

       -o file
              Redirect the output to file, if  you  want  to  redirect  it  to
              standard output, use -o stdout

       -p     Use stdin for input and stdout for output, if -o is not set.

       Assembler and linker options

              Define macro with value val, if val is not given 1 is assumed.

              ava -DVER=2 main.s
              ava -DSTR="string" main.s

       -f macro=val
              Define public macro of the form __macro{=val}

              ava -favr_noskipbug main.s

       -Tfile Auto-include  the file, if no filename is given, then
              is included.  The file specifed by this option is  always  first
              in  the  queue,  before  those specified by the -I option. It is
              searched in the default directory and  then  on  the  predefined

              Declare target device; same as: -Ddevice

       -Iname Add  the  directory  name to the search list or include the file
              name to the source.

       Report Options

       -v     Verbose output.  More than one -v can be specified  to  increase
              the verbose level.

       -L     Generate listing report for the file being assembled.

              Append  segment  tree  information  and  status  reports  to the
              logfile.  Errors and warnings are reported both  to  stderr  and

       Output Formats

              Saves  each  segment  in  a separate file. File name is extended
              with  the  name  base   segment.   For   example:   a.out.flash,
              a.out.eeprom, ...

              Set  Intel  standard  16  bit  output  format (sets -- multiple-
              output-files by default).

              Set Motorola S-record S1/S2 (16/24) bit output format.   Address
              is limited to 24 bits.

       --uasm Set Micro Assembler output format (default)

       AVR specific options

              Do not check bad return address.

              Do  not  swap  bytes  in  the  flash  segment. (this will be the
              default in future releases)


       The files types that AVA understands are:

       file.s Assembler source. This is an input file, that will cause AVA  to
              work as assembler.

       file.o Object.   This  is  an input/output file, that will cause AVA to
              work as linker.

       a.out  Linker default output file name.  This is an output file  to  be
              used when linking.
              Linker  extended  file name if --multiple-output-files is given.
              The extension name is replaced with segment name.

              Listing report.  This is an output file,  generated  when  using
              the -L parameter.

              A  library  is  a directory of object files. It may also contain
              other files as long as they do not have the suffix of the object

              Each  function  should be placed in separate removable segments.
              Only in this case can the linker check function dependencies and
              remove unused pieces of code.




       uisp(1), avra(1), avrp(1), and the AVAs User Manual.


       Uros Platise <>

       This  man-page was written by Margarita Manterola <>
       for the Version 0.3b of the ava program.