]> rtime.felk.cvut.cz Git - arc.git/blob - boards/ti_tms570ls/examples/tms570_hdk_led/Tasks.c
Added an example of LED Blinker for the TMS570LS31x HDK
[arc.git] / boards / ti_tms570ls / examples / tms570_hdk_led / Tasks.c
1 /*\r
2 * Configuration of module: Os (Tasks.c)\r
3 *\r
4 * Created by:              \r
5 * Copyright:               \r
6 *\r
7 * Configured for (MCU):    MPC551x\r
8 *\r
9 * Module vendor:           ArcCore\r
10 * Generator version:       2.0.34\r
11 *\r
12 * Generated by Arctic Studio (http://arccore.com) \r
13 *           on Wed Jul 06 17:58:25 CEST 2011\r
14 */\r
15 \r
16 #include "Os.h"\r
17 #include "EcuM.h"\r
18 \r
19 // #define USE_LDEBUG_PRINTF // Uncomment this to turn debug statements on.\r
20 #include "debug.h"\r
21 \r
22 \r
23 // Tasks\r
24 void Startup( void ) {\r
25 \r
26         EcuM_StartupTwo();\r
27 \r
28         TerminateTask();\r
29 }\r
30 \r
31 \r
32 void OsIdle( void ) {\r
33         while(1);\r
34 }\r
35 \r
36 \r
37 // Hooks\r
38 #define ERROR_LOG_SIZE 20\r
39 \r
40 struct LogBad_s {\r
41         uint32_t param1;\r
42         uint32_t param2;\r
43         uint32_t param3;\r
44         TaskType taskId;\r
45         OsServiceIdType serviceId;\r
46         StatusType error;\r
47 };\r
48 \r
49 void ErrorHook ( StatusType Error ) {\r
50 \r
51         TaskType task;\r
52         static struct LogBad_s LogBad[ERROR_LOG_SIZE];\r
53         static uint8_t ErrorCount = 0;\r
54         GetTaskID(&task);\r
55         OsServiceIdType service = OSErrorGetServiceId();\r
56         \r
57         LDEBUG_PRINTF("## ErrorHook err=%d\n",Error);\r
58 \r
59         /* Log the errors in a buffer for later review */\r
60         LogBad[ErrorCount].param1 = os_error.param1;\r
61         LogBad[ErrorCount].param2 = os_error.param2;\r
62         LogBad[ErrorCount].param3 = os_error.param3;\r
63         LogBad[ErrorCount].serviceId = service;\r
64         LogBad[ErrorCount].taskId = task;\r
65         LogBad[ErrorCount].error = Error;\r
66 \r
67         ErrorCount++;\r
68 \r
69         // Stall if buffer is full.\r
70         while(ErrorCount >= ERROR_LOG_SIZE);\r
71 \r
72 }\r
73 \r
74 void PostTaskHook ( void ) {\r
75         TaskType task;\r
76         GetTaskID(&task);\r
77         LDEBUG_PRINTF("## PreTaskHook, taskid=%d\n",task);\r
78 }\r
79 \r
80 void PreTaskHook ( void ) {\r
81         TaskType task;\r
82         GetTaskID(&task);\r
83         LDEBUG_PRINTF("## PreTaskHook, taskid=%d\n",task);\r
84 }\r
85 \r
86 void ShutdownHook ( StatusType Error ) {\r
87         LDEBUG_PRINTF("## ShutdownHook\n");\r
88         while(1);\r
89 }\r
90 \r
91 void StartupHook ( void ) {\r
92         LDEBUG_PRINTF("## StartupHook\n");\r
93 }\r