Spider
Jan 11 2010, 08:00
Существует ли какой-нить анализатор пр-ти кода? Так чтобы посмотреть времена нахождения в отдельных участкаих кода и доступы к памяти?
А вдруг?
jorikdima
Jan 11 2010, 08:07
При использовании симулятора в различных IDE есть свои профайлеры. Без симулятора, на железе, полагаю, только самому с использованием таймеров. Универсальных (как на ПК), тем более для АВР, вряд ли.
tems-ya
Jan 13 2010, 11:49
Из топика непонятна конечная цель такой процедуры. Если вобщем, то на СВОИХ тестовых примерах оценивают и выбирают компилятор исходя из интересующих конкретно вас критереиев, и далее уже ему доверяют (при соблюдении "правильности" для данного копилера написания исходного кода, что оценивается дизасемблерным листингом). Если конкретный код - то скорость по числу циклов в симуляторе, объем по дизамблерному листингу. Если нет симулятора, то вставки в код для выплевывания отладочной инфы по, скажем, усарту с завязкой на отдельный или существующий таймер или счетчик.
Spider
Jan 14 2010, 05:22
Цель стоит определить по коду самые "тяжёлые" по времени исполнения участки.
самые тяжелые участки: расчеты с float-ами, работа с printf, математические функции из стандартной библиотеки, задержки. в принципе, в AVR Studio длительность любого участка программы "замеряется" превосходно для любых "вычислительных" алгоритмов (там, где задействована периферия - сложнее, результат непредсказуем или недостижим вообще).
_Pasha
Jan 14 2010, 08:31
Для определения "тяжести" сильно ветвящихся алгоритмов садитесь за симулятор и "ручками" делайте самый плохой набор условий. Полезно применить Hapsim для "загрузки проца" прерываниями по УАРТУ и I2C. Остальное и так симулируется.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.