Прошлые версии


Версия 0.3.20
26 мая 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.1
25 декабря 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.0
7 мая 2019
Первый публичный релиз Kopycat:
Добавлено
  • ARM, x86, MIPS, V850ES, MSP430
  • Cortex-M0, MSP430x44x, STM32F042

Версия 0.2.12-rhino
27 марта 2019
Эмулятор тестового устройства для конференции SMARTRHINO 2018
Добавлено
  • Микроконтроллер: STM32F042
  • Bluetooth-модуль: SPBT2632C2A
  • UART-модуль