| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Микроконтроллеры (MCU) и микропроцессоры (MPU) > [avr] Как работать с avr-gprof под виндой? |
| Автор: UniBomb 19.4.2011, 13:25 | ||
Добрый день. Захотелось тут поковыряться с профайлером. До этого необходимости в нём не было. Итак, прочитав доку по профайлеру я в мейкфайл добавил вожделенный ключик -pg. Всё скомпилировалось. Далее расчехляю профайлер:
Конечно же ничего не происходит, т.к. нет файла gmon.out. Порыскав по интернетам я обнаружил деталь, которую не заметил в доке на профайл - скомпилированную программу надо запустить и прогнать несколько раз ( ./myprogram 50). Но как это сделать во-первых под виндой, а во-вторых не исполняемый файл? Я понимаю, что что-то ещё упускаю и говорю глупости, но никак не могу понять что В общем подскажите - как жить счастливо? |
| Автор: xvr 19.4.2011, 15:35 |
| Очень и очень сомнительная перспектива по профилированию чего бы то ни было на железном AVR Только под симуляторами Можно посмотреть, что там в newlib'е для avr написали в mcount (эту функцию вставляет компилятор для профилирования) |
| Автор: UniBomb 19.4.2011, 15:49 |
| xvr, я вообще даже и не думал профилировать на реальном железе А как? |
| Автор: xvr 19.4.2011, 17:25 |
| Скачал (не поленился) avr-libc. Никаких упоминаний профилирующих функций там не нашел (вообще!) Как оно собралось с -pg не очень представляю Добавлено через 1 минуту и 27 секунд А можно какой нибудь откомпилированный файлик (с -pg и -S) ? |
| Автор: UniBomb 20.4.2011, 08:16 | ||
Откомпилил с ключами:
|
| Автор: xvr 20.4.2011, 10:58 | ||
От профайлера обраружены счетчики в сегмента данных, с которыми никто не работает
Резюме - профайлер не работоспособен, хотя до конца из сорцов компилятора и не вычесан А avr-gprof вообще фикция. |
| Автор: UniBomb 20.4.2011, 11:45 |
xvr, а ты знаешь ещё какие-нибудь средства оценки времени выполнения программы? |
| Автор: UniBomb 21.4.2011, 08:05 |
Я на самом деле хотел заморочится с профайлером из-за того, что думал одно из прерываний у меня выполняется слишком долго, из-за чего следующее возникает когда предыдущее ещё не отработало. В симуляторе такое воспроизвести сложнее, а для метода с осцильником мне не хватает второго щупа (что бы остлеживать и возникновение прерывания, и длительность выполнения обработчика) |
| Автор: xvr 21.4.2011, 15:58 | ||||
Ну вот, а так хотелось попрофилировать |