| 
    TNeoKernel
    v1.01
    
   | 
 
Architecture-dependent routines declaration.
Definition in file tn_arch.h.
Go to the source code of this file.
Functions | |
| void | tn_arch_int_dis (void) | 
| Unconditionally disable interrupts.  | |
| void | tn_arch_int_en (void) | 
| Unconditionally enable interrupts.  | |
| unsigned int | tn_arch_sr_save_int_dis (void) | 
| Disable interrupts and return previous value of status register, atomically.  More... | |
| void | tn_arch_sr_restore (unsigned int sr) | 
| Restore previously saved status register.  More... | |
| TN_UWord * | _tn_arch_stack_start_get (TN_UWord *stack_low_address, int stack_size) | 
| Should return start stack address, which may be either the lowest address of the stack array or the highest one, depending on the architecture.  More... | |
| unsigned int * | _tn_arch_stack_init (TN_TaskBody *task_func, TN_UWord *stack_start, void *param) | 
| Should initialize stack for new task and return current stack pointer.  More... | |
| int | _tn_arch_inside_isr (void) | 
| Should return 1 if ISR is currently running, 0 otherwise.  | |
| void | _tn_arch_context_switch (void) | 
| Called whenever we need to switch context to other task.  More... | |
| void | _tn_arch_context_switch_exit (void) | 
Called when some task calls tn_task_exit().  More... | |
| void | _tn_arch_system_start (void) | 
Should perform first context switch (to the task pointed to by tn_next_task_to_run).  More... | |
| unsigned int tn_arch_sr_save_int_dis | ( | void | ) | 
Disable interrupts and return previous value of status register, atomically.
tn_arch_sr_restore() | void tn_arch_sr_restore | ( | unsigned int | sr | ) | 
Restore previously saved status register.
| sr | status register value previously from tn_arch_sr_save_int_dis() | 
tn_arch_sr_save_int_dis() Should return start stack address, which may be either the lowest address of the stack array or the highest one, depending on the architecture.
| stack_low_address | start address of the stack array. | 
| stack_size | size of the stack in int-s, not in bytes.  | 
| unsigned int* _tn_arch_stack_init | ( | TN_TaskBody * | task_func, | 
| TN_UWord * | stack_start, | ||
| void * | param | ||
| ) | 
Should initialize stack for new task and return current stack pointer.
| task_func | Pointer to task body function. | 
| stack_start | Start address of the stack, returned by _tn_arch_stack_start_get().  | 
| param | User-provided parameter for task body function. | 
| void _tn_arch_context_switch | ( | void | ) | 
Called whenever we need to switch context to other task.
Preconditions:
tn_curr_run_task points to currently running (preempted) task;tn_next_task_to_run points to new task to run.Actions to perform:
tn_curr_run_task to tn_next_task_to_run;tn_curr_run_task tn_next_task_to_run | void _tn_arch_context_switch_exit | ( | void | ) | 
Called when some task calls tn_task_exit(). 
Preconditions:
tn_next_task_to_run is already set to other task.Actions to perform:
tn_curr_run_task to tn_next_task_to_run;tn_curr_run_task tn_next_task_to_run | void _tn_arch_system_start | ( | void | ) | 
Should perform first context switch (to the task pointed to by tn_next_task_to_run). 
Preconditions:
tn_next_task_to_run is already set to idle task.Actions to perform:
TN_STATE_FLAG__SYS_RUNNING flag in the tn_sys_state variable;tn_curr_run_task to tn_next_task_to_run;TN_STATE_FLAG__SYS_RUNNING tn_sys_state tn_curr_run_task tn_next_task_to_run 
 1.8.8