01_SDK/nimble/os/freertos/portable/RVDS/ARM_CM0/port.c
@@ -361,11 +361,11 @@
CONFIG_RAM_CODE void UpdateTickAndSch(void)
{
    uint32_t ulPreviousMask;
    vTaskTickSet(lp_get_curr_tmr_cnt());
    ulPreviousMask = portSET_INTERRUPT_MASK_FROM_ISR();
    {
        vTaskTickSet(lp_get_curr_tmr_cnt());
        /* Increment the RTOS tick. */
        if( xTaskIncrementTick() != pdFALSE )
        {
@@ -379,19 +379,21 @@
CONFIG_RAM_CODE void xPortSysTickHandler( void )
{
     #if ( configUSE_TICKLESS_IDLE == 1 )
    PAN_IO_TIMING_TRACK_LEVEL(CONFIG_TRACK_PIN_OS_TICK_IRQ, 1);
    #if ( configUSE_TICKLESS_IDLE == 1 )
        UpdateTickAndSch();
        
        if(portNVIC_SYSTICK_LOAD_REG != (ulTimerCountsForOneTick - 1UL))
        {
            portNVIC_SYSTICK_CTRL_REG = 0UL;
            portNVIC_SYSTICK_CURRENT_VALUE_REG = 0UL;
            /* Configure SysTick to interrupt at the requested rate. */
            portNVIC_SYSTICK_LOAD_REG = ulTimerCountsForOneTick - 1UL;
            portNVIC_SYSTICK_CTRL_REG = ( portNVIC_SYSTICK_CLK_BIT_CONFIG | portNVIC_SYSTICK_INT_BIT | portNVIC_SYSTICK_ENABLE_BIT );
        }
      #else
    #else
        uint32_t ulPreviousMask;
        ulPreviousMask = portSET_INTERRUPT_MASK_FROM_ISR();
@@ -404,7 +406,9 @@
            }
        }
        portCLEAR_INTERRUPT_MASK_FROM_ISR( ulPreviousMask );
      #endif
    #endif
    PAN_IO_TIMING_TRACK_LEVEL(CONFIG_TRACK_PIN_OS_TICK_IRQ, 0);
}
/*-----------------------------------------------------------*/
@@ -433,3 +437,15 @@
#endif /* configOVERRIDE_DEFAULT_TICK_CONFIGURATION */
/*-----------------------------------------------------------*/
CONFIG_RAM_CODE void vPortSysTickRestart(uint32_t tick)
{
   /* restart systick, use configTICK_ON_WAKING_RATE_HZ */
   portNVIC_SYSTICK_CTRL_REG = 0UL;
   portNVIC_SYSTICK_CURRENT_VALUE_REG = 0UL;
   /* Configure SysTick to interrupt at the requested rate. */
   portNVIC_SYSTICK_LOAD_REG = tick - 1; //ulTimerCountsForOneTick - 1UL;
   portNVIC_SYSTICK_CTRL_REG = ( portNVIC_SYSTICK_CLK_BIT_CONFIG | portNVIC_SYSTICK_INT_BIT | portNVIC_SYSTICK_ENABLE_BIT );
}