Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Make(WinAvr)+Proteus
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
Slavik_tz
Для отладки программы на С в Proteus используется файл с расширением .elf.
Примеры которые поставляются вместе с proteus, после запуска в WinAvr make симулируются нормально.
А если создать с помощью утилиты MFile, входящей в состав пакета WinAvr, и запустить make со своим исходником на С, то в итоге создается .elf, который в Proteus работать оказывается.
Не погли бы подсказать в каком направлении рыть, что бы иметь возможность симулировать свои проекты
в Proteus на С.
Заранее спасибо!
SysRq
Сравните makefile, в части "DEBUG = dwarf-2"...
Slavik_tz
Цитата(SysRq @ Nov 13 2008, 10:08) *
Сравните makefile, в части "DEBUG = dwarf-2"...

да, выбран
DEBUG = dwarf-2


На рисунке код на С в WinAvr и загруженый файл, после make .elf в Proteus
почему не видно переменной tmp, что сделано не так в makefile
Qwertty
Цитата(Slavik_tz @ Nov 13 2008, 12:06) *
да, выбран
DEBUG = dwarf-2
На рисунке код на С в WinAvr и загруженый файл, после make .elf в Proteus
почему не видно переменной tmp, что сделано не так в makefile

При чем тут makefile? tmp не видно потому, что ее выбросил оптимизатор. Это локальная переменная, ее значение нигде не используется, вот оптимизатор и решил что она не нужна. Вынесите ее из тела main, она и появится.
Slavik_tz
Цитата(Qwertty @ Nov 13 2008, 13:07) *
При чем тут makefile? tmp не видно потому, что ее выбросил оптимизатор. Это локальная переменная, ее значение нигде не используется, вот оптимизатор и решил что она не нужна. Вынесите ее из тела main, она и появится.

Да при том, что если выставить OPT = 0 (без оптимизации) то все нормально определяется, а
OPT=1,2,3,s не работает
Qwertty
Цитата(Slavik_tz @ Nov 13 2008, 14:15) *
Да при том, что если выставить OPT = 0 (без оптимизации) то все нормально определяется, а
OPT=1,2,3,s не работает

Прочитайте мое предыдущее сообщение о том куда делась переменная tmp.
PhX
Проблема с переменными. Когда загружаю протеусом *.elf файл и запускаю watch он говотит что-то типа "variable not in memory block", при этом watch в avr studio работает вполне корректно. В чем может быть причина?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.