PIC vs ATMEL #2

hwsw famulus hwsw at famulus.hu
Thu Feb 12 11:11:22 CET 2004


Jo kis vita alakult ki az assembler kontra  C fordito kerdesrol
Ezek utan erdekelne, hogy
mennyire tunik versenykepesnek pl
az AVR-hez  gyakran hasznalt CvAVR C-je
asembleres szemmel
az alabbi revision history alapjan?

Azaz mi nincs benne az "optimalis" kod generalashoz...

KJ

            V1.24.1 Commercial Release

              a.. added support for "smart" saving/restoring of affected
registers in interrupt service routines. The #pragma savereg directive is
not needed anymore
              b.. improved the peep-hole optimizer
              c.. added the constant literal strings merging optimizer
              d.. improved the register allocator, registers are now
allocated for local pointers too
              e.. improved the dead code optimizer
              f.. improved error and warning reporting
              g.. modified the startup initialization code for watchdog
disabling and global variable initialization. Projects that use an external
startup.asm file must have this file updated with the new one supplied with
the compiler
              h.. improved ANSI C compatibility
              i.. fixed a rare bug which occured when testing a bit in SREG
( if (SREG.0) ... didn't work, but if (SREG.0==1)... did )
              j.. in the header file mega32.h, the TWSI interrupt vector was
renamed to TWI
              k.. modified the CodeWizardAVR so that it will not generate
code with #pragma savereg for interrupt service routines
              l.. added initialization for ICR1 and ICR3 in the
CodeWizardAVR
              m.. fixed in the CodeWizardAVR: removed ADC auto-trigger
source for ATmega8(L)
              n.. fixed in the CodeWizardAVR: the ADATE bit in ADCSRA will
be 0 for ADC free running mode
              o.. fixed AT86RF401 parallel port (STK200) FLASH programming
              p.. fixed ATmega64(L) STK500/AVRISP programming
              q.. improved the Programmer menus
              r.. added one-button programming
              s.. various small fixes and improvements in the IDE
            V1.24.0 Commercial Release

              a.. added the malloc, calloc, realloc and free memory
allocation standard library functions (stdlib.h)
              b.. added the _HEAP_START_ and _HEAP_SIZE_ predefined macros
              c.. improved the constant folding for calculations employing
the ? : operator
              d.. updated the LCD libraries for better compatibility
              e.. the lcd_init function in the LCD libraries now detects the
presence of a LCD module, returning 1 on success and 0 on failure
              f.. updated the tiny2313.h header files with the definitions
for the PORTA, DDRA and PINA I/O registers
              g.. fixed the ## preprocessor operator not working in nested
macros
              h.. added support for the ATmega88 and ATmega168 chips in the
Compiler, CodeWizardAVR and Programmer
              i.. added the PORTA pins in the CodeWizardAVR for the
ATtiny2313 chip
              j.. added support for the ATmega48 chip in the CodeWizardAVR
              k.. added support for the ATtiny2313 chip in the Programmer
for STK500 and AVRISP (the firmware update from AVR Studio V4.08 is needed
for these programmers)
            V1.23.9b Commercial Release

              a.. added support for the ATmega48 chip in the Compiler and
Programmer
              b.. updated the CodeWizardAVR to comply with the latest
ATmega8 data sheet
            V1.23.9a Commercial Release

              a.. modified the code generator so that the global bit
variables will be first allocated to GPIOR registers, if present in the
chip, and then to R2..R14
              b.. added support for the ATtiny2313 chip in the Compiler,
Programmer and CodeWizardAVR
              c.. modified the startup code for the ATtiny13 chip so that
the watchdog timer could be disabled even if the WDTON fuse is programmed
            V1.23.9 Commercial Release

              a.. enhanced the peephole code optimizer
              b.. added support for generating extended COFF object files,
which allow structure and union variables watching in AVR Studio V4.07 or
later
              c.. fixed the ++ and -- operators not working on the first bit
field of a structure or union
              d.. corrected the spi function from spi.h to work with the
ATmega169 chips
              e.. the EEPROM location at address 0 is now used by the
compiler (for newly created projects), as the corruption of this location
was fixed by Atmel
              f.. improved the code generated by the CodeWizardAVR for
buffered interrupt driven communication which uses parity
              g.. fixed the values displayed by the CodeWizardAVR in the
External SRAM Page Configuration list box
              h.. fixed the wrong error message issued by the CodeWizardAVR
when a LCD was used on PORTC on an ATmega128(L) and the Two Wire Interface
was enabled
              i.. added support for the ATtiny13 chip in the Programmer
              j.. added support for the in-system programmer described in
the Atmel application note AVR910
            V1.23.8d Commercial Release

              a.. added support for the ATtiny13 chip in the Compiler and
CodeWizardAVR
              b.. added support for reading long integers in scanf and
sscanf functions from stdio.h
              c.. added the vprintf and vsprintf functions in stdio.h
              d.. typedef now allows defining the pointers to functions data
type
              e.. enhanced the peephole code optimizer
              f.. improved error and warning reporting
              g.. fixed assembly errors when calling the power management
functions for the ATmega162 and ATmega8515 chips
              h.. the ++ and -- operators now work correctly when applied to
bit fields in structures or unions
              i.. any expression can now be used when initializing bit
fields in structures or unions
              j.. fixed a bug that occurred when subtracting two pointers
that pointed to structures or unions
              k.. fixed: the sizeof operator returned incorrect size for
arrays of structures or unions located in FLASH or EEPROM
              l.. when using external RAM and external interrupts, the
CodeWizardAVR will now correctly set the MCUCR and EMCUCR registers for the
ATmega162 chip
              m.. the Timer 1 operating modes selection list box for the
ATmega32 chip is now correct in the CodeWizardAVR
              n.. in the CodeWizardAVR the external interrupts 0 and 1 now
allow also the "any level" setting for the AT90S2333 and AT90S4433 chips
              o.. fixed in CodeWizardAVR: the SPI DO pin for ATtiny26 is now
PORTB bit 1
              p.. fixed: incorrect FLASH programming for the ATmega8535 chip
using parallel port programmers
            V1.23.8c Commercial Release

              a.. added the possibility to stop the compilation process by
pressing the Stop Compilation button or using the Project|Stop Compilation
menu command
              b.. the dimension of an array of structures can be now omitted
during its initialization
              c.. fixed the incorrect amount of copied data, when assigning
an element of an array of structures to another structure
              d.. changed the name of the ADCSR register to ADCSRA in the
mega32.h header file, in order to comply with the latest datasheet
            V1.23.8b Commercial Release

              a.. header .h files, that are present in the
Project|Configure|Files list, are not compiled/linked anymore if they have
been previously #included in one of the project's program modules
              b.. in the Project|Configure|C Compiler|Code Generation, and
in the CodeWizardAVR, the AVR clock frequency can be now specified up to
40MHz, as required by the new FPSLIC chips
              c.. fixed in the CodeWizardAVR: for the ATmega169 the name of
the MCUSR register is now correctly used when generating code for reset
source identification
              d.. fixed in the CodeWizardAVR: for the ATmega64/128 the TCCR2
register is now correctly initialized when specifying Timer/Counter 2 clock
source as pulses on pin T2
            V1.23.8a Commercial Release

              a.. added support for the ATmega162 chip in the Compiler,
CodeWizardAVR and the Programmer
              b.. the lcd_putsf function from lcd.h, lcd4x40.h and lcdstk.h
can now be used in boot loaders for the ATmega128 chip
              c.. fixed a bug resulting in incorrect assigning of a
structure located in EEPROM to a structure in RAM
              d.. corrected the Fuse Bits settings for ATmega161 according
to the latest data sheet
              e.. removed the warning message issued by the Programmer about
the necessity to upgrade the firmware of the STK500/AVRISP
              f.. the Programmer now supports reading the STK500/AVRISP
firmware version in the Read|Programmer's Firmware Version menu
            V1.23.8 Commercial Release

              a.. added support for bit fields in structures and unions
              b.. enhanced the code optimizer
              c.. added automatic .hex file generation after Make, at the
same time with .cof, .rom and .eep
              d.. the atof function (stdlib.h) now accepts spaces and the +
sign before the number to convert
              e.. added support for the ATmega8535, AT76C711 and AT86RF401
chips in the Compiler
              f.. corrected the interrupt vector numbers for ANA_COMP and
ADC_INT in mega169.h
              g.. updated the interrupt vectors definitions in mega32.h
              h.. updated lcd.lib, lcd4x40.lib and lcdstk.lib to work with
AVR chips up to 16MHz
              i.. the Information window now also displays the FLASH code
size usage in %
              j.. the Project Navigator now also displays the #included
files
              k.. added support for ATmega8535 and AT86RF401 in the
CodeWizardAVR
              l.. corrected, as per the new datasheets, the prescaler values
of Timer 0 for the ATmega16/32/323 in the CodeWizardAVR
              m.. corrected, as per the new datasheets, the prescaler values
of Timer 2 for the ATmega128 in the CodeWizardAVR
              n.. made correction in the CodeWizard so that the bit 7 of
UCSRC will be set during USART initialization for ATmega16/32/323/8/8515
              o.. added support for ATmega8535 and AT86RF401 in the
Programmer
              p.. the Programmer can now read all the oscillator calibration
bytes for ATtiny26 and ATmega64/128
              q.. corrected fuse bits names for ATmega32 in the Programmer
            V1.23.7 Commercial Release

              a.. the printf and sprinft Standard I/O functions now support
printing floats (%f, %e, %E) with width and precision. To enable printing
floats, select Project|Configure|C Compiler|(s)printf features: float,
width, precision.
              b.. the printf, sprintf, scanf and sscanf Standard I/O
functions are now reentrant
              c.. libraries can be nested now
              d.. additional paths for #include and library files can now be
specified in Project|Configure|C Compiler|Paths
              e.. storing pointers in FLASH and EEPROM now use the following
syntax: [<type storage modifier>] type * [<pointer storage modifier>]
pointer_name; or type [<type storage modifier>] * [<pointer storage
modifier>] pointer_name;
              f.. a function that is pointed by a pointer to function,
pointer that is used as an argument of another function, can now also have
arguments
              g.. added the possibility to merge an additional .ROM file
when programming the chip in Project|Configure|After Make. This is very
useful for merging an application, that was previously compiled, with a boot
loader
              h.. added support for the new ATmega169 and ATmega8515 chips
in the Compiler, CodeWizardAVR and Programmer
              i.. pressing Ctrl+Del in the Editor window now deletes all the
characters in a word, that are located to the right of the cursor
              j.. added the Program Preview option in CodeWizardAVR
              k.. improved the code generated by the CodeWizardAVR for
interrupt driven serial communication
              l.. fixed a bug which generated assembly errors when using
large local arrays
              m.. fixed several bugs in programming the ATtiny26 chip
              n.. fixed a bug which resulted in incorrect error messages
when programming chips which have the RSTDISBL fuse
            V1.23.6b Commercial Release

              a.. improved the code optimizer for the ATmega chips that use
the enhanced core instructions
              b.. fixed the definition of the ds2430_read_appreg_block
function in ds2430.lib
              c.. fixed a bug in the CodeWizardAVR generated code for the
ADC scanning multiple inputs (replaced ... |adc_index with ... +adc_index)
              d.. fixed a bug in the CodeWizardAVR that resulted in
incorrect initialization of the TIMSK register for Timer/Counter0 overflow
interrupt for the ATtiny26 chip
              e.. fixed a bug in the CodeWizardAVR that resulted in setting
the bit 7 of the UCSR1C register, when using interrupt driven serial
communication through USART1, for the ATmega64/128 chips
            V1.23.6 Commercial Release

              a.. enhanced the dead code removing optimizer
              b.. added support for the ATtiny26 chip in the Compiler,
CodeWizardAVR and Programmer
              c.. the _CODEVISIONAVR_ predefined macro now returns the
version of the compiler as an integer. Example: for V1.23.6 it's 1236
              d.. fixed a bug in the CodeWizardAVR which resulted in
incorrect setting of the ISCxx bits in the MCUCR register for the ATmega161
chip
              e.. in the CodeWizardAVR the TWI bit rate is now limited to
400kHz in order to comply with the I2C bus specifications
              f.. in the CodeWizardAVR the ADC clock frequency is now
limited to 200kHz
              g.. renamed the TWI interrupt vector for the ATmega163 chip in
mega163.h to TWI in order to comply with the latest Atmel datasheets. This
change is also reflected in the code generated by the CodeWizardAVR for the
ATmega163 chip.
              h.. fixed a bug in the Programmer which sometimes resulted in
returning the 0xFF, 0xFF, 0xFF signature in the Read|Chip Signature menu
when using the STK500 and AVRISP programmers
              i.. small enhancements and bug fixes in the IDE
            V1.23.5 Commercial Release

              a.. added the possibility to display char strings located in
FLASH in the printf and sprintf standard I/O functions. This is accomplished
by using the new 'p' conversion type character. Example: printf("Hello %p","
world!");
              b.. added the possibility to debug boot loaders in AVR Studio,
by enabling the Project|Configure|C Compiler|Boot Loader Debugging option.
This option is available only if the Project|Configure|C Compiler|Program
Type option is set to Boot Loader
              c.. fixed a bug in the ftoa function from stdlib.h
            V1.23.4 Commercial Release

              a.. completely rewritten the printf and sprintf functions.
These functions now support the precision specifier and displaying longs.
Which version of these functions will be linked, can now be specified in the
Project|Configure|C Compiler|(s)printf features option
              b.. added the non-local jump functions setjmp and longjmp
              c.. added the _MCU_CLOCK_FREQUENCY_ predefined macro that
represents the AVR clock frequency in Hz, as specified in the
Project|Configure|C Compiler|Clock option
              d.. various small enhancements and fixes in the IDE
            V1.23.3 Commercial Release

              a.. improved ANSI compatibility
              b.. added the _CHIP_ATXXXXX_ predefined macro, where ATXXXXX
is the chip type in uppercase letters, selected in the Project|Configure|C
Compiler|Chip option
              c.. fixed the Find in Files not working bug
            V1.23.2 Commercial Release

              a.. improved code size and speed
              b.. pointers can now be stored in FLASH and EEPROM
              c.. enumerations can now be treated as being of 8 bit char
data type, leading to better code size and speed. This option can be enabled
from Project|Configure|C Compiler|8 bit enums or by using the new #pragma
8bit_enums+
              d.. added the possibility to print source line numbers
            V1.23.1 (new release numbering) Commercial Release

              a.. improved ANSI compatibility of the compiler
              b.. various small improvements/fixes in the IDE
              c.. added  the Delay Multiplier option in Settings|Programmer
for the In-Systems Programmers that use the LPT port. This option is useful
for programming on very fast machines.
              d.. fixed in the CodeWizard: the F port for the ATmega64/128
chips is now bi-directional
              e.. fixed in the CodeWizard: incorrect configuration of the
DDRE, PORTE, DDRF and PORTF registers for the ATmega64/128 chips
              f.. fixed in the CodeWizard: watchdog configuration for the
ATmega8/16/64/128 chips
            V1.0.2.2 Commercial Release

              a.. removed the 64 byte limitation on the size of the local
variables
              b.. the functions can now accept arrays, structures and unions
as arguments, not only pointers to them like in the previous versions
              c.. the = operator now also works with structures and unions
              d.. the compiler now calculates the Data Stack usage, the
result being displayed in the Information window after Compile or Make
              e.. significantly improved the speed for generating the COFF
object files
              f.. added the strtok function in String Processing Functions
(string.h)
              g.. added support for Variable Length Argument Lists
(stdarg.h)
              h.. rewritten the scanf and sscanf functions from Standard I/O
Functions (stdio.h)
              i.. added the __CODEVISIONAVR__ predefined macro
              j.. added the possibility to #define a list of macros that are
global to all the source files in the project
              k.. removed the Global #defines option from
Project|Configure|C Compiler dialog. For compatibility with old projects use
the new #pragma glbdef+ at the beginning of the first source file of the
project
              l.. improved the generated code speed and size
              m.. improved overall ANSI C compatibility of the compiler
              n.. added support for the ATmega8/16/64/128 and AT43USB355
devices in both the compiler and the CodeWizard
              o.. the interrupt driven buffered serial communication code
generated by the CodeWizard is now written in C, not assembly like in
previous versions, allowing for easier modification and understanding
              p.. the Atmel STK500 and AVRISP are now directly controlled by
the programmer, there's no need for STK500.EXE from AVR Studio anymore
              q.. added programmer support for the Futurlec JRAVR AT90S2313
and AT90S8535 development boards
              r.. fixed the Fuse Bits programming error for the ATmega161
              s.. the IDE window is not maximized at startup anymore, but
remembers it's previous size. This is useful for systems with large or dual
monitors
              t.. improved the licensing system. The license can be now
exported on a floppy disk and reimported back on the same computer too. This
is useful when doing HDD upgrades.
            V1.0.2.1 Commercial Release

              a.. added support for the ATmega8/16 and ATmega128 devices in
the compiler
              b.. updated the Power Management Functions for the ATmega128,
ATmega8/16, ATmega161 and ATmega32/323
              c.. updated the code generator in order to comply with the
latest ATmega161 errata data sheet
              d.. improved the error reporting
              e.. improved the File|Reopen menu
              f.. small bug fixes
              g.. revised the Help and User Manual topics about #include,
Using Interrupts and Power Management Functions
            V1.0.2.0 Commercial Release

              a.. improved the size and speed of the generated code,
especially when accessing structure or union elements using pointers
              b.. in order to improve code portability, type, structure,
union and enum definitions are now visible only in the program module where
they reside
              c.. added strtok to the String Functions
              d.. removed _strlen from the String Functions, the existing
strlen function now returns unsigned int in the SMALL memory model
              e.. fixed scanf and sscanf in the Standard C Input/Output
Functions
            V1.0.1.9 Commercial Release

              a.. added support for the ATmega323 and AT94K05 FPSLIC
              b.. added the possibility to select the type of the compiled
program: Application or Boot Loader, in both the Project Configuration and
the CodeWizardAVR
              c.. added the Dallas Semiconductor DS2430 and DS2433 1 Wire
EEPROMs functions
              d.. improved the error reporting
              e.. improved the Match Braces menu command
              f.. fixed: the result of the sizeof operator was truncated to
8 bits
              g.. fixed: local pointers and pointer arrays were always
initialized with NULL during declaration, even if another value was used
              h.. fixed: the Check Erasure option was always set in the AVR
Chip Programmer
            V1.0.1.8 Commercial Release

              a.. improved code size and speed
              b.. added support for the new AVRASM32 V1.52 assembler
supplied with AVR Studio 3.50
              c.. improved the Match Braces menu command
              d.. if errors are present, the Navigator Errors and Warnings
branches are now automatically expanding for the file whose Editor window
has focus
              e.. added the Gray Code Conversion Functions
              f.. fixed the fuses programming problem for the ATmega32
device
              g.. added a new example program how to use the ADC on the
AT90S8535
            V1.0.1.7 Commercial Release

              a.. improved the code speed for devices with more than 128
bytes of SRAM
              b.. added the _GLOBAL_DEFINES_ predefined macro
              c.. improved the function atof in the Standard Library
Functions
              d.. added the function _strlen in the String Functions
              e.. added to the programmer the option to preserve the EEPROM
contents during chip erasure
              f.. improved error handling for the STK500 programmer
              g.. various small improvements in the IDE
            V1.0.1.6 Commercial Release

              a.. added support for the ATmega32 device
              b.. added the modf function to the mathematical functions
library
              c.. improved code size
              d.. improved the programs generated by the CodeWizardAVR for
interrupt driven serial communication
              e.. doubled the communication speed on the I2C bus
              f.. added the _OPTIMIZE_SIZE_ and _OPTIMIZE_SPEED_ predefined
macros
              g.. added sfrw ADCW in the mega163.h header file
            V1.0.1.5 Commercial Release

              a.. improved the code size and speed of comparisons
              b.. improved the peephole and cross-jumps optimizers
              c.. added support for the new AVRASM32 V1.50 assembler that
comes with AVR studio 3.22
              d.. the EEPROM is now written only if the new data is
different from the old one
              e.. added the rand and srand standard library functions
              f.. added the strstr and strstrf string functions
              g.. rewritten the mathematical functions library and added the
following new functions: ldexp, frexp, asin, acos, atan, atan2
              h.. added the Global #define compiler option to allow macros
to be globally visible in all the project files
              i.. removed the #pragma enhcore directive and added the
Enhanced Instructions compiler option to enable/disable the generation of
Enhanced Core instructions for ATmega161/163 and FPSLIC devices
              j.. added ISP support for the Atmel STK500 development board
              k.. improved the File|Reopen menu command
              l.. clicking in the left margin of the editor window now
selects a whole line of text
              m.. added the Ctrl+Y keyboard shortcut for deleting text lines
in the editor
              n.. changed the Redo keyboard shortcut to Shift+Ctrl+Z
              o.. changed the Goto Line keyboard shortcut to Alt+G
            V1.0.1.4 Commercial Release

              a.. added the cross-jumping code optimization
              b.. added the function return code optimization
              c.. added the dead code removing optimization
              d.. significantly improved the speed and size of the generated
code for the switch operator
              e.. added support for the ATmega161, ATmega163 and AT94K
FPSLIC devices in the CodeWizardAVR
              f.. reduced the amount of Windows system resources used by the
CodeVisionAVR IDE
              g.. replaced the 94k10.h, 94k20.h and 94k40.h header files
with the 94k.h file
              h.. added the Clear button in the Terminal
            V1.0.1.3 Commercial Release

              a.. added enum
              b.. added multiple instruction support in #asm
              c.. the ? operator can now have any type of operands
              d.. if a project is opened the AVR Chip Programmer will
automatically load the corresponding .rom, .eep, .hex or .bin files, if they
exist
              e.. redesigned the Terminal
            V1.0.1.2 Commercial Release

              a.. added ISP support for the Dontronics DT006 development
board
              b.. replaced all char with signed char in the header files
math.h , lm75.h and ds1820.h
              c.. improved the speed and size of the sin, cos and tan
functions
              d.. added the fmod function in math.h
              e.. added the predefined macro _UNSIGNED_CHAR_
              f.. added the possibility to load and save projects created in
the CodeWizardAVR
              g.. modified the lm75_init function
              h.. added support for the Dallas Semiconductor DS1621
thermometer/thermostat
              i.. added support for the Philips PCF8563 RTC
              j.. enabled syntax highlighting when debugging in AVR Studio
              k.. added the Edit|Find in Files menu command
              l.. added the Edit|Print Selection menu command
              m.. added the limits.h and float.h header files
              n.. added the possibility to edit the contents of the FLASH
and EEPROM buffers in the AVR Chip Programmer
              o.. modified the keypad.c example program so it compiles with
the Evaluation version
            V1.0.1.1 Commercial Release

              a.. added do while loops optimization
              b.. optimized bit level copy operations
              c.. added the new lcdchar.c example for defining user
characters in LCDs
            V1.0.1.0 Internal Release

            V1.0.0.9 Commercial Release

              a.. the project files are now automatically linked to the main
file on Make, without the need to use #include
              b.. added the new Common Block Subroutine Optimizer, that
allows achieving 25% smaller code size for large programs with optimization
for size turned on
              c.. added loop, branch and subroutine call optimizations
              d.. added macros with parameters
              e.. added the # and ## preprocessor operators
              f.. added the __LINE__ , __FILE__ , __DATE__ , __TIME__
predefined macros
              g.. added the #undef , #line , #error preprocessor directives
              h.. added the #pragma optsize compiler directive
              i.. added the #pragma enhcore compiler directive
              j.. local variables can be now initialized during declaration
              k.. added functions for LCDs connected in 8 bit memory mapped
mode, as used in the Kanda Systems STK200 and STK300 development boards
              l.. added support for libraries
              m.. added the following mathematical functions: exp, log,
log10, pow, sin, cos, tan, sinh, cosh, tanh
              n.. when invoked, the AVR Studio debugger will automatically
load the .obj or .cof file
              o.. added in CodeWizardAVR: the MISO pin is configured as an
output in SPI slave mode
              p.. added Page Setup for printing
              q.. added the Match Braces editor command
              r.. fixed Fuse Bit(s) programming for AT90S/LS2323,
AT90S/LS2343, ATtiny12
              s.. fixed programming of the AT90S1200
              t.. fixed "out of scope" messages when watching local
variables in AVR Studio
              u.. added a reset button in the chip programmer
              v.. the chip programmer buffers are now initialized with FFh
              w.. added support for the Vogel Elektronik VTEC-ISP
              x.. added the possibility to disable programming verification
in the chip programmer
              y.. added a chip programmer counter
              z.. reduced the amount of Windows resources required by
CodeVisionAVR
              aa.. various enhancements to the IDE
              ab.. added the new 4x4 KEYPAD example program
            V1.0.0.8 Commercial Release

              a.. added the possibility to specify the size of bit variables
used by the program
              b.. enhanced the code optimizer, code size decrease is more
than 30% compared with the previous version
              c.. added COFF file generation in order to allow variable
watching in AVR Studio 3 Debugger
              d.. added an advanced automatic register allocator
              e.. added allocation of global char and int variables to
registers up to R15
              f.. added allocation of local char and int variables to
registers from R16 to R21
              g.. added the #pragma regalloc compiler directive
              h.. added the register keyword
              i.. added the typedef keyword
              j.. added pointers to functions
              k.. modified the >> operator to generate the ASR, respectively
LSR, instructions for signed, respectively unsigned, operands
              l.. added the short int and double data types
              m.. added the possibility to enter constants in binary form
              n.. added the strlenf function
              o.. the compiler uses now only the AVRASM32 32 bit assembler,
that is supplied with the AVR Studio 3 Debugger
              p.. added support for the Dallas Semiconductor DS1302 and
DS1307 real time clocks
              q.. added support for 4x40 characters alphanumeric LCDs in the
lcd4x40.h file
              r.. programs that use buffered interrupt driven serial
communication and ADC, produced by the V1.0.0.7 CodeWizardAVR, need to be
generated again with the V1.0.0.8
              s.. modified the i2c_read function in order to allow sending
acknowledgments
              t.. the i2c_init function must be called now prior to
lm75_init, respectively rtc_init, functions for LM75, respectively for
PCF8583 and DS1307
              u.. increased the speed of the I2C bus functions
              v.. renamed the ADC interrupt vector number to ADC_INT and
added the ADCW declaration in the header files: 90s2333.h, 90s4433.h,
90s4434.h, 90c8534.h, 90s8535.h, mega103.h and mega603.h
              w.. added the Navigator
              x.. added a pop-up menu, activated with the mouse right
button, in the Editor windows
              y.. added the possibility to insert bookmarks in the edited
source file
              z.. added the possibility to visit HP InfoTech's web site
directly from the IDE
              aa.. added the possibility to contact HP InfoTeche-mail by
e-mail directly from the IDE
              ab.. added the possibility to run an user program after Make
              ac.. enhanced the Serial Communication Terminal
              ad.. added the possibility to save and restore the position of
the Terminal window
              ae.. added support for using the ISP with Windows NT 4.0 and
2000 with User privileges
              af.. added initialization with 0 of the ISP buffers prior to
file loading
              ag.. fixed: error message when programming the BODEN fuse for
the AT90S2333/4433 chip
              ah.. fixed: GPF on some errors in C source files
            V1.0.0.7 Commercial Release

              a.. added the CodeWizardAVR automatic program generator
              b.. added multidimensional array support (up to 8 dimensions)
              c.. added extern variables
              d.. added to the Serial Communication Terminal the possibility
to save received characters to a file and to transmit files
              e.. enhanced the code optimizer
              f.. added support for the Atmel 32 bit Win32 assembler
AVRASM32, supplied with the AVR Studio 3 Debugger
              g.. added the possibility to use an external startup file
              h.. added the possibility to transfer the license to another
computer
            V1.0.0.6 Commercial Release

              a.. added floating point support
              b.. added static variables
              c.. added memory access functions: peekb, peekw, pokeb, pokew
              d.. added new mathematical functions: fabs, fmin, fmax, fsqrt,
floor, ceil
              e.. added new standard library functions: ftoa, ftoe, atof
              f.. added functions for power management support and SPI
              g.. added width specifier for the printf and sprintf functions
              h.. added new #pragma savereg compiler directive
              i.. enhanced the code optimizer for loops and comparisons
              j.. enhanced the library functions for multiplication and
division
              k.. structures and unions can now be nested up to 16 levels
              l.. added support for in-system programming using the
MicroTronics ATCPU and Mega2000 boards
              m.. enhanced the serial communication terminal
            V1.0.0.5 Commercial Release

              a.. enhanced the source file editor, added: undo, redo, mouse
drag and drop, line numbers, color setup
              b.. modified the mode how external RAM size is specified in
the Project|Configuation|C Compiler menu
              c.. enhanced the code optimizer
              d.. revised the 90s2333.h, 90s4433.h, 90s4434.h, 90s8534.h,
90s8535.h files
              e.. added Dallas Semiconductor 1 Wire protocol functions
              f.. added Dallas Semiconductor DS1820 Temperature Sensor
functions
              g.. added Philips PCF8583 Real Time Clock functions
              h.. added new functions: bcd2bin, bin2bcd
              i.. added the @ operator for specifying the RAM storage
address for global variables
              j.. added the generation of a global variables memory map file
by the compiler
              k.. modified the ATmega103/603 programming
              l.. added support for programming 3V devices
              m.. updated the help file topic Working with the AVR Studio
Debugger
            V1.0.0.4 Commercial Release

              a.. the names of project files are now stored in the .prj file
as relative to the project directory
              b.. increased the Terminal receive buffer size to 32K
              c.. added inline assembly, ex: #asm("sei")
              d.. added delay functions: delay_us, delay_ms
              e.. improved the speed and size of the lsqrt function
              f.. changed the programming of the FSTRT fuse bit for
AT90S8535
              g.. fixed some small bugs
            V1.0.0.3 Commercial Release

              a.. enhanced the code optimizer
              b.. the AVR Chip programmer works also under Windows NT
            V1.0.0.2 Commercial Release

              a.. added struct and unions
              b.. added global bit variables
              c.. functions sqrt and lsqrt rewritten in assembly
              d.. removed the csqrt function
              e.. fixed some small bugs
            V1.0.0.1 Commercial Release

              a.. enhanced the code optimizer
              b.. made the AVR Chip programmer compatible with the KANDA
STK200 and STK300 development boards
              c.. completed the functions library
              d.. added support for: I²C bus, National Semiconductor LM75
temperature sensor
              e.. modified the port bits allocation in lcd.h to simplify the
circuit layout
              f.. added new chip: ATmega103 with maximum 64K compiled binary
size limit
              g.. added a Serial Communication Terminal
              h.. completed the Help file
            V0.0.1.2 BETA

              a.. added: bit level access to I/O registers
              b.. added: support for ATtiny22, AT90S2333/4434, AT90S8534
              c.. added: AVR Chip programmer
              d.. added: Notes/Comments file attached to every project
              e.. added in help file: explanations how to access from C
functions written in assembly
              f.. added: example c_asm.c how to access from C functions
written in assembly
              g.. corrected: lcd.h , csqrt.h , sqrt.h , lsqrt.h
              h.. corrected: "missing } " error at the end of the source
file
              i.. corrected: Windows system errors when exceeding the BETA
file size limit
              j.. corrected: keyword highlighting in comments
            V0.0.1.1 BETA

              a.. added: arrays of pointers
              b.. added: source level debugging in AVR Studio
              c.. enhanced: the code optimizer
              d.. added: history to the File menu
              e.. corrected: the invisible error window problem
              f.. small corrections to the help file
            V0.0.1.0 BETA

              a.. corrected: incorrect code generated for the != operator
for 8 bit values
              b.. corrected: relative jump out of range for large programs
            V0.0.0.9 BETA

              a.. first public release






More information about the Elektro mailing list