Внутрисхемный эмулятор

 

Изобретение относится к вычислительной технике и предназначено для отладки микропроцессорных систем, построенных на базе однокристальных микроконтроллеров семейства 8051. Цель изобретения - повышение точности отладки за счет возможности оценки состояния отлаживаемой системы по машинным циклам. Подключаемая через блок 1 интерфейса системы проектирования инструментальная ЭВМ имеет программный доступ к блоку 2 регистров адреса, блоку 3 прерываний, блоку 4 трассировки по машинным циклам, блоку 5 управления записью /чтением, блокам памяти 6,7 отлаживаемой программы и вспомогательных процедур, регистру 8 управления, коммутатору 11 состояния и блоку 13 интерфейса отлаживаемой системы. После начальной загрузки блоков 3 и 7 производится исполнение отлаживаемой программы. При этом, по достижении точек останова в программе, эмулятор переводится в холостой режим работы с помощью блока 12 формирования команды холостого цикла работы. Доступ системы проектирования к внутренним ресурсам эмулятора может осуществляться по достижении в блоке 3 точки прерывания. Регистры блока 4 дают информацию об адресах останова в последних четырех машинных циклах. 2 ил.

СОЮЗ СОВЕТСНИХ

СОЦИАЛИСТИЧЕСНИХ

РЕСПУБЛИН (51)5 G 06 F 9/44 15/60

ОПИСАНИЕ ИЗОБРЕТЕНИЯ

К А ВТОРСНОМУ СВИДЕТЕЛЬСТВУ

3 °

ГОСУДАРСТВЕННЫЙ НОМИТЕТ

AO ИЗОБРЕТЕНИЯМ И ОТНРЫТИЯМ

IlPH ГКНТ СССР! (21) 4375671/24-24 (22) 09.02.88 (46) 30. 08. 90. Бюл. В 32 (71) Всесоюзный научно-исследовательский и испытательный институт медицинской техники и Московский физико.— .технический институт (72) В,А,Корнев, Н,Н.Щелкунов и А.П.Дианов (53) 681.325(088.8) (56) Заявка ЕПВ В 0168034, кл. С 06 F 9/44, опублик, 1986, Development Systems Handbook.

N.Y. Intel. Corp., 1 984, order number 280017-001, рр.5-1. — 5-7, fig.1, (54) ВНУТРИСХЕМНЫЙ ЭМУЛЯТОР (57) Изобретение относится к вычислительной технике и предназначено для отладки микропроцессорных .систем, построенных на базе однокристальных микроконтроллеров семейства 8051.

Цель изобретения — повышение точности отладки за счет обеспечения возможно-. сти оценки состояния отлаживаемой сисшиио упр

„„SU„„1589274 A 1

2 темы по машинным циклам. Подключаемая через блок 1 интерфейса системы проектирования инструментальная ЭВМ имеет программный доступ к блоку 2 регистров адреса, блоку 3 прерываний, блоку 4 трассировки по машинным циклам, блоку 5 управления записью/чтением, блока 6, 7 памяти отлаживаемой программы и вспомогательных процедур, регистру 8 управления, коммутатору 11 состояния и блоку 13 интерфейса отлаживаемой системы. После начальной загрузки блоков 3 и .7 производится исполнение отлаживаемой программы.

При этом по достижении точек останова в программе эмулятор переводится в холостой режим работы с помощью блока 12 формирования команды холостого цикла работы. Доступ системы проектирования к внутренним ресурсам эмулятора может осуществляться по достижении в блоке 3 точки прерыва-: ния, Регистры блока 4 дают информацию об адресах останова в последних четырех машинных циклах. 2 ил, Дф.шим

1 589274

Изобретение относится к вычислительной технике и может быть использовано для органиэации комплексной отладки аппаратного и программного обеспечения микропроцессорньж систем, построенных на базе однокристальных мик рок онтроллеров семейс тва 8051, Цель изобретения — повышение точности отладки за счет обеспечения воз- 1О можности оценки состояния отлаживаемой системы по машинным циклам.

На фиг.l приведена структурная схема эмулятора (связи показаны в виде фин); на фиг.2 — укрупненная граффхема алгоритма работы.

Эмулятор содержит блок 1 интерфей-!

