Ejemplo n.º 1
0
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);
               }
}
Ejemplo n.º 2
0
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);
		
		
	}

	
}
Ejemplo n.º 3
0
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);
		
		
	}

	
}
Ejemplo n.º 4
0
void *test_thread4(void * pParam) 
{	
	
	while(1) {
		
		angle4 +=  0.534*(angle2 + 3*angle4)/(angle2+angle3+angle4 +angle5);
		raw_sleep(1);
	}
}
Ejemplo n.º 5
0
void test_queue5_mqueue(void * pParam) 
{	
	
	while(1)
	{		
		raw_sleep(1000);
        	
	}
}
Ejemplo n.º 6
0
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);
	}
	

}
Ejemplo n.º 7
0
void test_mutex2(void * pParam) 
{	
	
	while(1) {

		raw_sleep(4 * RAW_TICKS_PER_SECOND);
		vc_port_printf("******************11\n");
	
	
	}
	
}
Ejemplo n.º 8
0
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);
		
	}
	
}
Ejemplo n.º 9
0
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);
		
	}
}
Ejemplo n.º 10
0
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);
		
	}
}
Ejemplo n.º 11
0
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);
        }
}
Ejemplo n.º 12
0
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);
		
	}
}
Ejemplo n.º 13
0
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);


	}

	

}
Ejemplo n.º 14
0
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);
		 
	}


}