Just bought a HiFive1, simulation options until it arrives?

Hi,
I just bought a HiFive1, can’t wait for it to arrive.
Are there any options re simulating one using something like eg QEMU for development purposes while i wait for the post?
I’m also thinking this isn’t simply a impatient-for-the-postman idea: It could speed up development cycles by coding mostly against a simulator, deploying to actual hardware only when necessary.
My aim is to figure out how to program for one using Rust, i think that’d be a fascinating exercise.
Cheers (feel free to roast if my idea is silly!)

Hi Chris,

You might try the “sifive_e” machine using RISC-V QEMU. Instructions are here:

Michael J. Clark is our maintainer for this and may be able to help if you run into trouble. In general, probably just best to post to the sw-dev@groups.riscv.org list, and others may be able to help too.

1 Like

Thanks paul, appreciate the help.

When i do brew install qemu on my mac, it installs qemu 3.0.0 without me needing to compile. (brew is like ‘apt-get’ for the mac FWIW). And installs the following riscv emulators:

~>qemu-system-riscv32 -version
QEMU emulator version 3.0.0
Copyright (c) 2003-2017 Fabrice Bellard and the QEMU Project developers
~>qemu-system-riscv64 -version
QEMU emulator version 3.0.0
Copyright (c) 2003-2017 Fabrice Bellard and the QEMU Project developers

Is that sufficient or do you think i need to check out the code and do a full compile?

Things are changing fast in the RISC-V world. You will often find features in the version of any given software package in the riscv github repo that have not yet been submitted or accepted into the upstream version of that package, and the versions in standard distributions can be even older.

This is especially the case for features that are manufacturer-specific, such as the “sifive_e” machine.

Building qemu only takes a minute or two.

1 Like