Ча системы проектирования, блок 2 регистров адреса, блок 3 прерывания, блок 4 трассировки no MamHHHblM блок 5 управления записью/чтением, блок 6 памяти отлаживаемой программы, блок ? памяти вспомогательных процедур, коммутатор 8 данных, блок 9 микропрограммного управления, регистр 1 0 25 управления, коммутатор 11 состояния, блок 12 формирования команды холостого цикла работы и блок 13 интерфейса отлаживаемой системы.

Инструментальная ЭВМ системы проектирования, подключаемая к эмулятору, имеет программный доступ к блокам

2-7, регистру 10, коммутатору 1! и блоку 13, Перед началом работы блок 7 загружается рабочей программой, которую необходимо отладить на прикладной системе. Адресация блока 7 осуществляется с помощью блока 2 регистров адреса, предварительно загружаемого сис- 40 темой проектирования, Блок 3 прерыва— ния служит для задания прерывания.

Прерывание ограничено четырьмя точками или одной точкой и диапазоном. 3агрузка блока 3 прерывания осуществля- 45 ется аналогично загрузке блока 7 памяти эмулятора. Блок 6 служит для хранения вспомогательных процедур в кодах эмулируемой однокристальной. микроЭВМ, которые служат для ее запуска, 50 контроля и загрузки содержимого ее внутренней памяти (данных и регистров). Память блока 6 скрыта по отношению к прикладной системе и не заметна для пользователей. После загрузки эмулятор переводится в режим

1 исполнения прикладной программы. Это осуществляется с помощью служебных процедур, заносимых в блок 6. При достижении какой-либо точки останова эмулятор автоматически переводится в холостой режим работы, в котором . он выполняет цикл Ml ЫМР Ml И! = 0202 (Мl — метка, 0202 — код командного холостого цикла работы). Этот цикл формируется с помощью блока 1 2. Состояние эмулятора непрерывно опрашивается системой проектирования через коммутатор 10, Доступ к внутренним ресурсам эмулятора со стороны системы проектирования разрешен в случае достижения в блоке 3 точки прерывания.

Система проектирования опрашивает регистры блока 4 трассировки по машинным циклам, которые и дают ей информацию об истинном адресе останова, Блок 4 содержит регистры, которые фиксируют адреса последних четырех машинных циклов, выполняемых эмулятором перед точкой останова, Используя память блока 6; система проектирования читает состояние эмулятора и по команде оператора модифицирует его, Чтение содержимого внутренних ресурсов осуществляется через соответствующие регистры блока 13.

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

Информация-, считываемая с блока 4 системой проектирования, служит для контроля за реальным прохождением от.— лаживаемой программы.

Блок 9 микропрограммного управления, регистр 1 О управления и коммутатор 11 состояния служат для общего управления работой эмулятора, Блок 9 содержит схему синхронного запуска эмулятора и останова по сигналу прерывания, который генерируется блоком

3. Запуск эмулятора осуществляется по перепаду иэ "0" в "1" сигналов °

RUNC (запуск кода, лежащего в блоке

6) или RUNM (запуск кода, лежащего в блоке 7). управляющего слова. В обоих случаях из холостого цикла Мl:LIMP Ml управление передается на служебную подпрограмму блока 6, которая имеет следующую структуру:

Ml: N0P

N0P

1 589274!

МОЧ А, addr 8

NOP

ЯОР

LIMP USER

Чтение бита:

МОЧХ А, CDP- T

MOVX CR., А

LIMP LOOP

NOV А,400

NOVC А, СА + DPTR

MOVX Pa) R. А

LIMP ООP

45

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

Обратный переход осуществляется" при A8 V A9 = 1.

Примером таких функций могут служить программы, написанные на языке ассемблера ASM51, Чтение внутренней памяти данных:

MOVK CR, А

LINP LOOP (LOOP — метка) МОЧ С, bit=addr.8

MOVX CR., А

LIMP LOOP

Чтение внешней памяти данных:

MOV,DPTR,Ôàddr.16

Чтение программной памяти:

МОЧ DPT, М addr.16

Запись во внутренюю память данньгх:

МОЧ А, Ф data

МОЧ addr. 8, А

LIMP LOOP

Установка бита:

MOV А, data

R R C

NOV bit, С

LIMP LOOP

Запись во внешнюю память данных:

МОЧ DPTR, ф addr.16

MOV А, ф data

МОЧХ С DPTR; А

LIMP LOOP

При передаче управления на адрес

03004, А8 1 (аппаратная реализация) регистр 1 О управления переходит в холостой цикл М1:LSNP Nl.

При необходимости передачи управления на программу пользователя по адресу USER (точка, задаваемая оператором), которая хранится в блоке 6, используется процедура

При этом блок 10 регистра управления должен быть запущен сигналом

RUNM в остальных случаях — RUNC).

Пассивный RUNG позволяет сработать триггерам блока 9, приводящим эмулятор в режим работы с блоком эмулятора.

В этом режиме программа исполняется до появления сигнала прерывания.

Указанные режимы работы эмулятора поясняются граф-схемой на фиг.2, где

IDLE — холостой цикл работы, NON— выполнение программы из блока 6 памяти отлаживаемой программы; СОРЕ выполнение программ пользователя из блока 7 вспомогательных процедур.

Переход иэ режима IDLE .в режим 1

MON осуществляется с помощью команды

RUNC или RUNM. Обратный переход осуществляется с помощью команды ИЗЮМ .

Ъ при А8 V А9 = 1. Для перехода из режима MON в режим CODE используется команда RUNC, а команда BREAK выполняет обратный переход.

Формула изобретения

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

1589274 введены блок интерфейса системы про-. ектирования, блок регистров адреса, регистр управления, коммутатор состо- яния, коммутатор данных, блок памяти вспомогательных процедур, блок управления записью/чтением и блок формирования команды холостого цикла работы, а блок трассировки выполнен в виде блока трассировки по машинным циклам, причем входы и выходы блока интерфей. са системы проектирования являются входами и выходами эмулятора для подключения к входам и выходам обмена, системы проектирования, информацион- ° .ный вход и вход записи блока регистров адреса соединен е соответствующи— ми выходами блока интерфейса системы проектирования, информационный вход и вход адреса блока прерывания соединен с соответствующим выходом блока интерфейса системы проектирования и с выходом блока регистров адреса соответственно, информационный вход и вход записи регистра управления соединены с соответствующими выходами блока интерфейса системы проектирования, соответствующие входы логических условий блока микропрограммного управления соединены с соответствующими выходами регистра управления, блока регистров адреса и блока трассировки по машинным циклам, информационный вход и входы управления которого соединены с выходом блока регистров адреса и соответствующими выходами блока интерфейса системы про— ектирования регистра управления и блока микропрограммного управления соответственно, информационные входы и ""òðoáèðóâùèé вход коммутатора состояния соединены с соответствующими выходами блока микропрограммного управления и соответствующим выходом чтения блока трассировки по машинным циклам, информационные выходы которого и коммутатора состояния соединены

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

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

1 589274

tWC

Составитель А.ушаков

Редактор А.Orap Техред Л.Сердюкова Корректор В.Гирняк

Заказ 2541 Тираж 579 Подписное

ВНИИПИ Государственного комитета по изобретениям и открытиям при ГКНТ СССР

113035, Москва, Ж-35, Раушская наб., д. 4/5

Производственно-издательский комбинат "Патент", г. Ужгород, ул. Гагарина, 101

Внутрисхемный эмулятор Внутрисхемный эмулятор Внутрисхемный эмулятор Внутрисхемный эмулятор Внутрисхемный эмулятор 

 

Похожие патенты:

Изобретение относится к вычислительной технике и может быть использовано в устройствах отладки микропрограмм, проверки работоспособности и диагностики аппаратуры микропрограммируемых устройств (МПУ)

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

Изобретение относится к вычислительной технике

Изобретение относится к вычислительной технике

Изобретение относится к вычислительной технике и может быть использовано в системах реализации языков высокого уровня, в аппаратурных трансляторах , эмуляторах и интерпретаторах

Изобретение относится к вычислительной технике

Изобретение относится к вычислительной технике

Изобретение относится к средствам автоматизированного проектирования контактных сетей

Изобретение относится к автоматизированному проектированию

Изобретение относится к системам анализа монтажных плат

Изобретение относится к области вычислительной техники и предназначено для моделирования задач при проектировании вычислительных систем

Изобретение относится к области цифровой вычислительной техники и предназначено для моделирования комбинаторных задач при проектировании РЭА и вычислительных систем

Изобретение относится к области вычислительной техники и предназначено для моделирования задач при проектировании вычислительных систем (ВС)

Изобретение относится к системам автоматизированного проектирования и программам автоматизированного проектирования

Изобретение относится к области вычислительной техники, а конкретно к области моделирования задач при проектировании вычислительных систем

Изобретение относится к устройству и способу, обеспечивающим повышение надежности, удобство сопровождения и удобочитаемость программных средств
Наверх