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

 
 
3 страниц V   1 2 3 >  
Reply to this topicStart new topic
> Версии IAR -> EWAVR 4.30A, Есть ли смысл апгрэдить?
Dog Pawlowa
сообщение Jun 13 2007, 08:54
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Использую EW AVR 411a - не нравится, что при некорректном завершении отладки закрывается среда.
EW MSP430 321A - 1. заблокировано "Go to definition of ..." 2. Постоянно лезет в директорий другого проекта при поиске и открытии файла.

Есть ли смысл апгрэйдить, если все остальное в принципе устраивает, и на что ?


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
rezident
сообщение Jun 13 2007, 09:09
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Апгрейдить есть смысл, если что-то кардинально не устраивает или глючит и есть уверенность, что в следующей верии этого не будет.
Я пользуюсь вер. 3.30А для MSP430. Хотя сейчас, когда пошли проекты на F20xx, пробую 3.42А. Для обеих версий наблюдаю некоторые глюки при работе с переменными volatile. Если такая переменная находится в структуре, то компилятор не всегда корректно ее обрабатывает - "забывает" что она volatile. Причем проявление этого глюка зависит от положения переменной в структуре. Я писал об этом в пустыне.
Кроме того в симуляторе 3.42А (в отличие от 3.30А) перестала работать "ручная" симуляция вызова прерывания. А вот макрос, созданный для этого же дела, работает.
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Jun 13 2007, 14:32
Сообщение #3


Шаман
******

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



О EWAVR могу сказать, что обновляться смело можно (в плане того, что глючности не прибавилось, а уменьшилось), но в некоторых случаях придётся корректировать проект из-за нового синтаксиса.
Последнее касается только ИАРовских расширений.
Новые версии стали намного строже в части диагностики и то, что раньше не вызывало возражений компилятора, сейчас он может мягко намекнуть на возможные проблемы. Надо только не подавлять диагностику и ремарки разрешить.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jun 13 2007, 14:42
Сообщение #4


Гуру
******

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



Компиляторы upgrade надо делать всегда.
IAR по каждому из компиляторов ведет историю изменений - можете ознакомиться на сайте.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
OLEG_BOS
сообщение Jun 13 2007, 15:51
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 386
Регистрация: 1-12-05
Пользователь №: 11 639



Цитата(zltigo @ Jun 13 2007, 17:42) *
Компиляторы upgrade надо делать всегда.

Кстати, для AVR сегодня появился новый релиз : EW AVR 430A.
..Будем пробовать делать upgrade smile.gif

Сообщение отредактировал zltigo - Jun 13 2007, 16:36
Go to the top of the page
 
+Quote Post
Itch
сообщение Jun 13 2007, 16:39
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 358
Регистрация: 27-06-06
Из: Новосибирск
Пользователь №: 18 410



а такскать, лекарство для него где можно найти?
Go to the top of the page
 
+Quote Post
rezident
сообщение Jun 13 2007, 16:56
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(Itch @ Jun 13 2007, 22:39) *
а такскать, лекарство для него где можно найти?

Дык оно универсальное. Концентрацию только чуть увеличить нужно. В ридми все описано. Вместо 10_WIN видимо 11_WIN нужно.

Цитата(OLEG_BOS @ Jun 13 2007, 21:51) *
Кстати, для AVR сегодня появился новый релиз : EW AVR 430A.
..Будем пробовать делать upgrade smile.gif

Вот же блин, а я буквально намедни для товарища 4.21A скачал. sad.gif
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jun 13 2007, 17:28
Сообщение #8


Гуру
******

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



Цитата(rezident @ Jun 13 2007, 19:56) *
Дык оно универсальное. Концентрацию только чуть увеличить нужно

Да. Проверено.


Новенькое:
Код
New features
Improved handling of small aggregate types (structures and unions) and registers.

A new extended keyword __no_runtime_init has been added to the product. For more information, see manual corrections.

Known problems
..........................


Program corrections
EW19158: struct copying, with variable clustering enabled could result in an internal error.

EW19095: On low optimization levels a MULS could be generated instead of a FMULS.

