Устройство для отладки программ микроэвм
Иллюстрации
Показать всеРеферат
Изобретение относится к вычислительной технике и может быть использовано при отладке аппаратуры и программ в реальном масштабе времени. С целью повышения производительности при отладке программ и расширения функциональных возможностей , в устройство, содержащее блок задания адреса, блок входных данных и режимов отладки, дешифратор адреса, блок адреса останова, схему сравнения, первый и второй элементы И, элемент ИЛИ, триггеры готовности , блокировки памяти, запроса прерывания , сброса, запроса захвата, введены микропроцессор, блок выходных данных и режимов отладки, шинный формирователь данных, шинный формирователь адреса, мультиплексор, отладочное ОЗУ, три элемента И, триггер запроса прямого доступа к памяти, регистр-защелка старшего байта адреса, четыре группы трехстабильных ключей , контроллер прямого доступа к памяти, приемопередатчик последовательного канала с соответствующей совокупностью связей . 5 ил. (Л С
союз соВетских
СОЦИАЛИСТИЧЕСКИХ
РЕСПУБЛИК (я)з G 06 F 11/28
ГОСУДАРСТВЕННОЕ ПАТЕНТНОЕ
ВЕДОМСТВО СССР (ГОСПАТЕНТ СССР) ОПИСАНИЕ ИЗОБРЕТЕНИЯ
К АВТОРСК0МУ СВИДЕТЕЛЬСТВУ
6 (21) 4793566/24 (22) 05.12,89 (46) 15.05.93. Бюл. йг 18 (71) Научно-производственный комплекс
"Система" Ленинградского научно-производственного объединения "Электронмаш" (72) А.И.Гуляев и С.К.Киселев (56) Авторское свидетельство СССР
N 1213482, кл. G 06 F 11/28, 1984.
Авторское свидетельство СССР
N 1462327, кл. G 06 F 11/28, 1987. (54) УСТРОЙСТВО ДЛЯ ОТЛАДКИ ПРОГРАММ МИКРОЭВМ (57) Изобретение относится к вычислительной технике и может быть использовано при отладке аппаратуры и программ в реальном масштабе времени. С целью повышения производительности при отладке программ и расширения функциональных возможноИзобретение относится к вычислительной технике и может быть использовано при отладке аппаратуры и программ в реальном масштабе времени.и может найти широкое применение при отладке и эксплуатации микроп роцессорных систем и устройств (как однопроцессорных, так и многопроцессорных), Целью изобретения является повышение производительности при отладке программ и расширение функциональных возможностей за счет возможности отладки восьми — и шестнадцати разрядных микропроцессоров.
На фиг. 1 и 2 представлена функциональная схема устройства отладки программ; на фиг.3 — временная диаграмма в
„, Ы,, 1815643 А1 стей, в устройство. содержащее блок задания адреса, блок входных данных и режимов отладки, дешифратор адреса, блок адреса останова, схему сравнения, первый и второй элементы И, элемент ИЛИ, триггеры готовности, блокировки памяти, запроса прерывания, сброса, запроса захвата, введены микропроцессор, блок выходных данных и режимов отладки, шинный формирователь данных, шинный формирователь адреса, мультиплексор, отладочное ОЗУ, три элемента И, триггер запроса прямого доступа к памяти, регистр-защелка старшего байта адреса, четыре группы трехстабильных ключей, контроллер прямого доступа к памяти, приемопередатчик последовательного канала с соответствующей совокупностью связей. 5 ил. режиме загрузки информации в отлаживаемое устройство на управляющей микроЭВМ; на фиг,4 — временная диаграмма чтения памяти отлаживаемого устройства и ее передачи в управляющую микроЭВМ; на фиг.5 — временная диаграмма программирования ПЗУ.
Устройство (фиг.1, 2) содержит ПЗУ 1, блок 2 задания адреса, блок 3 адреса останова и режимов отладки, блок 4 входных данных и режимов отладки, микропроцессор 5, первый и второй элементы И 6. /, схему сравнения 8, шинные формирователи данных 9 и 10, адресный мультиплексор 11, третий и четвертый элементы адреса И 12, 13, элемент ИЛИ 14, отладочный блок памяти 15, триггер 16 запроса прямого доступа, 1815643. триггер 17 готовности контроллера прлмого доступа к памяти, триггер 18 готовности, триггер 19 блокировки памяти, триггер 20 сброса, триггер 21 запроса прерывания, триггер 22 запроса захвата, первую группу
23 трехстабильных ключей, регистр-защелку 24 старшего байта адреса, контроллер 25 прямого доступа к памяти (ПДП), пятый элемент И 26, вторую группу 27трехстабильных ключей, блок 28 выходных данных и режимов отладки, приемопередатчики 29 последовательного канала ИРПС, третью и четвертую группы 30, 31 трехстабильных ключей, дешифратор 32 адреса. На шине
ШУ1 показаны следующие сигналы: 33- сигнал чтения, 34 — сигнал выбора ПЗУ 1, 35— сигнал память устройства ввода вывода, 36 — сигнал выбора блока 2, 37- сигнал записи, 38 — сигнал выбора блока 3, 3, 39 — сигнал 20 выбора блока 4,40 — сигнал тактовая частота контроллера, последовательного интерфейса, 41 — запрос прерыванил обслуживания режима прямого доступа к памяти, 42 — так25 товая частота, 43 — сброс, 44 — запрос прерывания конца обмена в режиме прямого доступа к памяти, 45 — запрос прерывания по передаче в отладочную микроЭВМ, 46— запрос прерывания по приему информации от отладочной микроЭВМ, 47 - запрос прерывания для режима программирования
ППЗУ1, 48 — сигнэл выбора контроллера 25
ПДП, 49 — сигнал выбора контроллера 29
ИРПС, 50 — сигнал выбора блока 28, 51 сигнал установки триггера 16 запроса прямого доступа, 52 — сигнал установки триггера готовности ПДП, 53 — сигнал установки триггера готовности 18. Кроме внутренней шины
ШУ1 устройство отладки имеет внутренние шину данных ШД1 54 и шину адреса ША1
55, а также внешние шины адреса ША2, 56, данных ЩД2 57 и управления ШУ2 длл подключения к отлаживаемому микропроцессорному устройству. На ШУ2 показаны следующие сигналы: сигнал "Чтение памяти" 58, сигнал "Признак команд ввода/вывода 59, сигнал "Подтверждение прерывания" 60, синхросигнэл "Начала цикла" 61, сигнал "Тактовая частога" 62, сигнал Тотовность" 62, сиглэ "Блокировка пэмл1и"
64, сигнал "Сброс" 65, сигнал "Запись памяти" 66, сигнал "Запрос прерывания" 67; сигнал "Запрос захвата" 68, сигнал
"Подтверждение захвата" 69.
На внутренней шине устройства показаны следующие сигналы: "Установка поциклового режима" 70, "Установка режима останова по заданному адресу" 71, "Установка запроса прерывания" 72, "Установка
55 сброса" 73, "Установка блокировки памяти"
74, "Загрузка ОЗУ" 75, "Установка прямого доступа к памяти" 76, "Программирование
ППЗУ" 77, "Требование захвата" 78,"Запись
ППЗУ" 79, "Запрет выдачи" 80.
Связь устройства с управляющей микроЭВМ осуществляется в ранге интерфейса ИРПС 81, ПЗУ1 и микропроцессор 5 предназначены для обработки информационного потока. содержащего команды управления адреса и данных и поступающие из управляющей микроЭВМ в соответствии с заданным режимом работы, задаваемым оператором на клавиатуре терминала. В качестве микропроцессорного элемента может быть использован элемент 1821 ВМ 85.
Приемопередатчик 29 последовательного канала предназначен для связи устройства отладки с управляющей микроЭВМ и может быть реализован на базе 580 ВВ 51. Дешифратор микроЭВМ и может быть реализован на базе 580 ВВ 51. Дешифратор 32 предназначен для выбора программно-управляемых элементов устройства.
Блок 2 со встроенным таймером и ОЗУ предназначен для чтения адреса отлаживаемого устройства и фиксации прохождения отлахсиваемой программы через заданный адрес с формированием управляющего сигнала остановэ по данному адресу в режиме поиска-ом<идэния. Блок 3 предназначен для задания адреса сравненил и формированию двух управляющих сигналов "останов по командам ввода/вывода", "останов по прерываниям". Блок 4 со встроенным таймерам и
ОЗУ предназначен для чтения данных отлаживаемого устройства, формированию служебных управляющих сигналов и тактовой частоты блока 29. Блок 28 со встроенным таймером и ОЗУ предназначен для выдачи информации на ШД2, формированию управляющих сигналов и запроса прерывания при работе в работе в режиме программированил ППЗУ. В качестве блоков 2, 3, 4, 28 используем БИС 1821 РУ55. Ключи 30, 31 с третьим состолнием предназначен для сопряжения блока 25 с ШУ1 и ША1. Ключ 27 с третьим состоянием обеспечивает подключение блока 28 к ШД2. Элемент И 25 транслирует тактовую. частоту 42 на счетный вход таймера программирования ПЗУ, входящего в состав блока 28. Элементы И 6, 7 схемы сравнения 8, элемент ИЛИ 14, триггер 18 готовности предназначен для формирования управляющего сигнала "готовность" 63 в зависимости от выбранного режима отладки, Шинные формирователи 9, 10 предназ1815643 начены для сопряжения ШД1 и ША1 с ОЗУ
15. Мультиплексор 11 управляет подключением ОЗУ 15 либо к ША1, ШД1, ШУ1, либо к
ША2, ЩД2, ДУ2.
Контроллер 25 ПДП предназначен для организации обмена информацией между управляющей микроЭВМ и отлаживаемым устройством. В качестве блока 25 используется БИС ПДП 580 BT 57. Элемент И 13 управляет триггером готовности 17 контроллера ПДП 25. Регистр 24 защелкивает старший байт адреса, формируемый контроллером 25 и выдает его на ША2. Триггер
16 запроса прямого доступа запускает контроллер 25 в режимах обмена по прямому доступу к памяти. Ключ 23 с третьим состоянием выставляет на ШУ2 младший байт адреса. Триггеры 19, 20, 21, 22 предназначены для формирования сигналов управления сброс, блокировка памяти, запрос прерывания, запрос отлаживаемой микроЭВМ. В качестве триггеров могут быть использованыы Р-триггеры.
Устройство в процессе отладки программ обеспечивает следующие режимы работы: отладка 8-разрядных микропроцессорн ых устройств; отладка 16-разрядных микропроцессорных устройств; обмен информацией между управляющей микроЭВМ и отлаживаемым устройством в режиме ПДП; работа с отладочным ОЗУ; программирование ПЗУ микропроцессорных устройств; сброс отлаживаемых микроЭВМ и их запуск; пошаговое выполнение программ; . останов программы по заданному адресу и количеству циклов; останов по прерывайию, возникающему в отлаживаемом микропроцессорном устройстве; останов по командам ВВОД или ВЫВОД; блокировка памяти отлаживаемого микропроцессорного устройства; прерывание отлаживаемого микропроцессорного устройства, задаваемое через устройство отладки.
Режимы работы задаются программно отладочной микроЭВМ через блоки 4 и 28.
Работа устройства начинается с его начальной установки посредством сигнала
"СБРОС" 65 шины ШУ2, подаваемого из отладочной микроЭВМ.
Этап выбора и назначения устройств осуществляется пользователем, который программно определяет на каком из и системных рангов ИРПС будет осуществляться
5 сопряжение управляющей микроЭВМ с устройством отладки (фиг.1). Этап загрузки отлаживаемых программ в память микропроцессорных устройств производится посредством управляющей программы
10 отладочной микроЭВМ. В данном случае устройство отладки по рангу ИРПС приемопередатчиком 29 последовательного канала принимает команду управления, формат которой определяет режим работы, а также начальный и конечный адрес загружаемой эоны памяти отлаживаемого устройства. По заполнению выходного буфера, приемопередатчик 29 вырабатывает сигнал готовность приема R X RDY, который является сигналом запроса прерывания 46 микро- процессора 5. Микропроцессор 5 переходит на подпрограмму обработки запроса 46, считывает входной регистр приемопередатчика 29 и в соответствии с информацией команды управления осуществляет настройку программно-управляемых блоков 4, 28 и контроллера 25 ПДП. Одновременно . процессор 5 устанавливает в единичное со30 стояние сигнал "установка прямого доступа к памяти" 76, разблокируя тем самым триггер 16 ПДП. По завершению процесса настройки устройства отладки на режим загрузки, по каналу ИРПС передаются данные, которые необходимо загрузить в ОЗУ отлаживаемого устройства. Когда байт данных принят приемопередатчиком 29, формируется запрос прерывания 46, микропроцессор 5 переходит на подпрог40 рамму обработки информации, считывает в аккумулятор содержимое приемопередатчика 29 и посылает байт данных в порт А блока 28, где он защелкивается. Затем по команде ВЫВОД микропроцессора 5 фор45 мируется управляющий сигнал 51 установки триггера 16 ПДП, который своим выходом переводит вход запроса прямого доступа контроллера ПДП 25 в активное состояние.
В ответ на поступление запроса прямого
50 доступа DRQ контроллер 25 ПДП формирует сигнал HOLO "запрос-захвата", который подается на Д-вход 22 и тактируется частотой
62. Триггер 22 переходит в другое устойчивое состояние и формирует на ШУ 2 сигнал
55 запрос захвата 68. Микропроцессор отлаживаемого устройства переходит в третье состояние и отвечает сигналом "подтверждение захвата" 69. поступающим на соответствующий вход контроллера ПДП 25 и
1815643 переводящим в третье состояние ключи 30 и 31, через. которые проходят сигналы "записи" 37, "чтения" 33 и младший байт адреса 55 от микропроцессора 5 при настройке контроллера на требуемый режим работы.
Одновременно сигнал "подтверждение захвата" 69 открывает ключ 27, и выходные данные, записанные. в порт А блока 28 поступают на ЩД2, а контроллер 25 ПДП фор.мирует. сигнал строб адреса AS no переднему фронту которого в регистр 24 адреса записывается старший байт адреса и разрешение адреса AEN, который открывается регистр 24 и элемент 23. Таким образом, на ША 2 будет установлен адрес загружаемого ОЗУ. Кроме этого передним фронтом строба адреса AS опрокидывается триггер 16 и активный уровень сигнала запроса доступа DRQ снимается с соответствующего входа контроллера 25. Затем в соответствии с алгоритмом функционирования контроллер 25 при выставленных адресах и данных на ША2 и ШД2 формирует сигнал "Запись памяти" 66 на ШУ2. Таким образом происходит единичный цикл данных в ОЗУ отлаживаемого устройства. Контроллер 25 ждет прихода следующего байта данных по каналу ИРПС 81, когда опять будет выработан запрос прерывания 46 и микропроцессор 5 взведет триггер 16, Использование триггера 16 позволяет синхронизировать по времени относительно медленный по времени обмен по ИРПС и быстродействующий режим ПДП. Скорость обмена управляющей микроЭВМ и отлаживаемого устройство будет определяться параметрами канала ИРПС 81. Временная диаграмма функционирования в режиме записи информации в память отлаживаемого устройства представлена на фиг,3.
Передача информации из памяти отлаживаемого устройства в ведущую микроЭВМ осуществляется под действием управляющей программы. При этом устройство отладки по каналу ИРПС приемопередатчиком 29 принимает команду управления, формат которой определяет режим работы, а также начальный и конечный адрес памяти отлаживаемого устройства.
По приему приемопередатчиком. 29 команды управления формируется запрос прерывания 46. Микропроцессор 5 переходит на подпрограмму обработки запроса прерывания 46, считывает входной регистр приемопередатчика 29 и в соответствии с содержимым команды управления осуществляет настройку блоков 4, 28 и контроллера
25 ПДП на режим чтения памяти, причем порт А блока 4 настраивается на режим стробируемого чтения, когда входная информация защелкивается во входном буфере по переднему фронту сигнала чтения
5 памяти 58. Кроме того, микропроцессор 5 устанавливает в единичное состояние сигнал "установка прямого доступа в памяти"
76 и сигнал "запрет выдачи" 80, который в состоянии захвата ША2, ШД2, и ШУ2 блоки10 рует передачу содержимого блока 28 через ключ 27. Затем микропроцессор 5 по команде ВЫВОД настраивает приемопередатчик
29 на режим передачи, при этом формируется сигнал готовности передачи Т X RDY, который является запросом прерывания 45;
При его появлении происходит переход на соответствующую подпрограмму, в кото рой по команде ВЫВОД формируется управляющий сигнал 51 установки триггера 16 запроса ПДП. Триггер 16 своим выходом переводит в активное состояние вход OR0 запроса прямого доступа контроллера 25
ПДП. Затем контроллер 25 ДПД формирует
25 сигнал "ЗАПРОС захвата" НО О, который подается на О вход триггера 22 захвата и тактируется частотой 62, Триггер 22 перехо.дит в другое устойчивое состояние информирует на ШУ2 сигнал "запрос захвата" 68.
30 Микропроцессор 5 отлаживаемого устройства переходит в третье состояние и отвечает сигналом "подтверждение захвата" 69, поступающим на контроллер 25 ПДП и переводящим в третье состояние ключи 30 и
35 31, через которые поступают управляющие сигналы 37, 33 и младший байт адреса 55 от микропроцессора при настройке контроллера 25 ПДП на данный режим работы. В соответствии с алгоритмом функционировэ40 ния контроллер 25 ПДП формирует сигнал
AS строб адреса. по переднему фронту которого в блок 4,записывается старший байт адреса и AEN разрешейие адреса, которым открывается регистр 24 и элемент 23, Таким
45 образом на ША2 будет установлен адрес считываемого ОЗУ. Затем контроллер 25устанавливает сигнал "чтение памяти" 58 на
ШУ2 и его задним фронтом в блок 4 защелкиваются данные с ШД2. Блок 4 выставляет
50 запрос прерывания 41, по которому микропроцессор считывает соответствующий порт, выполняя команду ВВОД, и по команде ВЫВОД байт данных записывает в приемопередатчик 29 и принимает от него
55 сигнал готовность передачи Т X RDY, который является запросом прерывания 45, по которому начинается очередной цикл чтения памяти отлаживаемого устройства, Конец обмена, характеризуемый обращением
1815643 к последнему адресу памяти отлаживаемого устройства, сопровождается формированием соответствующего сигнала ТС, который подается на один из входов 44 запроса прерывания. По этому запросу 44 микропроцессор 5 выходит из программы обмена по каналу прямого доступа, Временная диаграмма функционирования в режиме чтения информации из памяти отлаживаемого устройства представлена на фиг.4.
Следующий после загрузки этап прогона программы осуществляется либо в непрерывном режиме, либо по шагам.
Пользователь с клавиатуры видеотерминала набирает соответствующую отладочную директиву, которая представляется определенной командой управления, передаваемой в устройство отладки по каналу ИРПС
81 и обрабатывается микропроцессором 5.
Требуемый режим работы определяется состоянием порта С блока 4, запись информации в который производится по сигналу 37.
В этом случае внутренний управляющий сигнал 74, поступающий на Д-вход триггера
19 блокировки памяти и сигнала 73, поступающий на Д-вход триггера 20 сброса обеспечивают сигналы "блокировка памяти" 64 и "сброс" 65 уровня лог,0, В случае непрерывного режима работы в порте С блока 4 устанавливаются в состояние лог. "0" сигналы 70, 71 и два разряда порта С блока 3, поступающие на элементы И6 и И7, в результате чего с выхода элемента "ИЛИ" 14 на Д-вход триггера готовности поступает лог. "0" и формируется единичный сигнал
ШУ2 -63 "готовность".
При работе в режиме выполнения отлаживаемой программы по шагам устанавливается в единичное состояние сигнал 70, который через элемент "ИЛИ" 14 поступает на Д-вход триггера 18. Ка С-вход поступает сигнал 61 — "начало цикла", В результате формируется нулевой сигнал "готовность"
63. После чего отлаживаемое устройство переходит в состояние ожидания, на ШД2 и
ША2 будут находиться текущие значения данных и адресов. Микропроцессор 5 по команде ВВОД считывает блок 2 адреса и порты А и В блока данных 4, а затем через приемопередатчик 29 передает их содержимое в управляющую микроЭВМ. Прогон отлаживаемой программы на шаг осуществляется установкой триггера 18 готовности в единичное состояние путем подачи управляющего сигнала 53 на Р вход.
Функционирование устройства в режиме прогона рабочих программ с признаком останова определяется установкой в единичное состояние сигналов 71 — задание режима "останов по адресу", задание режима "останов по прерываниям" (поступает с порта 6 блока 2 на элемент 6), задание ре5 жима "останов по командам ВВОД и ВЫВОД" (поступает с порта С блока 2 на элемент 7).
При отладке рабочих программ с остановом по командам ВВОД и ВЫВОД устанавливется в единичное состояние бит порта С блока 2, поступающий на первый вход элемента "И" 7, На второй входэлемен та "И" 7 поступает сигнал ШУ2 59, признак команд B ВОДА/В Ы ВОДА. Выход элемента
"И" 7 соединен с одним из четырех входов элемента "ИЛИ" 14, на выходе которого будет установлен уровень лог. "1" при наличии в отлаживаемой программе команд ВВОДА и ВЫВОДА. В этом случае на Д-вход триггера готовности 18 поступает лог. "1" и по приходууправляющего сигнала ШУ2 61 "начало команды" на С-вход триггера 18 будет сформирован сигнал "готовность" 63 с уровнем лог. "0". Отлаживаемое устройство переходит в состояние ожидания. На ША2 будет установлен адрес устройства ввода/вывода, на ШД2 считываемые или запи, сываемые во внешнее устройство данные, в зависимости от того, как выполняется команда ВВОД или ВЫВОД.
Затем микропроцессор 5 по команде
ВВОД считывает ШД2 и ША2 соответственно через блоки 2, 4 и через приемопередат35 чик 29 передает их в управляющую микроЭВМ. Пуск программы после останова осуществляется переустановкой триггера
18 готовности управляющим сигналом 53.
При отладке рабочих программ в режи40 ме "останов по прерываниям" устанавливается в единичное состояние бит порта С регистра, поступающий на первый входэлемента "И" 6. На второй вход этого элемента поступает сигнал ШУ2 60 "подтверждение
45 прерывания". Выход элемента "И" 6 соединен с одним из четырех входов элемента
"ИЛИ" 14, на выходе которого будет установлен уровень лог. "1" при наличии в отлаживаемой программе подтверждения
50 прерывания. В этом случае на Д-вход триггера готовности 18 поступает лог. "1" и по приходу управляющего сигнала ШУ2 61 "начало команды" на С-вход триггера будет сформирован сигнал 63 "готовность" с уров55 нем лог. "0". Отлаживаемое устройство переходит в состояние ожидания. На ША2 будет находиться адрес возврата в отлаживаемую программу по завершению обработки прерываний, на ШД2 — код команды
1815643
RESTART, определяющий вектор прерываний. Считывание шин ШД2 и ША2 производится так же, как и в цикле "ВВОД и
ВЫВОД".
При отладке рабочих программ в режиме "останов по адресу" микропроцессорное устройство переходит в состояние ожида.ния, когда отлаживаемая программа проходит через заданный дрес остановэ требуемое количество циклов. Для этой цели по каналу ИРПС 81 микропроцессор 5 принимает информацию, содержащую тип режима отладки (в данном случае останов по адресу, адрес останова и количество цик-. лов). Затем по команде ВВОД осуществляется запись в блок 3 адреса останова, а его . встроенный таймер настраивается на требуемое количество циклов прохождения заданного адреса. Запуск режима осуществляется установкой в единичное состояние управляющего сигнала 71 "установка режима останова по заданному адресу" блока 4. В этом случае открывается схема сравнения 8, которая осуществляет сравнение адреса останова, записанного в блок 3, с.текущим значением ША2. В случае совпадения адресов схема 8 вырабатывает сигнал равенства. Выход элемента 8 соединен со счетным входом вычитания таймера блока 2..
Когда значение таймера станет нулевым, т.е. программа пройдет заданное количество цикло, формируется сигнал переноса, который поступает на один из входов элемента "ИЛИ 14. а выход элемента "ИЛИ"
14 связан с Д-входом триггера готовности
18. Таким образом. на Д-входе триггера 18 появится логическая единица при условии нулевого значения таймера блока 2. Триггер готовности 18 сформирует сигнал "готовность" 63 по переднему фронту сигнала 61
"начала команды", идущего на С-вход. Процессор отлаживаемого устройства перейдет в состояние ожидания. На ША2 будет находиться адрес останова, на ШД2 соответствующие этому адресу данные. Считывание шин микроЭВМ производится так же, как и в предыдущих режимах работы с остановом, Помимо формирования сигнала "готовность" устройство може формировать сигнал 65 "сброс", поступающий на отлажиааемую микроЭВМ. Для этого служит триггер 20. На Д-вход поступает управляющий сигнал 73, который устанавливается в состояние логической единицы через соответствующий. разряд порта М блока 4. На С-вход триггера 20 принимается тактовая частота 62. Снимается сброс подачей на Д-вход триггера 20 нулевого сигнала 73 по переднему фронту тактовой частоты 62, Применение триггера в схеме формирования сброса необходимо для того, чтобы
5 асинхронный сигнал, сформированный в порте С блока 4 был переведен к временной диаграмме работы отглаживаемой микроЭВМ. Для этой же цели синхронизации управляющих сигналов 72, 76, 74
10 используются триггер 21 запроса прерывания, триггер запроса 22 захвата и триггер 19 блокировки памяти.
Помимо выше перечисленных, устрой.. ство отладки программ обеспечивает режим
1 работй с отладочным ОЗУ 15, необходимость введения которого обусловлена следующими причинами.
Отладка программного обеспечения микропроцессорных устройств включает в себя прогон программ в реальном масштабе времени и их корректировку по результатам выполнения команд памяти. Так как отлэживаемые устройства имеют в своем составе
25 ПЗУ, то естественно вести отладку программ в области адресов ПЗУ не представляется возможным. Для обеспечения работы в требуемой зоне адресов в устройстве имеется отладочное ОЗУ, в которое за30 гружается рабочая программа из управляющей микроЭВМ по каналу ИРПС
81, а затем это ОЗУ 15 переключается нэ шины адреса, данных и управления. микропроцессорного устройства и подается сиг35 нал "блокировка памяти" 64, который отключает ПЗУ, место которой занялоотладочное ОЗУ 15. При работе в режиме загрузки отладочного ОЗУ 15 микропроцессор 5 по каналу ИРПС 81 принимает команду управ40 ления, содержащую тип режима работы и декодирует ее. Затем в соответствий с заданным режимом по команде ввод устанавливается в единичное состояние управляющий сигнал 78 требование захвата
45 путем обращения к соответствующему биту порта С блока 28. Сигнал 78, поступает нэ S вход триггера запроса захвата 22, устанавливает в единичное состояние сигнал 68 "запрос захвата", в результате чего
50 микропроцессор отлаживаемого устройства переходит в состояние захвата и отключается от ША2 и ШД2, которые связаны с соответствующими входами отладочного ОЗУ
15. Следующей командой ВВОД устэнавли55 вается в единичное состояние управляющий сигнал .75 "загрузка ОЗУ". который открывает винные формирователи данных
9 и адресов 10, подключая таким образом
ОЗУ 15 к внутренним шинам данных ШД1 и
1815643 адресов ША1. Этим же сигналом 75 мультиплексор 11 подключает к ОЗУ 15 старшие адреса ША1 и сигнал "запись" 37. Таким образом ОЗУ 15 подключается к внутренним шинам ШД1, ША1 и ШУ1, Затем по каналу ИРПС 81 на приемопередатчик 29 поступает массив данных, которые необходимо загрузить в ОЗУ 15, Микропроцессор
5 по запросу прерывания 46 принимает поступающую информацию и формирует цикл записи ее в ОЗУ 15. Для того, чтобы в это время не произошло обращение к ОЗУ блоков, 2, 3, 4, 28 адресные поля и ОЗУ 15 должны быть разнесены. По завершению обмена сигнал "загрузка ОЗУ" 75 снова устанавливается в состояние в состояние логического нуля, шинные формирователи 9, 10, переходят в третье состояние и как следствие ША1 и ШД1 отключаются от ОЗУ 15, а мультиплексор 11 переключается на ША2 и
ШУ2. Таким образом отладочное ОЗУ будет подключено к микропроцессорному устройству. Для того, чтобы пользователь мог работать в данном режиме необходимо установить единичный сигнал 74 "блокировка памяти" и нулевой сигнал "запрос захвата" 78 по команде ВЫВОД с обращением к порту С блока 28. В этом случае блокируется
ПЗУ микропроцессорного устройства и микропроцессор отлаживаемого устройства выходит из захвата, а вместо ПЗУ подключается ОЗУ 15.
Следующий этап после загрузки рабочих программ в память отлаживаемого устройства, их прогона и корректировки заключается в программировании ПЗУ с ультрафиолетовым стиранием. B этом случае устройство отладки по рангу ИРПС приемопередатчиком 29 последовательного канала принимает команду управления, формат которой определяет режим работы, а также начальный и конечный адрес программируемого ПЗУ и вырабатывает запрос прерывания 46, поступающий на соответствующий вход микропроцессора 5. Микропроцессор 5 переходит на подпрограмму обработки прерываний и в соответствии с кодом команды управления осуществляет настройку программных блоков 4, 328 и контроллера 25 ПДП, Затем производится настройка встроенного таймера блока 28 на временную задержку 50 мсек, необходимую выдержать для соблюдения временной диаграммы программирования ПЗУ с УФ стиранием.
После передачи по ИРПС команды управления и настройки устройства на режим программирования осуществляется пере5
55 сылка массива данных из управляющей микроЭВМ в ОЗУ блоков 4, 28, Затем микропроцессор, загрузив последний байт информации в п.вмять, по команде "ВЫВОД" защелкивает первый байт в порт А блока 28 и устанавливает в состояние логического нуля управляющий сигнал 76 "установка прямого доступа к памяти", блокируя тем самым С вход триггера 16 запроса ПДП.
Следующей командой ВЫВОД формируется управляющий сигнал 51, поступающий на
S-вход триггера 16, который переводит вход» запроса прямого доступа DRQ контроллера
26 в активное состояние. В ответ на поступление апроса прямого доступа контроллер
25 формирует сигнал запрос захвата НО О, который подается на D-вход триггера 22 и тактируется частотой 62. Триггер 22 формирует на ШУ2 единичный сигнал 68 "Запрос захвата". Микропроцессор отлаживаемого устройства отключается от ШД2. ДА2, ШУ2 и отвечает сигналом "подтверждение захвата" 69, поступающим на соответству,:ощий вход контроллера ПДП 25 и переводящим в третье состояние элементы 30, 31, через которые проходят сигналы записи 37, чтение
33 и младший байт адреса 55 от микропроцессора 5 при настройке контроллера на требуемый режим работы, Одновременно сигнал 69 "подтверждение захвата" открывает элемент 27 и байт данных, записанный в порте А блока 28 поступает на ШД2, а контроллер ПДП формирует сигналы AS "строб адреса", по переднему фронту которого в регистр адреса 24 записывается старший байт адреса и сигнал AEN "разрешение адреса", которым открывается регистр 24 и элементы 23. Таким образом на ША2 будет установлен адрес программируемого ПЗУ.
Затем в соответствии с алгоритмом функционирования контроллер при GblcTGBленных адресах и данных на ША2 и ШД2 формирует сигнал 66, "запись памяти" нэ
ШУ2. Передний фронт строба адреса AS через элемент "И" 13 при единичном сигнале
77 "программирование ППЗУ" поступает на
С-вход триггера 17 готовности контроллера
25 ПДП, последний, в свою очередь, выходом нулевого уровня переводит в состояние ожидания контроллер 25, в результате чего на ША2, ШД2 будут удерживаться адрес и данные программирования, а на ШУ2 сигнал 66 "запись памяти". Одновременно выходной сигнал триггера 17 открывает элемент И26 и тактовая частота 37 поступает на счетный вход таймера блока 28, настроенного на 50 мсек. Для соблюдения
1815643
16 временной диаграммы программирования
БИС ППЗУ с УФ стиранием микропроцессор через время не менее 4 мксек после выдачи управляющего сигнала 51 по команде ВЫВОД установкой определенного бита порта С регистра 28 формируется сигнал 79
"запись ППЗУ".
rlo истечении 50 мсек, необходимых для программирования ППЗУ, таймер регистра выдает одиночный импульс 47, который поступает на один иэ входов запросов прерыва ния ми кроп ро цессора 5. Последний переходит на подпрограмму обработки прерывзния, снимает управляющий сигнал 79, а си -налом 52 "установка триггера готовности ЛПД" через триггеры 16, 17 выводит контроллер из цикла ожидания с завершением захвата шин ША2 и ШД2. Программирование следующей ячейки памяти осуществляется по тому же алгоритму с записью очередного байта информации в порт
А блока 28. Временная диаграмма данного отладочного режима представлена на фиг.5.
Работа с восьмиразрядными или шестнадцатиразрядными микропроцессорными устройствами определяется пользователем перед началом отладки. В этом случае задается конфигурация программно-доступных портов блоков 2, 3, 4, 28. Для отладки восьмиразрядных процессоров испоьэуются порты А, В блоков 2, 3, порты А блоков 4, 28.
Для отладки шестнадцатиразрядных процессоров используются все порты в соответствии с фиг.1.
В качестве отладочной микроЭВМ могут использоваться отечественные микро. ЭВМ "ИСКРА 1030", "С-1840", "ЕС-1810" и другие совместно с сервисным периферийным оборудованием. Стандартное программное обеспечение указанных микроЭВМ для работы с предлагаемыми "n" устройствами рзсширено дополнительным интерпретатором командной строки и программным монитором.
Интерпретатор командной строки анализирует консольный ввод(с клавиатуры видеотерминзлз) и в зависимости от введенной информации передает управление на загрузчик операционной системы или загрузчки программного монитора.
При переходе в режим отладки программного обеспечения используется программный монитор, который позволяет работаь как с программой в отлзживаемых микроЭВМ, так и в самой отладочной микроЭВМ.
Процедуры выполнения деректив программного монитора по каналу ИРПС посту35
40 процессорных систем, что повышает производительность процесса отладки программ.
С учетом указанных возможностей, предложенное устройство позволяет осуществить полный процесс разработки программного обеспечения, а также контроль и диагностику микропроцессорных устройств.
Формула изобретения
Устройство для отладки программ микроЭВМ, содержащее блок задания адреса, блок входных данных и режимов отладки, дешифратор адреса, блок адреса останова и режимов отладки, блок выходных данных и режимов отладки, схему сравнения, первый и второй элементы И, элемент ИЛИ, триггеры готовности, блокировки памяти, запроса прерывания, сброса и запроса захвата, причем первый адресный вход блока задания адреса соединен с первым младшим байтом адресной шины отлаживаемой микроЭВМ, второй адресный вход блока задания адреса
55 пают в устройство отладки, где анализируются и обрабатываются, обеспечивая ввод и вывод информации на УВВ, работу с памятью и регистрами ввода-вывода и управ5 лен и я ходом выполнения программ отлаживаемых микроЭВМ.
Программный монитор дает возможность пользователю работать по следующим дерективам: заполнение области
10 памяти константой, сравнение двух массивов памяти, перемещение массива памяти, подсчет контрольной суммы области памяти. замена содержимого памяти, вывод на устройство отображения содержимого области памяти, запуск и останов микропроцессора по заданному адресу, трассировка программы, редактирование регистров общего назначения, чтение памяти с BblBOДОМ ее содержимого. в управляющую микроЭВМ, запись в память отглаживаемого устройства информации иэ управляющей микроЭВМ, установка номера отлаживаемой микроЭВМ.
Предлагаемое устройство совместно с отладочной микроЭВМ позволяет осуществить полный цикл разработки программного обеспечения: составления, исправления программ, отладки их на микроЭВМ и мик30 ро-процессорных устройствах. Помимо сказанного устройство обладает программно-аппаратной гибкостью. Так, эа счет ввода нескольких устройств обеспечивается многопрограммная отладка микро17
1815643 соединен с вторым байтом адресной шины отлаживаемой микроЭВМ, третий адресный вход блока задания адреса соединен со старшими разрядами адресной шины отлаживаемой микроЭВМ, четвертый адресный вход блока задания адреса и первые адресные входы блока входных данных и режимов отладки, блока адреса останова и режимов отладки, дешифратора адреса и блока выходных данных и режимов отладки соединены с внутренней адресной шиной управляющей микроЭВМ, пятый и шестой входы блока задания адреса, второй и третий входы блока входных данных и режимов отладки являются входами устройства для подключения к выходам записи и чтения шины управления управляющей микроЭВМ, вторые входы блока адреса останова и блока выходных данных и режимов отладки являются входами устройства для подключения к выходу записи шины управления управляющей микроЭВМ, первый-четвертый выходы дешифратора адреса соединены соответственно с седьмым входом выборки блока задания адреса. третьим входом выборки блока адреса останова и режимов отладки, третьим входом выборки блока выходных данных и режимов отладки, четвертым входом выборки блока входных данных и режимов отладки, восьмой вход-выход блока задания адреса, пятый вход-выход блока входых данных и режимов отладки, четвертые входы блока адреса останова и режимов отладки, а также блока выходных данных и режимов отладки являются входами-выходами