www.diagram.com.ua
www.diagram.com.ua

Русский: Русская версия English: English version

Translate it!

+ Поиск по всему сайту
+ Поиск по журналам
+ Поиск по статьям сайта
+ Поиск по каталогу схем
+ Поиск по схемам СССР
+ Поиск по Библиотеке

ВСЕ СТАТЬИ А-Я

БЕСПЛАТНАЯ БИБЛИОТЕКА
ЭНЦИКЛОПЕДИЯ РАДИОЭЛЕКТРОНИКИ И ЭЛЕКТРОТЕХНИКИ
СПРАВОЧНИК
АРХИВ СТАТЕЙ

НОВОСТИ НАУКИ И ТЕХНИКИ, НОВИНКИ ЭЛЕКТРОНИКИ

ФОРУМЫ
ВАШИ ИСТОРИИ ИЗ ЖИЗНИ
ОБРАТНАЯ СВЯЗЬ
ОТЗЫВЫ О САЙТЕ

КАРТА САЙТА

Бесплатная техническая библиотека РАЗДЕЛЫ БЕСПЛАТНОЙ ТЕХНИЧЕСКОЙ БИБЛИОТЕКИ:
Архив и лента новостей
Книги и сборники
Технические журналы
Архив статей и поиск
Схемы и сервис-мануалы
Электронные справочники
Русские инструкции
Радиоэлектронные и электротехнические устройства

СКАЧАЙТЕ БЕСПЛАТНО:

ЭНЦИКЛОПЕДИЯ РАДИОЭЛЕКТРОНИКИ И ЭЛЕКТРОТЕХНИКИ БЕСПЛАТНО:
Автомобиль
Автомобильные электронные устройства
Аккумуляторы, зарядные устройства
Акустические системы
Альтернативные источники энергии
Антенны
Антенны КВ
Антенны телевизионные
Антенны УКВ
Антенные усилители
Аудио и видеонаблюдение
Аудиотехника
Блоки питания
Бытовая электроника
Бытовые электроприборы
Видеотехника
ВЧ усилители мощности
Галогенные лампы
Генераторы, гетеродины
Гирлянды
Гражданская радиосвязь
Детекторы напряженности поля
Дозиметры
Дом, приусадебное хозяйство, хобби
Зажигание автомобиля
Заземление и зануление
Зарядные устройства, аккумуляторы, батарейки
Защита электроаппаратуры
Звонки и аудио-имитаторы
Измерения, настройка, согласование антенн
Измерительная техника
Индикаторы, датчики, детекторы
Инструмент электрика
Инфракрасная техника
Кварцевые фильтры
Компьютерные интерфейсы
Компьютерные устройства
Компьютерный модинг
Компьютеры
Личная безопасность
Люминесцентные лампы
Медицина
Металлоискатели
Микроконтроллеры
Микрофоны, радиомикрофоны
Мобильная связь
Модернизация радиостанций
Модуляторы
Молниезащита
Музыканту
Начинающему радиолюбителю
Ограничители сигнала, компрессоры
Освещение
Освещение. Схемы управления
Охрана и безопасность
Охрана и сигнализация автомобиля
Охрана и сигнализация через мобильную связь
Охранные устройства и сигнализация объектов
Переговорные устройства
Передатчики
Передача данных
Предварительные усилители
Преобразователи напряжения, выпрямители, инверторы
Применение микросхем
Пускорегулирующие аппараты люминесцентных ламп
Работа с CAD-программами
Радиолюбительские расчеты
Радиолюбителю-конструктору
Радиоприем
Радиостанции портативные
Радиостанции, трансиверы
Радиоуправление
Разная бытовая электроника
Разные компьютерные устройства
Разные узлы радиолюбительской техники
Разные устройства гражданской радиосвязи
Разные электронные устройства
Разные электроустройства
Регуляторы мощности, термометры, термостабилизаторы
Регуляторы тембра, громкости
Регуляторы тока, напряжения, мощности
Сварочное оборудование
Светодиоды
Синтезаторы частоты
Смесители, преобразователи частоты
Спидометры и тахометры
Справочник электрика
Справочные материалы
Стабилизаторы напряжения
Студенту на заметку
Телевидение
Телефония
Теория антенн
Техника QRP
Технологии радиолюбителя
Технология антенн
Трансвертеры
Узлы радиолюбительской техники
Усилители мощности
Усилители мощности автомобильные
Усилители мощности ламповые
Усилители мощности транзисторные
Усилители низкой частоты
Устройства защитного отключения
Фильтры и согласующие устройства
Цветомузыкальные установки
Цифровая техника
Часы, таймеры, реле, коммутаторы нагрузки
Электрику
Электрику. ПТЭ
Электрику. ПУЭ
Электрические схемы автомобилей
Электрические счетчики
Электричество для начинающих
Электробезопасность, пожаробезопасность
Электродвигатели
Электромонтажные работы
Электронный впрыск топлива
Электропитание
Электроснабжение
Электротехнические материалы

СТАТЬИ БЕСПЛАТНО:
Батарейки и аккумуляторы
Большая энциклопедия для детей и взрослых
Биографии великих ученых
Важнейшие научные открытия
Детская научная лаборатория
Должностные инструкции
Домашняя мастерская
Жизнь замечательных физиков
Заводские технологии на дому - простые рецепты
Инструменты и механизмы для сельского хозяйства
Искусство аудио
Искусство видео
История техники, технологии, предметов вокруг нас
И тут появился изобретатель
Конспекты лекций, шпаргалки
Личный транспорт: наземный, водный, воздушный
Любителям путешествовать - советы туристу
Мобильные телефоны
Моделирование
Опыты по физике
Опыты по химии
Нормативная документация по охране труда
Основы безопасной жизнедеятельности (ОБЖД)
Основы первой медицинской помощи (ОПМП)
Охрана труда
Параметры, аналоги, маркировка радиодеталей
Радио - начинающим
Секреты ремонта
Советы радиолюбителям
Строителю, домашнему мастеру
Справочная информация
Типовые инструкции по охране труда (ТОИ)
Функциональный состав импортных ТВ
Функциональный состав, пульты, шасси, эквиваленты импортных телевизоров
Чудеса природы. Увлекательное путешествие вокруг земного шара
Шпионские штучки
Электрик в доме
Эффектные фокусы и их разгадки

ЖУРНАЛЫ БЕСПЛАТНО:
Блокнот Радиоаматора
Домашний компьютер
Домашний ПК
КВ журнал
КВ и УКВ
Квант
Компьютерра
Конструктор
Левша
Моделист-конструктор
М-Хобби
Наука и жизнь
Новости электроники
Новый Радиоежегодник
Популярная механика
Радио
Радио Телевизия Електроника
Радиоаматор
Радиодело
Радиодизайн
Радиокомпоненты
Радиоконструктор
Радиолюбитель
Радиомир
Радиосхема
Радиохобби
Ремонт и сервис
Ремонт электронной техники
Сам
Сервисный центр
Силовые машины
Схемотехника
Техника - молодежи
Химия и жизнь
ЭКиС
Электрик
Электроника
Юный техник
Юный техник для умелых рук
Я - электрик
A Radio. Prakticka Elektronika
Amaterske Radio
Chip
Circuit Cellar
Electronique et Loisirs
Electronique Pratique
Elektor Electronics
Elektronika dla Wszystkich
Elektronika Praktyczna
Everyday Practical Electronics
Evil Genius
Funkamateur
Nuts And Volts
QEX
QST
Radiotechnika Evkonyve
Servo
Stereophile

КНИГИ СЕРИЙНЫЕ БЕСПЛАТНО:
Библиотека по автоматике
Библиотека электромонтера
Библиотечка Квант
Библиотечка электротехника
Знай и умей
Массовая радиобиблиотека

КНИГИ ПО РАДИОТЕХНИКЕ И ЭЛЕКТРОНИКЕ БЕСПЛАТНО:
Автомобиль
Аппаратура СВЧ
Запись и воспроизведение звука
Ламповая аппаратура
Начинающему радиолюбителю
Охрана и безопасность
Радиолокация, навигация
Радиотехнические технологии
Радиоуправление, моделизм
Робототехника
Схемотехника
Теоретическая электроника, радиотехника
Усилители
Цифровая обработка сигналов
Электроника в быту
Электроника в медицине
Электроника в науке
Электроника для музыканта

КНИГИ ПО РЕМОНТУ БЕСПЛАТНО:
Ремонт аудиотехники
Ремонт бытовая техники
Ремонт видеотехники
Ремонт телевизоров ламповых
Ремонт телевизоров полупроводниковых
Ремонт мониторов
Ремонт оргтехники
Ремонт радиоприемников
Ремонт телефонов и факсов
Спутниковое телевидение
Теория телевидения
Теория ремонта электроники

КНИГИ ПО ИЗМЕРЕНИЯМ БЕСПЛАТНО:
Измерения и метрология
Измерительная аппаратура
Измерительная техника. Схемы и описания

КНИГИ ПО СВЯЗИ БЕСПЛАТНО:
Антенны
Аппаратура любительской радиосвязи
Линии связи, передача данных
Мобильные телефоны
Теория и практика радиосвязи

КНИГИ ПО ЭЛЕКТРИКЕ БЕСПЛАТНО:
Автоматика, автоматизация, управление
Аккумуляторы, элементы питания, зарядные устройства
Альтернативные источники энергии
Источники питания, стабилизаторы, преобразователи
Молниезащита
Осветительная аппаратура
Охрана труда, электробезопасность, пожаробезопасность
Релейная защита
Сварка, сварочное оборудование
Теория электротехники
Устройства телемеханики
Электрику, электромонтажнику, электромеханику
Электрические сети, воздушные и кабельные линии
Электродвигатели
Электрооборудование
Электропривод
Электростанции, подстанции
Электротехнические справочники
Энергетика, электроснабжение

СБОРНИКИ БЕСПЛАТНО:
В помощь радиолюбителю
Радиоаматор-лучшее
Радиоежегодник

СПРАВОЧНИКИ БЕСПЛАТНО:
Зарубежные микросхемы и транзисторы
Измерительная техника. Схемы и описания
Медицинская аппаратура
Механизмы импортной аудио и видеоаппаратуры
Прошивки зарубежной аппаратуры
Пульты ДУ импортных телевизоров
Радиокомпоненты Atmel
Радиокомпоненты Cirrus Logic
Радиокомпоненты Maxim
Радиокомпоненты Microchip
Радиокомпоненты Mitsubishi
Радиокомпоненты Motorola
Радиокомпоненты National Semiconductor
Радиокомпоненты Panasonic
Радиокомпоненты Philips
Радиокомпоненты Rohm
Радиокомпоненты Samsung
Радиокомпоненты Sharp
Радиокомпоненты Sony
Радиокомпоненты Toshiba
Соответствие моделей и шасси телевизоров
Строчные трансформаторы HR
Строчные трансформаторы Konig

СХЕМЫ И СЕРВИС-МАНУАЛЫ БЕСПЛАТНО:
Бытовая техника Beko
Бытовая техника Braun
Бытовая техника Candy
Бытовая техника Elenberg
Бытовая техника Elica
Бытовая техника Gorenje
Бытовая техника Hansa
Бытовая техника Merloni
Бытовая техника SEB
Бытовая техника Snaige
Бытовая техника Stinol
Бытовая техника Universal
Бытовая техника Whirpool

Зарубежные DVD-плееры
Зарубежные автомагнитолы
Зарубежная аудиоаппаратура
Зарубежные видеокамеры
Зарубежные видеомагнитофоны и видеоплееры
Зарубежные мониторы
Зарубежные моноблоки
Зарубежные телевизоры
Зарубежные телефоны
Зарубежные факсы

Мобильники Benq-Siemens
Мобильники Eastcom
Мобильники Ericsson
Мобильники Fly Bird
Мобильники LG
Мобильники Maxon
Мобильники Mitsubishi
Мобильники Motorola
Мобильники Nokia
Мобильники Panasonic
Мобильники Pantech
Мобильники Samsung
Мобильники Sharp
Мобильники Siemens
Мобильники Sony-Ericsson
Мобильники TCL
Мобильники Voxtel

Отечественные телевизоры
Отечественная аудиоаппаратура

Справочники по вхождению в режим сервиса

Схемы блоков питания импортных телевизоров и видеотехники

Телевизоры Avest
Телевизоры Beko
Телевизоры, аудио, видеотехника Elenberg, Cameron, Cortland
Телевизоры Erisson
Телевизоры Rainford
Телевизоры Roadstar
Телевизоры Rolsen
Телевизоры Vestel
Телевизоры Витязь
Телевизоры Горизонт
Телевизоры Рекорд
Телевизоры Рубин

Станки металлообрабатывающие
Электроинструмент Bocsh
Электроинструмент Makita

БЕСПЛАТНЫЙ АРХИВ СТАТЕЙ
(150000 статей в Архиве)

АЛФАВИТНЫЙ УКАЗАТЕЛЬ СТАТЕЙ:
Библиотечка Квант указатель
Библиотека по автоматике указатель
Библиотека электромонтера указатель
Библиотечка электротехника указатель
Блокнот Радиоаматора указатель
В помощь радиолюбителю указатель
Знай и умей указатель
Массовая радиобиблиотека указатель
КВ и УКВ указатель
КВ журнал указатель
Квант указатель
Конструктор указатель
Моделист-конструктор указатель
Наука и жизнь указатель
Новости электроники указатель
Новый Радиоежегодник указатель
Популярная механика указатель
Радио указатель
Радиоаматор указатель
Радиоаматор-лучшее указатель
Радиоежегодник указатель
Радиодело указатель
Радиодизайн указатель
Радиокомпоненты указатель
Радиоконструктор указатель
Радиолюбитель указатель
Радиомир указатель
Радиосхема указатель
Радиохобби указатель
Ремонт и сервис указатель
Ремонт электронной техники указатель
Сам указатель
Сервисный центр указатель
Силовая электроника указатель
Схемотехника указатель
Техника - молодежи указатель
Химия и жизнь указатель
ЭКиС (Электронные компоненты и системы) указатель
Электрик указатель
Электроника указатель
Юный техник указатель
Я - электрик указатель

СПРАВОЧНИК БЕСПЛАТНО

ПАРАМЕТРЫ РАДИОДЕТАЛЕЙ БЕСПЛАТНО

ДАТАШИТЫ БЕСПЛАТНО

ПРОШИВКИ БЕСПЛАТНО

РУССКИЕ ИНСТРУКЦИИ БЕСПЛАТНО


Стол заказов СТОЛ ЗАКАЗОВ:

СХЕМЫ ПОД ЗАКАЗ:
Импортные DVD
Импортные автоаудио
Импортные аудио
Импортные видеокамеры
Импортные видеомагнитофоны
Импортные кондиционеры
Импортные мониторы
Импортные моноблоки
Импортные проекторы
Импортные СВЧ-печи
Импортная спутниковая аппаратура
Импортные стиральные машины
Импортные телевизоры
Импортные телефоны
Импортные факсы
Импортные фотоаппараты
Импортные холодильники

Отечественные автоаудио
Отечественные видеомагнитофоны
Отечественные магнитофоны
Отечественные мониторы
Отечественные приборы
Отечественные радиолы
Отечественные радиоприемники
Отечественные усилители
Отечественные цветные телевизоры
Отечественные черно-белые телевизоры
Отечественные электрофоны


Бонусы БОНУСЫ:

НА ДОСУГЕ:
Интерактивные флеш-игры
Игры он-лайн
Ваши истории
Знаете ли Вы, что...
Зрительные иллюзии
Веселые задачки
Каталог Вивасан
Палиндромы

ИСТОРИИ ИЗ ЖИЗНИ

ССЫЛКИ

ДОБАВИТЬ В ЗАКЛАДКИ

Оставить отзыв о сайте

ДИАГРАММА
© 2000-2017

Дизайн и поддержка:
Александр Кузнецов

Техническое обеспечение:
Михаил Булах

Программирование:
Данил Мончукин

Маркетинг:
Татьяна Анастасьева

Перевод:
Наталья Кузнецова

Контакты

При использовании материалов сайта обязательна ссылка на http://www.diagram.com.ua

сделано в Украине
сделано в Украине

Диаграмма. Бесплатная техническая библиотека

Бесплатная техническая библиотека Бесплатная техническая библиотека Как скачивать файлы с сайта? Как скачивать файлы с сайта? Добавить в закладки, оставить отзывДобавить в закладки, оставить отзыв

Энциклопедия радиоэлектроники и электротехники. Большая подборка статей со схемами, иллюстрациями, комментариями Энциклопедия радиоэлектроники и электротехники

Бесплатная библиотека / Схемы радиоэлектронных и электротехнических устройств

Отладка микроконтроллеров с помощью эмулятора ПЗУ

Энциклопедия радиоэлектроники и электротехники / Микроконтроллеры

Комментарии к статье Комментарии к статье

Трудоемкость разработки и отладки рабочей программы электронного устройства, содержащего микропроцессор, нередко определяет стоимость его разработки в целом. В микроконтроллерах (МК), интегрировавших в себе память и некоторые периферийные устройства, это проявляется особенно сильно. Одно из средств, значительно облегчающих отладку, - описанный в [1] эмулятор ПЗУ. В предлагаемой статье описывается технология работы с ним. Возможности отладки не ограничиваются изложенными приемами. Этот процесс, как и проектирование в целом, в определенной степени - искусство: для одного и того же инструмента каждый создает "свою музыку". Мы будем благодарны читателям, которые поделятся своими оригинальными средствами и методами отладки программ МК.

Сложность и трудоемкость процесса отладки программного обеспечения МК определяется следующими факторами [2]:

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

Традиционная контрольно-измерительная аппаратура (например, осциллограф) может лишь в ограниченной степени использоваться для отладки МК.

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

В настоящее время МК чаще всего отлаживают кросс-средствами на базе персонального компьютера. Это позволяет в минимальной степени отвлекать ресурсы МК. Отлаживаемое устройство, как показано на рисунке, соединяют с компьютером через некоторое инструментальное средство, например, эмулятор ПЗУ. Такой комплекс позволяет загружать и редактировать программу, вводить в нее тестовые модули, получать определенную информацию о системе и многое другое, о чем мы расскажем ниже.

Хотя эмуляторы ПЗУ - не единственное и не самое мощное отладочное средство, они по-прежнему популярны. Их "долголетие" объясняется независимостью от типа МК (необходима только возможность работы с внешней памятью программ), работой в реальном масштабе времени, невысокой ценой и доступностью широкому кругу разработчиков аппаратуры и радиолюбителей. Технологию отладки программы с помощью эмулятора ПЗУ рассмотрим на примере МК семейства MCS-51 (8031, 8051, 80C31, 80С51. КР1816ВЕ31, КР1816ВЕ51, КР1830ВЕ31, КР1830ВЕ51 и т. п.).

Приступая к отладке, необходимо проверить работоспособность аппаратной части системы и самого МК. Для этого можно воспользоваться тестами "свободного счета" [3]. которые заключаются в переборе всех возможных кодовых комбинаций на линиях портов МК. В процессе тестирования линии портов будут устанавливаться в состояние вывода, поэтому прежде всего убедитесь по схеме отлаживаемого устройства, что они не нагружены на выходы других элементов. Временно отсоедините такие нагрузки, если они есть.

Загрузите эмулятор ПЗУ кодами команды "нет операции" (NOP) в пределах всего адресного пространства программ МК. Для MCS-51 это код 00Н. Выполняя такую "программу", МК последовательно перебирает все адреса программной памяти. Проконтролируйте осциллографом сигналы ALE, РМЕ и портов Р0, Р2. Осциллограммы на линиях портов должны соответствовать временным диаграммам двоичного счетчика с учетом мультиплексирования на Р0 младшего байта адреса и данных.

Далее проверьте порты Р1 и РЗ, загрузив в эмулятор ПЗУ тестовую программу, приведенную в табл. 1. Она выводит на линии указанных портов последовательность кодов от 00Н до 0FFH, моделируя восьмиразрядный двоичный счетчик. Если осциллограммы соответствуют требуемым, восстановите отключенные от портов нагрузки и переходите к отладке рабочей программы МК. Помните, что вы отлаживаете одновременно программную и аппаратную части системы, и не забывайте периодически контролировать осциллографом сигналы в контрольных точках. Несоответствие вида сигналов вашим представлениям о них -повод для серьезных размышлений и дополнительных проверок.

