Hi Bernhard,

it's been a while :-). Nice to see you are on RIOT again! I agree that the wiki might need some enhancements here and there. It is editable for anyone and I'd be happy if you could fill some gaps when porting your board. I'll try to answer your questions

In contrast to other OSes we did not want to have several timers for different use cases. In RIOT you'll find two timer APIs: (i) periph/timer and (ii) xtimer. (i) was intended to provide the slimmest possible abstraction on top of real hardware timers. (ii) is a unified API which makes use of the periph timer. It takes values in seconds (not in ticks) and converges between both, it handles intervals longer than overflow periods, it is able to multiplex a single hardware timer and in the end it "hides" the complexity of multiple timers on diverse hardware.

Ludwig already pointed you to the scheduler doxy. In short there are the following "events" that cause a context switch (afaik):
- external interrupts jump into the ISR (obviosly)
- a higher prioritized task/thread occurrs (e.g. in ISR context or so)
(- a higher prioritized is woken up manually)
- manually yielding a thread
- ending a thread or letting it sleep

That's (nearly) all I know.

Regards
Peter

Am 08.07.2016 um 00:16 schrieb Bernhard Nägele:
Hello RIOT developers,
I have now made some experience with RIOT-OS and I'm working on a port
to the STM32L073.
My problem is sometimes to understand the relationship between the OS
parts.
The source code documentation via Doxygen is nice, but not sufficient to
get a real understanding
about the architecture of RIOT and I'm a unhappy to find out how some
parts are working
by "surfing" through the source code.  Therefore I will try to enhance
the porting guide and therefore
I will ask you (maybe) some silly questions.....but I think the
questions I will ask are somehow unclear to
a RIOT newbie.
The first question I have is about the xtimer. What is the "official"
purpose of this timer. What should be realised via the xtimer and what
should be realised by the other timers.
The second question - which event triggers the thread context switching?
Scheduled by timers?

Best regards
Bernhard
Best regards,
Bernhard
_______________________________________________
devel mailing list
[email protected]
https://lists.riot-os.org/mailman/listinfo/devel

--
Peter Kietzmann

Hamburg University of Applied Sciences
Dept. Informatik, Internet Technologies Group
Berliner Tor 7, 20099 Hamburg, Germany
Fon: +49-40-42875-8426
Web: http://www.haw-hamburg.de/inet
_______________________________________________
devel mailing list
[email protected]
https://lists.riot-os.org/mailman/listinfo/devel

Reply via email to