From 688b4ddec66935aa9f4586adf00cebd8fcd535b1 Mon Sep 17 00:00:00 2001 From: Linus Nielsen Feltzing Date: Fri, 15 Oct 2004 02:16:31 +0000 Subject: iRiver: the backlight blink loop is now done in C, using two threads, as a test of the threading code git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5283 a1c6a512-1295-4272-9138-f99709370657 --- apps/main.c | 44 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 43 insertions(+), 1 deletion(-) (limited to 'apps') diff --git a/apps/main.c b/apps/main.c index 536a181845..d391b6cd02 100644 --- a/apps/main.c +++ b/apps/main.c @@ -16,6 +16,48 @@ * KIND, either express or implied. * ****************************************************************************/ +#include "config.h" + +#ifdef IRIVER_H100 +#include "thread.h" +#include "cpu.h" + +unsigned long test_thread_stack[0x1000]; + +void yield(void) +{ + switch_thread(); + wake_up_thread(); +} + +void test_thread(void) +{ + while(1) + { + GPIO1_OUT ^= 0x00020000; + yield(); + } +} + +int main(void) +{ + int i; + + init_threads(); + + create_thread(test_thread, test_thread_stack, + sizeof(test_thread_stack), "Test thread"); + + GPIO1_FUNCTION |= 0x00020000; + GPIO1_ENABLE |= 0x00020000; + + while(1) { + for(i = 0;i < 10000;i++) {} + yield(); + } +} + +#else #include "ata.h" #include "disk.h" #include "fat.h" @@ -271,4 +313,4 @@ int main(void) return 0; } #endif - +#endif -- cgit v1.2.3