|
|
  |
Make(WinAvr)+Proteus, Создание Make-файла в WinAvr |
|
|
|
Nov 13 2008, 07:51
|
Участник

Группа: Участник
Сообщений: 51
Регистрация: 4-07-06
Пользователь №: 18 558

|
Для отладки программы на С в Proteus используется файл с расширением .elf. Примеры которые поставляются вместе с proteus, после запуска в WinAvr make симулируются нормально. А если создать с помощью утилиты MFile, входящей в состав пакета WinAvr, и запустить make со своим исходником на С, то в итоге создается .elf, который в Proteus работать оказывается. Не погли бы подсказать в каком направлении рыть, что бы иметь возможность симулировать свои проекты в Proteus на С. Заранее спасибо!
|
|
|
|
|
Nov 13 2008, 09:06
|
Участник

Группа: Участник
Сообщений: 51
Регистрация: 4-07-06
Пользователь №: 18 558

|
Цитата(SysRq @ Nov 13 2008, 10:08)  Сравните makefile, в части "DEBUG = dwarf-2"... да, выбран DEBUG = dwarf-2 На рисунке код на С в WinAvr и загруженый файл, после make .elf в Proteus почему не видно переменной tmp, что сделано не так в makefile
Эскизы прикрепленных изображений
|
|
|
|
|
Nov 13 2008, 11:07
|
Местный
  
Группа: Свой
Сообщений: 408
Регистрация: 21-10-06
Из: Санкт-Петербург
Пользователь №: 21 527

|
Цитата(Slavik_tz @ Nov 13 2008, 12:06)  да, выбран DEBUG = dwarf-2 На рисунке код на С в WinAvr и загруженый файл, после make .elf в Proteus почему не видно переменной tmp, что сделано не так в makefile При чем тут makefile? tmp не видно потому, что ее выбросил оптимизатор. Это локальная переменная, ее значение нигде не используется, вот оптимизатор и решил что она не нужна. Вынесите ее из тела main, она и появится.
|
|
|
|
|
Nov 13 2008, 11:15
|
Участник

Группа: Участник
Сообщений: 51
Регистрация: 4-07-06
Пользователь №: 18 558

|
Цитата(Qwertty @ Nov 13 2008, 13:07)  При чем тут makefile? tmp не видно потому, что ее выбросил оптимизатор. Это локальная переменная, ее значение нигде не используется, вот оптимизатор и решил что она не нужна. Вынесите ее из тела main, она и появится. Да при том, что если выставить OPT = 0 (без оптимизации) то все нормально определяется, а OPT=1,2,3,s не работает
|
|
|
|
|
Nov 13 2008, 12:17
|
Местный
  
Группа: Свой
Сообщений: 408
Регистрация: 21-10-06
Из: Санкт-Петербург
Пользователь №: 21 527

|
Цитата(Slavik_tz @ Nov 13 2008, 14:15)  Да при том, что если выставить OPT = 0 (без оптимизации) то все нормально определяется, а OPT=1,2,3,s не работает Прочитайте мое предыдущее сообщение о том куда делась переменная tmp.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|