Прошлые версии
Версия 0.3.2026 мая 2020 Теперь Kopycat является проектом с полностью открытым исходным кодом. В этой версии мы стали на шаг ближе к запуску самых распространенных систем на эмуляторе Kopycat. В предыдущем релизе нововведением была поддержка STM32F0xx и операционной системы FreeRTOS. На этот раз мы добавили примеры работы эмулятора с разными периферийными модулями. Самое интересное - добавлен пример и модуль Kopycat работы с операционной системой Linux на базе ARM MCU ARM1176JZ. Всё это представлено в исходном коде и в виде сборки. Также было исправлено множество ошибок в ядре эмулятора и в его модулях.
Добавлено
- Core: версия с полностью открытым исходным кодом
- Core: работает с OpenJDK версий до 11.0.x
- Core: добавлено хранилище регистров ARegisterBankNG для упрощения настройки процессорного ядра (в этой версии только для ARM)
- Core: ускорена обработка прерываний
- Auxiliary: добавлен NANDGen - генератор модулей NAND на основе стандартных параметров NAND
- Auxiliary: добавлен NANDPart - загрузчик дампа NAND для разделения дампа по страницам и добавления ECC в резерв
- ARM: частично реализован MCU ARM1176JZ (достаточно для запуска Linux 2.6.x)
- ARM: реализованы сопроцессор ARMv6 и MMU
- ARM: реализован универсальный таймер для ARMv6
- ARM: реализован UART-контроллер NS16550
- ARM: реализован векторный контроллер прерываний PL190 (VIC)
- ARM: реализовано VirtARM - виртуальное устройство на базе ARM
- ARM: реализован DMA-контроллер в STM32F042
- ARM: сборки и патчи для сборки U-boot и Linux на базе buildroot для примера работы эмулятора с Linux
- Others: добавлены разные примеры, показывающие возможные случаи использования Kopycat в проектах
- Others: добавлена и протестирована возможность разработки прошивки для контроллера STM32 с использованием CLion и Kopycat
- Gradle: добавлен плагин сборки Kopycat для упрощения конфигурации build.gradle для новых модулей эмулятора
- Gradle: добавлен плагин сборки dokkaMultilang для создания документации на нескольких языках, каждый язык помечается тэгами "{EN}" / "{RU}"
Изменено/исправлено
- Core: исправлены баги во внутреннем интерпретаторе Python, добавлено автоопределение версии Python и пути к библиотеке Jep
- ARM: исправлено множество ошибок в инструкциях процессора
- ARM: исправлены ошибки в STM32F042
Версия 0.3.125 декабря 2019 Релиз Kopycat версии 0.3.1:
Добавлено
- Core: Динамическая загрузка JEP-библиотеки (только для Python2)
- Core: Передача записываемого значения в метод beforeWrite (в register) - необходимо для перехвата и определения режима доступа к аппаратным регистрам
- Core: Добавлена возможность логировать обращения к шинам
- Core: Возможность подключения порта типа Slave к двум различным шинам
Изменено/исправлено
- Core: Изменен порядок вызова методов tracer-а:
- Core: Изменен метод интерфейса дебаггера для продолжения исполнения с exec на cont. Из-за несовместимости методов в Python
- Core: Общее исправление ошибок по исправления в шинах
- x86: Исправлены подключения шин в ядре
- x86: Проведен рефакторинг кода в сторону Kotlin-way
- x86: Исправлена ошибка доступа к памяти при пересечении двух страниц (для Paging access mode)
- x86: Исправлены ошибки инструкциях побитового сдвига: rol, ror
- x86: Реализованы некоторые инструкции: hlt, btr, частичная поддержка fpu
Версия 0.3.07 мая 2019 Первый публичный релиз Kopycat:
Добавлено
- ARM, x86, MIPS, V850ES, MSP430
- Cortex-M0, MSP430x44x, STM32F042
Версия 0.2.12-rhino27 марта 2019 Эмулятор тестового устройства для конференции
SMARTRHINO 2018Добавлено
- Микроконтроллер: STM32F042
- Bluetooth-модуль: SPBT2632C2A
- UART-модуль