реклама на сайте
подробности

 
 
3 страниц V  < 1 2 3 >  
Reply to this topicStart new topic
> Глюки IAR на больших проектах, наблюдаю ужасный сабж, я такой один?
zltigo
сообщение Dec 7 2007, 08:59
Сообщение #16


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(sergik_vrn @ Dec 7 2007, 10:40) *
...могу поделиться готовыми настройками для gmake

А в чем их соль?


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
sergik_vrn
сообщение Dec 7 2007, 09:37
Сообщение #17


Частый гость
**

Группа: Свой
Сообщений: 152
Регистрация: 11-10-05
Из: Воронеж
Пользователь №: 9 491



Цитата(zltigo @ Dec 7 2007, 11:59) *
А в чем их соль?

никакой особой соли, просто готовые настройки для запуска компилера. для тех, кто раньше работал в среде, по себе знаю, может оказаться весьма полезно - написать make-файл с нуля ох как непросто
Go to the top of the page
 
+Quote Post
zltigo
сообщение Dec 7 2007, 09:59
Сообщение #18


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(sergik_vrn @ Dec 7 2007, 11:37) *
...просто готовые настройки для запуска компилера.

Думаю, что и это не помешает для наставления на "путь истинный" smile.gif


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
sergik_vrn
сообщение Dec 7 2007, 10:52
Сообщение #19


Частый гость
**

Группа: Свой
Сообщений: 152
Регистрация: 11-10-05
Из: Воронеж
Пользователь №: 9 491



Цитата(zltigo @ Dec 7 2007, 12:59) *
Думаю, что и это не помешает для наставления на "путь истинный" smile.gif

тогда посоветуйте, как это лучше сделать - повесить архив или процитировать файлы в сообщении? их всего три, в общем небольшого размера
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Dec 7 2007, 10:54
Сообщение #20


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Цитата(sergik_vrn @ Dec 7 2007, 12:52) *
тогда посоветуйте, как это лучше сделать - повесить архив или процитировать файлы в сообщении? их всего три, в общем небольшого размера

Лучше присоединить к сообщению архив.
Go to the top of the page
 
+Quote Post
forever failure
сообщение Dec 7 2007, 11:01
Сообщение #21


Местный
***

Группа: Участник
Сообщений: 256
Регистрация: 6-03-05
Из: Екатеринбург
Пользователь №: 3 112



Ну вот, к примеру учебно-тренировочный мэйкфайл для иаровского проекта: (сорри, аттач прицепить не получилось)
Код
ENVROOT = "C:/Program Files/IAR Systems/Embedded Workbench  Evaluation version"
COMROOT = $(ENVROOT)/common
AVRROOT = $(ENVROOT)/avr
LIBROOT = $(AVRROOT)/lib
SRCROOT = ../..

INC = -I$(AVRROOT)/inc -I$(AVRROOT)/inc/clib
MMCU = --cpu=m128

CC = $(AVRROOT)/bin/iccavr
CCFLAGS = $(MMCU) -ms -o ./ -y --initializers_in_flash -s9 --cross_call_passes=4 -DENABLE_BIT_DEFINITIONS\
    -e --do_cross_call --require_prototypes $(INC) --eeprom_size 4096 --lock_regs=4

AS = $(AVRROOT)/bin/aavr
ASFLAGS = -v3 -O./ -s+ -w+ "-M<>" -u_enhancedCore -DIAR -D__ASSEMBLER__ -D__HAS_ENHANCED_CORE__=1 -D__HAS_MUL__=1\
    $(INC) -D__MEMORY_MODEL__=2 -D__ATMEGA128__=1 -D__HAS_ELPM__=1  

