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

Compatibility / Interop with other RTOS #16

Open
paulreimer opened this issue Feb 10, 2020 · 1 comment
Open

Compatibility / Interop with other RTOS #16

paulreimer opened this issue Feb 10, 2020 · 1 comment

Comments

@paulreimer
Copy link

I am very excited to try SRP-style scheduling for more of my projects.

The majority of applications I work on involve some form of mainstream wireless communication (bluetooth, wifi, etc). And, normally the IC mfr. provides some software integrating with a popular RTOS. For example, nrf52 Bluetooth using the Nordic Softdevice, or NimBLE stack running on Apache MyNewt/Zephyr RTOS. Preemptive scheduling or cooperative scheduling is typically used, and in my experience applications integrate + use the same RTOS.

My question is: can crect be used alongside these RTOSes? Does one scheduler fit within another (e.g. crect acts as a blackbox/task within the preemptive RTOS? (or, vice versa, perhaps the RTOS is treated as a blackbox/resource within crect?)

Any tips/suggestions/ideas are welcome (especially if it is a straightforward “no, you cannot do this”)

@korken89
Copy link
Owner

Hi sorry for the late reply here.

What you are looking for is indeed possible, though not supported. I moved to Rust, and continued this project there and we did develop what you are looking for.

If you let the SRP based system handle interrupts, one can run a normal task/thread scheduler in the idle task. Then you would keep all guarantees that is connected to SRP while keeping the full power of an operating system (with threads/tasks).

If you want to give it a try I'd recommend to start with a simple round robin scheduler in idle and go from there. :)
If you want to check out the Rust project, you can go here: www.rtfm.rs

Good luck!

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