QEMU RV32I Installation & Setup

  Рет қаралды 10,842

John's Basement

John's Basement

Күн бұрын

Пікірлер: 39
@nealoliver8321
@nealoliver8321 Жыл бұрын
For anyone who is reading this: the implementation of vpc.c in block was changed as part of a buffer cleanup initiative, and in John's project no longer compiles. I changed the version of QEMU to 8.0.3 and was able to replicate the behavior of the video. I hope this is useful...
@JohnsBasement
@JohnsBasement Жыл бұрын
How is this an issue if we were both using the same version?
@nealoliver8321
@nealoliver8321 Жыл бұрын
@@JohnsBasement Hi John, I thought you were using Ubuntu 20.04 (I am running 22.04), so that the OS difference might be the cause. You stressed that releases of QEMU other than the one you used had problems, so I tried not to change it. But trying to build your project with Qemu 5.2.0 resulted in compilation errors in Qemu. I found a commit in the Qemu project that changed the code that failed to compile ("fixing buffer abuse", or some such title). I guess sometime between your work and July 2023, enough changes accumulated to break some dependencies. I would rather not become a Qemu expert unless I really have to, so I hanged to the current branch and am taking my chances. I appreciate the work you have done! I have looked at multiple simulator/toolchain projects for RISC-V, and yours is the first one that I could get to work. I haven't played with it enough to know if I will run into other Qemu issues, such as the ones you mentioned in rhe video. Again, thanks!
@evgenymanaev4878
@evgenymanaev4878 3 жыл бұрын
WOW, that's awesome! Cool "Getting started" for RISC-V dummies. Thanks very much!
@jacoblin0820
@jacoblin0820 5 ай бұрын
Thanks for the informative line-by-line introduction.
@JohnsBasement
@JohnsBasement 5 ай бұрын
You're welcome. Have fun!
Жыл бұрын
Very nice explained, going to give it a shot hopefully it is not outdated after 1 year
@JohnsBasement
@JohnsBasement Жыл бұрын
It'll fly if you build the versions I show. Both QEMU and the compiler are updated all the time. Their RISC-V support is still young. Any other versions of either tool will be different.
Жыл бұрын
@@JohnsBasement It worked! My other comment got removed because of a link I guess. I compiled the xv6 OS ported to RISC-V 32 bits and the toolchain installed in your repo saved my day, I just had to pass the rv32ima arch as argument to the gcc with the correct abi.
@HomeroVz
@HomeroVz Жыл бұрын
Great video!! I was just wondering if you ever made a video where you talk about Newlib?
@JohnsBasement
@JohnsBasement Жыл бұрын
Thanks! Yeah I think I go over it in one of the lectures shown in here: faculty.cs.niu.edu/~winans/CS463/2022-fa/#riscvarchitecture faculty.cs.niu.edu/~winans/CS463/2022-fa/#freestanding
@saturdaysequalsyouth
@saturdaysequalsyouth 3 жыл бұрын
You're a legend
@JohnsBasement
@JohnsBasement 3 жыл бұрын
Hey thanks! Who knew?? :-)
@nealoliver8321
@nealoliver8321 Жыл бұрын
I followed the build procedure exactly, except that I am on Ubuntu 22.04 LTS. In qemu, the block subdirectory complains of buffer pointer overflows; these are warnings, but with -Werror set, they cause the build to fail. Since John was very specific about the release of Qemu to be used, are there any workarounds? I am using gcc/g++ 11.3.0. Thanks!
@moldytexas
@moldytexas 10 ай бұрын
Hey John. I also ran into the problem of pointer overflows, and I am fairly new to QEMU. If I am to understand correctly, using the appropriate version of QEMU will resolve this? I am working on risc-v64, downoded a prebuilt toolchain from bootlin, and my guess is I have made a terrible mistake in not building a toolchain myself. Thanks!
@richysradioroom
@richysradioroom 3 жыл бұрын
Hi John. I was looking at your Kicad Tutorials.....Probably the best on you tube. But I cant for the life of me find ANYWERE that tells you how do you print your design on to paper to make your board. I will re ask this. What setting do you use? What buttons do you press? LOL. I am not sure how I am missing this process. I feel so stupid not knowing this after many hours of studying Kicad. Thanks.
@JohnsBasement
@JohnsBasement 3 жыл бұрын
Geez!!! I'm laughing out loud right now... I don't think I ever once mentioned how to do this anywhere in that series! :-D The short of it is that it is the same as generating the gerbers (see part 31 of the list here: kzbin.info/aero/PL3by7evD3F51fKkyrUbH-PCdwPCWc9F8a), but there is a menu where you can select the format and can change it to things like PDF and postscript. Just make CERTAIN that if you then print them with some annoyingly helpful software that will try to scale it for you... that it DOESN'T!!! I'll toss together a quick vid right now that shows the process for those that actually want to etch their own boards. (It has been a while for me, but I have done it from KiCad 4.x. So I know it is in there!)
@richysradioroom
@richysradioroom 3 жыл бұрын
@@JohnsBasement A thousand thank yous!
@JohnsBasement
@JohnsBasement 3 жыл бұрын
You are welcome! 😀
@niceguyniceguy4450
@niceguyniceguy4450 2 жыл бұрын
Thank you 💞😊☺️💞
@JohnsBasement
@JohnsBasement 2 жыл бұрын
You're welcome. Hopefully, this will eliminate some of the frustration I suffered when trying to get it all set up and running!
@alterguy4327
@alterguy4327 3 жыл бұрын
🙂✌️
@dmdm9269
@dmdm9269 11 ай бұрын
You are great
@JohnsBasement
@JohnsBasement 11 ай бұрын
🤣.. I'll make a note of it!
@siarheimarozau6763
@siarheimarozau6763 Жыл бұрын
sudo apt install build-essential
@JohnsBasement
@JohnsBasement Жыл бұрын
🤣... Yeah... that is going to be useful too.
@siarheimarozau6763
@siarheimarozau6763 Жыл бұрын
Coud your please to supplement your instructions on how to install all this on UBUNTU under WSL.
@JohnsBasement
@JohnsBasement Жыл бұрын
It should be identical... just do it in a 'UBUNTU terminal window'.
@muhammadroohallah6091
@muhammadroohallah6091 5 ай бұрын
Can u install rv32gcv using this?
@JohnsBasement
@JohnsBasement 5 ай бұрын
I don't know.
@he8535
@he8535 2 жыл бұрын
Cool stuff but I'm a very un educated person i just want to find some sort of .iso or .img files of Linux RISC v 64 distributions and mes with some options and just boot into it so i can see the state of development and see what kinds of quarks it has
@JohnsBasement
@JohnsBasement 2 жыл бұрын
Google around for things like 'RISCV qemu Linux' there should be a vareity of projects out there. You have to compile this one but it does not look too complicated: risc-v-getting-started-guide.readthedocs.io/en/latest/linux-qemu.html
@vincentabraham7690
@vincentabraham7690 3 жыл бұрын
how do we write and run our own programs in this setup ?
@JohnsBasement
@JohnsBasement 3 жыл бұрын
Look at the links in the video description for the github repo of what I ran in this video as well as have a look at the 'freestanding programs' video where I talk about how to use the compiler to write code that can run on a bare naked machine (with no operating system etc.) This particular setup is very primitive in that you pretty much ONLY have a serial port/console to print to and read characters from. Qemu simulates much more but the details on how to use them are more than just trivial. At some point I hope to publish a few more videos on how some of the other stuff works. No promises as to when just yet though.
@vincentabraham7690
@vincentabraham7690 3 жыл бұрын
@@JohnsBasement Yes I have seen that. But that seems rather difficult for a beginner like me. Isn't there a simpler way for compiling programs like the way we do it in the SPIKE simulator ? And actually, my reason for installing QEMU was to run FreeRTOS programs on it by porting the RTOS. Could you suggest something ?
@JohnsBasement
@JohnsBasement 3 жыл бұрын
@@vincentabraham7690 I have yet to use the SPIKE simulator so I don't know how it might differ. I'm not sure what you mean by 'difficult.' So I am not sure how to answer your question.
@orthodoxNPC
@orthodoxNPC 3 жыл бұрын
ewwwbuntu
@JohnsBasement
@JohnsBasement 3 жыл бұрын
Anything other than ewwwindows! 😂
The Genius of RISC-V Microprocessors - Erik Engheim - ACCU 2022
1:01:17
ACCU Conference
Рет қаралды 92 М.
Freestanding RISC-V Programs
1:55:19
John's Basement
Рет қаралды 10 М.
Epic Reflex Game vs MrBeast Crew 🙈😱
00:32
Celine Dept
Рет қаралды 34 МЛН
这到底是怎么做到的 #路飞#海贼王
00:10
路飞与唐舞桐
Рет қаралды 3,4 МЛН
RISC-V isn't killing Arm (yet)
9:05
Jeff Geerling
Рет қаралды 352 М.
Writing a Really Tiny RISC-V Emulator
19:59
CNLohr
Рет қаралды 61 М.
TailsOS Guide For The Ultra Paranoid
35:32
Mental Outlaw
Рет қаралды 440 М.
#07 - How To Emulate Firmware With QEMU - Hardware Hacking Tutorial
44:50
Explaining RISC-V: An x86 & ARM Alternative
14:24
ExplainingComputers
Рет қаралды 457 М.
BASE ISA
37:57
RISC-V International
Рет қаралды 15 М.
Beginner's Guide to the Bash Terminal
1:14:37
Joe Collins (EzeeLinux)
Рет қаралды 2,3 МЛН
RISC-V 2024 Update: RISE, AI Accelerators & More
14:03
ExplainingComputers
Рет қаралды 91 М.
Why Linux is better for (most) developers!
14:59
The Linux Experiment
Рет қаралды 477 М.
Introduction to RISC-V and the RV32I Instructions
49:27
John's Basement
Рет қаралды 47 М.
Epic Reflex Game vs MrBeast Crew 🙈😱
00:32
Celine Dept
Рет қаралды 34 МЛН