реклама на сайте
подробности

 
 
4 страниц V  < 1 2 3 4 >  
Reply to this topicStart new topic
> Баги симуляторов ...
defunct
сообщение Aug 25 2007, 23:04
Сообщение #31


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(zltigo @ Aug 26 2007, 01:40) *
компилим:
...
Получаем:
Warning[Pe187]: use of "=" where "==" may have been intended ....

А если так:
Код
    if( count = *(volatile char *)0x00 )
    {  do_dummy();
    }



Цитата
Причем, я вообще не представаляю в какое 'место' сунуть отладчик, если при каком-то сочетании будет неверное распознавание.

Просто притормозить МК, и посмотреть, а что же там насчитало.
Ведь всю память видно, все структуры.

Цитата
Спасибо, но такая натура для меня это дороговато будет.

Дык не одноразовый же стенд. Окупается с головой.


PS: zltigo, я с Вами во многом согласен во взглядах, но Вы уж больно категорично пытаетесь доказать непотребность или малую пользу внутрисхемных отладчиков. Можно и с помощью одного светодиода все отладить, но ведь дольше ж будет. А время, как известно, - деньги.
Go to the top of the page
 
+Quote Post
rezident
сообщение Aug 25 2007, 23:43
Сообщение #32


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(zltigo @ Aug 26 2007, 04:40) *
Полагаю 3.42 smile.gif

Да, описка вышла. 3.42A.
Цитата(zltigo @ Aug 26 2007, 04:40) *
Берем вышеозначенный компилятор. Без всякого заумства в виде добвавления каких-либо ключей,
хотя я обычно сразу добавляю
--warnings_affect_exit_code
--warnings_are_errors
--remarks
компилим:
Код
    if( count = 3 )
    {  do_dummy();
    }    
    count == 7;

Получаем:

Вот такой эксперимент.
Вопрос зачем было supress на warning ставить можете задать себе.

Ну вот. Опять из вас поперло ЭТО sad.gif Ну почему я должен выглядеть глупее вас, только потому что вам так хочется кажется? Да не выключены у меня эти долбанные варнинги! Не имею привычки их выключать. Вам весь проект прислать или скриншотов достаточно?
На первом скриншоте результат компиляции всего проекта. Как видите там два варнинга.
На втором скриншоте протокол компиляции именно того модуля для которого выданы эти предупреждения. На операцию с переменными volatile ругнулся, а описанную мной ошибку (на третьем скриншоте выделено) в том же модуле спокойно пропустил.
Цитата(zltigo @ Aug 26 2007, 04:40) *
IDE не пользую, точнее пользую, но не чаще, чем отладчик smile.gif

Ну это ваши религиозные предрассудки, с которыми вам и жить. А на религиозные темы спорить ИМХО бесполезно.
Цитата(zltigo @ Aug 26 2007, 04:40) *
Если patch успели скачать до изменения IAR-ом upgrade политики, то прикрутим его и к Evalution..

К сожалению не успел sad.gif Для скачивания апдейта просит указать номер валидной лицензии для полнофункциональной версии. Лицензию сгенерированную кейгеном почему-то не берет sad.gif

P.S. Ну включил еще дополнительно ремарки. Нашел лишнюю запятую в enum-е в одном из хидеров. Других отличий от уже описанного протокола компиляции нет. Ну не обнаруживает в этом конкретном месте компилятор никаких ошибок или недоразумений. А программа-то глючит безбожно sad.gif

P.P.S. А вот как эта строка компилируется.

С ошибкой
Код
//  100   { GD.cap.flag==CAP_FLAG_NEWSMPL;
        CMP.B   #0x1, &GD + 82
        JNE     ??fStartTimerCap_1
        MOV.B   #0x1, R14
        JMP     ??fStartTimerCap_2
??fStartTimerCap_1:
        MOV.B   #0x0, R14
??fStartTimerCap_2:
        BIT.B   #0x1, R14

R14 в данной функции нигде не используется.

А вот без ошибки
Код
//  100   { GD.cap.flag=CAP_FLAG_NEWSMPL;
        MOV.B   #0x1, &GD + 82

что собственно и хотелось в этой операции.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Aug 26 2007, 07:16
Сообщение #33


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(rezident @ Aug 26 2007, 02:43) *
Ну вот. Опять из вас поперло ЭТО sad.gif

"ЭТО", это что? Уверенность, что разработчики компиляторов умнее меня и компилятор ошибается много реже, чем я? Да, дело имено так и обстоит.
Цитата
Вам весь проект прислать или скриншотов достаточно?

