Skip to content

Feature: Add RISC-V target to embedded-smoke#140

Open
rtmongold wants to merge 1 commit into
mainfrom
feature/riscv-embedded-smoke
Open

Feature: Add RISC-V target to embedded-smoke#140
rtmongold wants to merge 1 commit into
mainfrom
feature/riscv-embedded-smoke

Conversation

@rtmongold

@rtmongold rtmongold commented Jul 14, 2026

Copy link
Copy Markdown
Collaborator

Closes #99

Add RISC-V target to embedded-smoke

Checklist

  • CHANGELOG.md updated under ## [Unreleased] (required for behavior-facing changes)
  • cargo test + cargo clippy --all-targets clean locally
  • New public APIs have a doc example
  • No unwrap/expect/panic on library paths (typed errors instead)

@rtmongold rtmongold force-pushed the feature/riscv-embedded-smoke branch 5 times, most recently from 6bced4d to 70b1bb3 Compare July 14, 2026 17:47
@rtmongold rtmongold force-pushed the feature/riscv-embedded-smoke branch from 70b1bb3 to 9626da8 Compare July 14, 2026 18:47
@rtmongold rtmongold marked this pull request as ready for review July 14, 2026 19:33
@rtmongold rtmongold requested a review from kmolan as a code owner July 14, 2026 19:33
Comment thread .cargo/config.toml
[target.riscv32imc-unknown-none-elf]
runner = "qemu-system-riscv32 -machine virt -nographic -semihosting-config enable=on,target=native -bios none -kernel"
rustflags = [
"-C", "link-arg=-Tmemory.x", # must come before link x for riscv-rt

@kmolan kmolan Jul 14, 2026

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"must come before link x for riscv-rt" why is that?

# thumbv7em ABIs run the full set. The bare set is the same for representative
# and full runs — full only adds the aarch64 host.
bare='[{"target":"thumbv7em-none-eabi","args":""},{"target":"thumbv7em-none-eabihf","args":""},{"target":"thumbv6m-none-eabi","args":"--no-default-features"}]'
# thumbv7em ABIs and riscv32 run the full set. The bare set is the same for

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why is riscv32 part of canary?

- name: Install QEMU (RISC-V)
run: |
sudo apt-get update
sudo apt-get install -y qemu-system-misc

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

do not do apt install. Rather stick with cached deps similar to how the arm is installed above.

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

reason is to avoid the slow apt update and apt install on every CI

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add a RISC-V target to the embedded smoke tests

2 participants