Skip to content
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

Steps to run custom assembly programs #2746

Open
RakeshpatilLB opened this issue Jan 28, 2025 · 2 comments
Open

Steps to run custom assembly programs #2746

RakeshpatilLB opened this issue Jan 28, 2025 · 2 comments
Labels
notCV32A65X It is not an CV32A65X issue

Comments

@RakeshpatilLB
Copy link

I have successfully installed all the CVA6 variants, and the smoke tests completed successfully. However, I am unsure about the steps required to run custom assembly programs on a specific CVA6 variant. Could you please provide guidance or a detailed process to achieve this?

@JeanRochCoulon JeanRochCoulon added the notCV32A65X It is not an CV32A65X issue label Jan 28, 2025
@RakeshpatilLB
Copy link
Author

RakeshpatilLB commented Feb 16, 2025

Got a solution for this issue, not sure if it is best/correct ,but it worked.

step1: arrange your custom assembly code in the given test template ( custom_test_template.S).
step2: follow the commands given under the section "Running standalone simulations" with these modifications:
replace --c_tests with --asm_tests, replace the .c file name with the .S file

source verif/sim/setup-env.sh
export DV_SIMULATORS=veri-testharness
cd ./verif/sim

python3 cva6.py --target cv32a60x --iss=$DV_SIMULATORS --iss_yaml=cva6.yaml
--asm_tests ../tests/custom/hello_world/custom_test_template.S
--linker=../../config/gen_from_riscv_config/linker/link.ld
--gcc_opts="-static -mcmodel=medany -fvisibility=hidden -nostdlib
-nostartfiles -g ../tests/custom/common/syscalls.c
../tests/custom/common/crt.S -lgcc
-I../tests/custom/env -I../tests/custom/common"

Pls let me know if anyone finds out a better way than this.

@valentinThomazic
Copy link
Contributor

This is the correct way of doing so. If you want to run it automatically you could create a shell script to automate it.
If you want to run several test you can also create a test list.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
notCV32A65X It is not an CV32A65X issue
Projects
None yet
Development

No branches or pull requests

3 participants