Отладка прикладного программного обеспечения микроконтроллеров


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

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

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

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

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

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

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

Вышеперечисленные этапы отладки осуществляются обычно с ис­пользованием кросс-систем.

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

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

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

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

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

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

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