<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<
html xmlns
="http://www.w3.org/1999/xhtml" xml:
lang="en">
<
meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<
meta name="generator" content="AsciiDoc 8.5.3" />
<
link rel="stylesheet" href="./xhtml11.css" type="text/css" />
<
link rel="stylesheet" href="./xhtml11-quirks.css" type="text/css" />
<
link rel="stylesheet" href="./layout1.css" type="text/css" />
<
script type="text/javascript">
/*<![CDATA[*/
window.onload = function(){asciidoc.footnotes();}
/*]]>*/
<
script type="text/javascript" src="./asciidoc-xhtml11.js"><
/script>
<
div id="layout-title">AVRA<
/div>
<
div id="layout-description">Assember
for the Atmel AVR microcontroller family<
/div>
<
div>&#
187;<
a href="index.html">Home<
/a><
/div>
<
div>&#
187;<
a href="README.html">Readme<
/a><
/div>
<
div>&#
187;<
a href="downloads.html">Downloads<
/a><
/div>
<
div>&#
187;<
a href="ChangeLog.html">ChangeLog<
/a><
/div>
<
div>&#
187;<
a href="http://sourceforge.net/projects/avra">Sourceforge<
/a><
/div>
<
div id="page-source">&#
187;<
a href="ChangeLog.txt">Page Source<
/a><
/div>
<
div id="layout-content">
<
h2 id="_version_1_3_0_20100628">
Version 1.3.0
(20100628)<
/h2>
<
div class="sectionbody">
<
div class="paragraph"><
p>by Jerry Jacobs<
/p><
/div>
<
div class="ulist"><
div class="title">Additions and changes<
/div><
ul>
Added new targets, ATtiny13A, ATtiny24/A, ATtiny44/A, ATtiny84, ATtiny2313A,
ATtiny4313, ATmega328P
Added mingw32 support for building windows binairies from linux host
Removed obsolete Dev-C++ for windows building
Updated documentation and rewritten in asciidoc markup language
<
div class="ulist"><
div class="title">Bug fixes<
/div><
ul>
<
strong>FIXED<
/strong>:
1934647: Handle also <
em>#<
/em> directives because include files don&#
8217;t use <
em>.<
/em> directives.
<
strong>FIXED<
/strong>:
1970530: Make whitespace character possible between function
name and open bracket.
<
strong>FIXED<
/strong>:
1970630: Make line continuation possible with backslash as the last character of a line.
<
strong>FIXED<
/strong>:
2929406: Change incorrect argument --includedir to includepath.
<
h2 id="_version_1_2_3_20071115">
Version 1.2.3
(20071115)<
/h2>
<
div class="sectionbody">
<
div class="paragraph"><
p>by Burkhard Arenfeld<
/p><
/div>
Fix bug
1697037 (Error with single character <
em>;<
/em>
)
Better check for line termination. Now a single CR or a FF generates an warning message. Code with bad CR
termination could appear, if you edit CR-LF terminated files (WIN/DOS) with linux (LF only) editors.
Add patch 1604128 from Jim Galbraith (New devices ATtiny25/45/85, small fix for ATmega8 (no jmp, call instruction))
Fix bug in handling of special tags (%HOUR% …). A % without a special tag was replaced by previous tag value.
Use a global timestamp for all functions which needs a time (pi→time).
Fix bug in handling of unknown args (E.g.: avra --abc → Segfault).
Fix segfault if .error directive without parameter is used.
Add a warning, if characters with code > 127 are used in .db strings and fix listing output.
Take a look at Testcode_avra-1_2_3.asm, which demonstrate some differences between 1.2.3 and previous releases
AVR000.zip contains some header files for different devices.
Included avra binary was created with ubuntu 7.10 linux
<
div class="ulist"><
div class="title">Bug fixes<
/div><
ul>
<
strong>FIXED<
/strong>:
1462900: Segfault, if error in -D parameter.
<
strong>FIXED<
/strong>:
1742437: Error in EEPROM presence check
<
h2 id="_version_1_2_2_20070511">
Version 1.2.2
(20070511)<
/h2>
<
div class="sectionbody">
<
div class="paragraph"><
p>by Burkhard Arenfeld<
/p><
/div>
Check in print_msg() if filename is NULL. Avoid printing a NULL-Pointer.
Warning, if no .DEVICE was found, because address range check doesn’t work without it
Error, if more than one .DEVICE was found.
Error, if .DEVICE is after any assembled code or .ORG directive, because .DEVICE resets the address
counters and the assembler builds wrong code.
Create a list of program segments (see orglist). Every .ORG, .DEVICE, .?SEG is stored, so the
assembler now can check for overlapping segments. Now overlapped segments in Flash, Data or EEPROM memory
are detected. Very usefull, if .ORG is used to build tables or bootloader code at specific addresses.
Better check for exceeding device space in RAM, Flash or EEPROM memory. Now not the total count of
assembled memory is used, instead every assembled address range is checked.
.DSEG and .ESEG now generates an error, if device has no RAM / EEPROM.
Now a warning appears, if a .DEF name is already used as constant or label. Atmel assembler generates this
warning, too.
Fix a small bug in the example program.
<
h2 id="_version_1_2_1_20061117">
Version 1.2.1
(20061117)<
/h2>
<
div class="sectionbody">
<
div class="paragraph"><
p>by Roland Riegel<
/p><
/div>
Some of the high end AVRs use the SRAM adress range from 0x60 to 0x100 for IO extension.
Avra so far used to start with SRAM Usage at 0x60. This is now set from case by case.
<
h2 id="_version_1_2_0_20061015">
Version 1.2.0
(20061015)<
/h2>
<
div class="sectionbody">
<
div class="paragraph"><
p>by Burkhard Arenfeld<
/p><
/div>
Patch segfault, if .error is given without parameter
Patch segfault, if .device is given with an invalid parameter
Check in predef_dev() if symbol is already defined. Can happens, if someone
tries to define the symbol with the -D parameter. E.g.: <
em>avra -D <
em>ATMEGA8<
/em> Test.asm<
/em>
now generate error message, because <
em>ATMEGA8<
/em> is reserved
Add .elseif directive. It’s the same like .elif. (Original Atmel assembler use .elseif
and not .elif)
In .db lines strings can now contain <
em>,<
/em> and <
em>;<
/em> characters.
Allow forward declaration of constants (.equ) except for .ifdef and .ifndef.
Invalid forward declarations are checked now. (In the first pass undefined Symbols in
.ifdef and .ifndef parameters are stored in a <
em>blacklist<
/em> and
checked in the second pass
)
Extend the .message directive for better debugging. Now it accept not only a String.
You can use a list of expressions like in a .db directive as parameter.
The assembler <
em>pass<
/em> variable moved into the pi struct. I deleted the pass variable from
a lot of functions.
New functions in avra.c. It was easier for me, to understand the code without the
for(label = first; …)-loops. Replaced a lot of for(label = …) -loops by one of this
functions.
<
h2 id="_version_1_1_1_20060906">
Version 1.1.1
(20060906)<
/h2>
<
div class="sectionbody">
right shift operator bug
LPM is supported on ATtiny26 but avra say it isn’t
bugfix for jmp/call opcode
crash due to a strcmp with null pointer when parsing the cmd line args
<
h2 id="_version_1_1_0_20051227">
Version 1.1.0
(20051227)<
/h2>
<
div class="sectionbody">
<
div class="paragraph"><
p>by Tobias Weber<
/p><
/div>
.DW defines were missing in the listfile.
Support for mega8515.
Fix for generic register names and extended macro syntax.
Makefile for lcc-win32 Compiler.
Changed "global" keyword to ".global".
Added .includepath directive that allows setting include path.
segfault when not passing any sourcefiles.
--define FOO=2 does not work as claimed by the documentation.
Added return value, indicating whether avra failed or succeded.
Added support for automake utilities. See manual for more info.
if no code is present, eeprom hex file will be written anyway.
added -W NoRegDef for suppressing Register assignment warnings.
.db values were sometimes wrong printed in lst file with 6 leading F.
Added BYTE1() function equivalent to LOW().
The character
" (pharentesis) could not be use as single character like <em>"<
/em>
<
h2 id="_version_1_0_1_20040610">
Version 1.0.1
(20040610)<
/h2>
<
div class="sectionbody">
<
div class="paragraph"><
p>by Tobias Weber<
/p><
/div>
Added meta tags for time and date.
Expression of .elif was cutted off in list file - fixed.
.equ, .org, .defines added to list file output.
Values and expressions of .db assignemts are now listed in listfile.
Added Support for ATmega48, ATmega88 and ATmega168.
Added .include error file name print out.
Fixed seg fault that could happen while using .LIST directive with no
listfile switched on.
Error when using comments within macros that made use of sign @ fixed.
Listfile lines are now prefixed with the current segment C,D,E for
code, data and eeprom.
<
h2 id="_version_1_0_0_20040214">
Version 1.0.0
(20040214)<
/h2>
<
div class="sectionbody">
<
div class="paragraph"><
p>by Tobias Weber<
/p><
/div>
Added support for ATtiny13 and ATtiny2313
List file command line syntax now AVRASM compatible
Map file command line syntax now AVRASM compatible
Fixed problem with limited macro label running numbers
Now multiple labels can be used within macros
Fixed error output line number for included files
code cleaned up
<
h2 id="_version_0_9_1_20030602">
Version 0.9.1
(20030602)<
/h2>
<
div class="sectionbody">
<
div class="paragraph"><
p>by Tobias Weber<
/p><
/div>
fixed code for Linux compiler
fixed nested macro labels
code cleaned up
<
h2 id="_version_0_9_20030523">
Version 0.9 (20030523)<
/h2>
<
div class="sectionbody">
<
div class="paragraph"><
p>by Tobias Weber<
/p><
/div>
Added labels to macros
Added special codes <
em>dst<
/em> and <
em>src<
/em>
Added directive .endmacro, only .endm was allowed so far
Added a return(0); at the end of main() to quiet the Borland C++ 5.5
compiler (Jim Galbraith)
Fixed wrong flash size calculation (Jim Galbraith)
In device.c, added ATtiny26 to struct device device_list[] (Jim Galbraith)
<
h2 id="_version_0_8_20030307">
Version 0.8 (20030307)<
/h2>
<
div class="sectionbody">
<
div class="paragraph"><
p>by Tobias Weber<
/p><
/div>
Added new macro assembler coding facilities
Added error description for .include directives
<
h2 id="_version_0_7_20000217">
Version 0.7 (20000217)<
/h2>
<
div class="sectionbody">
Added supported() function to check in a .if if a instruction is
supported
(From Lesha Bogdanow <<
a href="mailto:boga@inbox.ru">boga@inbox.ru<
/a>>
).
Added checking of which mnemonic that work on the different AVRs
(From Lesha Bogdanow <<
a href="mailto:boga@inbox.ru">boga@inbox.ru<
/a>>
).
Added constants <
em>DEVICE<
/em>, <
em>FLASH_SIZE<
/em>, <
em>RAM_SIZE<
/em> and
<
em>EEPROM_SIZE<
/em>
(From Lesha Bogdanow <<
a href="mailto:boga@inbox.ru">boga@inbox.ru<
/a>>
).
Added tiny devices
(From Lesha Bogdanow <<
a href="mailto:boga@inbox.ru">boga@inbox.ru<
/a>>
).
Changed error on constant out of range into a warning.
Added support for instructions: (E)LPM Rd,Z(+), SPM, ESPM, BREAK,
MOVW, MULS, MULSU, FMUL, FMULS, FMULSU
Added support for new devices: ATmega8, ATmega16, ATmega32,
ATmega128, ATmega162, ATmega163, ATmega323, AT94K
Added --devices switch to list all supported devices.
Fixed bug in map file name when the name had more than one . (dot)
Added option --includedirs to add additional include dirs in
search path.
Added support for creation of intel hex 32 files to be able to
address memory above 64KB. Uses 02 records for addresses up to 1MB
and 04 record for addresses above 1MB.
<
h2 id="_version_0_6_20000124">
Version 0.6 (20000124)<
/h2>
<
div class="sectionbody">
Added COFF support from Bob Harris <<
a href="mailto:rth@McLean.Sparta.Com">rth@McLean.Sparta.Com<
/a>>
<
h2 id="_version_0_5_19990331">
Version 0.5 (19990331)<
/h2>
<
div class="sectionbody">
Bugfix: a inline string copy did not terminate string.
Fixed bug causing --define symbol=value not to work.
Added output of memory usage.
Fixed bug when there was a { in a comment.
Fixed count for data segment.
Fix to make a forward referenced label in .db/.dw work.
Added ATmega161 and ATtiny15 in list.
rjmp and rcall now wraps around with 4k word devices.
Fixed bug when branching backwards with BRBS or BRBC
<
h2 id="_version_0_4_19990202">
Version 0.4 (19990202)<
/h2>
<
div class="sectionbody">
Added support for global keyword to use on labels in macros.
Fixed get_next_token to handle commas inside ' '
Fixed bug when searching for correct macro_call, so recursive
and nested macros will work.
Now handles commas in strings.
Added fix to handle semi colon in a string.
Improved mnemonic parsing for ld and st
Last updated 2010-06-28 16:04:24 CEST
<
a href="http://validator.w3.org/check?uri=referer">
<
img style="border:0;width:88px;height:31px"
src="http://www.w3.org/Icons/valid-xhtml11-blue"
alt="Valid XHTML 1.1" height="31" width="88" />
<
a href="http://jigsaw.w3.org/css-validator/">
<
img style="border:0;width:88px;height:31px"
src="http://jigsaw.w3.org/css-validator/images/vcss-blue"
alt="Valid CSS!" />
<
a href="http://www.mozilla.org/products/firefox/">
<
img style="border:none; width:110px; height:32px;"
src="http://www.spreadfirefox.com/community/images/affiliates/Buttons/110x32/safer.gif"
alt="Get Firefox!" />