<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/tested-on-real-silicon-automating-risc-v-hardware-in-the-loop-p4fhrcb5a" -->

---
title: Tested on real silicon: Automating RISC-V...
description: The RISE Project and Collabora partnered to integrate two RISC-V boards — the Banana Pi BPI-F3 and SiFive HiFive P550 — into Collabora's public LAVA testing...
canonical: https://daily.dev/posts/tested-on-real-silicon-automating-risc-v-hardware-in-the-loop-p4fhrcb5a
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Tested on real silicon: Automating RISC-V Hardware-in-the-Loop | daily.dev
og:description: The RISE Project and Collabora partnered to integrate two RISC-V boards — the Banana Pi BPI-F3 and SiFive HiFive P550 — into Collabora's public LAVA testing...
og:url: https://daily.dev/posts/tested-on-real-silicon-automating-risc-v-hardware-in-the-loop-p4fhrcb5a
og:image: https://api.daily.dev/og/posts/p4FhRcb5A.png
og:image:alt: Tested on real silicon: Automating RISC-V Hardware-in-the-Loop
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Tested on real silicon: Automating RISC-V Hardware-in-the-Loop

**[Collabora Blog](https://daily.dev/sources/collabora)** · 6 min read · 0 upvotes · 0 comments

## Summary

The RISE Project and Collabora partnered to integrate two RISC-V boards — the Banana Pi BPI-F3 and SiFive HiFive P550 — into Collabora's public LAVA testing lab. The work covers two layers: standard LAVA enablement (automated power control, serial console, network boot via u-boot) for kernel and userspace testing, and lower-level boot chain automation using Boardswarm. Key engineering challenges included automating hardware download mode (button press on BPI-F3, serial microcontroller interface on SiFive), implementing USB-drive-based FSBL upload for the Banana Pi, extending fastboot support in Boardswarm for the SiFive BootROM's 'stage' command, and adding u-boot support for writing SPI flash over fastboot. The result is a fully remote, publicly accessible HIL testing facility for RISC-V, with complete documentation so others can replicate the board farm setup.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://www.collabora.com/news-and-blog/news-and-events/tested-on-real-silicon-automating-risc-v-hardware-in-the-loop.html>

## Questions this post answers

### How do you automate download mode on the Banana Pi BPI-F3 for remote board recovery?

The Banana Pi BPI-F3 enters download mode via a physical button that must be pressed during boot. To automate this remotely, a small hardware modification is required to electronically simulate the button press. Once in download mode, the board presents itself as a USB drive, and the first-stage bootloader is uploaded by writing it as a single file to that virtual drive — a flow now supported in Boardswarm.

_Engineers building RISC-V board farms track automation techniques like this on daily.dev._

### How does the SiFive HiFive P550 BootROM load a first-stage bootloader over USB?

The SiFive HiFive P550 BootROM implements the fastboot protocol. It uses the fastboot 'stage' command to download data directly into memory for execution without writing it to storage. Boardswarm was extended to support this 'stage' command specifically for BootROM use. The SiFive board also exposes a serial microcontroller interface that allows remote boot mode configuration, which was integrated into Boardswarm for power control and mode switching.

_Developers working on RISC-V CI pipelines find relevant board bring-up coverage on daily.dev._

## Similar posts on daily.dev

- [HFI BIOS Aims To Provide A POST-Like Power On Screen & BIOS Setup Utility For RISC-V](https://daily.dev/posts/hfi-bios-aims-to-provide-a-post-like-power-on-screen-bios-setup-utility-for-risc-v-s30n99stg) · Phoronix · 0 upvotes · 0 comments
- [First Test of Java on Banana Pi's \(ARM and RISC-V\), Plus a Blinking LED with Pi4J · webtechie.be](https://daily.dev/posts/first-test-of-java-on-banana-pi-s-arm-and-risc-v-plus-a-blinking-led-with-pi4j-webtechie-be-b70nwh3on) · WebTechie · 4 upvotes · 0 comments
- [I Benchmarked Java on Single-Board Computers: Orange Pi 5 Ultra and Raspberry Pi 5 Lead the Pack](https://daily.dev/posts/i-benchmarked-java-on-single-board-computers-orange-pi-5-ultra-and-raspberry-pi-5-lead-the-pack-0w3tmonmi) · Foojay.io · 22 upvotes · 0 comments

---

Tags: [#cicd](https://daily.dev/tags/cicd)

[View this post on daily.dev](https://daily.dev/posts/tested-on-real-silicon-automating-risc-v-hardware-in-the-loop-p4fhrcb5a)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Tested on real silicon: Automating RISC-V Hardware-in-the-Loop","url":"https://daily.dev/posts/tested-on-real-silicon-automating-risc-v-hardware-in-the-loop-p4fhrcb5a","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/tested-on-real-silicon-automating-risc-v-hardware-in-the-loop-p4fhrcb5a"},"datePublished":"2026-08-11T08:57:09.907Z","dateModified":"2026-08-11T09:38:57.148Z","description":"The RISE Project and Collabora partnered to integrate two RISC-V boards — the Banana Pi BPI-F3 and SiFive HiFive P550 — into Collabora's public LAVA testing...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/7cc8a346799dbfea4aca8141012f5c05?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/7cc8a346799dbfea4aca8141012f5c05?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Collabora Blog","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Collabora Blog","logo":"https://media.daily.dev/image/upload/s--ZGZ0FjqS--/f_auto,q_auto/v1786438306/logos/collabora?_a=BAMAMicg0","url":"https://daily.dev/sources/collabora"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/tested-on-real-silicon-automating-risc-v-hardware-in-the-loop-p4fhrcb5a","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"cicd","timeRequired":"PT6M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Collabora Blog","item":"https://daily.dev/sources/collabora"},{"@type":"ListItem","position":3,"name":"Tested on real silicon: Automating RISC-V Hardware-in-the-Loop"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/tested-on-real-silicon-automating-risc-v-hardware-in-the-loop-p4fhrcb5a#faq","mainEntity":[{"@type":"Question","name":"How do you automate download mode on the Banana Pi BPI-F3 for remote board recovery?","acceptedAnswer":{"@type":"Answer","text":"The Banana Pi BPI-F3 enters download mode via a physical button that must be pressed during boot. To automate this remotely, a small hardware modification is required to electronically simulate the button press. Once in download mode, the board presents itself as a USB drive, and the first-stage bootloader is uploaded by writing it as a single file to that virtual drive — a flow now supported in Boardswarm. Engineers building RISC-V board farms track automation techniques like this on daily.dev."}},{"@type":"Question","name":"How does the SiFive HiFive P550 BootROM load a first-stage bootloader over USB?","acceptedAnswer":{"@type":"Answer","text":"The SiFive HiFive P550 BootROM implements the fastboot protocol. It uses the fastboot 'stage' command to download data directly into memory for execution without writing it to storage. Boardswarm was extended to support this 'stage' command specifically for BootROM use. The SiFive board also exposes a serial microcontroller interface that allows remote boot mode configuration, which was integrated into Boardswarm for power control and mode switching. Developers working on RISC-V CI pipelines find relevant board bring-up coverage on daily.dev."}}]}
```

