FreeCalypso > hg > fc-selenite
annotate src/nucleus/tmi.c @ 42:2b8d11ddf653
tms470/makefile-frags: pruned import from Magnetite
| author | Mychaela Falconia <falcon@freecalypso.org> | 
|---|---|
| date | Tue, 17 Jul 2018 08:20:16 +0000 | 
| parents | 0f80e1e4dce4 | 
| children | 
| rev | line source | 
|---|---|
| 
7
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1 /*************************************************************************/ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2 /* */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3 /* Copyright Mentor Graphics Corporation 2002 */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
4 /* All Rights Reserved. */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
5 /* */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
6 /* THIS WORK CONTAINS TRADE SECRET AND PROPRIETARY INFORMATION WHICH IS */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
7 /* THE PROPERTY OF MENTOR GRAPHICS CORPORATION OR ITS LICENSORS AND IS */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
8 /* SUBJECT TO LICENSE TERMS. */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
9 /* */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
10 /*************************************************************************/ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
11 | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
12 /*************************************************************************/ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
13 /* */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
14 /* FILE NAME VERSION */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
15 /* */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
16 /* tmi.c Nucleus PLUS 1.14 */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
17 /* */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
18 /* COMPONENT */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
19 /* */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
20 /* TM - Timer Management */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
21 /* */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
22 /* DESCRIPTION */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
23 /* */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
24 /* This file contains the initialization routine for the timer */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
25 /* management component. */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
26 /* */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
27 /* DATA STRUCTURES */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
28 /* */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
29 /* None */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
30 /* */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
31 /* FUNCTIONS */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
32 /* */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
33 /* TMI_Initialize Timer Management Initialize */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
34 /* */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
35 /* DEPENDENCIES */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
36 /* */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
37 /* tc_extr.h Task function interfaces */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
38 /* er_extr.h Error handling function */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
39 /* tm_defs.h Timer component constants */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
40 /* */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
41 /* HISTORY */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
42 /* */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
43 /* DATE REMARKS */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
44 /* */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
45 /* 03-01-1993 Created initial version 1.0 */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
46 /* 04-19-1993 Verified version 1.0 */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
47 /* 08-09-1993 Removed timer task creation, */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
48 /* cleared the ID of the HISR */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
49 /* control block, and casted the */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
50 /* HISR priority, resulting in */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
51 /* version 1.0a */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
52 /* 08-09-1993 Verified version 1.0a */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
53 /* 03-01-1994 Changed names of HISR create */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
54 /* function, removed reference to */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
55 /* timer list protect since it */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
56 /* was deleted, resulting in */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
57 /* version 1.1 */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
58 /* */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
59 /* 03-18-1994 Verified version 1.1 */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
60 /* 04-17-1996 updated to version 1.2 */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
61 /* 03-24-1998 Released version 1.3 */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
62 /* 03-26-1999 Released 1.11m (new release */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
63 /* numbering scheme) */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
64 /* 04-17-2002 Released version 1.13m */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
65 /* 11-07-2002 Released version 1.14 */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
66 /*************************************************************************/ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
67 #define NU_SOURCE_FILE | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
68 | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
69 | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
70 #include "tc_extr.h" /* Task control functions */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
71 #include "er_extr.h" /* Error handling function */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
72 #include "tm_defs.h" /* Timer constants */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
73 #include "tm_extr.h" /* Timer interfaces */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
74 | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
75 | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
76 /* Define external inner-component global data references. */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
77 | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
78 extern CS_NODE *TMD_Created_Timers_List; | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
79 extern UNSIGNED TMD_Total_Timers; | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
80 extern TM_TCB *TMD_Active_Timers_List; | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
81 extern INT TMD_Active_List_Busy; | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
82 extern TC_PROTECT TMD_Created_List_Protect; | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
83 extern UNSIGNED TMD_System_Clock; | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
84 extern UNSIGNED TMD_Timer; | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
85 extern INT TMD_Timer_State; | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
86 extern UNSIGNED TMD_Time_Slice; | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
87 extern TC_TCB *TMD_Time_Slice_Task; | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
88 extern INT TMD_Time_Slice_State; | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
89 extern TC_HCB TMD_HISR; | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
90 extern VOID *TMD_HISR_Stack_Ptr; | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
91 extern UNSIGNED TMD_HISR_Stack_Size; | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
92 extern INT TMD_HISR_Priority; | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
93 | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
94 | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
95 /* Define inner-component function prototypes. */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
96 | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
97 VOID TMC_Timer_HISR(VOID); | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
98 | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
99 | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
100 /*************************************************************************/ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
101 /* */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
102 /* FUNCTION */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
103 /* */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
104 /* TMI_Initialize */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
105 /* */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
106 /* DESCRIPTION */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
107 /* */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
108 /* This function initializes the data structures that control the */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
109 /* operation of the timer component (TM). There are no application */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
110 /* timers created initially. This routine must be called from */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
111 /* Supervisor mode in Supervisor/User mode switching kernels. */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
112 /* */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
113 /* CALLED BY */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
114 /* */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
115 /* INC_Initialize System initialization */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
116 /* */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
117 /* CALLS */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
118 /* */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
119 /* ERC_System_Error System error handing function*/ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
120 /* TCC_Create_HISR Create timer HISR */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
121 /* TCCE_Create_HISR Create timer HISR (error chk)*/ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
122 /* */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
123 /* INPUTS */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
124 /* */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
125 /* (Indirect) */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
126 /* TMD_HISR_Stack_Ptr Pointer to HISR stack area */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
127 /* TMD_HISR_Stack_Size Size of HISR stack */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
128 /* TMD_HISR_Priority Priority of timer HISR */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
129 /* */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
130 /* OUTPUTS */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
131 /* */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
132 /* TMD_Created_Timers_List Pointer to the linked-list */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
133 /* of created application */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
134 /* timers */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
135 /* TMD_Total_Timers Total number of created */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
136 /* application timers */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
137 /* TMD_Active_Timers_List Pointer to the linked-list */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
138 /* of active timers. */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
139 /* TMD_Active_List_Busy Flag indicating that the */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
140 /* active timer list is in use*/ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
141 /* TMD_Created_List_Protect Created timer list protect */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
142 /* structure */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
143 /* TMD_System_Clock System clock */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
144 /* TMD_Timer Timer count-down value */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
145 /* TMD_Timer_State State of timer */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
146 /* TMD_Time_Slice Time slice count-down value */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
147 /* TMD_Time_Slice_Task Pointer to task to time-slice*/ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
148 /* TMD_Time_Slice_State State of time slice */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
149 /* TMD_HISR Timer HISR control block */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
150 /* */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
151 /* HISTORY */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
152 /* */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
153 /* DATE REMARKS */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
154 /* */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
155 /* 03-01-1993 Created initial version 1.0 */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
156 /* 04-19-1993 Verified version 1.0 */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
157 /* 08-09-1993 Removed timer task creation, */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
158 /* cleared the ID of the HISR */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
159 /* control block, and casted the */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
160 /* HISR priority, resulting in */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
161 /* version 1.0a */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
162 /* 08-09-1993 Verified version 1.0a */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
163 /* 03-01-1994 Modified HISR create function */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
164 /* interface, removed reference */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
165 /* to timer list protect since it */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
166 /* was deleted, resulting in */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
167 /* version 1.1 */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
168 /* */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
169 /* 03-18-1994 Verified version 1.1 */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
170 /* */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
171 /*************************************************************************/ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
172 VOID TMI_Initialize(VOID) | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
173 { | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
174 | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
175 STATUS status; /* Return status of creates */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
176 | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
177 | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
178 /* Initialize the created application timer's list to NU_NULL. */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
179 TMD_Created_Timers_List = NU_NULL; | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
180 | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
181 /* Initialize the total number of created application timers to 0. */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
182 TMD_Total_Timers = 0; | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
183 | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
184 /* Initialize the active timer's list to NU_NULL. */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
185 TMD_Active_Timers_List = NU_NULL; | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
186 | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
187 /* Clear the active timer list busy flag. */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
188 TMD_Active_List_Busy = NU_FALSE; | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
189 | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
190 /* Initialize the system clock to 0. */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
191 TMD_System_Clock = 0; | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
192 | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
193 /* Initialize the timer to 0 and the timer state to "not active." */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
194 TMD_Timer = 0; | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
195 TMD_Timer_State = TM_NOT_ACTIVE; | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
196 | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
197 /* Initialize the time-slice timer, task pointer, and the associated | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
198 state variable. */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
199 TMD_Time_Slice = 0; | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
200 TMD_Time_Slice_Task = NU_NULL; | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
201 TMD_Time_Slice_State = TM_NOT_ACTIVE; | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
202 | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
203 /* Initialize the list protection structures. */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
204 TMD_Created_List_Protect.tc_tcb_pointer = NU_NULL; | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
205 | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
206 /* Clear out the timer HISR control block. */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
207 TMD_HISR.tc_id = 0; | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
208 | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
209 /* Create the timer HISR. The timer HISR is responsible for performing | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
210 the time slice function and activating the timer task if necessary. */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
211 #ifdef NU_NO_ERROR_CHECKING | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
212 | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
213 status = TCC_Create_HISR((NU_HISR *) &TMD_HISR, "SYSTEM H", | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
214 TMC_Timer_HISR, (OPTION) TMD_HISR_Priority, | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
215 TMD_HISR_Stack_Ptr, TMD_HISR_Stack_Size); | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
216 #else | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
217 | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
218 status = TCCE_Create_HISR((NU_HISR *) &TMD_HISR, "SYSTEM H", | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
219 TMC_Timer_HISR, (OPTION) TMD_HISR_Priority, | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
220 TMD_HISR_Stack_Ptr, TMD_HISR_Stack_Size); | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
221 | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
222 #endif | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
223 | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
224 /* Check for a system error creating the timer HISR. */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
225 if (status != NU_SUCCESS) | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
226 | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
227 /* Call the system error handler. */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
228 ERC_System_Error(NU_ERROR_CREATING_TIMER_HISR); | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
229 } | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
230 | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
231 | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
232 | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
233 | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
234 | 