LD = $(COMROOT)/bin/xlink.exe
LDFLAGS = -Fintel-standard -I$(AVRROOT)/lib -f $(AVRROOT)/src/template/cfgcan128.xcl\
    -D_..X_HEAP_SIZE=80 -D_..X_CSTACK_SIZE=80 -D_..X_RSTACK_SIZE=80 -e_small_write=_formatted_write\
    -e_medium_read=_formatted_read -f $(AVRROOT)/src/template/cfg3s.xcl -D_..X_FLASH_BASE=_..X_INTVEC_SIZE\
    -H1895 "-h(CODE)0-(_..X_INTVEC_SIZE-1)" -D_..X_EXT_SRAM_BASE=_..X_SRAM_BASE\
    -D_..X_EXT_SRAM_END=_..X_SRAM_BASE -D_..X_EXT_ROM_BASE=_..X_SRAM_BASE -D_..X_EXT_ROM_END=_..X_SRAM_BASE\
    -D_..X_EXT_NV_BASE=_..X_SRAM_BASE -D_..X_EXT_NV_END=_..X_SRAM_END -D_..X_EXT_CSTACK_BASE=_..X_SRAM_BASE\
    -D_..X_EXT_CSTACK_END=_..X_SRAM_BASE -D_..X_EXT_RSTACK_BASE=_..X_SRAM_BASE -D_..X_EXT_RSTACK_END=_..X_SRAM_BASE\
    -C $(AVRROOT)/lib/clib/cl3s-ec.r90

PROGRAMMER = avrdude
PROGFLAGS = -p m128 -c usbasp

OBJLIST = main.r90 interrupt.r90 cstartup.r90

all: $(OBJLIST)
    $(LD) $(OBJLIST) $(LDFLAGS) -o image.hex

main.r90: $(SRCROOT)/main.c
    $(CC) $(CCFLAGS) $(SRCROOT)/main.c

cstartup.r90:
    $(AS) $(ASFLAGS) $(AVRROOT)/src/lib/cstartup.s90

interrupt.r90: $(SRCROOT)/interrupt.S
    $(AS) $(ASFLAGS) $(SRCROOT)/interrupt.S

.phony: program fuse lock clean

program: image.hex
    $(PROGRAMMER) $(PROGFLAGS) -U flash:w:image.hex:i

# atmega128 fuses: crystal 4 MHz, no m103 compat, BOD enabled, BODLEVEL = 2.7v, JTAG disabled
fuse:
    $(PROGRAMMER) $(PROGFLAGS) -U lfuse:w:0xAF:m -U hfuse:w:0xD9:m -U efuse:w:0xFF:m

lock:
    $(PROGRAMMER) $(PROGFLAGS) -U lock:w:0x3C:m

clean:
    del *.r90 *.hex

# EOF
Go to the top of the page
 
+Quote Post
ivainc1789
сообщение Dec 7 2007, 11:27
Сообщение #22


Профессионал
*****

Группа: Свой
Сообщений: 1 175
Регистрация: 5-01-05
Пользователь №: 1 807



Тормоза сборки на больших проектах.... Так какой камень прошиваете, какого размера код получаете? Нужно ведь как-то оценить размер проекта, а то у меня Мега16 забита полностью в макс оптимизации, сборка длится 7 сек. Ни зависонов, ни тормозов... Вполне устраивает...
Go to the top of the page
 
+Quote Post
sergik_vrn
сообщение Dec 7 2007, 11:43
Сообщение #23


Частый гость
**

Группа: Свой
Сообщений: 152
Регистрация: 11-10-05
Из: Воронеж
Пользователь №: 9 491



Цитата(ivainc1789 @ Dec 7 2007, 14:27) *
Тормоза сборки на больших проектах.... Так какой камень прошиваете, какого размера код получаете? Нужно ведь как-то оценить размер проекта, а то у меня Мега16 забита полностью в макс оптимизации, сборка длится 7 сек. Ни зависонов, ни тормозов... Вполне устраивает...

уточню - дело не в сборке больших проектов, сборка сама как раз не тормозит (просто занимает определенное время, пропорциональное количеству файлов проекта). Речь шла изначально о глюках самой среды, когда она зависает на длительное время без особых причин (например, после переключения контекста). длительность и частота зависаний сильно зависит от размера проекта, кроме того, повторюсь, при добавлении в один каталог диска большого к-ва файлов, наблюдал трапы.

