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

Documentation of Multicore Support in RTIC #814

Closed
explocion opened this issue Oct 4, 2023 · 3 comments
Closed

Documentation of Multicore Support in RTIC #814

explocion opened this issue Oct 4, 2023 · 3 comments

Comments

@explocion
Copy link

Hi. I'm wondering if there is any examples or documentations on using RTIC in a multicore scenario. It seems that multicore support has already been merged in #204, but that was still for RTFM. The RTIC book explicitly says it only supports single core, and therefore a bit confusing to me.

@AfoHT
Copy link
Contributor

AfoHT commented Oct 4, 2023

Hi!

RTFM and RTIC v0.5 still has experimental multi-core support, more or less untouched since.

As part of going to v0.6, which became v1 of RTIC, this experimental support was dropped in order to overhaul and tidy up the codebase.

So the explicit note about RTIC not supporting multi-core is correct.

Running two separate RTIC systems, one per core can be an alternative depending on your use case.

For some more information on the multi-core support in the older versions:

http://ltu.diva-portal.org/smash/record.jsf?pid=diva2:1391552

https://blog.japaric.io/multicore-rtfm/

With more microcontrollers adding more cores this is something really interesting for the future, and if this interests you we welcome any efforts towards this goal :)

@explocion
Copy link
Author

Thank you very much. Is there any references for running 2 RTIC application on different cores?

@AfoHT
Copy link
Contributor

AfoHT commented Oct 4, 2023

I have not attempted this, but something that I think @perlindgren were looking into?

Without nerdsniping myself into this I figure I would attempt something as follows:

Build two non-overlapping RTIC applications, using memory.x

Then using https://docs.rs/rp2040-hal/latest/rp2040_hal/multicore/index.html for "launching" the second core somehow by jumping directly to regular RTIC entry point on the second RTIC

If you get this going it would be really nice to hear about it 🎉

I intend to close this issue as done (regarding documentation), but don't hesitate opening a new one, or reaching out in the chat if there's something else!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants