How to run RISC-V test applications using qemu?
Jan.Sommer at dlr.de
Jan.Sommer at dlr.de
Thu Nov 26 08:45:07 UTC 2020
Thanks, Jiri.
Qemu worked fine for the rv32imafdc test binaries.
For the record, both qemu command lines worked well:
qemu-system-riscv32 -nographic -machine virt -m 2G -nographic -net none -serial mon:stdio -bios ticker.exe
qemu-system-riscv32 -nographic -machine virt -m 2G -nographic -net none -serial mon:stdio -bios none -kernel ticker.exe
I tried with qemu-4.2, qemu-5.1 and qemu-5.2-rc. It worked on all three.
@Karel: Thanks for the tip with Ctrl+a. Worked fine with that as well.
Best regards,
Jan
From: users <users-bounces at rtems.org> On Behalf Of Jiri Gaisler
Sent: Wednesday, November 25, 2020 4:57 PM
To: users at rtems.org
Subject: Re: How to run RISC-V test applications using qemu?
On 11/25/20 4:18 PM, Jan.Sommer at dlr.de<mailto:Jan.Sommer at dlr.de> wrote:
On Wed, 25 Nov 2020 at 15:41, <Jan.Sommer at dlr.de><mailto:Jan.Sommer at dlr.de> wrote:
Hello,
I tried to experiment a bit with the riscv BSPs.
I could run them using the SIS simulator, but failed with qemu.
Regarding qemu I found this ticket:
https://devel.rtems.org/ticket/3608
In one mailinglist thread (from 2018) someone said it worked with a current master version of qemu.
I have compiled qemu-5.1 and qemu-5.2-rc2. Does anyone know if those version have the necessary patches included?
Then another source of error could be the command line parameters I used:
qemu-system-riscv32 -nographic -machine virt -m 2G -bios none -nographic -net none -serial stdio -monitor none -kernel ticker.exe
Does someone have an example for a working set of command line options?
Which BSP did you build and how did you build it? Can you try with -bios ticker.exe and discard the -kernel option? Did you try RV64?
I used the griscv BSP. If I read it correctly, it should be a rv32imafd processor. I built the BSP from current master and used the waf build system to build it.
I also just tried (with qemu-5.2.0-rc2) the following command using bios instead of kernel:
qemu-system-riscv32 -nographic -machine virt -m 2G -nographic -net none -serial stdio -monitor none -bios /tmp/riscv/rtems/build/riscv/griscv/testsuites/samples/ticker.exe
I still don't get any output. It might very well be that the serial or monitor configuration is not correct. These options are always a bit mysterious to me.
FWIW if I use "-serial stdio -monitor none" I can close qemu with Ctrl+C. If I use "-serial mon:stdio" Ctrl+C does not work.
Using qemu-system-riscv64 doesn't change anything.
The griscv bsp only works with sis, as it uses leon3/grlib peripherals. To run on qemu, you need to use the riscv/riscv bsps, e.g. rv32imafdc or any other in rtems/bsp/riscv/riscv/config.
Jiri.
PS. I plan to add "pure" riscv support to sis, once I find the proper device-tree definitions for the bsps ...
Best regards,
Jan
Deutsches Zentrum für Luft- und Raumfahrt e. V. (DLR)
German Aerospace Center
Institute for Software Technology | Software for Space Systems and Interactive Visualization | Lilienthalplatz 7 | 38108 Braunschweig | Germany
Jan Sommer
_______________________________________________
users mailing list
users at rtems.org<mailto:users at rtems.org>
http://lists.rtems.org/mailman/listinfo/users
_______________________________________________
users mailing list
users at rtems.org<mailto:users at rtems.org>
http://lists.rtems.org/mailman/listinfo/users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/users/attachments/20201126/eb9edafd/attachment.html>
More information about the users
mailing list