OpenCores
URL https://opencores.org/ocsvn/mlite/mlite/trunk

Subversion Repositories mlite

[/] [mlite/] [trunk/] [kernel/] [rtos_test.c] - Diff between revs 235 and 255

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 235 Rev 255
Line 127... Line 127...
 
 
   thread = OS_ThreadSelf();
   thread = OS_ThreadSelf();
   priority = OS_ThreadPriorityGet(thread);
   priority = OS_ThreadPriorityGet(thread);
   OS_ThreadSleep(10);
   OS_ThreadSleep(10);
   printf("Arg=%d thread=0x%x info=0x%x priority=%d\n",
   printf("Arg=%d thread=0x%x info=0x%x priority=%d\n",
      (uint32)arg, thread, OS_ThreadInfoGet(thread), priority);
      (uint32)arg, thread, OS_ThreadInfoGet(thread, 0), priority);
   OS_ThreadExit();
   OS_ThreadExit();
}
}
 
 
static void TestThread(void)
static void TestThread(void)
{
{
Line 141... Line 141...
   printf("TestThread\n");
   printf("TestThread\n");
   for(i = 0; i < 32; ++i)
   for(i = 0; i < 32; ++i)
   {
   {
      priority = 50 + i;
      priority = 50 + i;
      thread = OS_ThreadCreate("MyThread", MyThreadMain, (uint32*)i, priority, 0);
      thread = OS_ThreadCreate("MyThread", MyThreadMain, (uint32*)i, priority, 0);
      OS_ThreadInfoSet(thread, (void*)(0xabcd + i));
      OS_ThreadInfoSet(thread, 0, (void*)(0xabcd + i));
      //printf("Created thread 0x%x\n", thread);
      //printf("Created thread 0x%x\n", thread);
   }
   }
 
 
   thread = OS_ThreadSelf();
   thread = OS_ThreadSelf();
   priority = OS_ThreadPriorityGet(thread);
   priority = OS_ThreadPriorityGet(thread);
Line 294... Line 294...
   TestInfo_t *info = (TestInfo_t*)arg;
   TestInfo_t *info = (TestInfo_t*)arg;
 
 
   //printf("TestTimerThread\n");
   //printf("TestTimerThread\n");
 
 
   OS_ThreadSleep(1);
   OS_ThreadSleep(1);
   index = (int)OS_ThreadInfoGet(OS_ThreadSelf());
   index = (int)OS_ThreadInfoGet(OS_ThreadSelf(), 0);
   //printf("index=%d\n", index);
   //printf("index=%d\n", index);
   OS_MQueueGet(info->MyQueue[index], data, 1000);
   OS_MQueueGet(info->MyQueue[index], data, 1000);
   timer = (OS_Timer_t*)data[1];
   timer = (OS_Timer_t*)data[1];
   printf("%d ", data[2]);
   printf("%d ", data[2]);
   OS_MQueueGet(info->MyQueue[index], data, 1000);
   OS_MQueueGet(info->MyQueue[index], data, 1000);
Line 317... Line 317...
   for(i = 0; i < TIMER_COUNT; ++i)
   for(i = 0; i < TIMER_COUNT; ++i)
   {
   {
      info.MyQueue[i] = OS_MQueueCreate("MyQueue", 10, 16);
      info.MyQueue[i] = OS_MQueueCreate("MyQueue", 10, 16);
      info.MyTimer[i] = OS_TimerCreate("MyTimer", info.MyQueue[i], i);
      info.MyTimer[i] = OS_TimerCreate("MyTimer", info.MyQueue[i], i);
      info.MyThread[i] = OS_ThreadCreate("TimerTest", TestTimerThread, &info, 50, 0);
      info.MyThread[i] = OS_ThreadCreate("TimerTest", TestTimerThread, &info, 50, 0);
      OS_ThreadInfoSet(info.MyThread[i], (void*)i);
      OS_ThreadInfoSet(info.MyThread[i], 0, (void*)i);
      OS_TimerStart(info.MyTimer[i], 10+i*2, 220+i);
      OS_TimerStart(info.MyTimer[i], 10+i*2, 220+i);
   }
   }
 
 
   while(info.TimerDone < TIMER_COUNT)
   while(info.TimerDone < TIMER_COUNT)
      OS_ThreadSleep(10);
      OS_ThreadSleep(10);
Line 426... Line 426...
 
 
//******************************************************************
//******************************************************************
void MMUTest(void);
void MMUTest(void);
void HtmlThread(void *arg);
void HtmlThread(void *arg);
void ConsoleInit(void);
void ConsoleInit(void);
 
void exit(int);
 
 
void MainThread(void *Arg)
void MainThread(void *Arg)
{
{
   int ch, i;
   int ch, i;
   (void)Arg;
   (void)Arg;
Line 464... Line 465...
      printf("> ");
      printf("> ");
      ch = UartRead();
      ch = UartRead();
      printf("%c\n", ch);
      printf("%c\n", ch);
      switch(ch)
      switch(ch)
      {
      {
 
#ifdef WIN32
 
      case '0': exit(0);
 
#endif
      case '1': TestCLib(); break;
      case '1': TestCLib(); break;
      case '2': TestHeap(); break;
      case '2': TestHeap(); break;
      case '3': TestThread(); break;
      case '3': TestThread(); break;
      case '4': TestSemaphore(); break;
      case '4': TestSemaphore(); break;
      case '5': TestMutex(); break;
      case '5': TestMutex(); break;

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.