[an error occurred while processing this directive] [an error occurred while processing this directive]
Отладка на 8051
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
[an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive]

Отправлено VR 08 февраля 2002 г. 08:50

Имеется большая программа (>40K чистого кода, 65 исходных файлов). В программе возникают ошибки - непериодические, редкие, с интервалом в десятки минут. При этом может произойти зацикливание с выходом по WDT. Ошибки проявляются только при работе с кристаллом, с эмулятором не проявляются. Перекрытия кода нет точно. Стек не переполняется.

Возможные причины:
- переход типа $+3, $+5 и т.д., коих огромное множество, указывает между байт одной команды;
- не хватает где-либо pop перед выходом из п\п.

Кто решал подобные проблемы, присоветуйте что-нибудь, пожалуйста!

Может, есть утилиты (плагины, ...), анализирующие целостность программы на предмет кол-ва пушей и попов, переходов не на команду и т.д.

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru