Jump to content

    

Новая версия 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 битное число.

Share this post


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

Share this post


Link to post
Share on other sites
Уважаемые, а кто может объяснить такое поведение компилятора:

С код:

if( !(response & 0x80) )

...

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

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

 

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

Share this post


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

 

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

 

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

Share this post


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

Share this post


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

 

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

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

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

Share this post


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

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

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

Share this post


Link to post
Share on other sites

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

 

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

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

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

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

 

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

 

а жаль!

Share this post


Link to post
Share on other sites
Ну с версией 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

 

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

Share this post


Link to post
Share on other sites
у меня схожие, но все гораздо хуже :)

 

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 , то попробуй поставить новые дрова.

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

 

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

Share this post


Link to post
Share on other sites

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

 

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

Share this post


Link to post
Share on other sites
во во. у меня почти тажа хрень была.

если у тебя программатор от 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

 

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

Share this post


Link to post
Share on other sites
эпопея только начинается, буду держать общественность в курсе :)

 

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

 

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

 

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

Выводы -

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

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

Share this post


Link to post
Share on other sites
НЕ ЗАЛИВАЙТЕ программу с явными ошибками

Хороший совет :a14:

Share this post


Link to post
Share on other sites

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

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

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

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

 

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this