Отладка рабочих программ

 

После получения объектоного кода рабочей программы неизбежно наступает этап отладки, то есть установления факта ее работоспособности, а также выявления (локализации) и устранения ошибок. Без этого этапа разработки никакое программное обеспечение вообще не имеет права на существование.Отладка рабочих программ представляет собой отдельную сложную задачу, которая почти не поддается формализации и требует для своего выполнения высокого профессионализма и глубоких занний разработчика.

Обычно отладка рабочей программы осуществляется в несколько этапов. Простые (синтаксические) ошибки выявляются уже на этапе трансляции. Далее необходимо выполнить:

· автономную отладку каждой процедуры в статистическом режиме, позволяющую проверить правильность проводимых вычислений, правильность последовательности переходов внутри процедуры (отсутствие "зацикливания") и т.п.;

· комплексную отладку рабочей программы в статистическом режиме, позволяющую проверить правильность алгоритма управления (по последовательности формирования управляющих воздействий);

· комплексную отладку в динамическом режиме без подключения обьекта для определения реального времени выполнения программы и ее отдельных фрагментов.

Следует иметь в виду, что автономная отладка отдельных модулей настолько проще и эффективнее отладки всей рабочей программы, что переходить к этапу комплексной отладки целесообразно только после исчерпания всех средств автономной отладки.

Вышеперечисленные этапы отладки осуществляются обычно с использованием кросс-систем (например, MPLAB 3.30 для OMK PIC

16/17).

В состав кросс-систем входят программы-отладчики (обобщенное имя - DEBUG), интерпретирующие (моделирующие) выполнение программ, написанных для МК. Такие программные имитаторы позволяют эффективно отлаживать вычислительные процедуры, а также алгоритм функционирования контроллера.

Разработчику предоставлен доступ к любому ресурсу МК, имеется возможность покомандного и пофрагментного исполнения программ и останова по условию, а также подсчета числа тактов выполения тех или иных фрагментовпрограммы,инициированияпрерывания,дизассемблирования содержимого памяти программ и т.д.

Кросс-отладчики позволяют промоделировать практически все возможные варианты работы программы и тем самым убедиться в ее работоспособности. На этом же этапе возможна проверка работоспособности программы при нештатных ситуациях в условиях поступления некорректных входных воздействий (для применений с повы-

 

шенными требованиями по безопасности).

Главным недостатком кросс-систем является невозможность прогона программы в реальном масштабе времени, то есть со скоростью, близкой к скорости выполения программы в самом МК, а также невозможность комплексирования аппаратурных и программных средств разрабатываемой системы. В силу этих причин достоверность прикладных программ, отлаженных в кросс-режиме, недостаточно велика.

Наиболее полная и комплексная отладка прикладного прогаммного обеспечения совместно с аппаратурными средствами контроллера может быть произведена на инструментальной микроЭВМ например, IBM PC с так называемым внутрисхемным эмулятором (ВСЭ) таким, например, как ICE PIC или PICMASTER для ОМК семейства PIC 16/17.

Под управлением микроЭВМ ВСЭ позволяет прогонять прикладную программу или ее отдельные фрагменты в реальном темпе останавливать выполнение программ по многим признакам, делать трассировку внешних сигналов МК и системы во время исполнения программ. Достоверность программного обеспечения, отлаженного на инструментальной микроЭВМ с помощью ВЭС, высока хотя и не равна единице.

В любом случае для доводки прикладного программного обеспечения контроллера необходимы комплексные и всесторонние испытания разработанной системы в реальном окружении и во всевозможным режимах.

Рассмотрим несколько подробнее процесс отладки рабочих программ для ОМК PIC 16/17. Отладка может быть осуществлена, например, с помощью универсального имитатора (симулятора) программного обеспечения PSIM (или MPSIM).