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

 
 
 
Reply to this topicStart new topic
> Make(WinAvr)+Proteus, Создание Make-файла в WinAvr
Slavik_tz
сообщение Nov 13 2008, 07:51
Сообщение #1


Участник
*

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



Для отладки программы на С в Proteus используется файл с расширением .elf.
Примеры которые поставляются вместе с proteus, после запуска в WinAvr make симулируются нормально.
А если создать с помощью утилиты MFile, входящей в состав пакета WinAvr, и запустить make со своим исходником на С, то в итоге создается .elf, который в Proteus работать оказывается.
Не погли бы подсказать в каком направлении рыть, что бы иметь возможность симулировать свои проекты
в Proteus на С.
Заранее спасибо!
Go to the top of the page
 
+Quote Post
SysRq
сообщение Nov 13 2008, 08:08
Сообщение #2


Чайник, 1 литр
****

Группа: Свой
Сообщений: 655
Регистрация: 17-05-06
Из: Moscow
Пользователь №: 17 168



Сравните makefile, в части "DEBUG = dwarf-2"...
Go to the top of the page
 
+Quote Post
Slavik_tz
сообщение Nov 13 2008, 09:06
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 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
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
Qwertty
сообщение Nov 13 2008, 11:07
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 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, она и появится.
Go to the top of the page
 
+Quote Post
Slavik_tz
сообщение Nov 13 2008, 11:15
Сообщение #5


Участник
*

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



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

Да при том, что если выставить OPT = 0 (без оптимизации) то все нормально определяется, а
OPT=1,2,3,s не работает
Go to the top of the page
 
+Quote Post
Qwertty
сообщение Nov 13 2008, 12:17
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 408
Регистрация: 21-10-06
Из: Санкт-Петербург
Пользователь №: 21 527



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

Прочитайте мое предыдущее сообщение о том куда делась переменная tmp.
Go to the top of the page
 
+Quote Post
PhX
сообщение Nov 17 2008, 04:26
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 473
Регистрация: 10-09-06
Из: Тольятти. Самарская обл.
Пользователь №: 20 249



Проблема с переменными. Когда загружаю протеусом *.elf файл и запускаю watch он говотит что-то типа "variable not in memory block", при этом watch в avr studio работает вполне корректно. В чем может быть причина?


--------------------
Если все, то не я...
Go to the top of the page
 
+Quote Post

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

 


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


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