Модераторы: PILOT, ManiaK, Mazzi
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [avr] Как работать с avr-gprof под виндой? 
V
    Опции темы
UniBomb
Дата 19.4.2011, 13:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
***
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 1754
Регистрация: 24.10.2006
Где: Санкт-Петербург

Репутация: 9
Всего: 97



Добрый день. Захотелось тут поковыряться с профайлером. До этого необходимости в нём не было. Итак, прочитав доку по профайлеру я в мейкфайл добавил вожделенный ключик -pg. Всё скомпилировалось. Далее расчехляю профайлер:

Код

avr-gprof myprogram.o


Конечно же ничего не происходит, т.к. нет файла gmon.out. Порыскав по интернетам я обнаружил деталь, которую не заметил в доке на профайл - скомпилированную программу надо запустить и прогнать несколько раз ( ./myprogram 50). Но как это сделать во-первых под виндой, а во-вторых не исполняемый файл? Я понимаю, что что-то ещё упускаю и говорю глупости, но никак не могу понять что  smile 

В общем подскажите - как жить счастливо? 


--------------------
PM MAIL ICQ Skype   Вверх
xvr
Дата 19.4.2011, 15:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 8
Всего: 223



Очень и очень сомнительная перспектива по профилированию чего бы то ни было на железном AVR  smile Ему просто некуда сбрасывать профиль (да и считать не на чем)
Только под симуляторами  smile 

Можно посмотреть, что там в newlib'е для avr написали в mcount (эту функцию вставляет компилятор для профилирования)
 
PM MAIL   Вверх
UniBomb
Дата 19.4.2011, 15:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
***
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 1754
Регистрация: 24.10.2006
Где: Санкт-Петербург

Репутация: 9
Всего: 97



xvr, я вообще даже и не думал профилировать на реальном железе  smile  Насчёт симулятора я думал в сторону simulavr, но не понятно что к чему прикручивать и возможно ли. В прошлую мою попытку освоить avr-gcc я не смог прикрутить avr-gdb к нему, а тут даже в доках не указана возможность с профайлером. И порой у меня возникает чувство, что 66% процентов (треть из-за того, что заточена под linux, треть из-за того, что даже на линуксе не работает) winavr под виндой вообще не работает и таскается из релиза в релиз исключительно в целях "комплекностти".

Цитата(xvr @  19.4.2011,  16:35 Найти цитируемый пост)
Можно посмотреть

А как?  smile 


--------------------
PM MAIL ICQ Skype   Вверх
xvr
Дата 19.4.2011, 17:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 8
Всего: 223



Скачал (не поленился) avr-libc. Никаких упоминаний профилирующих функций там не нашел (вообще!)
Как оно собралось с -pg не очень представляю

Добавлено через 1 минуту и 27 секунд
А можно какой нибудь откомпилированный файлик (с -pg и -S) ?

PM MAIL   Вверх
UniBomb
Дата 20.4.2011, 08:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
***
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 1754
Регистрация: 24.10.2006
Где: Санкт-Петербург

Репутация: 9
Всего: 97



Откомпилил с ключами:
Код

avr-gcc -g -c -pg -S -mmcu=atmega64 -Os -DF_CPU=7372800 -std=gnu99 test.c




Присоединённый файл ( Кол-во скачиваний: 2 )
Присоединённый файл  test.s 68,12 Kb


--------------------
PM MAIL ICQ Skype   Вверх
xvr
Дата 20.4.2011, 10:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 8
Всего: 223



От профайлера обраружены счетчики в сегмента данных, с которыми никто не работает  smile 
Код

    .data
.LP10:
    .byte   0
    .byte   0
    .byte   0
    .byte   0
    .text
/* profiler 10 */.LM2:
и так в начале всех функций.

Резюме - профайлер не работоспособен, хотя до конца из сорцов компилятора и не вычесан  smile 
А avr-gprof вообще фикция.

PM MAIL   Вверх
UniBomb
Дата 20.4.2011, 11:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
***
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 1754
Регистрация: 24.10.2006
Где: Санкт-Петербург

Репутация: 9
Всего: 97



Цитата(xvr @  20.4.2011,  11:58 Найти цитируемый пост)
А avr-gprof вообще фикция

 smile Зачем же тогда эти ироды его таскают за WinAvr все эти годы? 


xvr, а ты знаешь ещё какие-нибудь средства оценки времени выполнения программы?


--------------------
PM MAIL ICQ Skype   Вверх
xvr
Дата 20.4.2011, 19:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 8
Всего: 223



Цитата(UniBomb @  20.4.2011,  11:45 Найти цитируемый пост)
 Зачем же тогда эти ироды его таскают за WinAvr все эти годы? 

Они могут быть вообще не в курсе - ну собралось там что то, и фиг с ним  smile 

Цитата(UniBomb @  20.4.2011,  11:45 Найти цитируемый пост)
xvr, а ты знаешь ещё какие-нибудь средства оценки времени выполнения программы?

Не задавался таким вопросом (применительно к МК). Наверное можно в симуляторе что то посчитать, ну и на реальной железке померять (если найдется свободная нога у процессора - вывести туда 1 в начале куска кода и 0 в конце. Дальше осциллограф  smile )

PM MAIL   Вверх
UniBomb
Дата 21.4.2011, 08:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
***
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 1754
Регистрация: 24.10.2006
Где: Санкт-Петербург

Репутация: 9
Всего: 97



Цитата(xvr @  20.4.2011,  20:57 Найти цитируемый пост)
Они могут быть вообще не в курсе

 smile 

Цитата(xvr @  20.4.2011,  20:57 Найти цитируемый пост)
Наверное можно

Я на самом деле хотел заморочится с профайлером из-за того, что думал одно из прерываний у меня выполняется слишком долго, из-за чего следующее возникает когда предыдущее ещё не отработало. В симуляторе такое воспроизвести сложнее, а для метода с осцильником мне не хватает второго щупа (что бы остлеживать и возникновение прерывания, и длительность выполнения обработчика)  smile Но всё оказалось намного проще и банальней - из-за невнимательности я допустил глупую опечатку  smile


--------------------
PM MAIL ICQ Skype   Вверх
xvr
Дата 21.4.2011, 15:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 8
Всего: 223



Цитата(UniBomb @  21.4.2011,  08:05 Найти цитируемый пост)
В симуляторе такое воспроизвести сложнее, а для метода с осцильником мне не хватает второго щупа (что бы остлеживать и возникновение прерывания, и длительность выполнения обработчика) 
Для этого достаточно одного щупа. В начале обработчика взводишь ногу в 1, в конце сбрасываешь в 0. Дальше смотришь осциллографом скважность. Если она подползает к 100%, то что то в прерывании пора чинить  smile 

Цитата(UniBomb @  21.4.2011,  08:05 Найти цитируемый пост)
Но всё оказалось намного проще и банальней - из-за невнимательности я допустил глупую опечатку

Ну вот, а так хотелось попрофилировать  smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Микроконтроллеры (MCU) и микропроцессоры (MPU)"
PILOT ManiaK
UniBomb Mazzi

На данный раздел помимо Правил форума распространяются текже следующие правила:


  • Прежде чем создать тему воспользуйтесь поиском или посмотрите в faq. Возможно на форуме уже есть ответ на ваш или близкий к вашему вопрос.
  • В заголовке темы в квадратных скобках обозначьте используемое семейство микроконтроллера: [avr],[pic],[arm].
  • При создании темы с вопросом указывайте участок кода с ошибкой, версию компилятора, схемы подключения, fuse биты и прочие данные, которые помогут найти правильный ответ. Для форматирования текста программ используйте кнопку код.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Для флуда, просьб выполнить задание, поиска партнёров или исполнителей существуют свои разделы.
  • Если вы заметили несовместимое с правилами сообщение, то можете уведомить об этом модератора раздела нажав кнопку Репорт у соответствующего сообщения.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, PILOT, ManiaK, UniBomb, Mazzi.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Микроконтроллеры (MCU) и микропроцессоры (MPU) | Следующая тема »


 




[ Время генерации скрипта: 0.0991 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.