Working sleep() functionality

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@232 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Linus Nielsen Feltzing 2002-04-25 13:30:41 +00:00
parent b3aecff464
commit 9c1299c9c1
2 changed files with 12 additions and 8 deletions

View file

@ -42,36 +42,39 @@ int main(void)
debugger when you hit CTRL-C */
SCR1 |= 0x40;
SCR1 &= ~0x80;
IPRE |= 0xf000; /* Set to highest priority */
asm ("ldc\t%0,sr" : : "r"(0<<4));
debugf("OK. Let's go\n");
tick_start(40);
tick_start(10);
create_thread(t1, s1, 1024);
create_thread(t2, s2, 1024);
while(1)
{
debugf("t0\n");
sleep(100);
debugf("Thread 0 awakened\n");
}
}
void t1(void)
{
debugf("Thread 1 started\n");
while(1)
{
debugf("t1\n");
sleep(200);
debugf("Thread 1 awakened\n");
}
}
void t2(void)
{
debugf("Thread 2 started\n");
while(1)
{
debugf("t2\n");
sleep(300);
debugf("Thread 2 awakened\n");
}
}

View file

@ -49,7 +49,7 @@ void tick_start(unsigned int interval_in_ms)
IPRC = (IPRC & ~0x00f0) | 0x0010;
TSR0 &= ~0x01;
TIER0 |= 0x01; /* Enable GRA match interrupt */
TIER0 = 0xf9; /* Enable GRA match interrupt */
TSTR |= 0x01; /* Start timer 1 */
}
@ -59,5 +59,6 @@ void IMIA0(void)
{
current_tick++;
// debugf("t\n");
TSR0 &= ~0x01;
}