Назад к обновлениям
New releaseSep 9, 2026

renode v1.17.0

Open-source simulation framework for developing, testing, and debugging unmodified software for multi-node embedded and IoT systems, supporting ARM, RISC-V, x86, and more.

Поделиться

Renode

Авторское право (c) 2010-2026 Antmicro

Посмотреть на портале открытого кода Antmicro

Что такое Renode?

Renode был создан компанией Antmicro как инструмент виртуальной разработки для многомодульных встроенных сетей (как проводных, так и беспроводных) и предназначен для обеспечения масштабируемого рабочего процесса по созданию эффективных, протестированных и безопасных IoT-систем.

С Renode разработка, тестирование, отладка и симуляция неизменяемого ПО для IoT-устройств становится быстрой, экономичной и надежной.

Поддерживаемые архитектуры включают:

  • ARMv7 и ARMv8 Cortex-A, Cortex-R и Cortex-M
  • x86 и x86_64
  • RISC-V
  • SPARC
  • POWER
  • Xtensa
  • MSP430X

Зачем использовать Renode?

Renode был создан на основе многолетнего опыта разработки программного обеспечения для встроенных систем — как для шлюзов, бортовых компьютеров, так и для сенсорных узлов и микроконтроллеров.

Тестирование и разработка физических встроенных систем затруднены из-за плохой воспроизводимости и отсутствия возможности заглянуть внутрь текущего состояния системы, особенно в многомодульных сценариях.

Renode решает эту проблему, позволяя запускать неизменяемые бинарные файлы, идентичные тем, которые вы обычно прошиваете на целевое оборудование, на виртуальной плате или системе плат.

Важный аспект инструмента заключается в том, что он симулирует не только ЦП, но и целые SoC (например, гетерогенные многоядерные SoC и различные периферийные устройства), а также проводные или беспроводные соединения между ними, что позволяет пользователям решать сложные сценарии и тестировать реальное производственное программное обеспечение.

Установка

Доступные сборки и релизы

Ночные сборки

Ночные сборки Renode для всех систем доступны на builds.renode.io.

Последние сборки всегда доступны как пакеты renode-latest.*. Доступны следующие форматы пакетов:

Стабильные релизы

Стабильные, номерные релизы и их примечания к выпуску доступны в разделе Релизы на GitHub.

Установка через homebrew tap

На macOS как стабильные, так и ночные версии Renode можно установить с помощью Homebrew из нашего собственного tap. Чтобы установить стабильную версию, используйте brew install renode/tap/renode, или brew install renode/tap/renode-nightly для последней ночной сборки. Это установит все зависимости, включая предварительную настройку окружения Python для renode-test.

Использование переносимого пакета для Linux

Если вы пользователь Linux, проще всего использовать Renode — скачать последнюю версию linux-portable из раздела релизов и распаковать её с помощью:

mkdir renode_portable
wget https://builds.renode.io/renode-latest.linux-portable.tar.gz
tar xf  renode-latest.linux-portable.tar.gz -C renode_portable --strip-components=1

Чтобы использовать его из любого места, перейдите в созданную директорию и добавьте её в системный путь:

cd renode_portable
export PATH="`pwd`:$PATH"

Обратите внимание, что переносимый пакет требует наличия GTK2 на хосте для работы с включенным графическим интерфейсом.

Перейдите к разделу Дополнительные требования, если хотите использовать Robot Framework для тестирования. В противном случае переходите к разделу 'Запуск Renode'.

Установка зависимостей

dotnet

Renode требует dotnet >= 6.0.

Чтобы установить dotnet, следуйте официальному руководству по установке.

Другие зависимости (только Linux)

В Ubuntu 20.04 вы можете установить оставшиеся зависимости с помощью следующей команды:

sudo apt-get install policykit-1 libgtk2.0-0 screen uml-utilities gtk-sharp2 libc6-dev libicu-dev gcc python3 python3-pip

Если вы используете другой дистрибутив, вам нужно установить аналогичный список пакетов с помощью вашего менеджера пакетов; обратите внимание, что названия пакетов могут незначительно отличаться.

Установка из пакетов

Перейдите в раздел релизов этого репозитория и скачайте подходящий пакет для вашей системы.

Linux

Установите Renode с помощью вашего предпочтительного менеджера пакетов, используя предоставленные пакеты *.deb, *.rpm или *.pkg.tar.xz.

macOS

Используйте предоставленный *.dmg как обычно. Кроме того, чтобы использовать Renode из командной строки на macOS, создайте соответствующие алиасы, добавив alias renode='/Applications/Renode.app/Contents/MacOS/renode' и alias renode-test='/Applications/Renode.app/Contents/MacOS/renode-test' в ваш файл .bashrc или .zshrc, в зависимости от используемой оболочки.

Windows

Установите Renode из предоставленного файла *.msi. Установщик позволит добавить иконки на Рабочий стол и/или в меню Пуск, а также запись в PATH.

Дополнительные требования

Тестирование с помощью Robot Framework

Для написания и запуска тестовых сценариев Renode интегрируется с тестовым фреймворком Robot. Это требует установки Python 3 (в Windows также потребуется Cygwin — см. расширенные инструкции по установке) с pip (обратите внимание, что соответствующий пакет может называться python-pip или python3-pip в Linux).

После установки Python 3 и pip установите дополнительные модули:

python3 -m pip install -r tests/requirements.txt

Другие инструменты

Кроме того, каждый из инструментов в поддиректории /tools может содержать файл requirements.txt, отдельный от требований Renode.

Установите их в вашем виртуальном окружении с помощью pip install -r requirements.txt.

Сборка из исходного кода

Информацию о сборке Renode из исходного кода см. в документации.

Запуск Renode

После выполнения инструкций выше по установке из пакета команда renode должна быть доступна системно:

renode [flags] [file]

Если вы собрали его из исходного кода, перейдите в соответствующую директорию и используйте:

./renode [flags] [file]

Необязательный аргумент [file] позволяет указать путь к скрипту, который будет выполнен при запуске.

Скрипт поддерживает несколько опциональных флагов, наиболее полезные из которых представлены ниже:

-p                  Удаляет управляющие коды (например, цвета) из вывода
-P      INT32       Вместо открытия окна прослушивает команды Monitor на указанном порту
-e      COMMAND     Выполняет команду при запуске (выполняется после опционального скрипта). Можно использовать несколько раз
--console           Запускает Monitor в консоли вместо отдельного окна
--disable-gui       Отключает поддержку GUI XWT. Автоматически устанавливает HideMonitor
--hide-monitor      Не показывать окно Monitor
--hide-log          Не показывать сообщения журнала в консоли
--hide-analyzers    Не показывать анализаторы
-v                  Вывести версию и выйти
-h                  Показать справку и информацию об использовании

Renode можно запускать в системах Windows с аналогичным набором опциональных флагов.

Пример сценария

Ниже вы можете увидеть фрагмент прошивки, работающий на симулированном оборудовании. Monitor Renode отображается вместе с окном анализатора, показывающим вывод UART и логгер. Для получения дополнительной информации об этой конкретной настройке см. её выделенный репозиторий.

Скринкаст Renode

Альтернативные способы запуска Renode в Linux

renode-run

renode-run — это скрипт Python, который загружает и запускает Renode, и позволяет легко запускать демонстрации, доступные в Renodepedia, а также локальные ELF-файлы. Перейдите в репозиторий для получения инструкций по использованию.

renode-run полагается на переносимый пакет, и его главное преимущество — простота обновления Renode до последней ночной сборки одной командой.

pyrenode3

pyrenode3 — это библиотека Python для программного взаимодействия с Renode. Перейдите в репозиторий для получения инструкций по использованию.

Запуск Renode в Docker-контейнере

Если вы хотите запустить Renode в Docker, вы можете использовать предварительно собранные образы, доступные на Docker Hub.

Чтобы запустить Renode в интерактивном режиме на Linux, при условии, что Docker установлен в вашей системе, выполните одну из следующих команд:

  • Для последней номерной версии:
    docker run -ti -e DISPLAY -v $XAUTHORITY:/home/developer/.Xauthority --net=host antmicro/renode:latest
    
  • Для ночной сборки dotnet:
    docker run -ti -e DISPLAY -v $XAUTHORITY:/home/developer/.Xauthority --net=host antmicro/renode:nightly-dotnet
    

Это отобразит окно Monitor Renode. В качестве альтернативы вы можете указать свою собственную команду в конце строки выше.

Чтобы запустить образ в консольном режиме без передачи X-сервера, выполните:

docker run -ti antmicro/renode bash

Вы можете добавить дополнительные ключи -v в команду для монтирования своих собственных директорий.

Для получения дополнительной информации и соответствующего Dockerfile посетите репозиторий на GitHub.

Документация

Документация доступна на Read the Docs.

Лицензия и вклад

Renode выпущен под пермиссивной лицензией MIT. Подробности см. в файле LICENSE.

Мы рады принять сообщения об ошибках, запросы функций и вклад через GitHub pull request'ы / issue. Подробности см. в файле CONTRIBUTING.md.

Коммерческая поддержка

Коммерческая поддержка Renode предоставляется компанией Antmicro, которая специализируется на помощи своим клиентам в освоении новых встроенных технологий и современных методологий разработки.

Antmicro создала и поддерживает фреймворк Renode и связанные инструменты, и с удовольствием предоставляет такие услуги, как добавление новых платформ, интеграций, плагинов и инструментов.

Чтобы узнать о наших услугах, свяжитесь с нами по адресу [email protected].

Категории