static void test_task1(void * pParam) { RAW_U8* addr; while(1) { if(RAW_SUCCESS == raw_byte_allocate(&byte_pool, (void**)&addr, 16)) { count ++; __put_char("ok1 ", 4); }else { __put_char("error1 ", 7); } raw_sleep(20); if(RAW_SUCCESS == raw_byte_allocate(&byte_pool, (void**)&addr, 30)) { count ++; __put_char("ok2 ", 4); }else { __put_char("error2 ", 7); } raw_sleep(20); } }
void driver_send_task_mqueue(void * pParam) { msg1_mqueue = 0x188; msg2_mqueue = 0x188; msg3_mqueue = 0x188; msg4_mqueue = 0x188; msg5_mqueue = 0x188; vc_port_printf("complex mqueue test..........\n"); raw_page_init(test_page_mem, test_page_mem + 1024*1024); raw_malloc_init(); raw_mq_init(&driver_queue_mqueue, "mqueue", raw_malloc, raw_free, (RAW_VOID **)&queue1_storge_mqueue, 1000); raw_mq_init(&app_queue_mqueue, "mqueue", raw_malloc, raw_free, (RAW_VOID **)&queue2_storge_mqueue, 2000); raw_mq_init(&app_queue2_mqueue, "mqueue", raw_malloc, raw_free, (RAW_VOID **)&queue3_storge_mqueue, 2000); while(1) { raw_mq_send(&driver_queue_mqueue, &msg1_mqueue, 4, 0); raw_mq_send(&driver_queue_mqueue, &msg2_mqueue, 4, 0); raw_mq_send(&driver_queue_mqueue, &msg3_mqueue, 4, 0); raw_mq_send(&driver_queue_mqueue, &msg4_mqueue, 4, 0); raw_mq_send(&driver_queue_mqueue, &msg5_mqueue, 4, 0); watch_number_mqueue++; raw_sleep(10); } }
void test_queue1_mqueue(void * pParam) { int c = 2; int d = 1000; raw_page_init(test_page_mem, test_page_mem + 1024*1024); raw_malloc_init(); raw_mq_init(&q1_mqueue, "mqueue", raw_malloc, raw_free, (RAW_MQUEUE_MSG **)&test_mqueue_msg, 100); while(1) { c++; d++; raw_mq_send(&q1_mqueue, &c, 4, 0, WAKE_ONE_MQUEUE, RAW_WAIT_FOREVER); vc_port_printf("1111*\n"); raw_mq_send(&q1_mqueue, &d, 4, 0, WAKE_ONE_MQUEUE, RAW_WAIT_FOREVER); vc_port_printf("2222\n"); raw_sleep(1000); } }
void *test_thread4(void * pParam) { while(1) { angle4 += 0.534*(angle2 + 3*angle4)/(angle2+angle3+angle4 +angle5); raw_sleep(1); } }
void test_queue5_mqueue(void * pParam) { while(1) { raw_sleep(1000); } }
void watch_task_mqueue(void * pParam) { while (1) { raw_sleep(RAW_TICKS_PER_SECOND / 2); vc_port_printf("watch_number_mqueue is %x\n", watch_number_mqueue); } }
void test_mutex2(void * pParam) { while(1) { raw_sleep(4 * RAW_TICKS_PER_SECOND); vc_port_printf("******************11\n"); } }
static void test_task11(void * pParam) { p11.handle_event = handle_event1; p22.handle_event = handle_event2; simulated_interrupt_fun = post_event; while(1) { raw_sleep(100); } }
void test_mutex3(void * pParam) { while(1) { raw_mutex_get(&mutext1, RAW_WAIT_FOREVER); raw_mutex_get(&mutext1, RAW_WAIT_FOREVER); vc_port_printf("test_mutex3\n"); raw_sleep(RAW_TICKS_PER_SECOND*2); vc_port_printf("test_mutex333333\n"); raw_mutex_put(&mutext1); raw_mutex_put(&mutext1); } }
void *test_thread2(void * pParam) { RAW_U8 old_priority; raw_task_priority_change(raw_task_identify(), 4, &old_priority); raw_task_delete(&thread6->task_obj); while(1) { vc_port_printf("angle2 is %f\n", angle2); vc_port_printf("angle3 is %f\n", angle3); vc_port_printf("angle4 is %f\n", angle4); vc_port_printf("angle5 is %f\n", angle5); raw_sleep(RAW_TICKS_PER_SECOND); } }
static void test_task1(void * pParam) { RAW_U8* addr; while(1) { if(RAW_SUCCESS == raw_block_allocate(&mem_pool, (void**)&addr)) { count ++; __put_char("ok ", 3); }else { __put_char("error ", 6); } raw_sleep(20); } }
void test_mutex1(void * pParam) { raw_mutex_create(&mutext1, (RAW_U8 *)"mutex1", RAW_MUTEX_INHERIT_POLICY, 0); //raw_mutex_create(&mutext1, (RAW_U8 *)"mutex1", RAW_MUTEX_CEILING_POLICY, 9); //raw_mutex_create(&mutext1, (RAW_U8 *)"mutex1", RAW_MUTEX_NONE_POLICY, 9); while(1) { raw_sleep(RAW_TICKS_PER_SECOND); vc_port_printf("..............................\n"); raw_mutex_get(&mutext1, 2); vc_port_printf("test_mutex1\n"); raw_mutex_put(&mutext1); } }
void test_heap(void * pParam) { RAW_U32 free_size; void *mem; void *mem2; while (1) { mem = mem_4_malloc(13); if (mem == NULL) { RAW_ASSERT(0); } mem2 = mem_4_malloc(17); if (mem2 == NULL) { RAW_ASSERT(0); } free_size = mem_4_free_get(); vc_port_printf("free_size %d\n", free_size); mem_4_free(mem); mem_4_free(mem2); raw_sleep(RAW_TICKS_PER_SECOND); } }
void test_event_task2(void * pParam) { /*check whether MAX_IDLE_EVENT_TASK is valid*/ RAW_ASSERT((ARRAY_SIZE(active_idle_task)) == MAX_IDLE_EVENT_TASK); idle_event_init(); Bomb4_ctor(&l_bomb22, 0xd); /* the secret defuse code, 1101 binary */ l_bomb22.internal_priority = 1; fsm_init(&l_bomb22.a1.super, 0); idle_tick_start = 1; vc_port_printf("Time Bomb (raw os fsm case)\n" "Press 'u' for UP event\n" "Press 'd' for DOWN event\n" "Press 'a' for ARM event\n" "Press <Esc> to quit.\n"); while (1) { if (_kbhit()) { static STATE_EVENT up_evt = { UP_SIG, 0, 0 }; static STATE_EVENT down_evt = { DOWN_SIG, 0, 0 }; static STATE_EVENT arm_evt = { ARM_SIG, 0, 0 }; STATE_EVENT *e = 0; switch (_getch()) { case 'u': { /* UP event */ vc_port_printf("\nUP : "); e = &up_evt; /* generate the UP event */ break; } case 'd': { /* DOWN event */ vc_port_printf("\nDOWN: "); e = &down_evt; /* generate the DOWN event */ break; } case 'a': { /* ARM event */ vc_port_printf("\nARM : "); e = &arm_evt; /* generate the ARM event */ break; } case '\33': { /* <Esc> key */ vc_port_printf("\nESC : Bye! Bye!"); exit(0); break; } } if (e != 0) { /* keyboard event available? */ idle_event_end_post(&l_bomb22.a1, e->sig, &tick_evt); } } raw_sleep(10); } }