Проекта не надо, а вот конкретный компилируемый файл и хидеры к нему посмотреть не отказался бы.
Цитата
Ну это ваши религиозные предрассудки, с которыми вам и жить. А на религиозные темы спорить ИМХО бесполезно.

Забавно smile.gif Прямо в этой ветке Вы пинали IAR IDE и сетовали на ее глюки, после чего меня, который ее НЕ использует (в том числе и по причине глюков) обвиняете в "предрассудках". Зачем, черт побери, пользоваться явно прохими продуктами, если есть продукты, которые выпускаются производителями для которых это основной кусок хлеба, а не попытка сделать 'как у всех' натягивая дежурную маску дружелюбности?
Цитата
А программа-то глючит безбожно sad.gif

Комментировать не буду, ибо имею свое мнение о основных причинах глюков, которое опять несколько не совпадает с доминирующем на форуме sad.gif.

Цитата(defunct @ Aug 26 2007, 02:04) *
Можно и с помощью одного светодиода все отладить, но ведь дольше ж будет. А время, как известно, - деньги.

Я просто пытаюсь 'намекнуть', что после маленьких проектов (что абсолютно естественно), у которых буквально все на виду и достаточно просто взглянуть на окно отладчика сразу становится все ясным и понятным. Для которых отладчик реально демонстрирует просто потрясающую (особенно для ассемблерных) воображене эффективность, обычно приходит время проектов посложнее. В них эфективность применения отладчика резко падает. На первое место выходит проблема "кто шил костюм"
а отладчик прекрасно помогает только с разборками с "пуговицами", к которым, как известно, "притензий нет". Зато отсутствие навыков (в том числе и провоцируемых отладчиком!) вдумчиво писать и уменя читать (в том числе и чужие исходники, ибо куда без них в больших проектах) начинает со страшной силой пожирать и время, и деньги, и нервы.
Подходишь к такому человеку, а он "висит" в отладчике днями, месяцами, неделями. Что-то замучал и произошло самое сташное - отпралено на обьект. Глючит. Любимейшая фраза в таком случае - а у "меня все работает", "как мне это здесь повторить"(дабы припасть к окну отладчика). Все, труба дело sad.gif навыки анализа "глюков", вычитывания тектстов, раздумия над алгоритмами минимальны. Уверености в написанном нет. Начинается слепое латание и замена одних проблем на другие. Все это я наблюдал и наблюдаю, удручающе часто sad.gif sad.gif sad.gif.
Повтояюсь - отладчик, как и любой инстумент, полезен, но для определенных условий и ситуаций. В противном случае он похож на детскую соску, которую пихают когда и куда не поподя, добиваясь что-бы дите не плакало, но отнюдь не того, что бы оно было здорово.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
rezident
сообщение Aug 26 2007, 10:15
Сообщение #34


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(zltigo @ Aug 26 2007, 13:16) *
"ЭТО", это что? Уверенность, что разработчики компиляторов умнее меня и компилятор ошибается много реже, чем я? Да, дело имено так и обстоит.

ЭТО - имеется в виду пренебрежительная самоуверенность. Я вам говорю, что предпреждения у меня НЕ выключены, а вы меня укоряете в том, что я их выключил.
Цитата(zltigo @ Aug 26 2007, 13:16) *
Забавно smile.gif Прямо в этой ветке Вы пинали IAR IDE и сетовали на ее глюки, после чего меня, который ее НЕ использует (в том числе и по причине глюков) обвиняете в "предрассудках".

Предупреждения и сообщения об ошибках выдает не IDE, а компилятор. IDE позволяет лишь избежать "ручной" писанины ваших любимых make-ов, предоставляя пользователю работать с визуальными компонентами и генерируя на выходе строку запуска компилятора со всеми необходимыми опциями. Редактор IDE я пока не обсуждаю.
Цитата(zltigo @ Aug 26 2007, 13:16) *
Зачем, черт побери, пользоваться явно прохими продуктами, если есть продукты, которые выпускаются производителями для которых это основной кусок хлеба, а не попытка сделать 'как у всех' натягивая дежурную маску дружелюбности?

IAR значит по-вашему абсолютно не профессиональный продукт??? 07.gif
Цитата(zltigo @ Aug 26 2007, 13:16) *
Комментировать не буду, ибо имею свое мнение о основных причинах глюков, которое опять несколько не совпадает с доминирующем на форуме sad.gif.

