Симулятор MPSIM
Симулятор MPSIM представляет собой симулятор событий, предназначенный для отладки программного обеспечения PIC-контроллеров. MPSIM моделирует все функции контроллера, включая все режимы сброса, функции таймера/счетчика, работу сторожевого таймера, режимы SLEEP и Power-down, работу портов ввода/вывода.
MPSIM запускается из командной строки DOS, конфигурируется пользователем и непосредственно применяет выходные данные ассемблера MPASM.
Перед использованием симулятора необходимо отассемблировать исходный файл <file_name>.asm и получить файл объектного кода в формате INHX8M, создаваемый MPASM по умолчанию:
MPASM <file_name>.asm <RETURN>Чтобы запустить симулятор, необходимо набрать в командной строке
MPSIM<RETURN>.Вид экрана, получаемого при запуске MPSIM, показан на рис. 6.2. Экран разделен на три части, или окна. В верхнем окне показано текущее состояние моделирования, включая моделируемую программу, тип МК, число выполненных командных циклов и затраченное на них время. Среднее окно используется для вывода содержимого регистров пользователя. Набор регистров и формат выводимых на экран данных определяются файлом MPSIM.INI, который далее будет описан подробнее. Нижнее окно содержит приглашение на ввод команд, а также текущие операции и результат их выполнения.
При запуске симулятор MPSIM начинает искать командный файл MPSIM.INI. Этот текстовой файл создается пользователем и используется для задания всех задействованных в программе параметров.
Рис. 6.2. Вид рабочего окна симулятора MPSIM.
Один из примеров файла MPSIM.INI приведен ниже.
; MPSIM file for user4 P84 ;использование МК семейства PIC16C84 SR X ;представление данных в 16-ричном формате ZR ;сброс регистров МК в нуль ZT ;сброс таймера в нуль RE ;сброс времени выполнения команды и счетчика циклов V W,X,2 ;вывод регистра W в hex формате на два знакоместа AD F1,X,2 ;вывод на экран регистра TMR0 в hex формате на два знакоместа AD F2,X,3 ;вывод на экран регистра PCL в hex формате на три знакоместа AD F3,B,8 ;вывод на экран регистра STATUS в bin формате на восемь знакомест AD IOA,X,2 ;вывод на экран регистра TRISA в hex формате на два знакоместа AD F5,X,2 ;вывод на экран регистра порта A в hex формате на два знакоместа SC 1 ;установка тактовой частоты 1 МГц RS ;сброс МК LO user4Пример 12.1. Пример файла MPSIM.INI
В представленном файле указаны: тип микроконтроллера, система счисления данных по умолчанию, регистры, содержимое которых выводится на экран, способ представления данных, рабочие параметры. Любая команда, которая исполняется MPSIM, может быть задана в файле MPSIM.INI, который определяет начальное состояние программы. При работе MPSIM создает файл MPSIM.JRN, в котором сохраняются все сведения о нажатии клавиш в процессе работы.
В файле MPSIM.INI допускается вводить комментарии, которые даются после знака «;», но не допускается использование пустых строк.
Основные команды, применяемые в симуляторе MPSIM, приведены в табл. 6.6. Когда эти команды вводятся в сеансе работы с MPSIM, они заносятся в файл MPSIM.JRN, который используется при создании расширенного файла MPSIM.INI. Данный файл можно задействовать для выявления ошибок и обеспечения нормального выполнения программы после исправления кода.
Таблица 6.6. Основные команды симулятора MPSIM. | ||
Команда | Параметр | Комментарии |
AB | - | Прерывание текущей сессии |
AD | Reg[, Radix[, Digits]] | Вывод содержимого регистра на экран в указанном формате и заданной системе счисления X, B или D |
B | [addr] | Установка точки останова по текущему или указанному адресу |
C | [#break] | Продолжение выполнения программы с пропуском указанного количества следующих точек останова |
DB | - | Вывод на экран всех активных точек останова |
DI | [addr1[,addr2]] | Вывод на экран фрагмента памяти программ |
DR | - | Вывод содержимого всех регистров |
DW | [E|D] | Разрешение/запрещение функционирования сторожевого таймера |
E | [addr] | Выполнение программы с текущего или указанного адреса |
F | Reg | Вывод на экран содержимого регистра и возможность его редактирования пользователем |
GE | filename | Получение и выполнение командного файла. Это способ загрузки командного файла .INI |
GO | - | Запуск МК и начало выполнения программы |
IP | [time|step] | Ввод входных воздействий в соответствии со значением параметра step в файле Stimulus |
LO | filename | Загрузка в MPSIM файлов .HEX и .COD |
M | addr | Вывод на экран содержимого памяти программ, начиная с адреса «addr» и возможность его редактирования. Ввод «Q» завершает команду. |
P | device | Выбор типа моделируемого МК |
Q | - | Выход из MPSIM и запись команд в файл .JRN |
RE | - | Сброс времени выполнения и счетчика циклов |
RS | - | Сброс моделируемого МК |
SE | pin|port | Вывод на экран состояния указанного вывода или порта и возможность его изменения |
SR | O|X|D | Установка системы счисления по умолчанию |
SS | [addr] | Пошаговое исполнение, начиная с указанного адреса. При отсутствии адреса – исполнение идет с текущего места |
ST | filename | Загрузка файла стимуляции |
W | Отображение состояния регистра W с возможностью его модификации | |
ZM | addr1,addr2 | Очистка памяти программ с адреса addr1 по addr2 |
ZR | - | Сброс всех регистров МК |
ZT | - | Сброс таймера/счетчика МК |
Для моделирования внешних тестовых событий (воздействий) на моделируемый МК используются файлы стимуляции с расширением .STI. Эти файлы используются MPSIM для того, чтобы обеспечить подачу однократных и повторяющихся входных сигналов в процессе выполнения программы. При этом можно наблюдать на экране, как МК реагирует на сигналы.
В качестве примера ниже приведен файл для тестирования программы, выполняющей опрос состояния линии 1 порта A.
! test1.STISTEP RA1 1 1 !Установка на входе RA1 состояния "1" 200 0 !Поступление на вход RA1 сигнала "0"1000 1 !Переход сигнала на входе RA1 в "1"1200 0 !Повторная подача нулевого сигналаФайл воздействия состоит из множества состояний, для которых задается параметр STEP, определяющий число циклов, в течение которых поддерживается указанное состояние. Он позволяет одновременно подавать сигналы на различные выводы МК. В файле воздействия можно указать любой вывод МК, в том числе и вывод сброса (_MCLR). Для обозначения комментариев используется знак !.
Дата добавления: 2015-02-10; просмотров: 637;