Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 11.12.2008, 03:17  
Zandy
Частый гость
 
Регистрация: 03.08.2006
Сообщений: 23
Сказал спасибо: 1
Сказали Спасибо 2 раз(а) в 1 сообщении
Zandy на пути к лучшему
По умолчанию Пошаговая отладка программы в Си

В Си я новичок. До этого писал программы на асме для пиков. Каких-либо проблем с отладкой не было. Все четко, шажок за шажком, все изменения в регистрах, все прозрачно.

Решил изучить АВРки. Ну и захотелось освоить Си. Худо-бедно, подчитал литературку, начал писать простенькие программки. Но столкнулся с проблемой при симуляции. Пишу и компилирую в CVAVR. Отлаживаю в Протеусе. Самое интересное, что программы работают вроде корректно, если включаешь нормальный режим работы. Но вот когда включаешь пошаговый режим, вся радость улетучивается. Курсор скачет по листингу Си совершенно неподобающим образом, например, зацикливаясь на закрывающей фигурной скобке какого-нибудь цикла, пропуская большую часть операторов и функций. В функции, которые я сам написал, вообще не входит. В чем тут дело? Причем внешние проявления работы (вывод на лсд индикатор) нормальные. Высвечивается то что нужно. Но эти проявления никак не связаны с поведением вектора выполнения программы. Еще интересное наблюдение. Если я ставлю точку останова и запускаю программу в нормальном режиме, то программа останавливается там, где надо. А вот при пошаговой отладке никак не удается попасть на эту строку. Короче какая-то хрень.
Мне как новичку приходится продираться через кучу своих ошибок. Хотелось бы быть уверенным, что сами компиляторы - симуляторы работают корректно. Иначе вообще темный лес.

Попробовал симулировать в АВРстудио. Хоть там нет такой наглядности, как в Протеусе, но думал, хоть там все будет корректно работать в пошаговой отладке. Ан нет. Другая беда. Вроде по строчкам нормально скочет, но когда натыкается на вывод какой-нибудь библиотечной функции (например функция очистки LCD дисплея) зависает в ней и никакими усилиями выходить оттуда не хочет.

Дайте каой-нибудь дельный совет, куды крестьянину податься. Без отладки я не могу отследить времена выполнения кусков программы, а для меня они являются очень критичными.

Извините за размер поста. Просто не знаю, что делать, а подсказать живьем некому.
Реклама:
Zandy вне форума  
Непрочитано 11.12.2008, 04:54  
nml
Супер-модератор
 
Аватар для nml
 
Регистрация: 13.03.2004
Адрес: Minsk
Сообщений: 2,378
Сказал спасибо: 1,953
Сказали Спасибо 1,327 раз(а) в 578 сообщении(ях)
nml на пути к лучшему
По умолчанию Re: Пошаговая отладка программы в Си

Сообщение от Zandy
.Решил изучить АВРки. Ну и захотелось освоить Си. Худо-бедно, подчитал литературку, начал писать простенькие программки. Но столкнулся с проблемой при симуляции. Пишу и компилирую в CVAVR. Отлаживаю в Протеусе. Самое интересное, что программы работают вроде корректно, если включаешь нормальный режим работы. Но вот когда включаешь пошаговый режим, вся радость улетучивается. Курсор скачет по листингу Си .
Можно, я выскажу свое нестандартное мнение?

