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 Жыл бұрын
How is this an issue if we were both using the same version?
@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!
@evgenymanaev48783 жыл бұрын
WOW, that's awesome! Cool "Getting started" for RISC-V dummies. Thanks very much!
@jacoblin08205 ай бұрын
Thanks for the informative line-by-line introduction.
@JohnsBasement5 ай бұрын
You're welcome. Have fun!
Жыл бұрын
Very nice explained, going to give it a shot hopefully it is not outdated after 1 year
@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 Жыл бұрын
Great video!! I was just wondering if you ever made a video where you talk about Newlib?
@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
@saturdaysequalsyouth3 жыл бұрын
You're a legend
@JohnsBasement3 жыл бұрын
Hey thanks! Who knew?? :-)
@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!
@moldytexas10 ай бұрын
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!
@richysradioroom3 жыл бұрын
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.
@JohnsBasement3 жыл бұрын
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!)
@richysradioroom3 жыл бұрын
@@JohnsBasement A thousand thank yous!
@JohnsBasement3 жыл бұрын
You are welcome! 😀
@niceguyniceguy44502 жыл бұрын
Thank you 💞😊☺️💞
@JohnsBasement2 жыл бұрын
You're welcome. Hopefully, this will eliminate some of the frustration I suffered when trying to get it all set up and running!
@alterguy43273 жыл бұрын
🙂✌️
@dmdm926911 ай бұрын
You are great
@JohnsBasement11 ай бұрын
🤣.. I'll make a note of it!
@siarheimarozau6763 Жыл бұрын
sudo apt install build-essential
@JohnsBasement Жыл бұрын
🤣... Yeah... that is going to be useful too.
@siarheimarozau6763 Жыл бұрын
Coud your please to supplement your instructions on how to install all this on UBUNTU under WSL.
@JohnsBasement Жыл бұрын
It should be identical... just do it in a 'UBUNTU terminal window'.
@muhammadroohallah60915 ай бұрын
Can u install rv32gcv using this?
@JohnsBasement5 ай бұрын
I don't know.
@he85352 жыл бұрын
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
@JohnsBasement2 жыл бұрын
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
@vincentabraham76903 жыл бұрын
how do we write and run our own programs in this setup ?
@JohnsBasement3 жыл бұрын
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.
@vincentabraham76903 жыл бұрын
@@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 ?
@JohnsBasement3 жыл бұрын
@@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.