Starting Riot

Hi friends, I am starting using RIOT (uC Nordic nRF51822, Board pca10000) but I have some issues I would like you could help me:

  1. I couldn’t figure out when the OS takes control of the uC, because in some examples the “main(void)” procedure never calls Riot.
  2. I couldn’t figure out how to make more than one independent task. Again in “main(void)” looks like a bare metal program.
  3. Solving the issue 2, when I put the priority on each task?
  4. Do you have some kind of manual or example telling the configuration of semaphores, mutex, events? There are some example with 2 or more simple tasks like a “blinking led” and “display writing” in same program?

Thank you,

Marcio Segura

Hi,

Hi friends, I am starting using RIOT (uC Nordic nRF51822, Board pca10000) but I have some issues I would like you could help me:

1. I couldn't figure out when the OS takes control of the uC, because in some examples the "main(void)" procedure never calls Riot.

That is because RIOT calls main. First the board and CPU are initialized, then kernel_init is called, which in turn starts the main thread (and the idle thread).

2. I couldn't figure out how to make more than one independent task. Again in "main(void)" looks like a bare metal program.

Look at /tests/thread* for examples.

3. Solving the issue 2, when I put the priority on each task?

Also there. You might want to look at the reference as well (search for RIOT API).

4. Do you have some kind of manual or example telling the configuration of semaphores, mutex, events? There are some example with 2 or more simple tasks like a "blinking led" and "display writing" in same program?

You might find examples in our GitHub Wiki, the API, /tests, and /examples. If that doesn't help try `git grep '\<function_name\>'` in the root directory, most functions are used somewhere.

Cheers, Ludwig

Hi,

Hi again,