Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие 3000123.doc
Скачиваний:
21
Добавлен:
30.04.2022
Размер:
453.12 Кб
Скачать

Установка параметров трассировки

Файл трассировки (следа) содержит имена выполненных инструкций, шаг процессора, время, изменяемые инструкциями значения переменных или регистров. Использование файла трассировки особенно полезно там, где осуществляется ввод данных через стимулирующий файл. Таким образом, файл трассировки создает “распечатку” процесса выполнения программы на заданных участках. В MPSIM имеется пять команд, связанных с трассировкой:

  • TF - открыть (создать)/закрыть файл для записи трассировки;

  • TC - трассировка (прослеживание) определенного количества инструкций;

  • TR - трассировка инструкций, имеющих дело с определенными регистрами и величинами;

  • TA - печать трассировки всех инструкций между двумя определенными адресами;

  • DX - отображение параметров трассировки текущего следа.

Установка точек отладочных прерываний

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

  • DB - отображает все точки прерываний, установленные к настоящему времени;

  • BC - очищает одну или все точки прерываний, установленные к настоящему времени;

  • B - устанавливает точку прерывания.

Выполнение Объектного Кода

Кроме команд трассировки, есть ещё три команды, которые можно использовать для выполнения объектного кода:

  • E - выполняет объектный код до тех пор, пока не встретится точка прерывания или до нажатия любой клавиши;

  • SS - пошаговое выполнение программы;

  • С - выполняет объектный код и игнорирует “n” точек прерывания.

Модификация объектного кода

В MPSIM имеется четыре типа команд, которые позволяют модифицировать объектные коды и сохранять их после модификации:

47

  • Команды поиска кодов и их адресов по заданным параметрам.

  • Команды отображения/модификации содержимого ячеек (регистров).

  • Команды удаления кодов.

  • Команды вывода и сохранения модифицированных кодов.

4.1.3. Описание команд

1 AB - отказ от сеанса эмуляции

Синтаксис: АВ

Описание: прерывает сеанс эмуляции MPSIM. Выдаёт одно или два итоговых сообщения и осуществляет выход в OC. MPSIM сохраняет журнальный файл.

Связанные команды:

Q-выход.

2 AD - дополнение пунктов экрана просмотра

Синтаксис: AD signal {,система счисления }{,цифра}

Описание: команда добавляет объекты или регистры экрана просмотра. Кроме того, Вам предоставляется возможность задания системы счисления и/или количество выводимых разрядов. Команда при дополнении некоторых объектов не уничтожает исходный экран, а

отображает дополнительные пункты, наряду с текущими. По умолчанию система счисления – шестнадцатеричная.

Связанные команды:

V-отображает объект или регистр ;

NV-полностью стирает отображение пунктов экрана ;

GE-загружает файл инициализации.

Примечание: при обращении к регистрам используется шестнад- цатеричная система. Пример: файловый регистр 10 будет записы - ваться в виде “0А”.

3 В - установка точки прерывания

Синтаксис: В [адрес/ножка вывода] {заданное значение}

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

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

48

позиции или с помощью символа. Оператор может быть следующим: =, >, <, >=, <=, !=.

Примеры:

В LOOP <Enter>- установка точки прерывания на метку LOOP;

В F2>80- прерывание, если F2 больше 80.

Связанные команды:

ВС- очистка всех точек прерывания.

ДВ- отображение всех точек прерывания.

Замечание: при определении номеров регистров используется десятеричная система.

4 ВС- сброс точки прерывания

Синтаксис: ВС{address/data_area}

Описание: удаление определенной точки прерывания или всех точек сразу (по умолчанию).

Примеры: ВС LOOP- отмена прерывания точки LOOP;

ВС F3- отмена прерываний применения регистра F3.

Связанные команды:

В- установка точек прерывания;

ДВ- отображение всех точек прерывания.

5 С- продолжение выполнения

Синтаксис: С{n}

Описание: команда начинает выполнение с адреса в РС. Если n определено, то MPSIM игнорирует n первых точек прерывания. По умолчанию n равно нулю.

Связанные команды:

В- установка точек прерывания;

DВ- отображение всех точек прерывания;

ВС- очистка всех точек прерывания.

6 Ск - часы

Синтаксис: Ск pin, high- cycles, low- cycles.

49

Описание: команда позволяет пользователю связать часы с I/O выводом, определяет период часов, указывая количество циклов, в течение которых вывод должен быть активен и пассивен. Pin- имя любого существующего I/O вывода.

Пример: Ск RCO, 5, 4- связывает часы с выводом RCO, число активных циклов 5, число пассивных- 4.

7 DВ - отображает все активные точки прерывания

Синтаксис: DВ.

Описание: команда выделяет все активные точки прерывания. MPSIM поддерживает только одну точку условного прерывания на область данных.

Пример: ДВ.

При этом на экран выводится:

В LOOP- установка прерывания в месте LOOP;

В F2>80- установка условного прерывания.

Связанные команды:

В- установка точек прерывания;

ВС- очистка всех точек прерывания.

8 DЕ - удаление в памяти программы

Синтаксис: DЕ address 1, address2.

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

9 DI - отображение содержимого программной памяти

в мнемонико- символическом формате

Синтаксис: DI address 1, address2.

Описание: команда отображает программную помять с адреса 1 по адрес 2, причем адрес 2 должен быть больше адреса 1, и оба адреса должны иметь корректные значения. По умолчанию при отсутствии адреса 2 отображается только ячейка с адресом 1. Можно приостановить выдачу данных нажатием любой клавиши клавиатуры.

Связанные команды:

DM- также отображает память между двумя адресами, но только в цифровом формате.

50

10 DК - определение кнопки

Синтаксис: DК {AltFxkey, pin, event}

Описание: AltFxkey- целое от 1 до12;

Pin- любой существующий I/O вывод;

Event (событие) принимает одно из четырех значений- H, L, T, P

(high- высокий уровень, low- низкий уровень, toggle- переключатель, pulse-

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

DK- отображает назначение всех функциональных клавиш;

DK AltFxkey- отображает назначение определенной функциональной клавиши;

DK AltFxkey;- блокирует соответствующую функцию;

DK;- блокирует все функции.

Пример: DK 12, MCLR, P

Нажатие Alt-F12 приводит к одному циклу на выходе MCLR при выполнении; нажатие Alt-F12 симулирует сброс ДК3, RTCC, T. При нажатии Alt-F3 будет осуществляться переключение входа RTCC.

11 DL - удаление символа из таблицы идентификатора

Синтаксис: DL symbol.

Описание: эта команда удаляет определенный символ из таблицы идентификаторов.

Пример: DL MULPLE.

MPSIM удаляет “mulple” из таблицы идентификаторов. Для доступа к данным из этой области необходимо использовать номер фактического регистра F10.

Связанные команды:

GS- создает символ и устанавливает его таблице идентификаторов;

LS- загружает новую таблицу;

DS- отображает текущую таблицу идентификаторов;

RA- очищает таблицу идентификаторов.

51

12 DМ - отображение программной памяти в виде опреде-

ленной системы счисления

Синтаксис: DМ address1, address2.

Описание: команда отображает программную память с адреса 1 по адрес 2. Следует вводить корректные значения адресов (адрес 1 < адрес2, и оба имеют действующие значения). Для прекращения выдачи нажать любую клавишу.

Связанные команды:

DI - также отображает память, добавляет мнемокоды.

13 DP - отображение изменений

Синтаксис: DP.

Описание: команда отображает все изменения в символическом формате, отображает как исходный объектный код, так и новый.

Связанные команды:

М и IA- изменяют объектный код;

IN- добавляет команды в объектный код;

DE- удаляет объектный код;

RA, RP- восстанавливают изменения;

О- выдает измененный объектный код.

14 DS - отображает таблицы идентификаторов

Синтаксис: DS.

Связанные команды:

GS- создает символ и устанавливает его в таблицу идентификаторов;

LS- загружает новую таблицу идентификаторов;

DL- удаляет символ из текущей таблицы идентификаторов;

RA- восстанавливает (очищает) таблицу идентификаторов.

15 DV - удаление объекта из окна просмотра

Синтаксис: DV data.

Связанные команды:

52

V- создает объект или указанный регистр;

NV- стирает все объекты с экрана;

GE- загружает файл инициализации, который устанавливает экран просмотра.

16 DW - активизация / сброс WDT

Синтаксис: DW{E/D}.

Описание: Е- активизация, D- сброс.

Связанные команды:

RE- сброс астрономического времени и счетчика шага;

ZT- обнуление астрономического времени.

17 DX - отображение текущих параметров трассировки

Синтаксис: DX.

Описание: команда отображает параметры трассировки: текущую

позицию, код операции, мнемонику, шаги цикла, время, любые предварительно указанные данные.

Связанные команды:

TA, TC и TR- устанавливают параметры трассировки.

18 Е - выполнение программы

Синтаксис: Е{address}

Описание: команда выполняет программу с указанного адреса или с текущего значения РС. Выполнение продолжается до установленной точки прерывания или до нажатия любой кнопки.

Связанные команды:

GO- после прерывания программа выполняется с начала;

SS- выполняет программу с РС или с указанного адреса;

C- выполняет программу с текущего РС до определенной точки;

TA- выполняет трассировку указанными адресами;

ТС- выполняет трассировку с указанного РС.

19 ЕЕ - изменение ЕЕ памяти

Синтаксис: ЕЕ address.

53

Описание: команда изменения адреса памяти для PIC16C84.

20 F - отображение / изменение регистра

Синтаксис: F регистр.

Описание: команда отображает и / или изменяет содержание регистра. Значение регистра отображается после “:”. Новое значение вводится после следующего “:”.

Связанные команды:

SE- дает тот же результат;

DR, TR, ZR- отображает, выполняет трассировку и обнуляет определенный регистр соответственно;

М и IA- изменяют код в соответствующем адресе.

21 FI - запись регистра из файла

Синтаксис: FI FileName, PmenAddr, File RegAddr, [n].

Описание: команда записывает в файл (ASCII формат) значение регистра определяемого File RegAddr, если PmenAddr равен содержимому РС. Если n не определено, то запись в регистры происходит циклически. Формат файла- шестнадцатеричное число в одной строке. PmenAddr указывает момент ввода необходимых параметров в регистры. n- число считываний.

22 FI - закрытие файла

23 FM - запоминание памяти

Синтаксис: FM address1, address2, образец.

24 GE - получение команды из внешнего файла

Синтаксис: GE FileName.

Описание: в указанном файле ASCII находится команда MPSIM, которая будет автоматически выполняться.

25 GO - сброс и выполнение сначала

54

Синтаксис: GO.

Описание: команда выполняет сброс контроллера, связанный с падением энергопитания. Затем команда инициализирует контроллер согласно спецификации и выполняет программу.

26 GS - генерирование символа

Синтаксис: GS symbol, value, type{(FileName)}.

Описание: команда генерирует символ с указанным значением и типом.

Связанные команды:

DL- удаляет символ из таблицы идентификаторов;

LS, DS, RA- соответственно загружает, отображает и восстанавливает (очищает) таблицу идентификаторов.

27 Н - подсказка.

28 IA - отображение / модификация программной памяти

Синтаксис: IA address.

Связанные команды: DE, B, M.

29 В - включение инструкции

Синтаксис: B address, instruction.

Описание: команда вставляет инструкцию в программную память по указанному адресу. Последняя инструкция сдвигается в сторону старших

адресов. Инструкция должна быть синтаксически правильной.

Связанные команды: DE, IA, M.

30 IP - точка введения

Синтаксис: IP [время/шаг].

Описание: команда считывает значение из стимулирующего файла и эмулирует соответствующие выводы в указанный момент времени или при указанном состоянии процессора.

55

31 LJ - загрузка и выполнение журнального файла

Синтаксис: LJ.

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

Связанные команды: GE, LJ, LO, ST.

32 LO - загрузка файла

Синтаксис: LO FileName {формат}.

Описание: команда осуществляет загрузку указанного файла с кодом программы в программную помять. Для MPSIM используются расширения odj, формат INHX8S (по умолчанию). В других случаях необходимо указать формат файла. Для MPALC используется расширение ИЕХ. После загрузки кодового файла MPSIM пытается загрузить исходный файл с расширением LST. Если исходный текст не найден, введенный файл кода будет дизассемблирован.

Связанные команды: GE, LJ, LS, ST.

33 М - отображение / модификация программной памяти с

указанной системой счисления

Синтаксис: M address.

Описание: команда отображает из программной памяти команду, находящуюся по указанному адресу. При изменении кода необходимо вывести значения требуемого кода после “:” и нажать <Enter>. При повторном нажатии <Enter> осуществляется переход к следующему адресу. Выход из режима- ввод команды “Q”. Возврат на одну строку- ввод символа “-“.

Связанные команды: IA.

34 LS - загрузка символьного файла

Синтаксис: LS FileName.

Описание: команда загружает указанный символьный файл во внутреннюю таблицу идентификаторов. По умолчанию расширение “SYM”.

Связанные команды: GS, DL, DS, RA.

56

35 NV - пустое окно просмотра

Синтаксис: NV.

Описание: команда удаляет все переменные из окна просмотра.

Связанные команды: AD, V.

36 О - выдача измененного объектного кода

Синтаксис: O FileName {format}.

Описание: команда записывает содержимое программной памяти в указанный файл с заданным форматом. По умолчанию формат файла: INHX8M.

37 Р - выбор микроконтроллера

Синтаксис: P {54/55/71/…}.

Описание: команда осуществляет выбор эмулируемого типа микроконтроллера PIC16CXX. По умолчанию эмулируется PIC16C55.

38 Q - выход

Описание: команда выходит из системы и перезаписывает журнальный файл.

Связанные команды: АВ.

39 RA - восстановление

Синтаксис: RA

Описание: команда восстанавливает таблицу корректора, очищает таблицу идентификаторов и удаляет точки прерывания программы.

Связанные команды: RP, DL, BC.

40 RS - сброс времени счета программы

Синтаксис: RS

Описание: команда сбрасывает таймер MPSIM.

Связанные команды: ZT.

57

41 RP - восстановление корректоров

Синтаксис: RP.

Описание: команда устанавливает исходное состояние корректоров и очищает таблицу корректора.

Связанные команды: RA.

42 RW - сброс процессора

Синтаксис: RW.

Описание: команда имитирует сброс процессора при сбое питания.

Связанные команды: GO.

43 SC - отображение/изменение тактовой частоты процессора

Синтаксис: SC [cycle/ength].

Описание: команда изменяет быстродействие эмуляции контроллера. Если параметры не указаны, то выдается текущая тактовая частота работы контроллера.

44 SE - отображение / модификация области данных

Синтаксис: SE data.

Описание: команда отображает и / или модифицирует любую область данных.

Связанные команды: F, W, ZR.

45 SF -поиск в программной памяти обращения к данным

Синтаксис: SF address1, address2, data.

Описание: команда осуществляет поиск и отображение команд в области с адреса 1 по адрес2, которые обращаются к данным (data). В качестве данных могут быть представлены имена регистров, портов, данных.

Связанные команды: SI, SM.

46 SI - поиск в программной памяти символической

инструкции

58

Описание: команда в области с адреса 1 по адрес 2 осуществляет поиск всех строк, содержащих указанную инструкцию.

Связанные команды: SF, SM.

47 SM - поиск в программной памяти числового кода

инструкции

Синтаксис: SM address1, address2, instruction.

Описание: команда аналогично команде SI осуществляет поиск инструкций, но в отличие от SI указывает ее числовой код, а не мнемонический.

Связанные команды: SF, SI.

48 SR - установка системы исчисления

Синтаксис: SR [O/X/D].

Описание: команда устанавливает восьмеричную- О, десятеричную- D, шестнадцатеричную- Х систему исчисления.

49 SS - пошаговое выполнение

Синтаксис: SS [address].

Описание: команда выполняет инструкцию с адреса РС или с указанного. При последующем нажатии <Enter> выполняется следующая инструкция и т. д.

50 ST - чтение стимулирующего файла

Синтаксис: ST FileName.

Описание: команда используется для эмуляции внешних воздействий на выводы контроллера через стимулирующий файл. Стимулирующий файл- это ASSCII файл, который содержит имена управляющих выводов и их состояния на фиксированных шагах выполнения.

Связанные команды: IP.

51 ТА - вывод трассировки

Синтаксис: TA [address1, address2].

Описание: команда выводит в файл результаты трассировки с адреса1 по адрес2. По умолчанию- все команды.

59

Связанные команды: TC, TF, TR.

52 ТС - трассировка инструкций

Синтаксис: TC # instruction.

Описание: команда трассирует программу в момент выполнения указанных инструкций.

Связанные команды: TA, TF, TR.

53 TF - задание файла вывода трассировки

Синтаксис: TF [FileName].

Описание: команда задает файл DOS для вывода трассировки. Вывод без параметров закрывает текущий файл трассировки.

Связанные команды: TA, TC, TR.

54 TR - трассировка регистра

Синтаксис: TR reg{, min_value, max_value}.

Описание: команда устанавливает выдачу информации о содержимом указанного регистра в трассировочный файл. Если определена величина min и max, то команда получает только значения регистра, лежащее в этом диапазоне. Без параметров- команда выводит все регистры.

Связанные команды: TA, TC, TF.

55 ТY - изменение формата представления данных в окне просмотра

Синтаксис: ТY data_area {X/O/D/B}, # digits.

Описание: команда выводит в окно просмотра указанного регистра или переменной по заданной системе исчисления; # digits- число позиций, отведенное под выведенное число. Если переменная не включена в окне просмотра, то выдается сообщение. Система счисления: Х- шестнадцатеричная, О- восьмеричная, D- десятеричная, В- двоичная.

Связанные команды: AD, NV, V.

  1. V - окно просмотра

60

Синтаксис: V data [ основания [,цифры]].

Описание: команда создает в окне просмотра новый элемент data в указанной системе счисления и поле для чисел.

Связанные команды: AD, DR, NV, TY.

57 W - отображение / модификация рабочего регистра W

Синтаксис: W.

58 ZM - обнуление программной памяти

Синтаксис: ZM address1, address2.

59 ZP - обнуление таблицы изменений

Синтаксис: ZP.

Связанные команды: O, RA, RP.

60 ZR - обнуление всех регистров

Синтаксис: ZR.

Связанные команды: DR, SE, RW.

61 ZT - обнуление счетчика времени

Синтаксис: ZT.

Связанные команды: RW, RS.

В методическом руководстве по применению имитатора MPSIM [3] детально, по шагам, на конкретных примерах рассматривается последовательность действий при первичном знакомстве с отладочным средством.

4.2. Программаторы для PIC-процессоров

Программаторы для микроконтроллеров семейства PIC обычно представляют собой приставки к персональной ЭВМ типа IBM с соответствующим программным обеспечением. Имеются серийные образцы программаторов для PIC-процессоров, выполненных в виде приставок к IBM –

61

совместимым персональным ЭВМ и сопровождаемых соответствующей программной поддержкой.

+ 5В DD1.1

Вх1 Вых1

EI1 - 1 18 -

+13,8В - -

< D2> - 16С84 -

(4) - MCLR/Vpp -

- Vss Vdd -

- RB7 -

1 3,8В DD1.2 - RB6 -

Вх2 Вых2 - -

- 9 10 -

<D3> DD2.1

+13,8В

(5)

+5B

<D1> DD2.2

(3)

<D0> DD2.3 +5B

(2)

<ACK> DD2.4

(10)

DD1 – K176KT1;

<GND> DD2 - К155ЛН3

(25)

Рис. 4

62