-
Notifications
You must be signed in to change notification settings - Fork 105
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
dualcore: Basic dual core support. #37
Conversation
Only the Cortex-M7 core is currently supported upstream
bors try |
tryMerge conflict |
Removing parts that are not explicitly listed as supported in README
Ready for review Note that the parts in CI have been trimmed to only those explicitly listed as supported in the README |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me. I didn't check it w.r.t. the ref manual though.
With "upstream" support existing only for the M7, do you mean the PAC?
What's the plan with the M4? Do you ultimately want to support that one from within this crate as well?
Do we want to tie into microamp?
I'm happy to have details/bugs sorted out later.
bors r+
37: dualcore: Basic dual core support. r=jordens a=richardeoin Only the Cortex-M7 core is currently supported upstream Co-authored-by: Richard Meadows <[email protected]>
Ah. You wanted more reviews I guess. Feel free to have bors merge it when @hargoniX approves. bors cancel |
bors r- |
✌️ richardeoin can now approve this pull request. To approve and merge a pull request, simply reply with |
Canceled |
More eyes is better if possible. Yes, "upstream" refers to the PAC. M4 support starts there, because it's derived from a different SVD. Eventually it'd be great to try it with microamp - I haven't done that yet though. |
^^ found in my own review |
Were needed before [stm32-rs/285](stm32-rs/stm32-rs#285)
0bbedbd
to
e0aec08
Compare
Okay, merging this now. There's no support for the Cortex-M4 core yet, although some feature gates exist for it already. This needs more consideration in the PAC first. |
dualcore: Basic dual core support.
@richardeoin , @jordens ... any more thoughts/plans on supporting the second core on the dual-core devices? If there is a specific body of work to be done or problem to be solved, I'd be willing to help. |
Hi @noppej ! Other than exporting the correct feature flag from the PAC, in principle there's nothing preventing the HAL from being used on the CM4 core already. The downside of that approach is that you end up with two separate crates (one for each core) and there's nothing to prevent data races between them. The other approach is using something like the microamp crate, which I've not investigated at all. So here are some areas that would help:
|
Hi @richardeoin. Thanks for your quick response. A couple of thoughts ...
In summary, I think it is probably worth a conversation with someone on the rtic and microamp teams, and shake out where the various parts of a safe multi-core implementation should land. Thoughts? |
Agreed that it'd be better not to re-invent multi-core build infrastructure here, especially as many of the parts supported by this crate are only single-core. We have a few rtic examples already and it works very well, so more of that would be great. I'd try asking in the #rust-embedded room, it's usually a good place to ask about rtic especially. It's probably worth continuing this discussion in a new Issue/PR also, this one is a bit old. |
Thanks @richardeoin ... I appreciate the guidance. I will start the conversation in #rust-embedded room, and open a new Issue here as appropriate. |
Only the Cortex-M7 core is currently supported upstream