EW19066: A cast from a __generic pointer to a flash pointer could modify the __generic pointer. This has been corrected.

EW19048: The files iopwm2.h, iopwm3.h, iowm2b.h, and iopwm3b.h have been updated to match revision H of Atmel's specification of these devices.

EW18976: Nested loops with constant trip counts could be incorrectly optimized. Nested loops should now execute the correct number of iterations.

EW18966: The files lnkm644ps.xcl and cfgm644p.xcl now have a correct interrupt vector table size.

EW18847: The intrinsic __dgetexp did not generate correct code in all cases, this has now been corrected.

EW18827: The alternate bit names for UCSRnA, UCSRnB and UCSRnC when the USART is in SPI master mode has beem added to the files iom2560.h and iom2561.h.

EW18800: The erroneous transfer of a supplied memory type attribute to const parameters no longer occurrs.

EW18719: The call stack information was broken for code located above 0x4000 on the devices ATmega640, ATmega1280, and ATmega1281.

EW18047: A problem that could cause an internal error when the option --mfc was used has been corrected.

Miscellaneous
The CBRA and SBRA instructions are supported.
Related command line options are:
--enable_cbra_sbra
--set_cbra_sbra_address

__x, __z __x_z, __z_x
The compiler defines the function type attributes __x, __z __x_z, and __z_x which are used by parts of the runtime library. These attributes can give very efficient code in a local perspective, but should be used with care as they change the calling convention and may have a negative effect on the size of the entire application.

Keyword    
Description
__x    The first pointer in the parameter list is placed in register X
__z    The first pointer in the parameter list is placed in register Z
__x_z    The first pointer in the parameter list is placed in register X and the second one in register Z
__z_x    The first pointer in the parameter list is placed in register Z and the second one in register X


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Itch
сообщение Jun 13 2007, 18:07
Сообщение #9


Местный
***

Группа: Свой
Сообщений: 358
Регистрация: 27-06-06
Из: Новосибирск
Пользователь №: 18 410



Цитата
Дык оно универсальное. Концентрацию только чуть увеличить нужно. В ридми все описано. Вместо 10_WIN видимо 11_WIN нужно.

Спасибо! Пациент лекарство принял, теперь готов к подвигам (:
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Jun 13 2007, 18:36
Сообщение #10


Шаман
******

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



Первое впечатление от теста положительное.
Проект на С++ достаточно большой (выходной код ~120kB). Всё работает. Но!
При том же уровне оптимизации (макс. по скорости) код увеличился ~2kB. стал анализировать и обнаружил в числе прочего, что компилятор позаменял вызов некоторых функций (в основном это короткие прологи/эпилоги) инлайновыми вставками. Таким образом получается даже немного быстрее.
При открытии старого (версии 4.21) воркспейса с проектами воркбенч сказал, что они старого??? формата и перевёл их на новый, хотя я в сравнении особой разницы не заметил.
Новые фичи в pdf так и не внесены, так что надо читать manuals.htm.
Наконец то легализовали __x __x_z и др., но предостерегают ими злоупотреблять.
Глюк с __eeput64_16 в eeprom.s90 (я уже писал о нём) так и не исправили, ему уже скоро пять лет исполнится cool.gif
Go to the top of the page
 
+Quote Post
OLEG_BOS
сообщение Jun 13 2007, 22:54
Сообщение #11


Местный
***

Группа: Свой
Сообщений: 386
Регистрация: 1-12-05
Пользователь №: 11 639



Цитата(IgorKossak @ Jun 13 2007, 21:36) *
Первое впечатление от теста положительное.

А у меня первое впечатление отрицательное:

При попытке откомпилировать старый проект (максимальная оптимизация по размеру) были получены заметно различные результаты оптимизации:
Цитата
Версия 4.21А:

7 747 bytes of CODE memory (+ 24 bytes shared)
667 bytes of DATA memory (+ 26 bytes shared)
25 bytes of XDATA memory

Errors: none
Warnings: none

Версия 4.30A

7 821 bytes of CODE memory (+ 24 bytes shared)
667 bytes of DATA memory (+ 26 bytes shared)
25 bytes of XDATA memory

Errors: none
Warnings: none

Тоесть разница составляет 74 байта.... Хотя помнится мне что в версии 4.21А чтобы получить "7 747 bytes of CODE" пришлось попотеть в битве за парочку байтов.... А тут разница в 74 байта !!! wacko.gif
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jun 13 2007, 23:25
Сообщение #12


Гуру
******

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



Цитата(OLEG_BOS @ Jun 14 2007, 01:54) *
чтобы получить "7 747 bytes of CODE" пришлось попотеть в битве за парочку байтов....

Позвольте не поверить о пролитом поте в трудах по экономии пары байтов в 7747 байтном коде писаном на 'C' smile.gif Ну а к к глючам оптимизации следует относиться творчески, ибо сведение их многообразия к трем IDE-шным отфонарным наборам не является хорошим подходом к делу.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
IceS
сообщение Jun 20 2007, 09:07
Сообщение #13


Участник
*

Группа: Свой
Сообщений: 43
Регистрация: 17-10-06
Из: Санкт Петербург
Пользователь №: 21 387



Цитата(OLEG_BOS @ Jun 14 2007, 02:54) *
А у меня первое впечатление отрицательное:

При попытке откомпилировать старый проект (максимальная оптимизация по размеру) были получены заметно различные результаты оптимизации:

Тоесть разница составляет 74 байта.... Хотя помнится мне что в версии 4.21А чтобы получить "7 747 bytes of CODE" пришлось попотеть в битве за парочку байтов.... А тут разница в 74 байта !!! wacko.gif

Может это связано с:
Цитата
EW18976: Nested loops with constant trip counts could be incorrectly optimized. Nested loops should now execute the correct number of iterations.

Исправили глюк в оптимизации, вот код нормально стал генерироваться и как следствие стал больше.
Go to the top of the page
 
+Quote Post
OLEG_BOS
сообщение Jun 20 2007, 11:40
Сообщение #14


Местный
***

Группа: Свой
Сообщений: 386
Регистрация: 1-12-05
Пользователь №: 11 639



Цитата(IceS @ Jun 20 2007, 12:07) *
....как следствие стал больше.

Уважаемый IceS, я что- непойму: это есть хорошо или это есть плохо ? wink.gif

Цитата
Исправили глюк в оптимизации, вот код нормально стал генерироваться


А Вы думаете в Версии 4.21A у меня получился по Вашей логике "не нормальный" код ? А как же тогда устройство работает и успешно реализуется ? wacko.gif

Цитата
Может это связано с:


А что тут думать и гадать - возьмите в обоих версиях включите галочку Linker -> List-> Generate linker listing и посмотрите какой код генерит одна и другая версия... Возможно у Вас еще появятся предположения и философские мысли по поводу того с какой ноги надо встать что бы IAR генерил правильный код wink.gif

Незнаю как Вас, Уважаемый IceS, а лично меня в первую очередь интересует конечный результат - это законченное рабочее устройство, а не диссертации на нему "Недостатки и преимущества различных версий IAR".

В моем предыдущем посте я высказал сугубо мое субъективное мнение которое не является "словом в последней инстанции" - каждый волен выбирать сам что ему по душе и с чем ему работать.
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Jun 20 2007, 13:40
Сообщение #15


Шаман
******

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



Цитата(OLEG_BOS @ Jun 20 2007, 14:40) *
В моем предыдущем посте я высказал сугубо мое субъективное мнение которое не является "словом в последней инстанции" - каждый волен выбирать сам что ему по душе и с чем ему работать.

Ну и чего было так волноваться? Здесь не только Вы имеете право высказывать субьективное мнение.
А у IceS оно оказалось весьма правдоподобным.

Что касается работоспособности и продаваемости изделий, то неоднократно приходилось видеть и исправлять подобные программы, где глюк на глюке. Ибо под работоспособностью чаще понимается удовлетворительный результат, а далеко не всегда правильный. А о том, что зачастую "продают" я вообще молчу.
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 Текстовая версия Сейчас: 22nd July 2025 - 01:22
Рейтинг@Mail.ru


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