Отладка микроконтроллеров с помощью эмулятора ПЗУ

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

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

Примерный вид основного программного модуля в начале отладки приведен в табл. 2. Он содержит только точку входа в программу и обработчик выхода из нее. Хотя в микроконтроллерных системах такой выход используют крайне редко, его необходимо предусмотреть для корректного завершения аварийных ситуаций. В рассматриваемом примере после завершения работы программа "зацикливается". Из этого состояния ее выведет только перезапуск системы сигналом аппаратного сброса.

Отладка микроконтроллеров с помощью эмулятора ПЗУ

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

Например, чтобы вывести содержимое внутреннего ОЗУ данных МК, соедините его выход сигнала записи во внешнюю память данных (WR) со входом сигнала записи эмулятора ПЗУ и используйте подпрограмму, приведенную в табл. 3. Предполагается, что объем памяти программ отлаживаемого устройства не превышает 32 Кбайт, поэтому отладочная информация, помещаемая в память эмулятора, начинается с адреса 8000Н. Содержимое регистров R0 и R1 пересылается отдельно, так как в дальнейшем они используются в подпрограмме для организации цикла. После вывода отладочной информации программу МК приостанавливают, считывают управляющим компьютером содержимое ячеек памяти эмулятора ПЗУ 8000H-807FH, выводят его на дисплей и анализируют. Аналогичным образом может быть выведено содержимое всех программно доступных регистров МК.

Отладка микроконтроллеров с помощью эмулятора ПЗУ

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

Использование общих ресурсов МК разными модулями довольно часто приводит к тому, что отлаженная программа перестает работать при добавлении еще одной подпрограммы Поэтому после отладки очередного модуля убедитесь, что все ранее отлаженные драйверы и подпрограммы продолжают работать правильно. Если в программе используются прерывания, не запрещайте их без крайней необходимости. Отлаженный модуль не следует удалять из программы, даже если он в данный момент не нужен.

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

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

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

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

С помощью эмулятора ПЗУ можно отладить и программу, предназначенную для работы во внутренней памяти МК, если временно разместить ее во внешней памяти программ. Так как при этом порты Р0 и Р2 окажутся занятыми обслуживанием внешней памяти, то, если оставшихся свободными линий ввода-вывода МК недостаточно, Р0 и Р2 заменяют портами ввода-вывода, адресуемыми как ячейки внешней памяти данных. Их подключают по стандартным схемам, применяя для увеличения числа линий вывода триггерные регистры, а числа линий ввода - элементы с тремя состояниями выходов.

Отладив систему с помощью эмулятора, удалите из нее отладочные элементы, запишите программу в ПЗУ (или во внутреннюю память программ МК) и проверьте работу устройства в окончательном виде.

Литература

  1. Выдолоб Г., Кудряшов В., Самойлов В. Эмулятор ПЗУ/ОЗУ RE020. - Радио, 1997. №11, С. 30-32.
  2. Зеленко Г. В., Иванников А. Д., Сыпчук П. П. Проектирование и отладка микропроцессорных систем. - М. Машиностроение. 1982.
  3. Уильяме Г. Б. Отладка микропроцессорных систем: Пер. с англ. - М Энергоатомиздат. 1988

Авторы: Г.Выдолоб, В.Самойлов, г.Москва (Зеленоград)

Смотрите другие статьи раздела Микроконтроллеры.

Читайте и пишите полезные комментарии к этой статье.

Рекомендуем скачать в нашей Бесплатной технической библиотеке:

сборник В помощь радиолюбителю №15 (1963 г)

журналы Техника - молодежи 2009 (архив за год)

книга Природа магнетизма. Каганов М.И., Цукерник В.М., 1982

книга Карманный приемник на транзисторах. Лабутин В.К., Поляков Т.Л., 1959

статья Акустический локатор для автомобиля

статья Функциональный состав телевизоров Color

сборник Архив схем и сервис-мануалов телевизоров Горизонт

Оставьте свой комментарий к этой статье:

Имя:

E-mail (не обязательно):

Комментарий:

[lol][;)][roll][oops][cry][up][down][!][?]