Цитата(forever failure @ Dec 7 2007, 14:01) *
Код
LDFLAGS = -Fintel-standard -I$(AVRROOT)/lib -f $(AVRROOT)/src/template/cfgcan128.xcl\
    -D_..X_HEAP_SIZE=80 -D_..X_CSTACK_SIZE=80 -D_..X_RSTACK_SIZE=80 -e_small_write=_formatted_write\
    -e_medium_read=_formatted_read -f $(AVRROOT)/src/template/cfg3s.xcl -D_..X_FLASH_BASE=_..X_INTVEC_SIZE\
    -H1895 "-h(CODE)0-(_..X_INTVEC_SIZE-1)" -D_..X_EXT_SRAM_BASE=_..X_SRAM_BASE\
    -D_..X_EXT_SRAM_END=_..X_SRAM_BASE -D_..X_EXT_ROM_BASE=_..X_SRAM_BASE -D_..X_EXT_ROM_END=_..X_SRAM_BASE\
    -D_..X_EXT_NV_BASE=_..X_SRAM_BASE -D_..X_EXT_NV_END=_..X_SRAM_END -D_..X_EXT_CSTACK_BASE=_..X_SRAM_BASE\
    -D_..X_EXT_CSTACK_END=_..X_SRAM_BASE -D_..X_EXT_RSTACK_BASE=_..X_SRAM_BASE -D_..X_EXT_RSTACK_END=_..X_SRAM_BASE\
    -C $(AVRROOT)/lib/clib/cl3s-ec.r90

на мой вкус подобные вещи лучше задавать в xcl-файле, гораздо более совместимо и адаптируемо

Цитата(IgorKossak @ Dec 7 2007, 13:54) *
Лучше присоединить к сообщению архив.

рабочий make-файл для моего проекта под IAR EWARM 4.41 присоединен. основано на исходниках для AVR, любезно предоставленных в свое время Harry Zhurov'ым. сборка выполняется при помощи vsbuild вызовом из слика echo src_list = %{*.*} > slist.mak | gmake all

Сообщение отредактировал sergik_vrn - Dec 7 2007, 11:46
Прикрепленные файлы
Прикрепленный файл  makefile.rar ( 3.5 килобайт ) Кол-во скачиваний: 60
 
Go to the top of the page
 
+Quote Post
forever failure
сообщение Dec 7 2007, 13:57
Сообщение #24


Местный
***

Группа: Участник
Сообщений: 256
Регистрация: 6-03-05
Из: Екатеринбург
Пользователь №: 3 112



Кстати, два вопроса в связи с этим:
Есть ли в ИАРовском тулчейне своя make? Чо-то я там не нашёл, и использую гнутую.
Где можно найти полное описание языка make, а не только хелловорлды, по возможности с описаниями всячеких расширений ? А то ведь их (мэйков) тоже есть не один вариант, и иной раз мэйкфайл для одной среды не подходит к другой.
Go to the top of the page
 
+Quote Post
Николай Z
сообщение Dec 7 2007, 14:06
Сообщение #25


Местный
***

Группа: Участник*
Сообщений: 418
Регистрация: 20-08-07
Пользователь №: 29 930



Цитата(sergik_vrn @ Dec 5 2007, 10:54) *
У меня IAR EWARM 4.41a, до этого был 4.20с - на обоих серьезные проблемы при работе с большими проектами (из большого числа файлов). Среда начинает сильно тормозить, при переключении контекста нередки зависания на 1-2 минуты и более, загрузка проца 99%, немереное потребление виртуальной памяти, особенно в режиме отладки... Замечено было даже, что при превышении определенного к-ва исходных файлов в каталоге проекта среда при запуске трапается, приходится разносить исходники по подкаталогам. Сперва грешил на "грязную" систему NT 2000, на днях установил с 0 XP, попробовал на совсем "голой" - картина аналогичная, даже хуже.
Скажите мне, я такой один, или у кого-то наблюдались похожие симптомы?


Пользуюсь IAR 4.42...
Проект состоит примерно из 50 *.c файлов, ну и куча *.h-файлов - не меньше 50-ти однозначно...
Система - XP, RAM - 1024, двухголовый пень - частота 2.2 Ггц 2 Duo CPU E4500... Целевой процессор - STR912F на нашей собственной плате....

Даже при работе со встроенным редактором IDE - проблем не возникает.
И зависания если и возникают - то не чаще 1-2 раз за неделю... При том, что я машину обычно не выключаю и проект висит открытым - иногда неделями...

Сообщение отредактировал Николай Z - Dec 7 2007, 14:07
Go to the top of the page
 
+Quote Post
sergik_vrn
сообщение Dec 7 2007, 14:12
Сообщение #26


