мда... чтобы протеус работал с символьной отладкой необходимо, чтобы обязательно проект протеуса находился в одной папке с исходниками и coff-файлом программы! блин, все через (_._) - никакой структурированности файлов!
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
ARV писал(а):мда... чтобы протеус работал с символьной отладкой необходимо, чтобы обязательно проект протеуса находился в одной папке с исходниками и coff-файлом программы!
АП чём и говорится в руководстве, в хелпе ну и у меня конечно же в курсе по PROTEUS
И как СДЕЛАНО В ДЕСЯТКАХ !!! примеров в самом PROTEUS !
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
да вот и хрен... написал я, но что-то видно поторопился... не в этом дело... и в одной папке не могу выявить исходный текст!
при внимательном рассмотрении того, что выводится во время исполнения make вижу сообщение "avr-objcopy: timer4.elf: no recognized debugging information" - то есть не может эта зараза найти сведений об отладке в elf-файле блин, голову сломать можно! в чем беда?!
tych, блин, ну как вы получаете свой elf? в вашем проекте, между прочим, в протеус грузится test.elf, а не test.cof. а попытка получить при помощи вашего же makefile coff-файл приводит к эффекту, с коротым я бьюсь уже не один день!
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
tych, а нельзя ли сделать курс для нормальных людей, не для чайников? ибо, видимо, я не в состоянии понять "чайный" стиль изложения... с моей точки зрения я сделал 1 в 1, как сказано в вашем знаменитом курсе - однако результат традиционный
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Я делал, снимал скриншоты и описывал свои действия.
Сегодня сделал еще раз ТОЧНО по написаному на стр. 4 курса и результат приложил в виде архива - в архиве наверняка даты файлов видны. ИМХО там точно всё описано, да и коротко достаточно.
Приложите ваш проект - позырю.
P.S. - щас (20:50) добавил в архив вариант с файлом проекта WinAVR и "вокспэйсом".
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
проект показать не могу - секрет
но скажу вам следующее:
1. ваш проектик компилируется и ведет себя по-вашему, т.е. нормально
2. мой проект состоит из 4-х исходников на Си. я внес всего-навсего список моих исходников в makefile и поменял TARGET на свое - больше ничего не менял. откомпилировал, все нормально. НО ПРОТЕУС НЕ ПРОГЛАТЫВАЕТ РЕЗУЛЬТАТ - ругается, что программа вышла за пределы памяти. что, разумеется, не верно, ибо из HEX-а моделируется на ура...
3. все делал в той же папке, откуда ваш проект моделировался успешно. даже в ваш "проект" загружал свой файл...
4. make coff из вашего проекта дает файл cof, который грузится, и даже можно заставить выводить исходники (если их принудительно подключить) - но никакой отладки при этом не выходит (см. выше - я об этом писал).
5. такие вот пироги...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Блиннннннн... а голова то НА ЧТО ? Выкинь НАХ оттудаВА всё секретное да и ваабЧе мой исходник воткни.
Мне ж не секреты твои нужны а попробоваь сделаь чтоб работало.
ARV писал(а): 2. мой проект состоит из 4-х исходников на Си. я внес всего-навсего список моих исходников в makefile и поменял TARGET на свое - больше ничего не менял. :
ИМХО в мэйкфайле укажи как у мен тольго файл MAIN ! Остальные файлы через Инклуды в исходниках.
В моем примере прога как раз и зацикливается в библиотеке WinAVR и в мэйкфайле я её не указывал.
ARV писал(а): make coff из вашего проекта дает файл cof, который грузится, и даже можно заставить выводить исходники (если их принудительно подключить) - но никакой отладки при этом не выходит (см. выше - я об этом писал).
Я ж писал выше и на стр. 4 написано что COF для VMLAB ! а ELF для PROTEUS.
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
tych писал(а):Блиннннннн... а голова то НА ЧТО ? Выкинь НАХ оттудаВА всё секретное да и ваабЧе мой исходник воткни.]
вот я не люблю грубиянов... голова как раз для того, чтобы понять, что если довести проект до пары строк - то все будет пучком. а мне надо 4 файла и примерно 1000 строк...
tych писал(а):ИМХО в мэйкфайле укажи как у мен тольго файл MAIN ! Остальные файлы через Инклуды в исходниках.
интересно, а как компилироваться будет проект? я пока их в библиотеку не собрал - это МОИ файлы, не библиотечные
tych писал(а):Я ж писал выше и на стр. 4 написано что COF для VMLAB ! а ELF для PROTEUS.
а в справке протеуса написано прямо противоположное - WinAVR поддерживается через COFF... но по этой теме спорить нет смысла - мне все равно, какой формат - пока никакой не помогает
P.S. tych, если вы начинаете раздражаться - лучше не отвечайте.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
я в курсе про препроцессор. но мало того, что всю структуру проекта (размещение по папкам) я изгадил для протеуса, так теперь еще изгадить и исходники? рука пока не поднимается - не дошел я, видимо, еще до нужной кондиции...
в общем-то, пока не сильно прижало, просто протеус выдает странные предупреждения при моделировании - при полностью адекватно работающей программе и схеме постоянно пишет "PC содержит адрес вне области ROM" - хотел понять, в каком месте программы что происходит, что ему не нравится... да видно, не судьба...
хотя я и так предполагаю, что ему не нравится, но хотел убедиться... я использую косвенный вызов функций Си, что в ассемблере выглядит как icall - и это, очевидно, протеусу не нравится... но почему?
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
протеус, по-моему, очень не любит, когда прошивка собрана из нескольких объектных файлов, как в моем случае. сейчас работаю надо простым проектом и все вляпываю в один исходный файл - работает, отлаживается, показывает исходники и т.п. В общем, все пристойно.
очень интересно наблюдать за тем, как реагирует оптимизатор WinAVR на ошибки в программе: если в протеусе видно, что строчка в программе есть, а адреса у нее нет - значит, оптимизатор ее выкинул как правило, это происходит при наличии логических ошибок в программе, иногда - из-за неверного синтаксиса (например, для глобальной переменной, которую меняет обработчик прерывания, не указал volatile - оптимизатор ее выкидывает, а заодно и весь код, который эту переменную анализирует и использует в расчетах).
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
ARV писал(а):не указал volatile - оптимизатор ее выкидывает, а заодно и весь код, который эту переменную анализирует и использует в расчетах.
В курсе на стр.5 "Си для МК" я советую ставить volatile повсеместно - пока не постигнешь понимания работы проги и необязательность модификатора в конкретных случаях. Т.е. прога в итоге больше похожа на ту что пишет новичок.
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
Пробовал собрать вот по этой схеме http://homorobot.md6.ru/teach/LCD/LCD.html , но при компиляции (WinAVR 20080610) отказывается напроч =( создавал с помощью (CodeVisionAVR V2.03.5) выдает -> "make.exe" all
make.exe: *** No rule to make target `all'. Stop.