Главная arrow Программирование arrow AVR arrow IAR Embedded Workbench for AVR (IAR EW AVR) - устранение ошибок компиляции Monday, September 25 2023  
ГлавнаяКонтактыАдминистрированиеПрограммированиеСсылки
UK-flag-ico.png English Version
GERMAN-flag-ico.png Die deutsche Version
map.gif карта сайта
нашли опечатку?

Пожалуйста, сообщите об этом - просто выделите ошибочное слово или фразу и нажмите Shift Enter.

Поделиться:

IAR Embedded Workbench for AVR (IAR EW AVR) - устранение ошибок компиляции Версия для печати
Написал microsin   
01.03.2009

Здесь решил разместить разбор ошибок, которые у меня происходили при компиляции и методы их устранения.

1. Не компилируется проект в режиие Release (ATMega32), ругается на регистры, определенные в файле iom32.h (хотя в main.c добавлена строка #define <iom32.h>). Решение - меню Project -> Options... -> General Options -> закладка System -> поставить галочку Enable bit definitions in I/O-Include files.

2. Fatal Error[Pe035]: #error directive: This file should only be compiled with iccavr or aavr with processor option -v3      C:\Program Files\IAR AVR Embedded Workbench 4.0\avr\INC\iom32.h
    В файле iom32.h стоит такой блок, который генерит это сообщение:
#if TID_GUARD(3)
#error This file should only be compiled with iccavr or aavr with processor option -v3
#endif /* TID_GUARD(3) */
    Чтобы поправить, нужно корректно выбрать тип процессора. Меню Project -> Options... -> General Options -> закладка Target -> из выпадающего списка Processor configuration выбрать "--cpu=m32, ATmega32".

3. Много ошибок типа:
Error[Pe104]: struct or union is too large c:\asm\polymuson\FlashFile\file_sys.h 114
Error[Pe104]: struct or union is too large c:\asm\polymuson\FlashFile\file_sys.h 117
Error[Pe095]: array is too large c:\asm\polymuson\FlashFile\sd_cmd.c 51
Error[Pe095]: array is too large c:\asm\polymuson\FlashFile\file_sys.c 101
Error[Pe095]: array is too large c:\asm\polymuson\FlashFile\file_sys.c 2299
    Решение - меню Project -> Options... -> General Options -> закладка Target -> Memory model -> выбрать из выпадающего списка Small.

4. Библиотека FlashFile в режиме Debug работает, а в режиме Release - нет. Решение:
1. Project -> Options... -> General Options -> закладка Heap Configuration -> меняем CLIB heap size со значения 0x10 на 0x300.
2. Project -> Options... -> General Options -> закладка System, меняем размер CSTACK c 0x20 на 0x100, а RSTACK можно оставить как было равным 16.

5. The debugging session could not be started. Either the debugger initialization failed, or else the file "C:\asm\polymuson\Debug\Exe\1.cof" was corrupt or of an unsupported format. There might be more information in the Debug Log window.
    Лог отладки показывает следующее:
    Sat Jan 10 20:15:29 2009: Failed to load debugee: C:\asm\polymuson\Debug\Exe\1.cof
   Решение - Project -> Options... -> Linker -> закладка Output -> в поле формат выбрать Debug information for C-SPY и поставить галки With runtime control modules и With I/O emulation modules.

 

Последнее обновление ( 10.09.2009 )
 

Комментарии  

  1. #4 Igor
    2014-03-2620:01:12 спасибо, помогло. microsin, ты крут!
  2. #3 alex
    2010-11-0412:41:54 спасибо, помогло!
  3. #2 Евгений
    2010-07-0815:01:40 + 1
  4. #1 dm
    2009-09-1008:38:18 Спасибо, помогло.

Добавить комментарий

:D:lol::-);-)8):-|:-*:oops::sad::cry::o:-?:-x:eek::zzz:P:roll::sigh:

Защитный код
Обновить

< Пред.   След. >

Top of Page
 
microsin © 2023