summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--firmware/test/kernel/Makefile2
-rw-r--r--firmware/test/kernel/main.c19
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
14CFLAGS = -g -O -Wall -m1 -save-temps -nostdlib -Wstrict-prototypes -fomit-frame-pointer -fschedule-insns -fno-builtin $(INCLUDES) $(TARGET) -DDEBUG 14CFLAGS = -g -O -Wall -m1 -save-temps -nostdlib -Wstrict-prototypes -fomit-frame-pointer -fschedule-insns -fno-builtin $(INCLUDES) $(TARGET) -DDEBUG
15AFLAGS += -small -relax 15AFLAGS += -small -relax
16 16
17OBJS= ../../crt0.o ../../system.o main.o timer.o \ 17OBJS= ../../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
32struct event_queue main_q; 32struct event_queue main_q;
33 33
34int tick_add_task(void (*f)(void));
35
36void testfunc(void)
37{
38 if(current_tick == 5000)
39 debugf("Yippie!\n");
40}
41
34int main(void) 42int 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);