Around two years ago, Antmicro introduced the Renode Zephyr Dashboard that combines structured data from the Zephyr RTOS with the capabilities of our open source Renode simulation framework. The dashboard is essentially a window into a massive CI setup testing hundreds of Zephyr targets across a range of demos against Renode, providing a status of support with all relevant artifacts, and has been used as the basis for our consecutive projects aiming at gathering and unifying information about the hardware ecosystem.
The dashboard was followed by another useful resource - Renodepedia, a visual, easily navigable and interconnected database of boards, SoCs, SoC elements, sensors, and vendors, built on top of Zephyr and the Zephyr Dashboard. Renodepedia aims at improving navigation through the hardware ecosystem in line with the open source and software-driven approach to hardware development that Antmicro has been advocating as an active member of initiatives such as the CHIPS Alliance and RISC‑V International.
Since its announcement, the dashboard has grown significantly: we went from supporting around 100 platforms to almost 300 and added multiple new demos. This note will provide an overview of the most important improvements that happened since the original blog note was published and describe future plans for both the Zephyr Dashboard and Renodepedia.
Better Zephyr devicetrees
As a Platinum member of the Zephyr Project, Antmicro has been working to bring Zephyr to more devices, offering porting services for silicon vendors such as Ambiq and Silicon Labs, but also utilizing Zephyr’s versatility for less obvious purposes, such as using it as a bootloader for Linux or management platform for FPGAs.
Taking a step back, the Zephyr Dashboard was made possible thanks to Zephyr adoption of the devicetree standard which is used to provide hardware descriptions and configuration in a machine readable way. Since the data embedded in board devicetrees and other description files of Zephyr is critical for the Zephyr Dashboard and Renodepedia, Antmicro has been actively contributing to Zephyr in terms of cleaning up and patching its data structures.
Some of the interesting improvements contributed to Zephyr as part of this effort include enabling specifying the GIC version in the devicetree, updating devicetrees and bindings for Microchip platforms, improving support for the RISC‑V ISA field, bringing more structure to ST SoCs with compatible strings and more. Other contributions involved fixing GPIO initialization code for the ARM-based 96b_wistrio board and improvements to Zephyr documentation for some RISC‑V boards.
Renode-driven improvements
Since the release of the Zephyr Dashboard, Renode itself has also been going through significant exciting changes. Among the numerous improvements and additions, perhaps the most notable one was adding support for ARMv8-A and ARMv8-R platforms, which naturally also resulted in more platforms available in the dashboard.
A crucial part of the Zephyr Dashboard CI setup is the dts2repl tool that allows us to convert devicetree files into Renode platform (.repl
) ones. With the growing number of platforms available in the dashboard, the dts2repl utility has been steadily improving as well.
Internally, we use the dashboard to test and improve Renode, which helped us e.g. in adding support RISC‑V Bit-Manipulation extensions, that we’ll describe in a separate blog note, or implementing the PMSAv8 MPU subsystem for ARMv8-M.
Another interesting development that led to the overall enhancement of the Zephyr Dashboard is Renode’s ability to run binaries that wouldn’t normally fit into the memory on a physical board. For a platform simulated in Renode, you can artificially increase the amount of memory and test a what-if scenario to check whether the application works fine and the platform is the only limiting factor. This might be useful when making a decision about upgrading hardware to a more capable one.
More demos
To broaden the "horizontal" coverage of software we’re using for testing the platforms available in the Zephyr Dashboard, we added some new samples, along with their Robot Framework test results, including:
- Blinky - a basic sample that blinks an LED using GPIO in Renode
- Userspace hello world - prints "Hello World" to the console from a usermode thread
- Synchronization - a thread synchronization and timing sample
- Compression: LZ4 - compresses and decompresses a block of data with the LZ4 algorithm and verifies the result
As before, for each passing board/demo combination, you can view the log, the Robot test results and an asciinema recording of the given demo. Clicking on the platform name in the dashboard will take you to the corresponding page in Renodepedia.
Improving Renodepedia
Updates in the dashboard also mean updates in Renodepedia, as all the new data - platforms and demos - are included in Renodepedia as well. To make navigation through the many assets available in Renodepedia even easier, we introduced some changes to the layout of the page. We improved organization in the SoC Components page by implementing peripheral grouping by type and added various sensors supported in Zephyr.
We also introduced SoC hierarchisation - they are now automatically grouped by vendor and, where applicable, SoC family, so you can see e.g. all ST SoC families available in Renodepedia in a single view.
The future of the Zephyr Dashboard and Renodepedia
Our work on the Zephyr Dashboard allowed us to create a similar U-Boot Dashboard that will also be integrated into Renodepedia, which we’ll describe in more detail in a separate blog note. Our goal is to have multiple dashboards for other OSs such as Linux and Renodepedia aggregating the data from all of them for a fully comprehensive database.
We are currently working on integrating the data from the Zephyr Dashboard with the recently introduced Visual System Designer, which will allow us to further expand VSD’s capabilities.
Antmicro’s projects such as the Zephyr Dashboard, Renodepedia, Visual System Designer and Open Hardware Portal provide us with tools and understanding necessary to offer comprehensive engineering services for software-driven, portable product and tool development, and supercharge our capabilities of hardware prototyping, software development and testing. Combining our vast experience with Zephyr and Renode’s advanced capabilities, we can help you build your new industrial or consumer device. If you want to learn more about our services, don’t hesitate to contact us at contact@antmicro.com.