Перейти к содержанию
    

Новая версия IAR EW430 4.10A

Уважаемые, а кто может объяснить такое поведение компилятора:

 

С код:

if( !(response & 0x80) )

А вот что сделал компилятор:

CMP.B #0x0, R13

Хочу заметить, что компилятор из версии 3.42А давал другой код, но тоже неправильный:

TST.B R13

 

А если поменять немного, другой бит проверять:

if( !(response & 0x40) )

То компилятор дает правильный код:

BIT.B #0x40, R13

 

Может я чего не понимаю? response - беззнаковое 8 битное число.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Уважаемые, а кто может объяснить такое поведение компилятора:
Ничто не мешает ему представить себе это число как знаковое и после CMP.B #0x0, R13 проверять флаг N. Скорее всего он так и делает дальше. Теперь докажите, что TST.B R13 - неправильный код. Чтобы понять причину такого решения - сравните длину и время команд BIT и CMP

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Уважаемые, а кто может объяснить такое поведение компилятора:

С код:

if( !(response & 0x80) )

...

Так программа то правильно выполняется?

Если правильно, то какбы пофик что там компилер наделал... ну или листинг поболе давайте, а не одну строчку

 

ЗЫ: ну если там действительно бага то хотелось бы это знать!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ничто не мешает ему представить себе это число как знаковое и после CMP.B #0x0, R13 проверять флаг N. Скорее всего он так и делает дальше. Теперь докажите, что TST.B R13 - неправильный код. Чтобы понять причину такого решения - сравните длину и время команд BIT и CMP

 

Да, вы правы. Компилятор все правильно сделал. Я уже и сам потом посмотрел и понял, что это я лапух. Конец дня и все такое, башка не варит. А чего я именно за это ухватился - при переходе на 4,10 версию программа зацикливалась на этом месте, хотя в предыдущей все работало. Буду разбираться что не так.

 

А у вас часто бывает, что при переходе на новую среду разработки что-то перестает работать и надо подправлять исходный код?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А у вас часто бывает, что при переходе на новую среду разработки что-то перестает работать и надо подправлять исходный код?
У компиляторов IAR прослеживается такая тенденция - в новой версии они более тщательно стараются соответствовать стандартам языка Си. Так что, если в предыдущих версиях т.с. "прощались" некоторые вольности и неоднозначности программирования, то совсем не факт, что они не "всплывут" при компиляции этого же проекта в новой версии.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

Ну с версией 4.10 у меня не сложилось - постоянно падает. Интересно что проект открывает, если нажать сразу на Debug - то или просто завершается ничего не сказав, или вылетает стандартное окошко с просьбой отослать данные для анализа "что произошло" в IAR.

А если сделать Rebuild all а затем Debug - все работает, заливается и отлаживается. Но стоит что-то исправить, то после частичной компиляции снова начинает падать при попытке нажать Debug.

Были ли у кого-то такие симптомы?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А если сделать Rebuild all а затем Debug - все работает, заливается и отлаживается. Но стоит что-то исправить, то после частичной компиляции снова начинает падать при попытке нажать Debug.

Были ли у кого-то такие симптомы?

Попробуйте у опциях IDE (IDE Options) установить Make before debagging -> Always.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

установил себе новую версию IAR'а ... можно было и не устанавливать, но требуется работать с контроллером 2618, а старая версия его не поддерживает =(

 

установил, вроде все норм. но! я пользуюсь программатором от OLIMEX ... tiny который.

в настройках FET Debbuger я заметил что появилось возможность выбрать OLIMEX USB.

но если выбрать olimex и попытаться залить прошивку, то iar вылетает с ошибкой =(

так что приходится использовать texas instrument USB-IF...

 

olimex выпустила новые дрова, но они тоже проблему не решили...

 

а жаль!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну с версией 4.10 у меня не сложилось - постоянно падает. Интересно что проект открывает, если нажать сразу на Debug - то или просто завершается ничего не сказав, или вылетает стандартное окошко с просьбой отослать данные для анализа "что произошло" в IAR.

А если сделать Rebuild all а затем Debug - все работает, заливается и отлаживается. Но стоит что-то исправить, то после частичной компиляции снова начинает падать при попытке нажать Debug.

Были ли у кого-то такие симптомы?

 

у меня схожие, но все гораздо хуже :)

 

Rebuild all а затем Debug не помогает

гружу проект - умирает в асм коде ( есть ошибки ), ИАР вылетает - нет связи с контроллером, в последующие загрузки -

Mon Feb 25 16:09:48 2008: Interface dll version 2.3.1.0

Mon Feb 25 16:09:49 2008: Failed to load debugee: E:\...v5xx.d43

 

как побороть?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

у меня схожие, но все гораздо хуже :)

 

Rebuild all а затем Debug не помогает

гружу проект - умирает в асм коде ( есть ошибки ), ИАР вылетает - нет связи с контроллером, в последующие загрузки -

Mon Feb 25 16:09:48 2008: Interface dll version 2.3.1.0

Mon Feb 25 16:09:49 2008: Failed to load debugee: E:\...v5xx.d43

 

как побороть?

 

во во. у меня почти тажа хрень была.

если у тебя программатор от OLIMEX , то попробуй поставить новые дрова.

обновить прошивку программатора. убрать все русские буквы в пути к проекту.

 

мне это помогло.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У меня юсб программатор олимекса и этот иар, все отлично работает!!!

 

никакие библиотеки в иаре я не заменял вроде.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

во во. у меня почти тажа хрень была.

если у тебя программатор от OLIMEX , то попробуй поставить новые дрова.

обновить прошивку программатора. убрать все русские буквы в пути к проекту.

мне это помогло.

MSP FET430-UIF, прошивка автоматом обновилась как только подлючил к данной версии IAR.

проект еще вчера скинул в корень - глухо.

даже ошибки поисправлял :) в симуляторе работает.

глюков стало меньше но кристал перестал определятся, либо оприделяется как F149.

Проверил на приборе с 149 заливши в него программу 2618 , ИАР почему то признал 149 за 2618, по крайней мере не ругнулся.

контроллер в IDE выставлен правильно MSP430F2618 :)

<msp430x26x.h>

// XLINK command file for IAR Embedded Workbench for MSP430.

// This file should be used with the MSP430F2618 microprocessor. тоже в общем родной.

ИАР все так же виснет.

эпопея только начинается, буду держать общественность в курсе :)

 

MSP430

1, 0, 1, 1 (1.0.1.1)

... \olimex.dll

26.09.07 12:30:06, 458752 bytes

 

пора искать обновления, дейсвительно может чего то не учёл.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

эпопея только начинается, буду держать общественность в курсе :)

 

УРА! запустил :).

 

скачал Evaluation с IAR никаких изменений. все та же ошибка.

 

методом стука в бубен ( и переворачавая плату ) удалось залить рабочую прошивку, сбоев пока нет.

Выводы -

НЕ ЗАЛИВАЙТЕ программу с явными ошибками, в симулятере ругалось на переход по адр 0xE0XXX.

возможно в этом и была проблема, неверный код мне один раз удалось залить, после этого 2618 выпал из работы на пару дней.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У меня тоже похоже накрыло...

На работе поставил новый комп (со старым проблем не было, просто апгрейт на более мощный). Поставил IAR.

Без ребилда один из 4 проектов вылетает с ошибкой.

После ребилда работает нормально... посмотрим как будет дальше...

 

PS^WinXP PRO SP2 со всеми патчами, IAR EW430 v4.10A Eval (ew430-ev-web-410a-2.exe)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...