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

Question about the status of microamp #12

Open
noppej opened this issue Nov 13, 2020 · 4 comments
Open

Question about the status of microamp #12

noppej opened this issue Nov 13, 2020 · 4 comments

Comments

@noppej
Copy link

noppej commented Nov 13, 2020

Hi @japaric and @korken89,

I've spent the last few days looking into the excellent work you did with microamp, and also looking at cortex-m-rtic. From what I can tell, someone on the rtic made a solid effort at integrating microamp.

Hower, I also noticed that the rtic team has recently decided to remove all the multi-core work - look at issue #27 in the rtic repo

What are your thoughts about the future of microamp? Is there another discussion about multi-core cortex-m development that I should be checking in on, or ?

Thanks in advance :)

@perlindgren
Copy link

As you have observed, recent development has focused the single core implementation (RTIC v 0.6.x is projected single-core only). The reason is mainly to reduce complexity of the framework implementation.

We are also looking to modularize the RTIC implementation, such to allow custom extensions (both regarding syntax, analysis and code gen). The hope is to eventually re-emerge multi-core support as such an extension.

As an example, an instance of RTIC for multi-core may look something like this.

Multie-Core <- RTIC Core.

In this example, Multi-Core would depend on the base RTIC Core implementation.

Another "orthogonal" extension under discussion is deadline driven static priority assignment.

Deadline Driven <- RTIC Core.

Used in composition, Deadline Driven could "re-export" the generic RTIC Core functionality along with the custom extensions.

Ideally this would allow e.g.,

Multi-Core <- Deadline Driven <- RTIC Core.

The exact mechanisms to achieve this modular framework still remains to be seen.

A first step in this direction is the upcoming Master's thesis by Henrik Tjäder (AfoHT) and the alpha release of 0.6, which focus the simplification of RTIC (both from implementation and end-user perspectives).

@noppej
Copy link
Author

noppej commented Nov 16, 2020

@perlindgren ... thank you for your detailed response. What you propose sounds like a reasonable approach, and I'd like to monitor the progress. Is there a discussion that I can link to?

@perlindgren
Copy link

perlindgren commented Nov 27, 2020

The removal of multi-core was part of the whole code-refactoring process, not sure we did a specific RFC for that, but there is some step by step refinements in terms of PRs (where the syntax was first removed, and the code-gen gradually changed/simplified). Since 0.6 is a quite big rewrite in terms of internal implementation, we had to break it down in steps.

@perlindgren
Copy link

Regarding the process of a compositional framework, there really should be an RFC for it, but we have not yet come to that point. I'll check with @AfoHT if he wants to drive this.

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

No branches or pull requests

2 participants