wins99 0 8 февраля, 2009 Опубликовано 8 февраля, 2009 · Жалоба Делаю достаточно объемный проект на С для С8051F060. IDE Keil uVision3. Цикл вычислений должен был укладываться в 200 мкс. Но в какой-то момент стал значительно больше. Как лучше всего проанализировать время выполнения кусков кода. Профайлинг в С51 закрыт, а симулятор для С8051F060 в кейл работает както странно. Perfomans Analizer выдает только %. Время не получить. Переферия в меню вся закрыта, а на сайте написано, что не поддерживается. Может кто-то знает как быть? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
barabek 0 8 февраля, 2009 Опубликовано 8 февраля, 2009 (изменено) · Жалоба Делаю достаточно объемный проект на С для С8051F060. IDE Keil uVision3. Цикл вычислений должен был укладываться в 200 мкс. Но в какой-то момент стал значительно больше. Как лучше всего проанализировать время выполнения кусков кода. Профайлинг в С51 закрыт, а симулятор для С8051F060 в кейл работает както странно. Perfomans Analizer выдает только %. Время не получить. Переферия в меню вся закрыта, а на сайте написано, что не поддерживается. Может кто-то знает как быть? Честно говоря профайлинг ни разу не использовал. Мне всегда было достаточно дергать свободным пином. Если смотрю время выполнения блока то выставляю пин в 1 вначале и в 0 вконце. Если частоту повторений или еще что-то, то ставлю типа my_pin=!my_pin в нужных местах. А дальше смотрю на осциле. При этом можно синхронизацию по длительности импульсов поставить и найти максимальное время. Изменено 8 февраля, 2009 пользователем barabek Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
wins99 0 8 февраля, 2009 Опубликовано 8 февраля, 2009 · Жалоба Хороший совет. Тоже так делаю. Можно еще запустить таймер в начале цикла, а дальше в нужных местах сохранять значения таймера в ячейках памяти, потом смотреть в отладчике. Я хотел стандартными средствами отладчика упростить эту задачу. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vik_ck 0 9 февраля, 2009 Опубликовано 9 февраля, 2009 · Жалоба Можно еще запустить таймер в начале цикла, а дальше в нужных местах сохранять значения таймера в ячейках памяти, потом смотреть в отладчике или PCA (input=SysClc) 2. Если цикл тормозят расчеты - рядом F36x (заменить F060-> F120 нельзя из-за ADC-16 or CAN ?) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться