Показать сообщение отдельно
Старый 13.01.2020, 09:56   #8
alex_zas
Senior Member
 
Аватар для alex_zas
 
Регистрация: 17.03.2017
Адрес: Днепропетровск
Возраст: 54
Сообщений: 111
Вес репутации: 185/14
alex_zas has a spectacular aura aboutalex_zas has a spectacular aura about
По умолчанию Re: Как рассчитать глубину использования стека?

Симулятор выполнит эту функцию, транслятор или отдельная утилита - не важно. Вопрос чем и как это сделать.
Понятно что старый MPASM этого не умеет.
Вложенных прерываний нет, просто прерываний очень много, обработка очень сложная и внутри прерываний есть call-ы.
Многозадачность использована не от "хорошей жизни".
У меня в проекте 6 последовательных интерфейсов, а MCU один, в котором один UART. Пришлось делать пять SOFT-UART-ов. Из-за этого длительность обработки прерываний должна быть минимальной.
Основной процесс у меня - это "терминальный профиль" (работа с GSM-модулем). А вспомогательный процесс - сбор, расчёт и накопление данных.
И оба эти процессы должны выполняться непрерывно и параллельно.
Конечно удобно было бы выполнять вспомогательный процесс в прерываниях, но там есть расчёты с плавающей точкой, которые занимают много времени.
Но суть собственно не в этом. Программа очень сложная, call-ов очень много, ручной анализ сложно делать.
Неужели никто не задавался вопросом - какую глубину стека использует его программа?
alex_zas вне форума   Ответить с цитированием