[riot-notifications] [RIOT-OS/RIOT] core: Make support for multi-tasking optional (#11226)

Marian Buschsieweke notifications at github.com
Thu Mar 21 21:30:34 CET 2019


@kaspar030

> Let's please first remove the (need for the) idle thread, then see from there.

I agree that this is clearly beneficial I'll sure help with that. But I don't see the relation to this PR. Removing the idle thread will lower resource requirements in the multi-tasking scenario. But this PR tries to introduce a single-task scenario. Both ideas have the common goal of reducing resource requirements, but I do not see any dependency between them.

I changed this PR to keep the folder structure as is. I had to add a bit of preprocessor magic to `mutex.h` to allow the different implementations, but apart from that now all headers are at the same place and unmodified.

The mock scheduler stuff is also still in place to allow compiling on ARM/AVR/MSP430/MIPS. (For ESP the linker is fine with unresolved symbols, so I did not add workarounds there.) If this approach is considered for merging, the workarounds can be dropped once the architecture specific code is prepared for non-multi-tasking mode, which likely will shrink the firmware a bit more.

Having riotboot as use case in mind, there seem to be a need for this. Allowing a "single-threaded" mode with official APIs instead of overwriting `kernel_init` will make the code of riotboot more readable. This will also allow using additional RIOT code out of the box, that will just not work in riotboot.

@miri64: Could you have a look if this approach could be an alternative for https://github.com/RIOT-OS/RIOT/pull/10971? The current implementation allows for `void main(void)` to exit and will go to the lowest power mode in an endless loop, while still serving interrupts.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/RIOT-OS/RIOT/pull/11226#issuecomment-475390357
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.riot-os.org/pipermail/notifications/attachments/20190321/7863a31d/attachment.html>


More information about the notifications mailing list