Пакет emu8051: Информация
Исходный пакет: emu8051
Версия: 2.0.1-alt1
Собран: 13 марта 2022 г. 3:49
Категория: Эмуляторы
Сообщить об ошибке в пакетеДомашняя страница: http://www.hugovil.com/projet.php?proj=emu8051
Лицензия: GPL-2.0+
О пакете: Эмулятор 8051
Описание:
Это эмулятор микроконтроллеров 8051/8052. В целях удобства
в наименовании указывается только 8051, хотя эмулировать
можно любой из этих двух. Дополнительная информация по
8-разрядным процессорам доступна по адресу www.8052.com,
а также в спецификациях. Разумеется, Intel, как разработчик
архитектуры, также обладает необходимой информацией.
Микроконтроллер 8051 несложен в освоении, как с точки зрения
аппаратной, архитектуры, так и программного обеспечения.
Поэтому, он хорошо подходит в качестве образца для
преподавания аппаратного устройства компьютера. К сожалению,
эмуляторы, применявшиеся в моей школе, морально устарели,
поэтому было принято решение написать новый.
Данный эмулятор предназначен для тестирования и отладки
программ на языке ассемблера для микроконтроллера 8051. При этом
точная эмуляция тактового цикла процессора не производилась .
(Например, на микроконтроллере 8051 операция MUL занимает 48 тактов.
На каком тактовом цикле ЦП производится чтение операндов? Или когда
записывается результат?). Дейсвительно эмуляция такого рода способна
помочь в разработке некоторых аппаратных средств, но слишком сложна
и необязательна для большинства случаев использования.
Эмулятор выполнен в виде двух отдельных модулей, представляющих
собой ядро эмулятора и отдельную графическую оболочку. Это позволяет
создавать различные графические оболочки. Например, пользователь
может использовать ядро эмулятора в качестве DLL в приложении C/C++,
которое будет эмулировать другие виды аппаратных средств
(такие как светодиоды, выключатели, дисплеи, аудио и так далее).
Точность эмуляции важнее скорости. Не смотря на это,
эмулятор в версии 0.1 уже мог работать на скоростях, превышающих
скорость реального времени на P4/2.6ГГц (при работе эмулятора на
скорости выше 12 МГц). Основываясь на выводе профилировщика, можно
сказать, что более половины процессорного времени тратится на
очистку конвейера при переходе к фукнции кода операции. Возможно
здесь могла бы помочь динамическая компиляция кода, но в данный
момент это представляется нецелесообразным. Также, ЦП с более
короткими конвейерами не так сильно подвержены этой проблеме.
Текущие характеристики:
* Полный набор инструкций микроконтроллера 8051.
* Графический интерфейс на основе ncurses — к примеру, отлично
работает по SSH.
Главный вид содержит:
o Вид памяти.
o Вид стека.
o Вид с кодом операции и дизассемблированным кодом.
o Вид истории состояния SP, P0, P1, P2, P3, IP, IE, TMOD, TCON,
TH0, TL0, TH1, TL1, SCON, PCON, A, B, R0, R1, R2, R3, R4, R5, R6, R7 и DPTR,
а также всех битов состояния процессора.
o Счётчик циклов и реального времени.
Другие виды:
o Вид логической платы (светодиоды и выключатели),
с дополнительными виджетами, такими как 7-сегментные индикаторы
и вывод текста в стиле дисплея 44780
o Редактор памяти с одновременным отображением всех пяти типов
памяти
o Параметры, позволяющие пользователю отключать исключения
отладки и тому подобное.
* Поддержка всех возможных комбинаций памяти микроконтроллера
8051 — 128 или 256Б внутренней ОЗУ, 0-64Кбайт внешней ОЗУ и 0-64Кбайт
ПЗУ. Внешняя ОЗУ или ПЗУ даже могут указывать на одну и ту же память
при использовании самомодифицирующегося кода.
* Загрузка Intel HEX-файлов.
* Поддержка исключений по недопустимым операциям, странному
поведению стека и несогласованности важных регистров в прерываниях.
Также поддерживается одна точка прерывания.
* Эмулятор выполняет обратные вызовы по зоне регистров или чтение/запись
внешней памяти, что может быть использовано для эмуляции новых специальных
возможностей или для работы с устройствами, подключенными к портам
ввода-вывода.
* Таймер 0 и 1 режимы 0, 1, 2 и 3, а также приоритеты прерывания.Список бинарных RPM-пакетов, собираемых из данного SRPM:
emu8051 (e2kv6, e2kv5, e2kv4, e2k)
emu8051-debuginfo (e2kv6, e2kv5, e2kv4, e2k)
emu8051 (e2kv6, e2kv5, e2kv4, e2k)
emu8051-debuginfo (e2kv6, e2kv5, e2kv4, e2k)
Сопровождающий: Leontiy Volodin
Последнее изменение
20 января 2021 г. Leontiy Volodin 2.0.1-alt1
- New version (2.0.1). - Changed url and license. - Fixed build with gcc10.
17 апреля 2013 г. Dmitry V. Levin 0.71-alt1.qa1
- NMU: rebuilt for debuginfo.
5 января 2008 г. Yury A. Romanov 0.71-alt1
- Initial build - Added spec file and scripts for building/installing