Rechercher une page de manuel
tavrasm
Langue: en
Version: 113752 (mandriva - 01/05/08)
Section: 1 (Commandes utilisateur)
Sommaire
NAME
tavrasm - AVR macro assembler to LinuxSYNOPSIS
usage: tavrasm [-vwclxmihjgbafd] <infile>[-I <includepath>]...
[-o <outfile>] [-r <rom>] [-e <listfile>]
OPTIONS
-v verbose
-w no warnings
-c case sensitive labels/defines
-l limit log width to 80 characters
-x allow local labels
-m output Motorola S-record format
-i output Intel HEX format (default)
-h omit address extension record from
Intel HEX files
-j output .obj format
-g output generic hex
-b output binary format
-a wrap relative jumps
-f allow forward org's
-d list supported devices
SUPPORTED Atmel AVR DEVICES
+-------------------------------------------------+
| Device name | Ram | Flash | Ram | EEPROM |
| | Start | size | size | size |
|-------------+-------+----------+-------+--------|
| GENERIC | 96 | 16777216 | 65536 | 65536 |
| AT90S1200 | 96 | 512 | 0 | 64 |
| AT90S2313 | 96 | 1024 | 128 | 128 |
| AT90S2323 | 96 | 1024 | 128 | 128 |
| AT90S2343 | 96 | 1024 | 128 | 128 |
| AT90S4414 | 96 | 2048 | 256 | 256 |
| AT90S4433 | 96 | 2048 | 256 | 256 |
| AT90S4434 | 96 | 2048 | 256 | 256 |
| AT90S8515 | 96 | 4096 | 512 | 512 |
| AT90S8535 | 96 | 4096 | 512 | 512 |
| ATMega103 | 96 | 65536 | 4096 | 4096 |
| ATMega8 | 96 | 4096 | 1024 | 512 |
| ATMega161 | 96 | 8192 | 1024 | 512 |
| ATMega162 | 96 | 8192 | 1024 | 512 |
| ATMega163 | 96 | 8192 | 1024 | 512 |
| ATMega16 | 96 | 8192 | 1024 | 512 |
| ATMega323 | 96 | 16384 | 2048 | 1024 |
| ATMega32 | 96 | 16384 | 2048 | 1024 |
| ATmega8515 | 96 | 4096 | 512 | 512 |
| ATmega8535 | 96 | 4096 | 512 | 512 |
+-------------------------------------------------+
ASSEMBLER MACROS BUILT IN
STAR DIV MOD
LS RS
LE GE LESS GREAT EQ NE
OR XOR AND
OROR ANDAND
LPAR RPAR
COLON COMMA DOT EQUAL PLUS MINUS
WAVE NOT
EOL RESTART ENDOFFILE
DEF EQU DB DW ORG ALIGN
CSEG DSEG ESEG
BYTE SET DEVICE STRING MACRODEF
MORE RESERVED WORDS
REGISTER REGXYZ SYMBOL INTEGER COUNTER FUNCTION
IREGREG IREGREGW IIMMIMM IREGIMM IREGIMMW IIMMREG
IREG IIMM INOARGS IINDIRC ILPM STRING
DESCRIPTION
Toms AVR macro assembler - tavrasm 1.22
tavrasm - A GNU/Linux assembler for the Atmel AVR series of micro-controllers. Copyright (C) 1999-2003 Tom Mortensen.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
INTRODUCTION
tavrasm is an assembler for the Atmel AVR family of micro- controllers. It uses a syntax similar to the one found in the Atmel AVR DOS assembler. Some of the features includes:
- Super-set of Atmel AVR assembler.
- Macros in macros.
- Save Intel HEX, Motorola S-record, Generic
and binary output.
- More than 100 warning/error messages.
- Atmel object files compatible with Atmel's
AVR Studio.
- C escape characters in char/string literals.
- Runs on (win)DOS, Linux, OS/2, Solaris, ...
- Free software released under GPL.
INSTALLATION
Copy the tavrasm executable to a directory in your path.
INVOKE
Just type 'tavrasm file.asm' or, with some switch above.
COMPILE
tavrasm should compile on most systems that are supported by gcc.
GENERATED MESSAGES
Next lists give the most common feedback lines from tavrasm .
ERROR MESSAGES
* Undefined variable referenced
* Undefined variable referenced in bit number
* Undefined variable referenced in I/O port address
* Undefined variable referenced in branch
* Undefined variable referenced in bit mask
* Undefined variable referenced in constant
* Undefined variable referenced in address
* Undefined variable referenced in displacement
* Undefined variable referenced in relative call
* Undefined variable referenced in relative jump
* Undefined variable referenced in jump/call
* Undefined variable referenced in constant in .db
* Undefined variable referenced in constant in .dw
* Undefined variable referenced in offset
* Undefined variable referenced in constant in .byte
* Division by zero
* Invalid register (r16-r31)
* Invalid register SSS
* Branch out of range by XX words (backwards)
* Branch out of range by XX words (forward)
* Invalid register (r24/r26/r28/r30)
* Invalid source register rXX (X/Y/Z)
* Invalid destination register rXX (X/Y/Z)
* Call out of range by XX words (backwards)
* Call out of range by XX words (forward)
* Jump out of range by XX words (backwards)
* Jump out of range by XX words (forward)
* Label 'SSS' already defined at line XX in 'SSS'
* Label 'SSS' already defined at line XX in 'SSS'
* Variable 'SSS' already defined as label at line XX
in 'SSS'
* .dw in DSEG (only allowed in CSEG and ESEG)
* .db in DSEG (only allowed in CSEG and ESEG)
* Macro 'SSS' already defined (or duplicates label)
* Program code in DSEG (only allowed in CSEG)
* Program code in ESEG (only allowed in CSEG)
* Unable to include file 'SSS' - include depth exceeded
* Invalid include filename specified
* Unable to open file 'SSS'
* Unable to expand macro - context depth exceeded
* End of file reached in macro definition
* Filename too long at line XX in 'SSS'
* Invalid filename
* Register expected
* Invalid register specified
* Invalid register or immediate
* Invalid immediate constant
* No argument expected
* Unknown opcode
* Expected ID = register
* Expected value (,value ,...)
* No arguments should be specified
* Expected value/label
* Expected ID = expression
* Expected device name
* Variable declaration in CSEG
* Macro with no name
* Undefined escape sequence 'SSS'
* No filename specified
* Macro used before it is defined
* Undefined escape sequence 'CHR'
* Unexpected .endmacro directive
* Macro definition within macro not allowed
* Expected register, displacement
* Expected displacement, register
* No displacement can be specified for X (use Y/Z)
* Invalid register rXX (expected r23-r31)
* Displacement can not be specified here
* Invalid register specified, expected 'Z'
* Pre-increment is invalid here (use 'Z' or 'Z+')
* Invalid register rXX (expected rXX-rXX)
* Invalid register rXX (expected r0, r2, ...)
* Undefined variable referenced in constant in .align
* .align value not a power of two
FATAL ERRORS
* No fatal error
* Out of memory
* Line too long in 'SSS'
* Macro line too long at line XX in 'SSS'
* Unable to open input file 'SSS'
* Unable to open list file 'SSS'
* Unable to open output file 'SSS'
* Unable to open rom file 'SSS'
* Too many files included
* Code size exceeded
* EEPROM size exceeded
* Max macro depth exceeded
MESSAGES
* No message
* Empty rom file
* Can not save rom file with .obj format
* No input filename specified
* Unknown option 'SSS'
* More than one of m/i/j/b/h specified
* No rom filename specified
* Rom filename too long
* Illegal rom filename
* No list filename specified
* List filename too long
* Illegal list filename
* No output filename specified
* Output filename too long
* Illegal output filename
* Multiple output files specified
* Input filename too long
* Illegal input filename
* Multiple input files specified
* Errors : XX
* Warnings : XX
* Code : XX
* Rom : XX
* Data : XX
* Unused Code : XX
* Unused Rom : XX
* No code generated
* | Device name | Ram start | Flash Size | Ram size |
| EEPROM Size |
* No include path found after '-I' flag
* Too many include paths specified
* Include pathname too long
AUTHORS
Copenhagen, December 2004, Tom Mortensen
E-mail : tom@tavrasm.org
WWW : http://www.tavrasm.org
Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre