diff options
| author | Linus Nielsen Feltzing <linus@haxx.se> | 2004-10-15 02:16:31 +0000 |
|---|---|---|
| committer | Linus Nielsen Feltzing <linus@haxx.se> | 2004-10-15 02:16:31 +0000 |
| commit | 688b4ddec66935aa9f4586adf00cebd8fcd535b1 (patch) | |
| tree | 8164997827468538aaa653d4daa113ab6dbe0be4 | |
| parent | de85b67f252966df7c3b127e9fd460289e2e34c7 (diff) | |
| download | rockbox-688b4ddec66935aa9f4586adf00cebd8fcd535b1.zip rockbox-688b4ddec66935aa9f4586adf00cebd8fcd535b1.tar.gz rockbox-688b4ddec66935aa9f4586adf00cebd8fcd535b1.tar.bz2 rockbox-688b4ddec66935aa9f4586adf00cebd8fcd535b1.tar.xz | |
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
| -rw-r--r-- | apps/main.c | 44 |
1 files changed, 43 insertions, 1 deletions
diff --git a/apps/main.c b/apps/main.c index 536a181..d391b6c 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 |