Просто так уж по жизни сложилось, что с микроконтроллерными системами я впервые столкнулся году этак в 1992. Славный чип 1816ВЕ48 (i804 и компы на уровне 286-386.

Протеусами не пахло, ЯВУ - тоже. А работать было надо.

Ничего, все освоили, и на том же 8048 делали весьма неплохие вещи (читали "повесть об одном байте" ? - дык, это как раз про то... у меня была прошивка "85" размером 1022 байта - один остался свободен).

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

Ну, в общем, вы поняли.

Нормальный программер встраиваемых систем первое что делает - УДОБНУЮ ДЛЯ СЕБЯ систему отладки. Чтобы не нужны были 4 руки.

Для меня это - программатор и отладчик на одном ISP шнурке. Уж который год работаю с этой, чисто под себя заточенной и собственноручно сделанной системой - и не знаю никаких проблем.

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

Что касается эмуляторов - как бы их не хвалили - я еще не видел ни одного корректного. Эмулятор хорош для проверки математики. Остальное - ну.. если политкорректно - то не фуфло, а "некорректная система".

Мой совет - отлаживайтесь реалтайм на кристалле. Вот там уж фуфла нету.

Спросите - а при чем тут история с 286 компами? Да при том, что все мои отлаживаемые устройства УЖЕ ТОГДА передавали на комп пусть не все ОЗУ, так хотя бы часть. По RS232. Прогрраммно. По битику...
nml вне форума  
Непрочитано 11.12.2008, 08:24  
avr123-nm-ru
Почётный гражданин KAZUS.RU
 
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
avr123-nm-ru на пути к лучшему
По умолчанию Re: Пошаговая отладка программы в Си

Сообщение от Zandy
Отлаживаю в Протеусе.
Дайте каой-нибудь дельный совет поо отладке в Си
Можно так - http://avr123.nm.ru/z4.htm
Понавставлять в программу контрольных событий (дерганья ножкой) или контрольных сообщений.
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
avr123-nm-ru вне форума  
Непрочитано 11.12.2008, 09:44  
LEAS
Гражданин KAZUS.RU
 
Регистрация: 05.10.2006
Сообщений: 628
Сказал спасибо: 21
Сказали Спасибо 165 раз(а) в 92 сообщении(ях)
LEAS на пути к лучшему
По умолчанию

Zandy-уберите оптимизацию кода при компилировании для отладки-это уже обсуждалось.
nml:
Цитата:
Для меня это - программатор и отладчик на одном ISP шнурке. Уж который год работаю с этой, чисто под себя заточенной и собственноручно сделанной системой - и не знаю никаких проблем.
Нельзя ли посмотреть/повторить эту конструкцию. Ссылку или выложите, если это возможно.
Ну и про протеус-вчера поставил 74сп3 и что там увидел-глюк с прерываниями в 51х как был так и остался(после трассировки исходника они перестают работать).
__________________
Быть,а не казаться.
LEAS вне форума  
Непрочитано 11.12.2008, 09:48  
LEAS
Гражданин KAZUS.RU
 
Регистрация: 05.10.2006
Сообщений: 628
Сказал спасибо: 21
Сказали Спасибо 165 раз(а) в 92 сообщении(ях)
LEAS на пути к лучшему
По умолчанию

Да,Zandy для AVRStudio попробуйте сделать EXTCOFF, а не ELF- в какой-то версии студии она нехорошо отлаживала свой ELF, хотя в протеусе он жужжал.
__________________
Быть,а не казаться.
LEAS вне форума  
Непрочитано 11.12.2008, 15:06  
nml
Супер-модератор
 
Аватар для nml
 
Регистрация: 13.03.2004
Адрес: Minsk
Сообщений: 2,378
Сказал спасибо: 1,953
Сказали Спасибо 1,327 раз(а) в 578 сообщении(ях)
nml на пути к лучшему
По умолчанию

Сообщение от LEAS
Нельзя ли посмотреть/повторить эту конструкцию.
http://avr.nikolaew.org/progr.htm
nml вне форума  
Непрочитано 11.12.2008, 16:25  
kr11507
Прописка
 
Аватар для kr11507
 
Регистрация: 10.04.2008
Сообщений: 165
Сказал спасибо: 8
Сказали Спасибо 10 раз(а) в 10 сообщении(ях)
kr11507 на пути к лучшему
По умолчанию

Расскажу из своего опыта, тоже наболело.
Да, свои функции проскакивало. Щас пропало, CVAVR 2.03.4 Standart, отладка AVR Studio 4.14 и Proteus 7.4 SP 3. LCD - да, юзаю PCD8544.dll, приходится //убирать строки про LCD, вывод на терминал виртуальный всё равно есть (не юзай itoa, из unsigned int все равно знаковое делает).
Теперь дельные советы. Юзай графы, дергай ножками и отслеживай. Открыл я ISIS и кажется, что проще свой проект кинуть чем объяснять... Монстров электроники прошу не скачивать, я такой же как аффтар.

Прикрепленный файл: 9323846.zip
kr11507 вне форума  
Непрочитано 11.12.2008, 17:40  
Zandy
Частый гость
 
Регистрация: 03.08.2006
Сообщений: 23
Сказал спасибо: 1
Сказали Спасибо 2 раз(а) в 1 сообщении
Zandy на пути к лучшему
По умолчанию

Спасибо за участие и ответы.
Кт11507 Ваш проект не могу открыть, т. к. пишет, что нет модели lcd.

А вообще-то у меня совсем все плохо. Просто руки опускаются
Я конечно понимаю, что симуляторы не есть очень хорошо, но у других-то как-то работают. И потом я на таком этапе изучения, что просто не знаю кого винить, себя или симулятор.

Может кто-нибудь глянет на досуге мои проекты. Там два проекта на разных контроллерах с одним и тем же кодом. Один, худо-бедно работает, другой не работает вообще, хоть код на обоих один и тот же. Компилятор CVAVR 1.25.8, симулятор Протеус 7.4SP3.

Обратите внимание на лог симуляции. Какая-то хрень с WDT. В проекте на меге16 вообще происходит постоянный сброс программы после двух-трех операций. Но дело в том, что я в своих проектах WDT вообще не задействую!!! Вот в чем паскудство!

И еще по ходу вопрос. В протеусе, в свойствах контроллера есть окошечко (пустое). Его надо заполнять? Что-либо туда писать надо?

Прикрепленный файл: 9905332.rar
Zandy вне форума  
Непрочитано 11.12.2008, 18:02  
Churchill
Прописка
 
Регистрация: 23.03.2008
Сообщений: 121
Сказал спасибо: 4
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
Churchill на пути к лучшему
По умолчанию

Кстати, в версии 7.4 протеуса с лекарством от Немо у меня с мегой8 тоже постоянно сброс собачки происходит, думал, глюк у меня. На версии 7.2.6 такого нет, все работает четко. Естественно, везде, где надо в коде есть wdr.
Churchill вне форума  
Непрочитано 11.12.2008, 18:26  
Zandy
Частый гость
 
Регистрация: 03.08.2006
Сообщений: 23
Сказал спасибо: 1
Сказали Спасибо 2 раз(а) в 1 сообщении
Zandy на пути к лучшему
По умолчанию

Ну вот, спасибо, кое-что проясняется. Буду пробовать старую версию. Правда тут тоже заковыка. Там нет атини2313. Хотел с ней поработать.

Получается, что, делаю только самые первые шаги, еле-еле держусь на ногах. А тут сплошные подножки.

Может кто подскажет, какой контроллер из АВРок и в какой версии Протеуса работает "без сучка, без задоринки"? Ну, чтобы все ошибки были моими собственными? А то ведь застреваю на ровном месте. Цель пока такая - изучить Си на практических примерах. За реальные проекты (в железе) пока браться мне рановато.
Больно задачи у меня серьезные.
Zandy вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Пошаговая отладка в Proteus Aleksey_Sechov Proteus 5 09.06.2009 15:46
Связка кодевижин +протеус -- пошаговая отладка dma1ru Микроконтроллеры, АЦП, память и т.д 5 23.01.2009 21:34
ПОШАГОВАЯ ИНСТРУКЦИЯ ПРОШИВКИ NOKIA, SE !!! denya09 Автоматика и аппаратура связи 0 14.11.2008 21:09
PROTEUS 6.9 sp4 /неработает пошаговая симуляция Gemes Микроконтроллеры, АЦП, память и т.д 15 11.07.2007 12:36
МК - альтернативная отладка deCoder Микроконтроллеры, АЦП, память и т.д 30 27.06.2006 05:52


Часовой пояс GMT +4, время: 20:53.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot