изменения в ICCAVR V3.10D
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено skima 08 апреля 2004 г. 12:11
В ответ на: Они его уже убрали :( у меня в кеше инфа о файле сидит, а он не качается отправлено Krs 08 апреля 2004 г. 11:58

Readme file for ICCAVR V3.10D
Updated: 2004-02-25 [IJOO]
Archived: $Revision: 1.15 $
Contents
Important information
Upgrade information
New features
Known problems
Program corrections
Miscellaneous
Release history
Important information
This patch consists of replacement iccavr.exe and avrproc.dll that
should be copied into "\AVR\bin\"
In addition to this there is also a complete set of precompiled library files
that replaces the existing ones in
"AVR\lib\"

The cpu name to use with XLINK and XLIB is "a90", e.g.

-ca90

An assignment to a bitfield always generates a write access, sometimes also a read access.

The generic memory model currently does not work. It has therefore been disabled in the compiler and in the IAR Embedded Workbench. However, the __generic type pointer does work.

Remember that it is not possible to use a CSTARTUP module designed for ICCA90 (V1.xx). You must adapt the CSTARTUP module supplied with this version of the compiler. The main reasons for this is that ICCAVR supports EC++, and that ICCAVR uses a new method for segment initialization.

Support for 64-bit doubles has been implemented. See also AVRG0002.

Support for long long int has not yet been implemented. It will be supported by the compiler in the near future. See also AVRG0003.

Upgrade information
Upgrading from EWA90
See the guide Migrating from EWA90 to EWAVR.

New features
None
Known problems
EW14697: __task /__C_task is alternatingly called a type attribute and an object attribute in the AVR IAR C/EC++ Compiler Reference Guide.
__task /__C_task is a type attribute.
(p143,p152, and p219)
__monitor is called a type attribute the AVR IAR C/EC++ Compiler Reference Guide, but it is an object attribute.
(p143,p163, and p219)


EW14493: An unsigned char switch statement gives internal error for case values larger than 0xff at low optimization levels. Higher optimization levels work because the case block is optimized away.

EW13969: The compiler accepts the syntax to place a structure into registers but fails with an internal error or does not produce correct code. However, it should be OK to place a bitfiled struct, which is not larger than a register/byte, into a __regvar register.

EW13382: __C_task is described in the AVR IAR C/EC++ Compiler Reference Guide to work as argument to #pragma object_attribute. This is wrong. It should be #pragma type_attribute.

EW12108: Stack information usage is reported incorrectly for __interrrupt functions that call other functions.

EW11611: Calculation of maximum stack usage can give a too large result.

EW10911,EW10440: A pointer to a static member function cannot be used as a flash pointer initializer. This is correct. The problem is that the error message is not clear enough.
Fatal Error[Ta015]: Cannot write to flash memory

AVRC0029: Forward-declared ROOT segments cause a link error with the assembly project, even if the modules containing the forward declarations are not linked into the final executable file.
An example is the cstartup module, which forward-declares the RSTACK and CSTACK segments.


AVRC0028: --initializers_in_flash is always used when -y is selected.

AVRC0015: Located initialized constant variables that are placed in the I/O memory area are not initialized.

AVRC0003: (partially resolved) Structure copying when using the large memory model with more than nine registers locked will cause an internal error with the message:
Internal Error: [CgDriver]: Coloring failed
If the address calculations for the source or destination structure are non-trivial, the compiler might crash when locking more than five registers. Workaround: Lock fewer (nine or five) registers.

AVRC0002: The float_complex and double_complex classes do not work. Due to an optimization in the library that resulted in a name/macro conflict.

AVRG0003: Support for long long int has not yet been implemented.

LB263: Objects referenced only from inline assembler statements will be removed. Workaround: Use the __require intrinsic function to create a reference to the object, or use the __root attribute on the object. Place the intrinsic call close to your inline assembler code.

Program corrections
EW15045: Internal Error: [Core Util/General]: Illegal State Internal mismatch address length. A value was read with 24 bit length and used as 16 bit.

EW15024: Hardware returns two extra bytes which caused CSPY to use all breakpoints and go into single stepping.

Miscellaneous
None.

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru