Hi,
My personal opinion: use arch/arm/src/rp23xx and arch/risc-v/src/rp23xx
With shared drivers in drivers/rp23xx
And separate board configs for arm and riscv.
Not sure if nuttx wants to support an hybrid arm+riscv port as a single
build !
So there is no need to invent new dirs.
Sebastien
On 26/08/2024 20:42, Marco Casaroli wrote:
Hello,
I got my hands on some Raspberry Pi Pico 2 boards and I can finally run
NuttX on them.
It took some work, since the M33 core is a bit different than the M0 on the
old RP2040.
It is working now (nsh and usbnsh configs at least) and even ostest is
passing.
For my initial PoC, I just edited many files in the rp2040 port but I will
create a new rp23xx port and I have some questions on how to organize the
files:
1 Where should I put the arch files? Should I put them in
arch/arm/src/rp23xx or should they be in a different path that could be
reused by the RISC-V and ARM boards? Should we make another arch subdir
like arch/multi? Or just have rp23xx in both risc-v and arm directories? If
so, then what about the files that are the same and could be reused. Where
to put them? Should I care to reuse these files or I can just copy them
over when we make the risc-v port?
2. How should I differentiate the boards? should I call
raspberry-pi-pico2-arm and raspberry-pi-pico2-riscv?
3. Some of the files could be shared / reused by rp2040 (ARM Cortex M0) and
rp23xx (riscv and ARM Cortex M33), how should I proceed to reuse these
files and have them in a common directory. What directory would be best?
I plan on pushing a PR with the modifications later this week.
Thank you!