В один момент мне пришла в голову одна идея а поч
Самое западло в том, что умозрительно отлаживать такие вещи довольно сложно. Единственный вариант рисовать временные диаграммы запуска каждой задачи и смотреть где у нас узкие места. Еще можно попробовать в AVR Studio поставить Break Point на переполнение диспетчера, но студия не сэмулирует всю ту прорву периферии, а в пошаговой отладке этого не увидеть да и момент надо подобрать так, чтобы все навалилось.
Куда сложней оценивать время в кооперативной операционной системе реального времени. Тут задачка получается нетривиальной у нас куча процессов скачут через диспетчер. В ходе программирования задачи навешиваешь одну за другой, как бусинки на нить каждый процесс обработки чего либо составляет подобную цепочку, а всего их может быть просто тьма. Ядро же у контроллера всего одно, а значит выполнять можно всего одну задачу за раз и если у нас в диспетчере скопится много критичных ко времени процессов (вообще их лучше развешивать на прерывания, но бывает и прерываний на всех не напасешься), то возможно либо переполнение очереди диспетчера, либо превышение времени ожидания, что тоже не праздник.
Опубликовано сб, 06/02/2012 - 08:44 пользователем lamazavr
AVR. Учебный Курс. Оценка загрузки контроллера.
Последние статьи
Имя пользователя *
AVR. Учебный Курс. Оценка загрузки контроллера. | Electronics-archive.ru
Комментариев нет:
Отправить комментарий