Ну да, куда уж нам до ваших высот колоколен smile.gif Сберегите свое мнение - целее будет. Я-то знаю почему у меня проблемы именно с этим проектом (и не отрицаю того что они есть): 1) отсутствие описания алгоритмов, 2) отсутствие времени на доскональное изучение проекта.
Все остальное написанное вами комментировать не буду, поскольку опять банальности. Еще раз повторяю, я не зацикленный на отладчике ембеддер. По возможности применяю все способы отладки, включая даже ручную отрисовку алгоритмов по исходному тексту, если это чужой код или предварительную прорисовку, если сам запутался в кодировании алгоритма.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Aug 26 2007, 11:09
Сообщение #35


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(rezident @ Aug 26 2007, 13:15) *
Я вам говорю, что предпреждения у меня НЕ выключены, а вы меня укоряете в том, что я их выключил.

Никто не застрахован от ложных предположений. Выложите файл, с удовольствием покопаюсь с целью постановки точного диагноза.
Цитата
Предупреждения и сообщения об ошибках выдает...

Я реагировал на Ваши жалобы на IDE и Ваши упреки (несправедивые smile.gif ) в мой адрес по поводу не использования IAR IDE. Не валите в эту кучу компилятор.
Цитата
IAR значит по-вашему абсолютно не профессиональный продукт??? 07.gif

IDE у IAR самый не профессиональный и неудобоваримый продукт из виденных мной. Когда за буквально считанные минуты использования наступаешь на несколько лежащих на поверхности граблей, то это многое о чем говорит. А то, что несколько багов даже описаны авторами, но по неведомым причинам не исправляются уже несколько лет, говорит об отношении к продукту.
Самые первые проблемы на которые наступил:
- Назначение Hotkeys, не всегда отрабатывает, а если отрабатывает, то не всегда в меню отображается или отображается, но не надолго..
- Падает достаточно часто sad.gif
- Настройки проекта сохраняются только при выходе, посему при падении все можете начинать сначала.
- Где-то что-то в IDЕшных (не проектных) настройках регулярно заклинивает, помогает снос директории SETTINGS, но не надолго. Баг описан, рекомендации по сносу выданы, почему-бы не исправить?
Дальше и запоминать перестал sad.gif
Если к этому добавить минималистичную фуннкциональность, хотя-бы того-же редактора, то говорить о "продукте" как-то язык не поворачивается.
Собственно IAR компиляторы вполне на уровне - не жалуюсь.
Цитата
Еще раз повторяю, я не зацикленный на отладчике ембеддер.

Я еще раз с Вами соглашаюсь, или от меня еще требуется какя-то особая форма покаяния smile.gif?


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
rezident
сообщение Aug 26 2007, 12:02
Сообщение #36


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Все понятно стало. Под "продуктом IAR" вы подразумеваете только IDE, а я же всю совокупность: IDE, редактор, компилятор, ассемблер, линковщик, дебаггер. Если вы имеете сведения, что какой-то из перечисленных компонентов не является разработкой команды IAR, то не стесняйтесь и сообщите об этом.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Aug 26 2007, 12:06
Сообщение #37


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(rezident @ Aug 26 2007, 15:02) *
Все понятно стало. Под "продуктом IAR" вы подразумеваете только IDE

Я ничего не подразумеваю. Я прямо называю своим именем:
Цитата
IDE у IAR самый не профессиональный и неудобоваримый продукт...

За то, что Вам привидилось я не в ответе.
Цитата
Если вы имеете сведения..

А причем тут 'сведения' ??? о том, кто писал. Программные инструменты, к счастью, модульные и предоставляют хорошую свободу выбора для тех, кто умеет свободой пользоваться. Проблемы типа:
Цитата
Иногда возникают ошибки в том месте, где их до этого не было и где я ничего не менял. Вроде помогает Rebuild All или выгрузка/загрузка среды снова. Я уже покаялся, что начал проект в версии 4.32A, хотя до этого работал с вполне вменяемой 3.30A.

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


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
ReAl
сообщение Aug 26 2007, 17:45
Сообщение #38


Нечётный пользователь.
******

Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417



Цитата(defunct @ Aug 25 2007, 19:04) *
как насчет такого бага:
if ( .... ); // .....
{
....
...
}

или такого
if ( pSmth->x = z )
{
}

слежение за Warning'ами становится нетривиальной задачей, когда в проекте около сотни файлов и около сотни известных warning'ов, порождаемых обращениями к открытым массивам ( Payload[1] ).


С одной стороны:
gcc -Wall -Wextra
foo.c: In function 'foo':
foo.c:8: warning: empty body in an if-statement
foo.c:12: warning: suggest parentheses around assignment used as truth value


Во втором предупреждении он имеет ввиду "если ты понимаешь, что ты делаешь, то напиши
if( (p->x = z) )
и я отстану"
Вторые скобки "прячут" присвоение и "снаружи" остаётся результат присваивающего выражения, он перестаёт ругаться.

С другой стороны - то, что можно найти ситуацию, когда предупреждение не будет выдано, ещё не означает, что предупреждения нужно выключить - чем больше найдёт компилятор, тем меньше искать самому.


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post
defunct
сообщение Aug 26 2007, 23:38
Сообщение #39


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(ReAl @ Aug 26 2007, 20:45) *
С другой стороны - то, что можно найти ситуацию, когда предупреждение не будет выдано, ещё не означает, что предупреждения нужно выключить - чем больше найдёт компилятор, тем меньше искать самому.

Предупреждения никогда не нужно отключать! Я никогда нигде не советовал отключать warning'и.
Всегда включаю "параноидальный" режим, помогает.
Но именно на эту ситуацию
Код
    if (jsContext.Cfg.RetransmissionMode = jsContext.AllowedRetransmissionMode); // retransmission mode
    {
        ....

Компилятор CA v.2.42. Warning level 3 (максимальный).
compiling jittersim.c...
linking...
creating hex file from "NPU"...
"NPU" - 0 Error(s), 0 Warning(s).

компилятор RVCT3.0. All warnings.
compiling jittersim.c...
jittersim.c(1232): warning: #1293-D: assignment in condition
linking...
".\Objects\npu_rvds.axf" - 0 Error(s), 1 Warning(s).

исправляем ошибку:
Код
    if (jsContext.Cfg.RetransmissionMode == jsContext.AllowedRetransmissionMode); // retransmission mode
    {


компилятор RVCT3.0. All warnings.
compiling jittersim.c...
linking...
".\Objects\npu_rvds.axf" - 0 Error(s), 0 Warning(s).
Go to the top of the page
 
+Quote Post
Snaky
сообщение Aug 27 2007, 03:02
Сообщение #40


Mute Beholder
***

Группа: Свой
Сообщений: 260
Регистрация: 4-04-07
Из: Третья планета от Солнца
Пользователь №: 26 754



Цитата(defunct @ Aug 25 2007, 23:04) *
как насчет такого бага:
if ( .... ); // .....
{
....
...
}

или такого
if ( pSmth->x = z )
{
}

Цитата(zltigo @ Aug 25 2007, 23:51) *
Еще совет - рекомендую пользоваться С++ компилятором, даже для компиляции "С" исходников - кроме небольших, но приятных, бонусов, обычно более строгие разброки с исходниками.

И еще совет. Я использую PC-Lint: строгие разборки с исходниками, вылавливает вышеприведенные баги и описки влет, существенная экономия времени. Тоже, конечно, вываливает огромную кучу Warning-ов связанных с архитектурой, но среди них есть весьма ценные замечания.


--------------------
Common sense is not so common.
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Nov 13 2007, 10:41
Сообщение #41


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Avr Studio 4.13 build 528
При работе с UART в меге48P регистр UBRR0H так и продолжает мапиться с USCR0C.

А подскажите, уважаемые, эта фигня до сих пор?

ЗЫ. А в собственно меге 48 нет ли нефиксенного бага, как в PWM3 по тому же поводу ? help.gif

Сообщение отредактировал _Pasha - Nov 13 2007, 10:44
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Nov 13 2007, 19:25
Сообщение #42


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Цитата(zltigo @ Aug 26 2007, 11:16) *
Я просто пытаюсь 'намекнуть', что после маленьких проектов (что абсолютно естественно), у которых буквально все на виду и достаточно просто взглянуть на окно отладчика сразу становится все ясным и понятным. Для которых отладчик реально демонстрирует просто потрясающую (особенно для ассемблерных) воображене эффективность, обычно приходит время проектов посложнее. В них эфективность применения отладчика резко падает. На первое место выходит проблема "кто шил костюм"
а отладчик прекрасно помогает только с разборками с "пуговицами", к которым, как известно, "притензий нет". Зато отсутствие навыков (в том числе и провоцируемых отладчиком!) вдумчиво писать и уменя читать (в том числе и чужие исходники, ибо куда без них в больших проектах) начинает со страшной силой пожирать и время, и деньги, и нервы.
Подходишь к такому человеку, а он "висит" в отладчике днями, месяцами, неделями. Что-то замучал и произошло самое сташное - отпралено на обьект. Глючит. Любимейшая фраза в таком случае - а у "меня все работает", "как мне это здесь повторить"(дабы припасть к окну отладчика). Все, труба дело sad.gif навыки анализа "глюков", вычитывания тектстов, раздумия над алгоритмами минимальны. Уверености в написанном нет. Начинается слепое латание и замена одних проблем на другие. Все это я наблюдал и наблюдаю, удручающе часто sad.gif sad.gif sad.gif.
Повтояюсь - отладчик, как и любой инстумент, полезен, но для определенных условий и ситуаций. В противном случае он похож на детскую соску, которую пихают когда и куда не поподя, добиваясь что-бы дите не плакало, но отнюдь не того, что бы оно было здорово.


Люди всё же разные. По разному отлаживают и по разному осмысливают. И совершают ошибки разные. Поэтому, на мой взгляд, нет и не может быть единых подходов к написанию и, тем более к отладке.

Безусловно, внутрисхемный отладчик, на определённом уровне (например отладка протоколов, отладка процессов реального времени) помогает незначительно. Здесь, как вариант возможно применение более мощных отладочных средств или совершенно другие подходы, например внешнее протоколирование или встроенные мониторы и т.д. Но это абсолютно не повод, чтобы вообще отказаться от внутрисхемных отладчиков.

В последнем проекте я делал и полный симулятор на PC и модель строил и отладчиком пользовался. Кстати к JTAG ICE MKII тоже есть, не то чтобы претензии, но так ... типа непродуманность на мой взгляд.
На счёт "вдумчиво прочитать программу и найти все ошибки", я их делаю достаточно мало. Но если уже сделал, то вдумчивое чтение не всегда помогает. smile.gif Хотя это первейшее дело во всех делах.
Go to the top of the page
 
+Quote Post
Igor26
сообщение Nov 14 2007, 11:12
Сообщение #43


Знающий
****

Группа: Свой
Сообщений: 521
Регистрация: 10-02-05
Пользователь №: 2 544



2Zltigo. А теперь представьте такую ситуацию. Принесли с монтажного участка штук так надцать плат размером с формат А3. Начинаем их "заводить", а они нивкакую! Вот тут очень даже облегчает жизнь JTAGICE. Сразу видно, что замкнута или оборвана шина данных/адреса, "косит" микросхема на SPI шине и т.д. и т.п. "Оживление" платы сокращается в разы.
Go to the top of the page
 
+Quote Post
taranoid
сообщение Nov 15 2007, 16:53
Сообщение #44


Участник
*

Группа: Участник
Сообщений: 41
Регистрация: 12-02-06
Пользователь №: 14 242



В даташите на мегу48 меня сразили на повал примеры кода на ассемблере, но самое грустное что в АВРстудио, я М48 прогнать так и не смог, студия висла усмерть. Может этими чипами никто не пользуется?
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Nov 15 2007, 18:27
Сообщение #45


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(taranoid @ Nov 15 2007, 20:53) *
В даташите на мегу48 меня сразили на повал примеры кода на ассемблере, но самое грустное что в АВРстудио, я М48 прогнать так и не смог, студия висла усмерть. Может этими чипами никто не пользуется?


Пожалуйста, сообщите № версии и билд.

У меня не висло, но проблема, которую я ранее описывал, решалась таким образом:
Код
ldi    zL, (1<<USBS0)|(1<<UCSZ01)|(1<<UCSZ00)
sts   ucsr0C,zL
ldi    zL,high(BaudRate_value)
sts   ubrr0H,zL
ldi    zL,low(BaudRate_value)
sts   ubrr0L,zL
;.....etc


Если же UCSR0C инициализировать после UBRR, то UBRR0H будет равен UCSR0C. Что явно не согласуется с doc2545.pdf

Остальное - Well known issues smile.gif

За последнее время, однако, появилось еще кое-что.
АврСтудия глюканула безвозвратно после того, как я повторно установил WINAVR. Но это - уже другая история...

P.S. я компилил по версии асм 1. Асму 2 не доверяю пока.

Сообщение отредактировал _Pasha - Nov 15 2007, 18:29
Go to the top of the page
 
+Quote Post

4 страниц V  < 1 2 3 4 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th June 2025 - 00:49
Рейтинг@Mail.ru


Страница сгенерированна за 0.01541 секунд с 7
ELECTRONIX ©2004-2016