-
Notifications
You must be signed in to change notification settings - Fork 705
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
README.md: update Running User-Space Applications chapter #1358
Comments
What about the build ?? The most recent version of riscvpk attampt to run with riscv64-unknown-elf |
Also for running user space applications this does not make any sense - |
The "Running User-Space Applications" section is completely misleading -
Please explain this section in as much details as possible. |
As you know open source is a collaboration database, made by inputs from all who would like to contribute. As you seem to know how to run pk, I would encourage you to submit a PR to explain better how to use it. |
Related to #1569 |
Yes, I reviewed #1569.. I am able to run the smoke and compliance tests. Everything worked nicely (I am using verilator but will try porting the design to Xcelium). My only concern was the notes under "Running User-Space Applications" was not very clear. Perhaps
|
@rajatkmitra verilate is a target of the Makefile at the root directory of the repo which means that it should be run from there. Please let me know if you manage to run your hello world (or not). |
Ah okay, thanks @valentinThomazic .. First RISCV is too generic a name, perhaps need to call this RISCVTOOLS to indicate the location of the toolchain... Then I ran like this - ajatkmitra@butterfly:~/risc5/pulp/cva6$ work-ver/Variane_testharness /home/rajatkmitra/risc5/pulp/cva6/tmp/riscv-pk/build/pk hello.elf rajatkmitra@butterfly: It seems that the instructions need to be a little more specific.. Can you point me to how to set tohost ?? |
Did you let the simulation finish (until timeout) ? What result did you get ? |
I tried to find the tohost_addr in pk, but to_hostaddr symbol appears to be missing - |
Oops the symbol is "tohost", trying your suggestion now, here is the output, I am not seeing the printf result on the screen - rajatkmitra@butterfly:~ /risc5/pulp/cva6$ nm ./tmp/riscv-pk/build/pk | grep tohost |
If you had waited long enough, the result from the simulation would probably be a failure. First of all, I would try using the pk located in your If it still does not work : Did you build the RISCV toolchain following the readme or did you use a pre-built one ? I had the same warning messages and failed simulation because the toolchain provided by the get/build scripts in the repo compiles in 32 bits by default whereas Ariane is a RISCV64 simulator. Try building the pk with : Try compiling your hello with : Then try starting a new simulation with your new pk and elf. Please let me know if you make any progress or have new issues. |
Yes I was using a riscv compiler from another area. \git clone https://github.com/openhwgroup/cva6.git I also created a local toolchain as per instructions -Set environment variable RISCV to the desired installation location. Get the source code of toolchain components from public repositiories. For the build prerequisites, see the local README.md. \ Build and install the GCC toolchain.
|
When I create manually create a cva6/tmp directory and then run - This eventually results in an error - -mcmodel option does not support madany option unless you are expecting to use the risc5 toolchain gcc. In that case the tool should be using - hecking for gcc option to enable C11 features... none needed I suspect not finding the required gcc, the tool is defaulting back to system wide gcc which is not the proper compiler for cva6. Furthere as I mentioned previously, the toolchain should have created the compiler family with the - Set environment variable RISCV to the desired installation location.The toolchain can be installed in any user-writable directory.export RISCV= /path/to/toolchain/installation/directory Get the source code of toolchain components from public repositiories.cd util/gcc-toolchain-builder For the build prerequisites, see the local README.md.Build and install the GCC toolchain.bash ./build-toolchain.sh $RISCV Return to the toplevel CVA6 directory.cd - I think the install-pk script needs to be fixed and made consistent with the get and build scipts. Can you fix this ? |
In order to get the pk working, please follow the readme until the User-Space Application section and use the scripts to build your toolchain.
Follow this : Running User-Space Applications
It is possible to run user-space binaries on CVA6 with (RISC-V Proxy Kernel and Boot Loader) and (Ariane RISCV-V CPU). Otherwise, you should follow the instruction on the RISCV-PK repo to build it for your toolchain. If not already done, add verilator and the toolchain binaries into your PATH
Then to run a RISC-V ELF using the Verilator model do:
|
Thanks, I will let you know shortly how things go.. |
Did you manage to make it work @rajatkmitra ? |
So sorry for the long absence, I was on another project .. I updated the install script install-riscv-pk as you mentioned, but now getting authentication error - |
Okay I update the script - rajatkmitra@butterfly:~ /risc5/pulp/toolchain/riscv-none-elf/bin$ ll |
Then I do these commands - from cva6/ directory it is successful Then ../corev_apu/tb/dpi/SimDTM.cc:4:10: fatal error: fesvr/dtm.h: No such file or directory |
@valentinThomazic - any thoughts on the verilator failure ?? |
Hello, As you may have noticed, the support for the proxy kernel in the CVA6 repo has been dropped. That said, it looks like some headers files from spike cannot be found. |
Thanks for those updates! Yes, it was several weeks ago and all the smoke tests passed... I will recreate the environment with the new instructions and attempt to run. |
Pk is no more supported by this repository. The issue is close. |
The Running User-Space Applications chapter need to be updated. As this chapter has been written before the GCC version update, the GCC variables are to be updated: riscv64-unknown-elf to be replaced by riscv-non-elf,...
The gate simulation chapter need also to be updated.
The text was updated successfully, but these errors were encountered: