GeMRTOS
Related Functions
Interrupt Class Reference

Related Functions

(Note that these are not member functions.)

Friends And Related Function Documentation

◆ gk_INIT_IRQ()

void gk_INIT_IRQ ( void  )
related

Initializes the ISRs according the ISRs set by Nios HAL. It creates a TCB for each ISR and link it to the g_kcb.KCB_ExtISR[i].G_TCB_ISR accordingly.

gk_INIT_IRQ

It is called from gk_INIT_KERNEL()

Todo:

Include Disabled but ready interrupt Type

Utilize the gk_SetTaskISR in order to be coherent if the user define a ISR in the main function

Create ISR TCB if IRQ is enabled

< Pointer to the beginning of isr

< Pointer to the argument of the first call

< Botton of the Stack of the Task

< Size of the stack in words

< Type of the Task

< Initial Priority of the task

< Priority of the task when it is executing

< Deadline of the task

< Period of the task

< pointer of the ready list that should be inserted

< True when task is aborted when deadline

Definition at line 399 of file gemrtos_core.c.

◆ gk_ISR_COMPLETE()

INT32 gk_ISR_COMPLETE ( GS_TCB ptcb)
related

Executed when Task finishes as ISR. If remains ready, then it will be not released next Interrupt event.

gk_ISR_COMPLETE

Parameters
[in]ptcbPointer to the TCB of the ISR task
Returns
G_TRUE when successful, G_FALSE otherwise
Todo:
Include completes but task remains ready.

Definition at line 447 of file gemrtos_core.c.

◆ gk_ISR_RELEASE()

void gk_ISR_RELEASE ( int  irq_nbr)
related

Executed when an interrupt is triggered. It is called from gk_ENTRY_IRQ_HANDLER()

gk_ISR_RELEASE

Parameters
[in]irq_nbrNumber index of the interrupt
Todo:
Verify if task is waiting to enable the interrupt, otherwise change the Type of the ISR

Definition at line 470 of file gemrtos_core.c.

◆ gk_SetTaskISR()

INT32 gk_SetTaskISR ( struct gs_tcb ptcb,
unsigned int  irq_nbr 
)
related

Convert a task to a ISR associated to a Interrupt Number in Kernal mode.

gk_SetTaskISR

Parameters
[in]ptcbPointer to the TCB of the task to be ISR
[in]irq_nbrNumber of the IRQ to be associated to.
Returns
G_TRUE when successful, G_FALSE otherwise
Todo:

Check if IRQ number or TCB pointer al valid.

Implement the reverse function to convert a ISR into a task

Definition at line 522 of file gemrtos_core.c.

◆ gu_SetTaskISR()

INT32 gu_SetTaskISR ( struct gs_tcb ptcb,
unsigned int  irq_nbr 
)
related

Convert a task to a ISR associated to a Interrupt Number.

gu_SetTaskISR

Parameters
[in]ptcbPointer to the TCB of the task to be ISR
[in]irq_nbrNumber of the IRQ to be associated to.
Returns
G_TRUE when successful, G_FALSE otherwise
Todo:

Check if IRQ number or TCB pointer al valid.

Implement the reverse function to convert a ISR into a task

Definition at line 504 of file gemrtos_core.c.


The documentation for this class was generated from the following files: