Пакет emu8051: Информация
Бинарный пакет: emu8051
Версия: 2.0.1-alt1
Архитектура: ppc64le
Собран: 20 января 2021 г. 20:25 в задании #264956
Исходный пакет: emu8051
Категория: Эмуляторы
Сообщить об ошибке в пакетеЗагрузка: emu8051-2.0.1-alt1.ppc64le.rpm
Домашняя страница: 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, а также приоритеты прерывания.
Сопровождающий: 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