This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

FreeRTOS Tickless Tick Correction Issue

By default, the NRF_DEBUG is disabled. After enabling, and removing this assert check:

devzone.nordicsemi.com/.../

I am now hitting another one here:

#if ( configUSE_TICKLESS_IDLE != 0 )

	void vTaskStepTick( const TickType_t xTicksToJump )
	{
		/* Correct the tick count value after a period during which the tick
		was suppressed.  Note this does *not* call the tick hook function for
		each stepped tick. */
		configASSERT( ( xTickCount + xTicksToJump ) <= xNextTaskUnblockTime );

It appears that the ticks to jump is not correct.

Parents
  • Did you change anything in configuration? Most important here would be OS ticks frequency. I have to verify it according newest SD documentation - this may happen if SD would keep MCU busy unexpectedly long.


    It looks that SD130 can keep MCU bussy for at most 1650us. If you are using default OS ticking frequency (1000 Hz), please try to update configEXPECTED_IDLE_TIME_BEFORE_SLEEP in FreeRTOSConfig.h to the value 3 - at value 2 it is prepared to support MCU blocking up to 1 OS tick. Are you using driver for data storing in FLASH?

Reply
  • Did you change anything in configuration? Most important here would be OS ticks frequency. I have to verify it according newest SD documentation - this may happen if SD would keep MCU busy unexpectedly long.


    It looks that SD130 can keep MCU bussy for at most 1650us. If you are using default OS ticking frequency (1000 Hz), please try to update configEXPECTED_IDLE_TIME_BEFORE_SLEEP in FreeRTOSConfig.h to the value 3 - at value 2 it is prepared to support MCU blocking up to 1 OS tick. Are you using driver for data storing in FLASH?

Children
No Data
Related