博文

Cortex-M3 FreeRTOS PendSV任务切换机制

. Cortex-M3 FreeRTOS PendSV Task Switching Mechanism vListInitialise .   typedef struct xLIST   {       volatile UBaseType_t uxNumberOfItems ;       ListItem_t * configLIST_VOLATILE pxIndex ;       MiniListItem_t xListEnd ;   } List_t ;   ​   struct xLIST_ITEM   {       configLIST_VOLATILE TickType_t xItemValue ;       struct xLIST_ITEM * configLIST_VOLATILE pxNext ;       struct xLIST_ITEM * configLIST_VOLATILE pxPrevious ;       void * pvOwner ;       struct xLIST * configLIST_VOLATILE pxContainer ;   };   ​   typedef struct xLIST_ITEM ListItem_t ;   typedef struct xLIST_ITEM MiniListItem_t ;   ​   ​   void vListInitialise ( List_t * const pxList )   {       /* The list structure contains a list item which is used to mark the       * end of the list. To initialise the list the list end is inserted       * as the only list entry. */       pxList -> pxIndex = ( ListItem_t * ) & ( pxList -> xListEnd ); /*lint !e826 !e740 !e
最新博文