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

Published:

Topics: Open source tools, Open simulation, Open software libraries

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

Last year we also launched the Renode U-Boot Dashboard, which similarly 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, we will describe how we are expanding the coverage of the dashboards ever 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.

We 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, we made a substantial leap in the amount of passing targets from 300 at the time of the last blog note update to more than 470 today.

Our 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. We have been seeing 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 our 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 our work with Google on the Kelvin RISC-V accelerator (formerly Springbok) with V Extensions which Renode can simulate, and our team can help embed in upcoming silicon.

To illustrate how Kenning helps build portable AI flows, we now have 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.

Given the ever-broader array of demos we’re supporting in the Dashboard(s), we 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 us 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 the Renode models analyzer. In addition, we now integrate 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, we have adopted a new approach which allows us 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 now been redesigned to provide not only the latest information, but also historical data.

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

Collaborative software and hardware development with Antmicro

The dashboards, together with Renode itself and Renodepedia, as well as our 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 hardware and software landscape, helping them choose the right system for their needs.

We invite you to reach out at contact@antmicro.com 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 we can help you use it to improve visibility and coverage of your systems as well.

See Also: