TNeoKernel  v1.04
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Macros | Variables
tn_arch_pic32.h File Reference

Detailed Description

PIC32 architecture-dependent routines.

Definition in file tn_arch_pic32.h.

Go to the source code of this file.

Macros

#define tn_p32_soft_isr(vec)
 Interrupt handler wrapper macro for software context saving. More...
 
#define tn_p32_srs_isr(vec)
 Interrupt handler wrapper macro for shadow register context saving. More...
 
#define tn_soft_isr   tn_p32_soft_isr
 For compatibility with old projects, old name of tn_p32_soft_isr() macro is kept; please don't use it in new code.
 
#define tn_srs_isr   tn_p32_srs_isr
 For compatibility with old projects, old name of tn_p32_srs_isr() macro is kept; please don't use it in new code.
 

Variables

volatile int tn_p32_int_nest_count
 current interrupt nesting count. More...
 
void * tn_p32_user_sp
 saved task stack pointer. More...
 
void * tn_p32_int_sp
 saved ISR stack pointer. More...
 

Macro Definition Documentation

#define tn_p32_soft_isr (   vec)

Interrupt handler wrapper macro for software context saving.

Usage looks like the following:

tn_p32_soft_isr(_TIMER_1_VECTOR)
{
   INTClearFlag(INT_T1);

   //-- do something useful
}

Note that you should not use __ISR(_TIMER_1_VECTOR) macro for that.

Parameters
vecinterrupt vector number, such as _TIMER_1_VECTOR, etc.

Definition at line 326 of file tn_arch_pic32.h.

#define tn_p32_srs_isr (   vec)

Interrupt handler wrapper macro for shadow register context saving.

Usage looks like the following:

tn_p32_srs_isr(_INT_UART_1_VECTOR)
{
   INTClearFlag(INT_U1);

   //-- do something useful
}

Note that you should not use __ISR(_INT_UART_1_VECTOR) macro for that.

Parameters
vecinterrupt vector number, such as _TIMER_1_VECTOR, etc.

Definition at line 475 of file tn_arch_pic32.h.

Variable Documentation

volatile int tn_p32_int_nest_count

current interrupt nesting count.

Used by macros tn_p32_soft_isr() and tn_p32_srs_isr().

void* tn_p32_user_sp

saved task stack pointer.

Needed when switching stack pointer from task stack to interrupt stack.

void* tn_p32_int_sp

saved ISR stack pointer.

Needed when switching stack pointer from interrupt stack to task stack.