yachnyymaxim 0 23 января, 2008 Опубликовано 23 января, 2008 · Жалоба Уважаемые, а кто может объяснить такое поведение компилятора: С код: if( !(response & 0x80) ) А вот что сделал компилятор: CMP.B #0x0, R13 Хочу заметить, что компилятор из версии 3.42А давал другой код, но тоже неправильный: TST.B R13 А если поменять немного, другой бит проверять: if( !(response & 0x40) ) То компилятор дает правильный код: BIT.B #0x40, R13 Может я чего не понимаю? response - беззнаковое 8 битное число. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 119 23 января, 2008 Опубликовано 23 января, 2008 · Жалоба Уважаемые, а кто может объяснить такое поведение компилятора:Ничто не мешает ему представить себе это число как знаковое и после CMP.B #0x0, R13 проверять флаг N. Скорее всего он так и делает дальше. Теперь докажите, что TST.B R13 - неправильный код. Чтобы понять причину такого решения - сравните длину и время команд BIT и CMP Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
diper 0 23 января, 2008 Опубликовано 23 января, 2008 · Жалоба Уважаемые, а кто может объяснить такое поведение компилятора: С код: if( !(response & 0x80) ) ... Так программа то правильно выполняется? Если правильно, то какбы пофик что там компилер наделал... ну или листинг поболе давайте, а не одну строчку ЗЫ: ну если там действительно бага то хотелось бы это знать! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
yachnyymaxim 0 23 января, 2008 Опубликовано 23 января, 2008 · Жалоба Ничто не мешает ему представить себе это число как знаковое и после CMP.B #0x0, R13 проверять флаг N. Скорее всего он так и делает дальше. Теперь докажите, что TST.B R13 - неправильный код. Чтобы понять причину такого решения - сравните длину и время команд BIT и CMP Да, вы правы. Компилятор все правильно сделал. Я уже и сам потом посмотрел и понял, что это я лапух. Конец дня и все такое, башка не варит. А чего я именно за это ухватился - при переходе на 4,10 версию программа зацикливалась на этом месте, хотя в предыдущей все работало. Буду разбираться что не так. А у вас часто бывает, что при переходе на новую среду разработки что-то перестает работать и надо подправлять исходный код? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rezident 0 23 января, 2008 Опубликовано 23 января, 2008 · Жалоба А у вас часто бывает, что при переходе на новую среду разработки что-то перестает работать и надо подправлять исходный код?У компиляторов IAR прослеживается такая тенденция - в новой версии они более тщательно стараются соответствовать стандартам языка Си. Так что, если в предыдущих версиях т.с. "прощались" некоторые вольности и неоднозначности программирования, то совсем не факт, что они не "всплывут" при компиляции этого же проекта в новой версии. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
yachnyymaxim 0 24 января, 2008 Опубликовано 24 января, 2008 · Жалоба У компиляторов IAR прослеживается такая тенденция - в новой версии они более тщательно стараются соответствовать стандартам языка Си. Так что, если в предыдущих версиях т.с. "прощались" некоторые вольности и неоднозначности программирования, то совсем не факт, что они не "всплывут" при компиляции этого же проекта в новой версии. Ну с версией 4.10 у меня не сложилось - постоянно падает. Интересно что проект открывает, если нажать сразу на Debug - то или просто завершается ничего не сказав, или вылетает стандартное окошко с просьбой отослать данные для анализа "что произошло" в IAR. А если сделать Rebuild all а затем Debug - все работает, заливается и отлаживается. Но стоит что-то исправить, то после частичной компиляции снова начинает падать при попытке нажать Debug. Были ли у кого-то такие симптомы? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rezident 0 24 января, 2008 Опубликовано 24 января, 2008 · Жалоба А если сделать Rebuild all а затем Debug - все работает, заливается и отлаживается. Но стоит что-то исправить, то после частичной компиляции снова начинает падать при попытке нажать Debug. Были ли у кого-то такие симптомы? Попробуйте у опциях IDE (IDE Options) установить Make before debagging -> Always. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CAHTA_1939 0 24 февраля, 2008 Опубликовано 24 февраля, 2008 · Жалоба установил себе новую версию IAR'а ... можно было и не устанавливать, но требуется работать с контроллером 2618, а старая версия его не поддерживает =( установил, вроде все норм. но! я пользуюсь программатором от OLIMEX ... tiny который. в настройках FET Debbuger я заметил что появилось возможность выбрать OLIMEX USB. но если выбрать olimex и попытаться залить прошивку, то iar вылетает с ошибкой =( так что приходится использовать texas instrument USB-IF... olimex выпустила новые дрова, но они тоже проблему не решили... а жаль! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
NoName 0 25 февраля, 2008 Опубликовано 25 февраля, 2008 · Жалоба Ну с версией 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 как побороть? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CAHTA_1939 0 25 февраля, 2008 Опубликовано 25 февраля, 2008 · Жалоба у меня схожие, но все гораздо хуже :) 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 , то попробуй поставить новые дрова. обновить прошивку программатора. убрать все русские буквы в пути к проекту. мне это помогло. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jorikdima 0 26 февраля, 2008 Опубликовано 26 февраля, 2008 · Жалоба У меня юсб программатор олимекса и этот иар, все отлично работает!!! никакие библиотеки в иаре я не заменял вроде. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
NoName 0 26 февраля, 2008 Опубликовано 26 февраля, 2008 · Жалоба во во. у меня почти тажа хрень была. если у тебя программатор от 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 пора искать обновления, дейсвительно может чего то не учёл. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
NoName 0 26 февраля, 2008 Опубликовано 26 февраля, 2008 · Жалоба эпопея только начинается, буду держать общественность в курсе :) УРА! запустил :). скачал Evaluation с IAR никаких изменений. все та же ошибка. методом стука в бубен ( и переворачавая плату ) удалось залить рабочую прошивку, сбоев пока нет. Выводы - НЕ ЗАЛИВАЙТЕ программу с явными ошибками, в симулятере ругалось на переход по адр 0xE0XXX. возможно в этом и была проблема, неверный код мне один раз удалось залить, после этого 2618 выпал из работы на пару дней. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
msalov 0 26 февраля, 2008 Опубликовано 26 февраля, 2008 · Жалоба НЕ ЗАЛИВАЙТЕ программу с явными ошибками Хороший совет :a14: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
diper 0 26 февраля, 2008 Опубликовано 26 февраля, 2008 · Жалоба У меня тоже похоже накрыло... На работе поставил новый комп (со старым проблем не было, просто апгрейт на более мощный). Поставил IAR. Без ребилда один из 4 проектов вылетает с ошибкой. После ребилда работает нормально... посмотрим как будет дальше... PS^WinXP PRO SP2 со всеми патчами, IAR EW430 v4.10A Eval (ew430-ev-web-410a-2.exe) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться