summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
authorLinus Nielsen Feltzing <linus@haxx.se>2004-10-15 02:16:31 +0000
committerLinus Nielsen Feltzing <linus@haxx.se>2004-10-15 02:16:31 +0000
commit688b4ddec66935aa9f4586adf00cebd8fcd535b1 (patch)
tree8164997827468538aaa653d4daa113ab6dbe0be4 /apps
parentde85b67f252966df7c3b127e9fd460289e2e34c7 (diff)
downloadrockbox-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
Diffstat (limited to 'apps')
-rw-r--r--apps/main.c44
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