-
Notifications
You must be signed in to change notification settings - Fork 7.3k
Cortex-M SMP support for Raspberry Pi Pico #59826
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
Comments
There was a discussion on discord about this whereby it was mentioned that the pico SMP support was essentially bespoke to the pico because SMP support on ARM is not an official feature, are there any other similar ARM SMP cores where parts could be shared or would it be entirely for this CPU only? |
Yes, that's correct. The only other chip I know combining Cortex-M with SMP is the Sony Spresense: Regarding whether the code could be shared, I will leave that to the implementer. I certainly hope it is possible! |
Hey all, I am using the Raspberry Pi Pico in combination with Zephyr and want to make use of the 2nd core to run a function. My second thought if this functionality is not supported was to make use of the Raspberry Pi SDK, since Does anybody know how to make use of both processing cores within Zephyr? Any help will be much apreciated! |
Hi, @danielallstar
The simple answer is "not yet worked". We use the PicoSDK driver part only. |
@soburi, Thank you for your response. It is much appreciated! If I understand correctly you do make use of the PicoSDK driver in Zephyr? The PicoSDK hal files (HAL_PI_PICO) are loaded in the modules folder within Zephyr containing the needed multicore.h file to make use of the second core. Kind regards, Daniël |
Hi @danielallstar , With regards to SMP support, the implementation is not as straight forward for Cortex-M0/+ as it may be for newer armv7m or armv8m. |
@ithinuel I haven't been as locked in on this as I maybe want to have been - wasn't there a draft PR for this SoC kernel extension somewhere? |
Hi Isn't there support for AMP either. As this could allow to use the second even though its not as ideal? |
Is your enhancement proposal related to a problem? Please describe.
SMP in Cortex-M is not currently supported at all, and in particular for the RPi Pico.
Describe the solution you'd like
Implement SMP specifically for Cortex-M on the RPi Pico.
Additional context
Requires that the aarch32 architecture transitions to
USE_SWITCH
so this is blocked by #19932Some additional required PRs:
CC @ithinuel @SgrrZhf
The text was updated successfully, but these errors were encountered: