-
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
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 :-) |
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) |
Hmm, still some unknown opcodes.. not a multiarch toolchain package / build, that do you think @lupyuen ? I will setup the lubuntu vm to try out the ci on local machine :-) |
Thank you, should be pretty usable in next weeks, with RISC-V version I am getting much longer non interrupted uptime (more than 1 day at current time) on the same apps/config as for ARM (around 2-3 hours), (constant i2c poll driver and LVGL shell) |
Pushed some changes to defconfig custom extensions flags that should for sure work with gcc14, not enabling all of the possible extensions. |
a74b3a7
to
870ca2a
Compare
@shtirlic did you see the Olimex rp2350pc: https://www.olimex.com/Products/RaspberryPi/PICO/RP2350pc/open-source-hardware Seems like an amazing board to run NuttX ;-) |
wow 25EUR only! :-) |
@acassis looks cool, also there is another interesting board https://www.waveshare.com/rp2350-pizero.htm rp2350 in pi zero format |
Yes, I saw that in Aliexpress, hehehe |
[ UPDATE from PR ] Signed-off-by: Serg Podtynnyi <serg@podtynnyi.com>
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