portmacro.h File Reference


Detailed Description

FreeRTOS port header for AVR32 UC3.

Author:
Atmel Corporation: http://www.atmel.com
Support and FAQ: http://support.atmel.no/

Definition in file IAR/AVR32_UC3/portmacro.h.

#include <avr32/io.h>
#include "intc.h"
#include "compiler.h"

Go to the source code of this file.

Defines

#define configTICK_TC_IRQ   ATPASTE2(AVR32_TC_IRQ, configTICK_TC_CHANNEL)
#define DISABLE_ALL_EXCEPTIONS()   Disable_global_exception()
#define DISABLE_ALL_INTERRUPTS()   Disable_global_interrupt()
#define DISABLE_INT_LEVEL(int_level)   Disable_interrupt_level(int_level)
#define ENABLE_ALL_EXCEPTIONS()   Enable_global_exception()
#define ENABLE_ALL_INTERRUPTS()   Enable_global_interrupt()
#define ENABLE_INT_LEVEL(int_level)   Enable_interrupt_level(int_level)
#define inline
#define portBASE_TYPE   portLONG
#define portBYTE_ALIGNMENT   4
#define portCHAR   char
#define portDBG_TRACE(...)
#define portDISABLE_INTERRUPTS()   DISABLE_ALL_INTERRUPTS()
#define portDOUBLE   double
#define portENABLE_INTERRUPTS()   ENABLE_ALL_INTERRUPTS()
#define portENTER_CRITICAL()   vPortEnterCritical();
#define portENTER_SWITCHING_ISR()
#define portEXIT_CRITICAL()   vPortExitCritical();
#define portEXIT_SWITCHING_ISR()
#define portFLOAT   float
#define portLONG   long
#define portMAX_DELAY   ( portTickType ) 0xffffffff
#define portNOP()   {__asm__ __volatile__ ("nop");}
#define portRESTORE_CONTEXT()
#define portRESTORE_CONTEXT_OS_INT()
#define portRESTORE_CONTEXT_SCALL()
#define portSAVE_CONTEXT_OS_INT()
#define portSAVE_CONTEXT_SCALL()
#define portSHORT   short
#define portSTACK_GROWTH   ( -1 )
#define portSTACK_TYPE   unsigned portLONG
#define portTASK_FUNCTION(vFunction, pvParameters)   void vFunction( void *pvParameters )
#define portTASK_FUNCTION_PROTO(vFunction, pvParameters)   void vFunction( void *pvParameters )
#define portTICK_RATE_MS   ( ( portTickType ) 1000 / configTICK_RATE_HZ )
#define portYIELD()   {__asm__ __volatile__ ("scall");}
#define TASK_DELAY_MIN(x)   ( (x)*60*1000/portTICK_RATE_MS )
#define TASK_DELAY_MS(x)   ( (x) /portTICK_RATE_MS )
#define TASK_DELAY_S(x)   ( (x)*1000 /portTICK_RATE_MS )

Typedefs

typedef unsigned portLONG portTickType

Functions

void * pvPortRealloc (void *pv, size_t xSize)
void vPortEnterCritical (void)
void vPortExitCritical (void)


Define Documentation

#define configTICK_TC_IRQ   ATPASTE2(AVR32_TC_IRQ, configTICK_TC_CHANNEL)

Definition at line 104 of file IAR/AVR32_UC3/portmacro.h.

 
#define DISABLE_ALL_EXCEPTIONS (  )     Disable_global_exception()

Definition at line 126 of file IAR/AVR32_UC3/portmacro.h.

 
#define DISABLE_ALL_INTERRUPTS (  )     Disable_global_interrupt()

Definition at line 129 of file IAR/AVR32_UC3/portmacro.h.

#define DISABLE_INT_LEVEL ( int_level   )     Disable_interrupt_level(int_level)

Definition at line 132 of file IAR/AVR32_UC3/portmacro.h.

 
#define ENABLE_ALL_EXCEPTIONS (  )     Enable_global_exception()

Definition at line 127 of file IAR/AVR32_UC3/portmacro.h.

 
#define ENABLE_ALL_INTERRUPTS (  )     Enable_global_interrupt()

Definition at line 130 of file IAR/AVR32_UC3/portmacro.h.

#define ENABLE_INT_LEVEL ( int_level   )     Enable_interrupt_level(int_level)

Definition at line 133 of file IAR/AVR32_UC3/portmacro.h.

#define inline

Definition at line 671 of file IAR/AVR32_UC3/portmacro.h.

#define portBASE_TYPE   portLONG

Definition at line 98 of file IAR/AVR32_UC3/portmacro.h.

#define portBYTE_ALIGNMENT   4

Definition at line 118 of file IAR/AVR32_UC3/portmacro.h.

#define portCHAR   char

Definition at line 92 of file IAR/AVR32_UC3/portmacro.h.

#define portDBG_TRACE ( ...   ) 

Definition at line 157 of file IAR/AVR32_UC3/portmacro.h.

 
#define portDISABLE_INTERRUPTS (  )     DISABLE_ALL_INTERRUPTS()

Definition at line 162 of file IAR/AVR32_UC3/portmacro.h.

#define portDOUBLE   double

Definition at line 94 of file IAR/AVR32_UC3/portmacro.h.

 
#define portENABLE_INTERRUPTS (  )     ENABLE_ALL_INTERRUPTS()

Definition at line 163 of file IAR/AVR32_UC3/portmacro.h.

 
#define portENTER_CRITICAL (  )     vPortEnterCritical();

Definition at line 169 of file IAR/AVR32_UC3/portmacro.h.

 
#define portENTER_SWITCHING_ISR (  ) 

Value:

{                                                                                                  \
  /* Save R0..R7 */                                                                                \
  __asm__ __volatile__ ("stm     --sp, r0-r7");                                                    \
                                                                                                   \
  /* With the cooperative scheduler, as there is no context switch by interrupt, */                \
  /* there is also no context save. */                                                             \
}

Definition at line 526 of file IAR/AVR32_UC3/portmacro.h.

 
#define portEXIT_CRITICAL (  )     vPortExitCritical();

Definition at line 170 of file IAR/AVR32_UC3/portmacro.h.

 
#define portEXIT_SWITCHING_ISR (  ) 

Value:

{                                                                                                  \
  __asm__ __volatile__ (                                                                           \
    /* Restore R0..R7 */                                                                           \
    "ldm     sp++, r0-r7\n\t"                                                                      \
                                                                                                   \
    /* With the cooperative scheduler, as there is no context switch by interrupt, */              \
    /* there is also no context restore. */                                                        \
    "rete"                                                                                         \
  );                                                                                               \
}

Definition at line 538 of file IAR/AVR32_UC3/portmacro.h.

#define portFLOAT   float

Definition at line 93 of file IAR/AVR32_UC3/portmacro.h.

#define portLONG   long

Definition at line 95 of file IAR/AVR32_UC3/portmacro.h.

#define portMAX_DELAY   ( portTickType ) 0xffffffff

Definition at line 111 of file IAR/AVR32_UC3/portmacro.h.

 
#define portNOP (  )     {__asm__ __volatile__ ("nop");}

Definition at line 119 of file IAR/AVR32_UC3/portmacro.h.

 
#define portRESTORE_CONTEXT (  ) 

Definition at line 183 of file IAR/AVR32_UC3/portmacro.h.

 
#define portRESTORE_CONTEXT_OS_INT (  ) 

Value:

{                                                                                           \
  __asm__ __volatile__ (                                                                    \
    /* Restore R0..R7 */                                                                    \
    "ldm     sp++, r0-r7\n\t"                                                               \
                                                                                            \
    /* With the cooperative scheduler, as there is no context switch by interrupt, */       \
    /* there is also no context restore. */                                                 \
    "rete"                                                                                  \
  );                                                                                        \
}

Definition at line 272 of file IAR/AVR32_UC3/portmacro.h.

 
#define portRESTORE_CONTEXT_SCALL (  ) 

Definition at line 464 of file IAR/AVR32_UC3/portmacro.h.

 
#define portSAVE_CONTEXT_OS_INT (  ) 

Value:

{                                                                                           \
  /* Save R0..R7 */                                                                         \
  __asm__ __volatile__ ("stm     --sp, r0-r7");                                             \
                                                                                            \
  /* With the cooperative scheduler, as there is no context switch by interrupt, */         \
  /* there is also no context save. */                                                      \
}

Definition at line 260 of file IAR/AVR32_UC3/portmacro.h.

 
#define portSAVE_CONTEXT_SCALL (  ) 

Definition at line 401 of file IAR/AVR32_UC3/portmacro.h.

#define portSHORT   short

Definition at line 96 of file IAR/AVR32_UC3/portmacro.h.

#define portSTACK_GROWTH   ( -1 )

Definition at line 116 of file IAR/AVR32_UC3/portmacro.h.

#define portSTACK_TYPE   unsigned portLONG

Definition at line 97 of file IAR/AVR32_UC3/portmacro.h.

#define portTASK_FUNCTION ( vFunction,
pvParameters   )     void vFunction( void *pvParameters )

Definition at line 669 of file IAR/AVR32_UC3/portmacro.h.

#define portTASK_FUNCTION_PROTO ( vFunction,
pvParameters   )     void vFunction( void *pvParameters )

Definition at line 668 of file IAR/AVR32_UC3/portmacro.h.

#define portTICK_RATE_MS   ( ( portTickType ) 1000 / configTICK_RATE_HZ )

Definition at line 117 of file IAR/AVR32_UC3/portmacro.h.

 
#define portYIELD (  )     {__asm__ __volatile__ ("scall");}

Definition at line 665 of file IAR/AVR32_UC3/portmacro.h.

#define TASK_DELAY_MIN (  )     ( (x)*60*1000/portTICK_RATE_MS )

Definition at line 102 of file IAR/AVR32_UC3/portmacro.h.

#define TASK_DELAY_MS (  )     ( (x) /portTICK_RATE_MS )

Definition at line 100 of file IAR/AVR32_UC3/portmacro.h.

#define TASK_DELAY_S (  )     ( (x)*1000 /portTICK_RATE_MS )

Definition at line 101 of file IAR/AVR32_UC3/portmacro.h.


Typedef Documentation

typedef unsigned portLONG portTickType

Definition at line 110 of file IAR/AVR32_UC3/portmacro.h.


Function Documentation

void* pvPortRealloc ( void *  pv,
size_t  xSize 
)

Definition at line 207 of file GCC/AVR32_UC3/port.c.

References vTaskSuspendAll(), and xTaskResumeAll().

00208 {
00209 void *pvReturn;
00210 
00211     vTaskSuspendAll();
00212     {
00213         pvReturn = realloc( pv, xWantedSize );
00214     }
00215     xTaskResumeAll();
00216 
00217     return pvReturn;
00218 }

void vPortEnterCritical ( void   ) 

Definition at line 262 of file GCC/AVR32_UC3/port.c.

References portDISABLE_INTERRUPTS, and ulCriticalNesting.

00263 {
00264     /* Disable interrupts */
00265     portDISABLE_INTERRUPTS();
00266 
00267     /* Now interrupts are disabled ulCriticalNesting can be accessed
00268      directly.  Increment ulCriticalNesting to keep a count of how many times
00269      portENTER_CRITICAL() has been called. */
00270     ulCriticalNesting++;
00271 }

void vPortExitCritical ( void   ) 

Definition at line 274 of file GCC/AVR32_UC3/port.c.

References portENABLE_INTERRUPTS, portNO_CRITICAL_NESTING, and ulCriticalNesting.

00275 {
00276     if(ulCriticalNesting > portNO_CRITICAL_NESTING)
00277     {
00278         ulCriticalNesting--;
00279         if( ulCriticalNesting == portNO_CRITICAL_NESTING )
00280         {
00281             /* Enable all interrupt/exception. */
00282             portENABLE_INTERRUPTS();
00283         }
00284     }
00285 }


Generated on Thu Dec 17 20:02:01 2009 for AVR32 UC3 - FreeRTOS Real Time Kernel by  doxygen 1.5.5