Отладка прикладного программного обеспечения микроконтроллеров
После получения объектного кода прикладной программы неизбежно наступает этап отладки, т.е. установления факта ее работоспособности, а также выявления (локализации) и устранения ошибок. Без этого этапа разработки никакое программное обеспечение вообще не имеет
права на существование. Отладка программного обеспечения представляет собой отдельную сложную задачу, которая почти не поддается формализации и требует для своего выполнения высокого профессионализма и глубоких знаний разработчика.
Обычно отладка прикладного программного обеспечения осуществляется в несколько этапов. Простые (синтаксические) ошибки выявляются уже на этапе трансляции. Далее необходимо выполнить
автономную отладку каждой процедуры в статическом режиме, позволяющую проверить правильность проводимых вычислений, правильность последовательности переходов внутри процедуры (отсутствие "зацикливания") и т.п.;
комплексную отладку программного обеспечения в статическом режиме, позволяющую проверить правильность алгоритма управления (по последовательности формирования управляющих воздействий);
комплексную отладку в динамическом режиме без подключения объекта для определения реального времени выполнения программы и ее отдельных фрагментов.
Следует иметь в виду, что автономная отладка отдельных модулей настолько проще и эффективнее отладки, всей прикладной программы, что переходить к этапу комплексной отладки целесообразно только после исчерпания всех средств автономной отладки.
Вышеперечисленные этапы отладки осуществляются обычно с использованием кросс-систем.
В состав кросс-систем входят программы-отладчики (обобщенное имя — DEBUG), интерпретирующие (моделирующие) выполнение программ, написанных для МК. Такие программные имитаторы позволяют эффективно отлаживать вычислительные процедуры, а также алгоритм функционирования контроллера.
Разработчику предоставлен доступ к любому ресурсу МК, имеется возможность покомандного и пофрагментного исполнения программ и останова по условию, а также подсчета числа тактов выполнения тех или иных фрагментов программы, инициирования прерывания, дизас-семблирования содержимого ПП и т.д.
Кросс-отладчики позволяют промоделировать практически все возможные варианты работы программы и тем самым убедиться в ее работоспособности. На этом же этапе возможна проверка работоспособности программы при нештатных ситуациях в условиях поступления некорректных входных воздействий (для применений с повышенными іребованиями по безопасности).
Наиболее мощные имитаторы должны позволять моделировать и среду обитания МК, т.е. различного рода объекты и датчики, подключаемые к нему. При этом появляется возможность выполнять комплексную отладку программного обеспечения, не опасаясь, что возможные ошибки в программе, алгоритме или некорректные действия оператора приведут к выходу из строя технических средств разрабатываемой системы. Главным недостатком кросс-систем является невозможность прогона программы в реальном масштабе времени, т.е. со скоростью, близкой к скорости выполнения программы в самом МК, а также не возможность комплектования аппаратурных и программных средств разрабатываемой системы. В силу этих причин достоверность прикладных программ, отлаженных в кросс-режиме, недостаточно высок
Отдельные фрагменты программного обеспечения, требующие отла,цч ки в реальном времени, могут быть проверены на отладочном модуле, Отладочный модуль представляет собой небольшую, как правило, одно, платную микроЭВМ (правильнее, микроконтроллер), построенную однотипном МК. Однако при отладке приходится учитывать ограютче. ния, связанные с тем, что часть ресурсов отладочного модуля (пространство адресов памяти программ и памяти данных, некоторые линщ портов и уровни прерываний) не может быть использована прикладным ПО, так как вынужденно используется резидентной операционной системой (ОС). Резидентная ОС, или Монитор, - это программа, обеспечивающая взаимодействие оператора с отладочным модулем и предостав-ляющая ему ряд команд, облегчающих отладку прикладного программного обеспечения. К отладочному модулю может быть также подключено дополнительное оборудование, необходимое разрабатываемой системе (внешняя память, порты, таймеры).
Наиболее полная и комплексная отладка прикладного программного обеспечения совместно с аппаратурными средствами контроллера может быть произведена на инструментальной микроЭВМ с так называемым внутрисхемным эмулятором (ВСЭ) Прототип разрабатываемой системы через панельку (сокет) для установки МК плоским многожильным кабелем соединяется с ВСЭ, который в свою очередь обеспечивает доступ ко всем техническим средствам инструментальной микроЭВМ. При этом почти все ресурсы МК остаются в распоряжении прикладного программного обеспечения. Под управлением микроЭВМ ВСЭ позволяет прогонять прикладную программу или ее отдельные фрагменты в реальном темпе, останавливать выполнение программы по многим признакам, делать трассировку внешних сигналов МК и системы во время исполнения программы. Достоверность программного обеспечения, отлаженного, на инструментальной микроЭВМ с помощью ВСЭ, высока, хотя и не равна единице.
В любом случае для доводки прикладного программного обеспечения контроллера необходимы комплексные и всесторонние испытания разработанной системы в реальном окружении и во всевозможных, режимах.