Частый гость
**

Группа: Свой
Сообщений: 152
Регистрация: 11-10-05
Из: Воронеж
Пользователь №: 9 491



Цитата(Николай Z @ Dec 7 2007, 17:06) *
Пользуюсь IAR 4.42...
Проект состоит примерно из 50 *.c файлов, ну и куча *.h-файлов - не меньше 50-ти однозначно...
Система - XP, RAM - 1024, двухголовый пень - частота 2.2 Ггц 2 Duo CPU E4500... Целевой процессор - STR912F на нашей собственной плате....

Даже при работе со встроенным редактором IDE - проблем не возникает.
И зависания если и возникают - то не чаще 1-2 раз за неделю... При том, что я машину обычно не выключаю и проект висит открытым - иногда неделями...

Вам повезло smile.gif хотя у меня файлов *.cpp под 80... попробовать штоли новую версию...

Цитата(forever failure @ Dec 7 2007, 16:57) *
Кстати, два вопроса в связи с этим:
Есть ли в ИАРовском тулчейне своя make? Чо-то я там не нашёл, и использую гнутую.
Где можно найти полное описание языка make, а не только хелловорлды, по возможности с описаниями всячеких расширений ? А то ведь их (мэйков) тоже есть не один вариант, и иной раз мэйкфайл для одной среды не подходит к другой.

1. нет, я тоже гнутую использую
2. погуглить не пробовали? уж что-что, но мейк... в свое время я без проблем нашел подробное описание, правда, с ходу его понять проблематично
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Dec 7 2007, 19:42
Сообщение #27


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Цитата(sergik_vrn @ Dec 7 2007, 16:12) *
2. погуглить не пробовали? уж что-что, но мейк... в свое время я без проблем нашел подробное описание, правда, с ходу его понять проблематично

Здесь надо быть осторожным. Мейк мейку рознь. И многие из них не совместимы.
Ищите gnu make.
Go to the top of the page
 
+Quote Post
forever failure
сообщение Dec 8 2007, 06:13
Сообщение #28


Местный
***

Группа: Участник
Сообщений: 256
Регистрация: 6-03-05
Из: Екатеринбург
Пользователь №: 3 112



я обо што и говорю.
Есь, по крайней мере GNU, BSD, Borland make, Microsoft nmake, Sun dmake. В большинстве своём - одно и тоже, но несовместимости и расширения совершенно точно есть.
Go to the top of the page
 
+Quote Post
Непомнящий Евген...
сообщение Dec 10 2007, 06:35
Сообщение #29


Знающий
****

Группа: Свой
Сообщений: 771
Регистрация: 16-07-07
Из: Волгодонск
Пользователь №: 29 153



Цитата(forever failure @ Dec 7 2007, 16:57) *
Есть ли в ИАРовском тулчейне своя make? Чо-то я там не нашёл, и использую гнутую.


Что вы имеете в виду под "своей make"?
Есть iarbuild, который на вход получает проект *.ewp и название конфигурации и его собирает....
Удобно для быстрого перехода под другую IDE. На будущее по-моему, лучше все равно использовать какие-нибудь сторонние тулзы для билда. Я использую SCons.
Go to the top of the page
 
+Quote Post
msalov
сообщение Dec 10 2007, 07:18
Сообщение #30


Знающий
****

Группа: Свой
Сообщений: 526
Регистрация: 24-08-07
Из: Беларусь, Минск
Пользователь №: 30 045



Цитата(forever failure @ Dec 7 2007, 15:57) *
Кстати, два вопроса в связи с этим:
Есть ли в ИАРовском тулчейне своя make? Чо-то я там не нашёл, и использую гнутую.
Где можно найти полное описание языка make, а не только хелловорлды, по возможности с описаниями всячеких расширений ? А то ведь их (мэйков) тоже есть не один вариант, и иной раз мэйкфайл для одной среды не подходит к другой.

Как бы это странно не выглядело, но наиболее полную информацию о GNU версии make можно получить на офф сайте http://www.gnu.org/software/make/
Go to the top of the page
 
+Quote Post

3 страниц V  < 1 2 3 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 21:31
Рейтинг@Mail.ru


Страница сгенерированна за 0.01512 секунд с 7
ELECTRONIX ©2004-2016