бомжнаработе (11.11.2008 12:57, просмотров: 373) ответил Сергей Борщ на А поподробнее? Просматривал .pdf к версии 2.0?, там про это не было.
Differences between CodeVisionAVR V2 and V1.25.x The CodeVisionAVR V2.0 compiler features a redesigned and enhanced ANSI C compatible front-end.
The following limitations present in the old V1.25.x were removed in V2.0:
- functions could not return structures or unions
- nested structures or unions definitions were not allowed
- defining a structure or union locally was not possible
New features/changes in CodeVisionAVR V2:
a) Compiler:
- ANSI C compatible C front-end
- the bool data type was added
- the @ operator can now be used with variables located in EEPROM too
- there is no need to specify the ‘flash’ or ‘eeprom’ memory attribute during structure or union type definition.
Therefore the same structure or union data type can be easily located in any memory area during variable declaration.
- the compiler now makes distinction between the ‘const’ type qualifier and the ‘flash’ memory attribute.
In order to maintain compatibility with V1.25.x projects, the Project|Configure|C Compiler|Code Generation|Store Global Constants in
FLASH Memory must be checked. If this option is not checked, identifiers declared with the ‘const’ type qualifier will be
placed in RAM.
- the Code Information tab, present in the Navigator after the first Build, displays detailed information regarding defined data types,
preprocessor macros, function and variables declarations, included header files, memory and register allocation
- the abs, cabs, labs and fabs functions were moved from the math.h header to the stdlib.h header
- the preprocessor does not use the old ‘funcused’ directive, when it is found it is always evaluated to 1
- added the #message preprocessor directive
- improved error and warning checking
- improved linker: only the modified C source files are compiled when the Project|Build command is executed
- improved COFF object file generator
- improved code optimizer
b) IDE:
- completely redesigned text Editor with improved syntax highlighting for both C and AVR assembly
- added function parameters and global structure/union members auto complete
- improved code folding
- code folding state can be saved and restored
- bookmarks state can be saved and restored
- added automatic matching brace highlighting when the user places the cursor before the brace
- added automatic file saving at specified time interval
- the Code Navigator was redesigned and displays project information in a more logical way
- an additional Code Information tab is present after a project build. It displays detailed information about the included
header files, preprocessor macro definitions, type definitions, global/static variable declarations, memory allocation and
function definitions.
- added the Functions Call Tree tab in the Navigator
- the new Project|Configure|Files|Output Directories allows to specify in which directories the files generated by the
compiler/linker will be placed.
- improved toolbar
It is important to note that in CodeVisionAVR V2 the .asm, .hex, .eep, .cof files created by the compiler have the name of
the project .prj file.
3. New ATxmega chips support in CodeVisionAVR V2.03.4
- support for the ATxmega chips is provided only for the C Compiler and STK600 Programmer in the JTAG mode.
When creating a new project for these chips, do not use the CodeWizard and select the correct chip type in
Project|Configure|C Compiler|Code Generation|Chip.
- the Standard C I/O Functions use by default the USARTC0. This can be changed by defining the _ATXMEGA_USART_ macro
as described in the corresponding Help topic.
- the SPI functions use by default the SPIC controller on PORTC. This can be changed by defining the _ATXMEGA_SPI_
and _ATXMEGA_SPI_PORT_ preprocessor macros as described in the corresponding Help topic.
- the I2C, 1 Wire, LCD, RTC functions do not yet support the ATxmega chips.
4. Example programs
The Compiler is supplied with the following example
programs:
- "ATxmega128A1 USART and EEPROM access" in \EXAMPLES ATxmega\USARTC0
- "ATmega8535 ADC on the STK500" in \EXAMPLES\ADC8535
- "Real Time Clock with ATmega103, Atmel Application Note AVR134" in \EXAMPLES\AVR134
- "Calling functions written in assembler from C" in \EXAMPLES\C_ASM
- "Moving LED" in \EXAMPLES\LED
- "Accessing the EEPROM" in \EXAMPLES\EEPROM
- "LCD Demo" in \EXAMPLES\LCDDEMO
- "Definition of user characters in LCDs" in \EXAMPLES\LCDCHAR
- "LM75 Thermometer" in \EXAMPLES\THERM75
- "LCD Thermometer" in \EXAMPLES\THERMLCD
- "DS1820/DS18S20 Multipoint thermometer" in \EXAMPLES\DS1820
- "DS1990 Serial Number iButton" in \EXAMPLES\DS1990
- "AD7896 Digital voltmeter" in \EXAMPLES\SPI
- "MAX1241 Digital voltmeter" in \EXAMPLES\MAX1241
- "4x4 Keypad" in \EXAMPLES\KEYPAD
- "Simple multifile project" in \EXAMPLES\MULTFILE
- "Redirecting the output of standard C I/O functions to USART0, USART1
and LCD for an ATmega128 chip" in \EXAMPLES\2USART_LCD