diff options
author | Linus Nielsen Feltzing <linus@haxx.se> | 2002-04-25 13:30:41 +0000 |
---|---|---|
committer | Linus Nielsen Feltzing <linus@haxx.se> | 2002-04-25 13:30:41 +0000 |
commit | 9c1299c9c1892efc67c75f8cd551ffe9f2863156 (patch) | |
tree | 56fbd7a85b1d04a2392dd73a03db6a80df7837bf /firmware/test/kernel | |
parent | b3aecff464e83ae3ab7245f323687aec78544533 (diff) |
Working sleep() functionality
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@232 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/test/kernel')
-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) debugger when you hit CTRL-C */ SCR1 |= 0x40; SCR1 &= ~0x80; + IPRE |= 0xf000; /* Set to highest priority */ asm ("ldc\t%0,sr" : : "r"(0<<4)); debugf("OK. Let's go\n"); - tick_start(40); + tick_start(10); create_thread(t1, s1, 1024); create_thread(t2, s2, 1024); while(1) { - debugf("t0\n"); - sleep(100); + sleep(100); + debugf("Thread 0 awakened\n"); } } void t1(void) { + debugf("Thread 1 started\n"); while(1) { - debugf("t1\n"); - sleep(200); + sleep(200); + debugf("Thread 1 awakened\n"); } } void t2(void) { + debugf("Thread 2 started\n"); while(1) { - debugf("t2\n"); - sleep(300); + sleep(300); + debugf("Thread 2 awakened\n"); } } 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) IPRC = (IPRC & ~0x00f0) | 0x0010; TSR0 &= ~0x01; - TIER0 |= 0x01; /* Enable GRA match interrupt */ + TIER0 = 0xf9; /* Enable GRA match interrupt */ TSTR |= 0x01; /* Start timer 1 */ } @@ -59,5 +59,6 @@ void IMIA0(void) { current_tick++; +// debugf("t\n"); TSR0 &= ~0x01; } |