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

Feature Request: Change from ARM (M33) to RISC-V (Hazard3) #2359

Closed
vslinuxdotnet opened this issue Aug 26, 2024 · 4 comments
Closed

Feature Request: Change from ARM (M33) to RISC-V (Hazard3) #2359

vslinuxdotnet opened this issue Aug 26, 2024 · 4 comments
Labels
enhancement New feature or request

Comments

@vslinuxdotnet
Copy link

Hello,
Is possible to add a option menu flag, to change from ARM (M33) to RISC-V (Hazard3) ?

EX:
cmake -DPICO_PLATFORM=rp2350-arm-s -DPICO_BOARD=pico2 ..
cmake -DPICO_PLATFORM=rp2350-riscv -DPICO_BOARD=pico2 ..

Thanks,
VS

@earlephilhower earlephilhower added the enhancement New feature or request label Aug 26, 2024
@vslinuxdotnet
Copy link
Author

Seams that will require also the riscv-gnu-toolchain

@earlephilhower
Copy link
Owner

Yes, a new toolchain is needed to be added and built in pico-quick-toolchain (we have special Newlib configurations to fully support multicore and FreeRTOS, which is not present int any generic build). What's worse, though, is it seems only bleeding-edge GCC 14.1 supports the full Hazard3 ISA, which means a bump to GCC revs...always lots of little gotchas in that.

Then the core itself will need revision to support the new HW in terms of IRQs, DMA, GPIO control. Some may "just work" but for parts not covered by the SDK there will be porting involved...

@Hedda
Copy link

Hedda commented Aug 27, 2024

Edge case but maybe also consider running mixed mode with one RISC-V core and one ARM Cortex-M33 core which the RP2350 supports? Arm/RISC-V switching is explained in the official datasheet: as "They're selectable at boot time: Each port into the bus fabric can be connected either to an M33 or a Hazard3 via a mux. You can even, if you're feeling obtuse, run with one of each."

@earlephilhower
Copy link
Owner

See #2491 . Not sure if it will really be part of the core...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants