Skip to main content
BlogMember Blog

Improving data sources and tests in the Renode Zephyr Dashboard and Renodepedia

By May 28, 2024June 13th, 2024No Comments

This blog originally ran on the Antmicro website. For more Zephyr development tips and articles, please visit their blog.

Since its launch in 2021, Antmicro has been developing the Renode Zephyr Dashboard, a CI system combining structured data obtained from the Zephyr RTOS with the Renode simulation framework, running a range of samples on over 470 simulated boards with RISC-V, ARM and other embedded SoCs.

Last year, Antmicro launched the Renode U-Boot Dashboard, which tests the U-Boot bootloader in Renode on different platforms in a massive CI setup.

[A representation of the updates to the Zephyr and U-Boot Dashboards]

In this article, Antmicro describes the latest expansion of the dashboards even further beyond the earlier advances. Perhaps most importantly, the U-Boot Dashboard now also serves as an additional source of technical data for Renodepedia which uses Renode and structured hardware description data to automatically generate a database of contemporary hardware. The improvements have also been helped by the introduction of the Hardware Model v2 (HMWv2) in Zephyr, which is described later.

Recent updates to the Renode Zephyr Dashboard

Increasing the coverage of the Zephyr Dashboard happens through constant improvements in the underlying tools, most importantly the dts2repl generator and Renode itself, as well as progress in making Zephyr’s data representation mechanisms even more structured and expressive.

Amongst the recent improvements to dts2repl are support for new extended RISC-V instructions, improved model mappings and updates to the NVIC model to support multiple CPUs.

Antmicro also made significant improvements to the Renode library of peripheral models, adding many new peripheral device models and enhancements to platform descriptions, as can be seen in the changelog for Renode 1.15. Through the combination of dts2repl, improved peripheral models and growth of Zephyr itself, Antmicro made a substantial leap in the amount of passing targets from 300 to more than 470 today.

The improvements to the Zephyr Dashboard also include more samples: for one, a new zephyr-rust sample demonstrates Rust running on Zephyr, using the Zephyr APIs to provide the Rust standard library’s threading, synchronization and time functions. There has been an increased interest in running Rust on embedded systems, so if you are curious about how this could be achieved, the sample could be a good starting point.

With more and more edge AI-capable platforms finding their way to the market, and a new integration of Antmicro’s Kenning open source edge AI library with Zephyr RTOS, the obvious move was to add some Kenning Zephyr Runtime demo applications to the dashboard. The demos show how a given model is executed on each platform by various inference libraries to illustrate Kenning framework’s capabilities and tools it provides for compiling and benchmarking AI models both for evaluation and deployment purposes. Kenning uses a simple unified API regardless of the underlying runtime implementation and makes AI flows portable between various hardware platforms – including various CPU architectures, GPUs, TPU and more. Kenning can also be used to co-develop AI-capable hardware together with the software stack as exemplified by Antmicro’s work with Google on the Kelvin RISC-V accelerator (formerly Springbok) with V Extensions which Renode can simulate, and their team can help embed in upcoming silicon.

To illustrate how Kenning helps build portable AI flows, there are three samples available for running inference of the model with the Kenning Zephyr Runtime using TFLite Micro, microTVM and IREE, which demonstrate the machine learning possibilities of Zephyr with finite resources. Below, you can view the TFLite Micro sample running on the 96Boards Argonkey platform.

[TFLite Micro sample in KZR]

 

Given the ever-broader array of demos we’re supporting in the Dashboard(s), Antmicro also created the so-called zephyr-samples-builder, a GitHub Action workflow for building many Zephyr RTOS samples for multiple platforms, to help with faster turnaround in adding new samples and boards.

Further improvements to Renodepedia with HWMv2 and U-Boot

The Zephyr Project recently introduced Hardware Model v2, allowing Antmicro to introduce even more data into Renodepedia, with better SoC to vendor mapping and improved SoC hierarchies. HMWv2 also introduced standardized terminology relating to supported boards, meaning that it also benefits the development of Renodepedia by providing relevant hardware data in a more structured and accessible format.

Renodepedia benefits from further ancillary improvements, including availability of verified System RDL files created on the basis of static code analysis of peripheral models, with the files generated by Renode models analyzer. In addition, Antmicro integrates U-Boot sample simulation and new device tree data, helping to build a larger picture of the hardware landscape for users.

Historical build and simulation data in the Renode Zephyr Dashboard

In order to provide more useful data for users, Antmicro has adopted a new approach which allows them to aggregate more historical build and simulation data, which can then be easily compared. Projects with long support cycles, such as in the automotive and space industries, sometimes require the continued support of multiple older/verified software versions, which is why the Renode Zephyr Dashboard has been redesigned to provide not only the latest information, but also historical data.

Antmicro has utilized this capability in the Zephyr Dashboard, to allow users to switch between two views, representing either the most recent Zephyr build or the most recent simulated one to provide more insight into the gathered data.

Collaborative software and hardware development with Antmicro

These dashboards, together with Renode and Renodepedia, as well as Antmicro’s other projects such as the Visual System Designer, the Hardware Component Database and the Open Hardware Portal aim to provide a method for developers and decision makers to quickly evaluate the opportunities available in both hardware and software, helping them choose the right system for their needs.

Antmicro invites you to contact them at contact@antmicro.com if you would like to discuss the possibilities enabled by software and hardware testing at scale in Renode. On top of the demos showcased in the Dashboards, Renode supports vast portfolios of hardware platforms and thousands of test cases in real products today, and they can help you use it to improve visibility and coverage of your systems as well.