-
Notifications
You must be signed in to change notification settings - Fork 1.4k
arch/risc-v/rp23xx-riscv: Initial rp23xx(rp2350) (Pico 2) RISC-V support #16424
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
base: master
Are you sure you want to change the base?
Conversation
Wow! |
@shtirlic amazing! Kudos!!! |
Hmm, @shtirlic Output of ./tools/configure.sh from NuttX:
Possibly something to do with the RISCV tool chain I have to install and configure? Any idea? |
Okay manually compiled the toolchain with the correct configuration, but as probably expected, this did not make the nuttx configuration work 🤔 |
It's just a warning(not sorted out yet) did you try to make it? Yeah toolchain from aur built with double float, that's why we have to build with soft ABI for Arch. |
@keever50 I updated the branch, check pls |
@shtirlic Nice, the warnings are gone! How do i make this using the custom built toolchain?
Not entirely sure how it's finding the toolchain, but i might have to change something to make it find the correct (custom) one. |
You should add it to the PATH env something like this
|
@shtirlic The problem I had was quite simple. Doing make distclean after changing toolchain path fixed the problem. |
@shtirlic
As you can see, default is 2k, which is exceeded after enabling some basic debugging or applications in kconfig. Causing crashes without notice. This chip has plenty of memory and I consider that few kB of extra memory usage to prevent headaches worth it. |
Update:
Remember always do: |
That's perfect thank you! |
bee91f0
to
9d164e5
Compare
Hey there @shtirlic great work, keeping my fingers crossed! I have rPI-Pico2 and rPI-Pico2W boards, will test on FreeBSD with system provided toolchain and/or espressif rv32 toolchain that I use to work with ESP32-C3/C6 :-) |
Update: |
Update: finally USB is working, from now you can use board USB defconfig.
|
Excellen work @shtirlic :-) What compiler do you use? Looks like some custom compiler is required? On FreeBSD 14.2-RELEASE-p3 with default system Configuration is okay:
Build with FreeBSD's
Espressif's
|
Yes, rp23xx needs soft float abi gcc compiler in the top of the pull description I provided the configure for riscv toolchain |
You may also provide crossdev directly as make parameter i.e. |
Tanks @shtirlic! Missed that works now :-) Toolchain built in 5 minutes, nsh and usbnsh builds fine, will test runtime in a free moment :-)
|
I can see CI has the same problem - not the toolchain required :-) Do you know @shtirlic if it is possible to build this toolchain with all possible extensions so we can have megacompiler to built them all for CI? :-) |
Yes, should be possible, see the https://github.com/riscv-collab/riscv-gnu-toolchain multilib feature |
Ah I think @lupyuen uses xpack and recommended to me that one.. there are no official builds for FreeBSD but I may create a port if its worth it :-) |
Allright we have new xpack-riscv-none-elf-gcc 14.2.0-3 in the CI (#16645) lets see how the CI build goes :-) |
[ UPDATE from PR ] Signed-off-by: Serg Podtynnyi <serg@podtynnyi.com>
Just want to say you are doing a great job. I am still looking forward to this. You will make an impact, at least for me. Making the Raspberry Pi Pico a NuttX option again, together with the nice risc-v arch. The USB integration absolutely does it (very flaky in rp2040) |
Summary
Add support for RP2350 RISC-V cores, Add Pico 2 board.
Naming
Changes from ARM rp23xx impl
...
Todo
Toolchain
Use RISC-V gnu toolchain with soft float abi. Default riscv-collab uses double float abi
This is config for https://github.com/riscv-collab/riscv-gnu-toolchain
Config
Serial NSH
USB CDC/ACM Serial NSH
Testing
cpuinfo
getprime
ostest nsh output