|
Версии IAR -> EWAVR 4.30A, Есть ли смысл апгрэдить? |
|
|
|
 |
Ответов
|
Jun 13 2007, 18:36
|

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

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

Местный
  
Группа: Свой
Сообщений: 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 байта !!!
|
|
|
|
|
Jun 20 2007, 09:07
|
Участник

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

|
Цитата(OLEG_BOS @ Jun 14 2007, 02:54)  А у меня первое впечатление отрицательное: При попытке откомпилировать старый проект (максимальная оптимизация по размеру) были получены заметно различные результаты оптимизации: Тоесть разница составляет 74 байта.... Хотя помнится мне что в версии 4.21А чтобы получить "7 747 bytes of CODE" пришлось попотеть в битве за парочку байтов.... А тут разница в 74 байта !!!  Может это связано с: Цитата EW18976: Nested loops with constant trip counts could be incorrectly optimized. Nested loops should now execute the correct number of iterations. Исправили глюк в оптимизации, вот код нормально стал генерироваться и как следствие стал больше.
|
|
|
|
|
Jun 20 2007, 11:40
|

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

|
Цитата(IceS @ Jun 20 2007, 12:07)  ....как следствие стал больше. Уважаемый IceS, я что- непойму: это есть хорошо или это есть плохо ? Цитата Исправили глюк в оптимизации, вот код нормально стал генерироваться А Вы думаете в Версии 4.21A у меня получился по Вашей логике "не нормальный" код ? А как же тогда устройство работает и успешно реализуется ? Цитата Может это связано с: А что тут думать и гадать - возьмите в обоих версиях включите галочку Linker -> List-> Generate linker listing и посмотрите какой код генерит одна и другая версия... Возможно у Вас еще появятся предположения и философские мысли по поводу того с какой ноги надо встать что бы IAR генерил правильный код Незнаю как Вас, Уважаемый IceS, а лично меня в первую очередь интересует конечный результат - это законченное рабочее устройство, а не диссертации на нему "Недостатки и преимущества различных версий IAR". В моем предыдущем посте я высказал сугубо мое субъективное мнение которое не является "словом в последней инстанции" - каждый волен выбирать сам что ему по душе и с чем ему работать.
|
|
|
|
|
Jun 20 2007, 15:50
|
Участник

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

|
Цитата(OLEG_BOS @ Jun 20 2007, 15:40)  Незнаю как Вас, Уважаемый IceS, а лично меня в первую очередь интересует конечный результат - это законченное рабочее устройство, а не диссертации на нему "Недостатки и преимущества различных версий IAR". Если бы я не был уверен в сказанном, не стал бы вас утруждать прочтением моего поста, а глюк имел место быть  , к сожалению. Сейчас делаю проект. С включенной оптимизацией долго пытался отладить код, не мог понять что за глюки, без оптимизации все ок. Посмотрел в листинг и ужаснулся, при оптимизации часть процедуры не скомпилена  , она вообще отсутствовала! Думал дело в отсутствии лицензии на софт  , и потому не придал особого значения. А вот счас думаю дело в компиляторе, тем более что сам ИАР об этом пишет. Сейчас, к сожалению, не получается воспроизвести эту ситуацию. Так что можете считать мои высказывания бездоказательными  , либо поверить на слово, что это имело место быть.
Сообщение отредактировал IceS - Jun 20 2007, 15:51
|
|
|
|
|
Jun 20 2007, 16:26
|
Гуру
     
Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882

|
Цитата(IceS @ Jun 20 2007, 21:50)  С включенной оптимизацией долго пытался отладить код, не мог понять что за глюки, без оптимизации все ок. Посмотрел в листинг и ужаснулся, при оптимизации часть процедуры не скомпилена  , она вообще отсутствовала! Думал дело в отсутствии лицензии на софт  , и потому не придал особого значения. А вот счас думаю дело в компиляторе, тем более что сам ИАР об этом пишет. Сейчас, к сожалению, не получается воспроизвести эту ситуацию. Так что можете считать мои высказывания бездоказательными  , либо поверить на слово, что это имело место быть. Не думаю, что кто-то станет опровергать это  Многие с таким поведением компилятора сталкивались. Только проблема не в том, что компилятор плохой, а в том, что программисты не внимательно читают его reference guide. Компилятор совершенно формально оптимизирует написанный вами исходник. И если "видит", что в данной функции переменная не изменяется, либо изменяется, но результат ее изменения не влияет на другие переменные, то он смело выкидывает код ее обработки, который вы перед этим долгое время "вылизывали". Чтобы избежать такой ситуации нужно тоже быть формалистом и внимательно прочитать про использование квалификатора volatile.
|
|
|
|
Сообщений в этой теме
Dog Pawlowa Версии IAR -> EWAVR 4.30A Jun 13 2007, 08:54 rezident Апгрейдить есть смысл, если что-то кардинально не ... Jun 13 2007, 09:09 IgorKossak О EWAVR могу сказать, что обновляться смело можно ... Jun 13 2007, 14:32 zltigo Компиляторы upgrade надо делать всегда.
IAR по каж... Jun 13 2007, 14:42 OLEG_BOS Цитата(zltigo @ Jun 13 2007, 17:42) Компи... Jun 13 2007, 15:51 Itch а такскать, лекарство для него где можно найти? Jun 13 2007, 16:39 rezident Цитата(Itch @ Jun 13 2007, 22:39) а такск... Jun 13 2007, 16:56  zltigo Цитата(rezident @ Jun 13 2007, 19:56) Дык... Jun 13 2007, 17:28 Itch ЦитатаДык оно универсальное. Концентрацию только ч... Jun 13 2007, 18:07  zltigo Цитата(OLEG_BOS @ Jun 14 2007, 01:54) что... Jun 13 2007, 23:25    IgorKossak Цитата(OLEG_BOS @ Jun 20 2007, 14:40) В м... Jun 20 2007, 13:40 ivainc1789 Я конечно не эксперт в программировании, но объясн... Jun 22 2007, 20:12 zltigo Цитата(ivainc1789 @ Jun 22 2007, 23:12) В... Jun 22 2007, 20:30  ivainc1789 Цитата(zltigo @ Jun 23 2007, 00:30) А есл... Jun 22 2007, 22:19   rezident Цитата(ivainc1789 @ Jun 23 2007, 03:19) Я... Jun 23 2007, 00:08    IceS Цитата(rezident @ Jun 23 2007, 04:08) А о... Jun 25 2007, 21:08     rezident Цитата(IceS @ Jun 26 2007, 03:08) проверь... Jun 25 2007, 21:20 rezident Цитата(ivainc1789 @ Jun 23 2007, 02:12) Я... Jun 22 2007, 20:50 aspID Простите новичка, но кто-нибудь может подсказать п... Sep 6 2007, 18:24 zltigo Цитата(aspID @ Sep 6 2007, 21:24) кто-ниб... Sep 6 2007, 18:54 dxp Цитата(aspID @ Sep 7 2007, 01:24) Простит... Sep 7 2007, 03:49 rezident aspID, чего надо-то? В версии evaluation отладчи... Sep 6 2007, 19:36 aspID Да, перечитал инфо на сайте иара. Спутал видимо ... Sep 7 2007, 04:51 JimBin 4.30 при загрузке проекта начинает отжирать 50% ре... Sep 8 2007, 04:16 IgorKossak Цитата(JimBin @ Sep 8 2007, 07:16) 4.30 п... Sep 10 2007, 06:30 aspID Цитатаначинает отжирать 50% ресурсов проца
пока не... Sep 8 2007, 07:04 aspID Кстати, на домашней машине так и не удается распин... Sep 10 2007, 16:25 &-rey Поставил 4.30 компилю проект и... внутренняя ошибк... Sep 13 2007, 11:40 JimBin ЦитатаВы уверены, что именно IAR ресурсы потребляе... Oct 4 2007, 11:53 IgorKossak Цитата(JimBin @ Oct 4 2007, 14:53) да, ув... Oct 4 2007, 12:57
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|