9 years, 7 months ago.

Basic RTOS Thread operations not working on nrf51822

Running the latest (Sept/22/2014) libraries for mbed and mbed-rtos, I cannot get the basic examples working for the wait and RtosTimer capabilities on the nrf51822 board.

I can show that starting new threads works. I can show that signals are working.

However, the examples provided for starting an RtosTimer and using Wait both appear to not work. ref: https://mbed.org/handbook/RTOS

Need to understand if there are additional items missing, or if this is untested, or unsupported functionality.

Thanks.

Question relating to:

3 Answers

9 years, 2 months ago.

Hi,

There's an issue on github. The nrf51 does not have SysTick which is the timer used by RTX. Look at https://github.com/mbedmicro/mbed/issues/902.

There are multiple questions regarding this, so I am just updating all of you with a reason why it's not working.

9 years, 5 months ago.

I met the same problem. sucks.

9 years, 4 months ago.

After some trials of examples that were using RTOS, I've tried plain "rtos_basic" example on my Mini-DK2 board and it didn't work. It never reach the main() ...

EDIT : investigating further, I commented all RTOS calls, keeping a simple main() with led blinking loop. As soon as the RTOS libs are part of the linking, the main() never get executed. Removing those libs, everything works ... It must be some constructors been instantiated which cause a CPU fault exception for some reasons. I'm scratching my head since there so many projects that are using RTOS. Please notes that I'm compiling with GNU toolchain ...

I've done more investigations, I find something really interesting which I'm describing in this other thread : http://developer.mbed.org/questions/3703/Please-help-mbed-rtos-doesnt-work-when-i/

posted by Martin Ayotte 29 Dec 2014