feat(freertos): Link FreeRTOS idle task and its hook function to IRAM

This commit is contained in:
dongheng
2019-03-06 10:42:08 +08:00
parent 6042355fad
commit ab3179efd7
5 changed files with 9 additions and 8 deletions

View File

@ -2054,7 +2054,7 @@ void vTaskEndScheduler( void )
}
/*----------------------------------------------------------*/
void vTaskSuspendAll( void )
void IRAM_ATTR vTaskSuspendAll( void )
{
/* A critical section is not required as the variable is of type
BaseType_t. Please read Richard Barry's reply in the following link to a
@ -2127,7 +2127,7 @@ void vTaskSuspendAll( void )
#endif /* configUSE_TICKLESS_IDLE */
/*----------------------------------------------------------*/
BaseType_t xTaskResumeAll( void )
BaseType_t IRAM_ATTR xTaskResumeAll( void )
{
TCB_t *pxTCB = NULL;
BaseType_t xAlreadyYielded = pdFALSE;
@ -2611,7 +2611,7 @@ implementations require configUSE_TICKLESS_IDLE to be set to a value other than
#endif /* INCLUDE_xTaskAbortDelay */
/*----------------------------------------------------------*/
BaseType_t xTaskIncrementTick( void )
BaseType_t IRAM_ATTR xTaskIncrementTick( void )
{
TCB_t * pxTCB;
TickType_t xItemValue;

View File

@ -151,7 +151,7 @@ void PortEnableInt_NoNest( void );
not necessary for to use this port. They are defined so the common demo files
(which build with all the ports) will build. */
#define portTASK_FUNCTION_PROTO( vFunction, pvParameters ) void vFunction( void *pvParameters )
#define portTASK_FUNCTION( vFunction, pvParameters ) void vFunction( void *pvParameters )
#define portTASK_FUNCTION( vFunction, pvParameters ) void IRAM_ATTR vFunction( void *pvParameters )
/*-----------------------------------------------------------*/
void _xt_user_exit (void);

View File

@ -344,7 +344,7 @@ BaseType_t xQueueGenericReceive(QueueHandle_t xQueue, void * const pvBuffer,
return xQueueReceive(xQueue, pvBuffer, xTicksToWait);
}
void vApplicationIdleHook(void)
void IRAM_ATTR vApplicationIdleHook(void)
{
extern void pmIdleHook(void);
extern void esp_task_wdt_reset(void);