+++ /dev/null
-/* resourcetest.c */\r
-#include "kernel.h"\r
-#include "kernel_id.h"\r
-#include "ecrobot_interface.h"\r
-\r
-/* OSEK declarations */\r
-DeclareCounter( SysTimerCnt );\r
-DeclareResource(resource1);\r
-DeclareEvent(event1);\r
-DeclareTask(LowTask);\r
-DeclareTask(HighTask);\r
-\r
-/* LEJOS OSEK hook to be invoked from an ISR in category 2 */\r
-void user_1ms_isr_type2(void)\r
-{\r
- StatusType ercd;\r
-\r
- ercd = SignalCounter(SysTimerCnt); /* Increment OSEK Alarm Counter */\r
- if(ercd != E_OK)\r
- {\r
- ShutdownOS(ercd);\r
- }\r
-}\r
-\r
-/* Definitions */\r
-#define COUNT 5000000\r
-int digits;\r
-int lowtaskcount;\r
-int hightaskcount;\r
-\r
-TASK(LowTask)\r
-{\r
- int rcount;\r
-\r
- ecrobot_debug1(digits, 1111, 0);\r
- for (rcount = 0; rcount < COUNT; rcount++); \r
- ecrobot_debug1(digits, 1119, 0);\r
-\r
- GetResource(resource1);\r
- for(rcount = 0; rcount < COUNT; rcount++) digits++;\r
- SetEvent(HighTask, event1);\r
- ecrobot_debug1(digits, 1199, 0);\r
- for(rcount=0; rcount < COUNT; rcount++) digits--;\r
- ReleaseResource(resource1);\r
-\r
- ecrobot_debug1(digits, 1999, 0);\r
-\r
- TerminateTask();\r
-}\r
-\r
-TASK(HighTask)\r
-{\r
- int rcount;\r
-\r
- ecrobot_debug2(digits, 2222, 1);\r
- for(rcount=0; rcount < COUNT; rcount++) digits++;\r
- ecrobot_debug2(digits, 2228, 1);\r
- for(rcount=0; rcount < COUNT; rcount++) digits++;\r
-\r
- WaitEvent(event1);\r
- ClearEvent(event1);\r
- ecrobot_debug2(digits, 2288, 1);\r
- for(rcount=0; rcount < COUNT; rcount++) digits++;\r
-\r
- GetResource(resource1);\r
- ecrobot_debug2(digits, 2888, 1);\r
- for (rcount = 0; rcount < COUNT; rcount++);\r
- ReleaseResource(resource1);\r
-\r
- ecrobot_debug2(digits,8888 , 1);\r
-\r
- TerminateTask();\r
-}\r