summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--firmware/test/kernel/main.c17
-rw-r--r--firmware/test/kernel/timer.c3
2 files changed, 12 insertions, 8 deletions
diff --git a/firmware/test/kernel/main.c b/firmware/test/kernel/main.c
index b52ecff21d..1280b8113b 100644
--- a/firmware/test/kernel/main.c
+++ b/firmware/test/kernel/main.c
@@ -42,36 +42,39 @@ int main(void)
42 debugger when you hit CTRL-C */ 42 debugger when you hit CTRL-C */
43 SCR1 |= 0x40; 43 SCR1 |= 0x40;
44 SCR1 &= ~0x80; 44 SCR1 &= ~0x80;
45 IPRE |= 0xf000; /* Set to highest priority */
45 asm ("ldc\t%0,sr" : : "r"(0<<4)); 46 asm ("ldc\t%0,sr" : : "r"(0<<4));
46 47
47 debugf("OK. Let's go\n"); 48 debugf("OK. Let's go\n");
48 49
49 tick_start(40); 50 tick_start(10);
50 51
51 create_thread(t1, s1, 1024); 52 create_thread(t1, s1, 1024);
52 create_thread(t2, s2, 1024); 53 create_thread(t2, s2, 1024);
53 54
54 while(1) 55 while(1)
55 { 56 {
56 debugf("t0\n"); 57 sleep(100);
57 sleep(100); 58 debugf("Thread 0 awakened\n");
58 } 59 }
59} 60}
60 61
61void t1(void) 62void t1(void)
62{ 63{
64 debugf("Thread 1 started\n");
63 while(1) 65 while(1)
64 { 66 {
65 debugf("t1\n"); 67 sleep(200);
66 sleep(200); 68 debugf("Thread 1 awakened\n");
67 } 69 }
68} 70}
69 71
70void t2(void) 72void t2(void)
71{ 73{
74 debugf("Thread 2 started\n");
72 while(1) 75 while(1)
73 { 76 {
74 debugf("t2\n"); 77 sleep(300);
75 sleep(300); 78 debugf("Thread 2 awakened\n");
76 } 79 }
77} 80}
diff --git a/firmware/test/kernel/timer.c b/firmware/test/kernel/timer.c
index 31c6f82baa..a0d180ab51 100644
--- a/firmware/test/kernel/timer.c
+++ b/firmware/test/kernel/timer.c
@@ -49,7 +49,7 @@ void tick_start(unsigned int interval_in_ms)
49 IPRC = (IPRC & ~0x00f0) | 0x0010; 49 IPRC = (IPRC & ~0x00f0) | 0x0010;
50 50
51 TSR0 &= ~0x01; 51 TSR0 &= ~0x01;
52 TIER0 |= 0x01; /* Enable GRA match interrupt */ 52 TIER0 = 0xf9; /* Enable GRA match interrupt */
53 53
54 TSTR |= 0x01; /* Start timer 1 */ 54 TSTR |= 0x01; /* Start timer 1 */
55} 55}
@@ -59,5 +59,6 @@ void IMIA0(void)
59{ 59{
60 current_tick++; 60 current_tick++;
61 61
62// debugf("t\n");
62 TSR0 &= ~0x01; 63 TSR0 &= ~0x01;
63} 64}