diff options
-rw-r--r-- | firmware/test/kernel/Makefile | 2 | ||||
-rw-r--r-- | firmware/test/kernel/main.c | 19 |
2 files changed, 18 insertions, 3 deletions
diff --git a/firmware/test/kernel/Makefile b/firmware/test/kernel/Makefile index 659fdad159..2a9ef0f71b 100644 --- a/firmware/test/kernel/Makefile +++ b/firmware/test/kernel/Makefile | |||
@@ -14,7 +14,7 @@ TARGET = -DARCHOS_PLAYER_OLD=1 | |||
14 | CFLAGS = -g -O -Wall -m1 -save-temps -nostdlib -Wstrict-prototypes -fomit-frame-pointer -fschedule-insns -fno-builtin $(INCLUDES) $(TARGET) -DDEBUG | 14 | CFLAGS = -g -O -Wall -m1 -save-temps -nostdlib -Wstrict-prototypes -fomit-frame-pointer -fschedule-insns -fno-builtin $(INCLUDES) $(TARGET) -DDEBUG |
15 | AFLAGS += -small -relax | 15 | AFLAGS += -small -relax |
16 | 16 | ||
17 | OBJS= ../../crt0.o ../../system.o main.o timer.o \ | 17 | OBJS= ../../crt0.o ../../system.o main.o ../../panic.o ../../drivers/lcd.o \ |
18 | ../../thread.o ../../kernel.o ../../drivers/led.o \ | 18 | ../../thread.o ../../kernel.o ../../drivers/led.o \ |
19 | ../../debug.o ../../common/sprintf.o | 19 | ../../debug.o ../../common/sprintf.o |
20 | 20 | ||
diff --git a/firmware/test/kernel/main.c b/firmware/test/kernel/main.c index fe7ddc8378..46a77eae16 100644 --- a/firmware/test/kernel/main.c +++ b/firmware/test/kernel/main.c | |||
@@ -31,6 +31,14 @@ void t2(void); | |||
31 | 31 | ||
32 | struct event_queue main_q; | 32 | struct event_queue main_q; |
33 | 33 | ||
34 | int tick_add_task(void (*f)(void)); | ||
35 | |||
36 | void testfunc(void) | ||
37 | { | ||
38 | if(current_tick == 5000) | ||
39 | debugf("Yippie!\n"); | ||
40 | } | ||
41 | |||
34 | int main(void) | 42 | int main(void) |
35 | { | 43 | { |
36 | char buf[40]; | 44 | char buf[40]; |
@@ -46,12 +54,19 @@ int main(void) | |||
46 | SCR1 |= 0x40; | 54 | SCR1 |= 0x40; |
47 | SCR1 &= ~0x80; | 55 | SCR1 &= ~0x80; |
48 | IPRE |= 0xf000; /* Set to highest priority */ | 56 | IPRE |= 0xf000; /* Set to highest priority */ |
49 | asm ("ldc\t%0,sr" : : "r"(0<<4)); | 57 | |
58 | set_irq_level(0); | ||
50 | 59 | ||
51 | debugf("OK. Let's go\n"); | 60 | debugf("OK. Let's go\n"); |
52 | 61 | ||
53 | tick_start(10); | 62 | kernel_init(); |
54 | 63 | ||
64 | tick_add_task(testfunc); | ||
65 | |||
66 | debugf("sleeping 10s...\n"); | ||
67 | sleep(10000); | ||
68 | debugf("woke up\n"); | ||
69 | |||
55 | queue_init(&main_q); | 70 | queue_init(&main_q); |
56 | 71 | ||
57 | create_thread(t1, s1, 1024); | 72 | create_thread(t1, s1, 1024); |