simul.pdf
(
52 KB
)
Pobierz
софт
Симулятор для семейства х51
Внимание!
Для запуска эмулятора
требуется немногим менее 310000
байт свободной памяти.
Работа с эмулятором
1. Память данных
При разработке устройств на базе микроконтроллеров перед разра
ботчиком неминуемо встает вопрос отладки программы. Как она
обычно осуществляется?
В правой нижней части экрана ото
бражается дамп памяти данных – там
Вы можете видеть содержимое внут
ренней или внешней памяти, переклю
чение между ними осуществляется на
жатием на клавишу “N”. Кроме того,
оперативное отображение первых де
сяти 128байтных страниц внешней па
мяти данных осуществляется при на
жатии на клавиши “0”...”9". Доступ к
последующим страницам обеспечи
вается при нажатии “Ctrl+PgUp”,
“Ctrl+PgDn”. Также вывести на экран
интересующую часть внешней памяти,
зная адрес, можно, нажав на клавишу
“W” и введя всего три старшие цифры
этого адреса. Переключение между
первой и второй страницей внутренней
памяти данных осуществляется на
жатием на “Home” и “End”. Клавишами
“Ctrl+PgUp” и “Ctrl+PgDn” тоже можно
пролистывать внутреннюю память,
последней страницей которой, явля
ются дополнительные 128 байт памяти
52го процессора. Для редактирования
содержимого памяти данных необхо
димо отобразить дамп, содержащий
байты, подлежащие изменению, на
жать “M”, переместить появившийся
указатель клавишами перемещения
курсора к изменяемому байту и нажать
“Enter”. При этом старое значение бай
та стирается, Вы вводите новое значе
ние, нажимаете “Enter”, а затем “Esc”
для возврата в режим отладки.
Максимальный размер поддержи
ваемой эмулятором внешней памяти
данных – 65535 байт.
С
амый простой (и трудоемкий)
момент, однако, этот продукт практи
чески утратил коммерческую цен
ность. Но пользователей контролле
ров х51, которым он может
пригодиться, еще довольно много.
Поэтому автор решил предоставить
этот симулятор для свободного
некоммерческого использования.
Последний (по времени обнаруже
ния) “баг” был найден одним из заре
гистрированных пользователей и ис
правлен автором чуть более года
назад. За последний год информации
о новых ошибках не поступало. Тем не
менее, гарантировать абсолютную
корректность симулятора вряд ли
возможно. Поэтому если кто из
пользователей обнаружит какуюлибо
некорректность в его работе, просьба
сообщить об этом автору для
исправления найденной ошибки.
Ниже приводится краткое описание
симулятора EMF52L.
Назначение
EMF52L предназначен для отладки
программ, написанных для микро
ЭВМ семейства MCS52. Он
представляет из себя программно
логическую модель и не осуществляет
аппаратной эмуляции упомянутых
микроЭВМ.
Запуск эмулятора
Вызов эмулятора с отлаживаемой
программой осуществляется коман
дой:
путь – это занесение отлажива
емой программы в реальное
ПЗУ с последующим поиском очеред
ной ошибки. Было время, когда такой
путь был единственно возможным, до
ступных готовых отладочных средств
не было, их приходилось изобретать
самостоятельно. Но, к счастью, в на
стоящее время ситуация совершенно
иная – существуют инструментальные
средства, ускоряющие процесс
разработки и отладки. Это эмуляторы
ПЗУ, встроенные мониторыотладчи
ки и внутрисхемные эмуляторы.
Использование подобных продуктов
резко облегчает процесс отладки. На
фоне этих средств программные эму
ляторы (симуляторы) както отошли в
тень, ибо их возможности по отладке
процесса взаимодействия контролле
ра с внешними периферийными уст
ройствами крайне ограничены. Но в
том, что касается отладки алгоритмов
обработки и преобразования данных,
происходящих внутри микроконтрол
лера, симуляторы не уступают ни
одному из вышеперечисленных инст
рументальных отладчиков. К тому же
затраты на приобретение симулятора
практически нулевые – нужно лишь
“скачать” у когото из знакомых или
откудато из сети ту или иную версию
какоголибо симулятора
(естественно, пиратскую).
Однако стоит отметить, что исполь
зование пиратского ПО сопровожда
ется рядом проблем, причем не
только моральноэтического или юри
дического характера. Не секрет, что
программ без ошибок практически не
существует. Обнаруживая ошибку в
пиратской копии, вы лишены
возможности обратиться к
разработчику программы с просьбой
исправить найденный “баг”.
Именно с этим столкнулся автор на
стоящих строк несколько лет назад,
когда ни один из десятка найденных
по разным каналам симуляторов для
х51 не был свободен от ошибок.
Поскольку в то время стоимость заре
гистрированной версии такого
симулятора колебалась в пределах
между двумя и тремя сотнями
долларов, в целях экономии средств
автор решил самостоятельно
написать подобный симулятор – пред
полагалось, что тогда не только не бу
дет проблем с исправлением ошибок
и с экономией средств, но и можно бу
дет, сделав этот продукт
коммерческим, заработать на его
реализации. Так был создан
симулятор EMF52L. В настоящий
EMF52LR.EXE FILENAME.OBJ
<Enter>
2. Регистры
В левой нижней части экрана ото
бражаются регистры специальных
функций, текущий банк регистров
общего назначения и счетчик команд.
Их редактирование осуществляется
аналогично редактированию памяти
данных, с той лишь разницей, что
переход в режим редактирования
регистров осуществляется нажатием
на “R”.
Так как все регистры процессора
одновременно уместить на экране не
удается, то регистры показываются
и изменяются частями. При нажатии
на клавишу “Tab”, часть регистров (на
экране самая правая колонка) за
меняется непоместившимися
регистрами. Повторное нажатие
“Tab” возвращает на экран правую
колонку регистров.
где FILENAME.OBJ – объектный файл
отлаживаемой программы в бинарном
формате (т. е. в том, который непос
редственно заносится в ПЗУ микрокон
троллера). Длина FILENAME.OBJ не
должна превышать 32768 байт. Если
трансляция программы была выполне
на ассемблером TASM, и в текущей ди
ректории, помимо файла
FILENAME.OBJ, находится файл
FILENAME.LST, то в отладочное окно
загружается именно листинговый файл
со всеми вашими символическими
именами и комментариями. В против
ном случае для отладки используется
дизассемблированный встроенным ди
зассемблером объектный файл. Отме
тим, что EMF52L не поддерживает сим
вольную отладку с использованием
листингов, созданных ассемблерами,
отличными от TASM’а, и при наличии
таких листингов в текущей директории
его корректная работа не гарантиру
ется.
3. Выполнение программы
Пошаговый режим отладки обеспе
чивается нажатием на клавишу “S”. При
4
41
41
софт
сброса калькулятора. Калькулятор
может работать как в десятичной си
стеме счисления, так и в шестнад
цатеричной. Переключение между си
стемами осуществляется нажатием
на клавишу “H”.
8. Сброс, краткая помощь, вызов
DOS, выход из эмулятора
Сброс внутренней памяти данных
осуществляется нажатием на “C”,
при нажатии на “F1” вы получите
полный перечень “горячих” клавиш
программы и их назначения, если
есть нужда временно выйти в DOS, то
в этом поможет “Ctrl+D”, выход из
программы клавиша “Q”.
Ограничения
Автор умышленно ограничил воз
можности отладчика, не вводя в него
реакцию на прерывания, работу
таймеров и последовательного
канала – без средств аппаратной
отладки и работы в режиме реального
времени эти функции все равно не
дают возможности полностью
отладить вашу программу,
существенно усложнив EMF52L. Дей
ствия микроконтроллера в этих си
туациях пользователь может смоде
лировать сам с использованием
свойств эмулятора, описанных выше.
Для тех, кто не сможет обойтись без
этих возможностей, рекомендуем
обратится к другим программным
продуктам.
Симулятор EMF52L доступен по ад
ресу: www.platan.ru/shem/
этом программа эмулирует выполнение
микроконтроллером команды с текуще
го значения программного счетчика РС.
Эта команда подсвечена в окне отла
живаемой программы, расположенном
в верхней части экрана. Если подсве
чена команда вызова подпрограммы
LCALL, ACALL, то нажатие на “P” эмули
рует выполнение всей подпрограммы.
Нажатие на “G” обеспечивает последо
вательное выполнение программы до
тех пор, пока при выполнении не будет
встречена точка останова, либо пока не
будет нажата клавиша “Space” (“Про
бел”).
по этому адресу, но и расположит
строку с этой командой в верхней
строчке экрана.
При работе в режиме символьной
отладки при скроллинге листинга с
нажатой клавишей “Shift” значение
PC изменяется синхронно с
листингом, указывая на самую
верхнюю из команд в текущем
состоянии листинга. Подсветка
команды, подлежащей выполнению,
при этом перемещается вместе с ва
шим перемещением по листингу, что
обеспечивает удобный переход к но
вому фрагменту программы.
4. Точки останова
6. Загрузка и выгрузка памяти
данных
Для установки точки останова на
какойлибо команде необходимо кла
вишами перемещения курсора уста
новить строку с этой командой в край
нюю верхнюю строку экрана и нажать
“B”. Если перед пролистыванием про
граммы для установки точки останова
нажать “Enter”, а после установки
точки останова – “Esc”, то вы
восстановите состояние экрана,
которое было до пролистывания
программы. Повторное нажатие на
“B” при расположении этой строки в
верхней строчке экрана снимает
точку останова. Снять все точки
останова можно, нажав “Ctrl+B”.
Алексей Фрунзе,
alexfru@chat.ru
http://alexfru.chat.ru
Нажатие на “F2” позволяет сохра
нить в файле текущее значение PC,
внутренней и внешней памяти данных
и регистров. При этом в открывшем
ся диалоговом окне вам нужно ввести
имя файла, в котором эти данные бу
дут сохранены. Нажатие на “F3”
позволит вам загрузить PC, память
данных и регистры из файла, имя ко
торого вы введете в соответствующем
диалоговом окне. Файлы с содержа
нием PC и данных создаются и долж
ны сохраняться в текущей директо
рии.
7. Калькулятор
5. Переход на новый фрагмент
программы
Вполне возможно, что в процессе
отладки вам понадобится чтото под
считать или перевести число из де
сятичной системы счисления в шес
тнадцатеричную и наоборот. Для
этого служит встроенный целочис
ленный калькулятор, вызываемый на
жатием клавиши “F4”. Калькулятор
способен выполнить четыре основ
ных арифметических действия. Кла
виша “BackSpace” предназначена для
удаления последней набранной циф
ры числа, а клавиша “Delete” для
Для перехода на новый фрагмент
отлаживаемой программы (т. е. не
следующий непосредственно за от
лаживаемой командой) достаточно
установить требуемое значение
программного счетчика РС (см.
редактирование регистров). Нажатие
на “Esc” после ввода не только
установит новое значение РС и
подсветит команду, расположенную
442
42
Plik z chomika:
szafars
Inne pliki z tego folderu:
p_u_e_2_002.rar
(4632 KB)
sa-ch-75.zip
(2891 KB)
12_p34-39.pdf
(442 KB)
LMV321.pdf
(1151 KB)
12_p12-13.pdf
(147 KB)
Inne foldery tego chomika:
Pliki dostępne do 01.06.2025
Pliki dostępne do 19.01.2025
Altanki
BMW
Camera
Zgłoś jeśli
naruszono regulamin