I use CORTEX M4 -(SAM4LC8) with FreeRtos Kernel, I would like to know how the switching of the tasks works. Is there any timer ? which timer? is it RTC?. Because on AVR I used the FreeRtos, where the tasks were switched by timer. I found function vPortSetupTimerInterrupt, but there is nothing like init of any timer, which could swith the tasks.
Thanks in advance for help.
Best Regards. Jan Ropek.
Assuming you are using a standard rather than tickless port (as there is a tickless implementation for the SAM4L) then it is using the SysTick timer, which is build into the Cortex-M core itself rather than being a separate peripheral.
OK, and does the SysTick timer tick in sleep mode? in datasheet is not any information about SysTick timer, there is only information about RCSYS - but suppose, that is different timer?!
OK, and does the SysTick timer tick in sleep mode?
That would depend on the sleep mode.
in datasheet is not any information about SysTick timer,
You need to be looking in the ARM Cortex-M datasheet - there is a lot of
information. Simply Googling "Cortex Systick timer" will overwhelm you
there is only information about
RCSYS - but suppose, that is different timer?!
Quite definitely a different timer. Presumably that is a peripheral
timer that is specific to the device you are using, rather than part of
the Cortex core.