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;
|