|
|
  |
Новая версия IAR EW430 4.10A, появилась новая версия |
|
|
|
Jan 23 2008, 14:15
|
Группа: Участник
Сообщений: 14
Регистрация: 23-01-08
Пользователь №: 34 349

|
Уважаемые, а кто может объяснить такое поведение компилятора:
С код: if( !(response & 0x80) ) А вот что сделал компилятор: CMP.B #0x0, R13 Хочу заметить, что компилятор из версии 3.42А давал другой код, но тоже неправильный: TST.B R13
А если поменять немного, другой бит проверять: if( !(response & 0x40) ) То компилятор дает правильный код: BIT.B #0x40, R13
Может я чего не понимаю? response - беззнаковое 8 битное число.
|
|
|
|
|
Jan 23 2008, 16:24
|
Частый гость
 
Группа: Свой
Сообщений: 94
Регистрация: 12-11-05
Из: Росиия, Нижний Новгород
Пользователь №: 10 750

|
Цитата(М430 @ Jan 23 2008, 17:15)  Уважаемые, а кто может объяснить такое поведение компилятора: С код: if( !(response & 0x80) ) ... Так программа то правильно выполняется? Если правильно, то какбы пофик что там компилер наделал... ну или листинг поболе давайте, а не одну строчку ЗЫ: ну если там действительно бага то хотелось бы это знать!
|
|
|
|
|
Jan 23 2008, 19:41
|
Группа: Участник
Сообщений: 14
Регистрация: 23-01-08
Пользователь №: 34 349

|
Цитата(Сергей Борщ @ Jan 23 2008, 17:07)  Ничто не мешает ему представить себе это число как знаковое и после CMP.B #0x0, R13 проверять флаг N. Скорее всего он так и делает дальше. Теперь докажите, что TST.B R13 - неправильный код. Чтобы понять причину такого решения - сравните длину и время команд BIT и CMP Да, вы правы. Компилятор все правильно сделал. Я уже и сам потом посмотрел и понял, что это я лапух. Конец дня и все такое, башка не варит. А чего я именно за это ухватился - при переходе на 4,10 версию программа зацикливалась на этом месте, хотя в предыдущей все работало. Буду разбираться что не так. А у вас часто бывает, что при переходе на новую среду разработки что-то перестает работать и надо подправлять исходный код?
|
|
|
|
|
Jan 24 2008, 12:47
|
Группа: Участник
Сообщений: 14
Регистрация: 23-01-08
Пользователь №: 34 349

|
Цитата(rezident @ Jan 23 2008, 21:58)  У компиляторов IAR прослеживается такая тенденция - в новой версии они более тщательно стараются соответствовать стандартам языка Си. Так что, если в предыдущих версиях т.с. "прощались" некоторые вольности и неоднозначности программирования, то совсем не факт, что они не "всплывут" при компиляции этого же проекта в новой версии. Ну с версией 4.10 у меня не сложилось - постоянно падает. Интересно что проект открывает, если нажать сразу на Debug - то или просто завершается ничего не сказав, или вылетает стандартное окошко с просьбой отослать данные для анализа "что произошло" в IAR. А если сделать Rebuild all а затем Debug - все работает, заливается и отлаживается. Но стоит что-то исправить, то после частичной компиляции снова начинает падать при попытке нажать Debug. Были ли у кого-то такие симптомы?
|
|
|
|
|
Feb 25 2008, 14:18
|
Участник

Группа: Участник
Сообщений: 36
Регистрация: 4-03-05
Из: Киев
Пользователь №: 3 078

|
Цитата(М430 @ Jan 24 2008, 14:47)  Ну с версией 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 как побороть?
|
|
|
|
|
Feb 25 2008, 17:57
|

Частый гость
 
Группа: Участник
Сообщений: 142
Регистрация: 11-08-07
Пользователь №: 29 713

|
Цитата(NoName @ Feb 25 2008, 17:18)  у меня схожие, но все гораздо хуже  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 , то попробуй поставить новые дрова. обновить прошивку программатора. убрать все русские буквы в пути к проекту. мне это помогло.
|
|
|
|
|
Feb 26 2008, 10:52
|
Участник

Группа: Участник
Сообщений: 36
Регистрация: 4-03-05
Из: Киев
Пользователь №: 3 078

|
Цитата(CAHTA_1939 @ Feb 25 2008, 19:57)  во во. у меня почти тажа хрень была. если у тебя программатор от 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 пора искать обновления, дейсвительно может чего то не учёл.
|
|
|
|
|
Feb 26 2008, 13:14
|
Участник

Группа: Участник
Сообщений: 36
Регистрация: 4-03-05
Из: Киев
Пользователь №: 3 078

|
Цитата(NoName @ Feb 26 2008, 12:52)  эпопея только начинается, буду держать общественность в курсе  УРА! запустил  . скачал Evaluation с IAR никаких изменений. все та же ошибка. методом стука в бубен ( и переворачавая плату ) удалось залить рабочую прошивку, сбоев пока нет. Выводы - НЕ ЗАЛИВАЙТЕ программу с явными ошибками, в симулятере ругалось на переход по адр 0xE0XXX. возможно в этом и была проблема, неверный код мне один раз удалось залить, после этого 2618 выпал из работы на пару дней.
|
|
|
|
|
  |
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|