diff options
-rw-r--r-- | firmware/test/kernel/main.c | 17 | ||||
-rw-r--r-- | firmware/test/kernel/timer.c | 3 |
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 | ||
61 | void t1(void) | 62 | void 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 | ||
70 | void t2(void) | 72 | void 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 | } |