예제 #1
0
void test_block(void * pParam)
{
	RAW_U16 ret;
	RAW_U32 i = 0;

	
	raw_block_pool_create(&mem_pool_test, (RAW_U8  *)"blockqewq", 12, mem_pool, 1024 * 4);

	while (1) {
		
		i++;

		ret = raw_block_allocate(&mem_pool_test, (RAW_VOID **)&aa);

		if (ret == RAW_NO_MEMORY) {
			vc_port_printf("RAW_NO_MEMORY1\n");
			RAW_ASSERT(0);
		}

		vc_port_printf("****************\n");
		ret = raw_block_allocate(&mem_pool_test, (RAW_VOID **)&bb);

		if (ret == RAW_NO_MEMORY) {
			vc_port_printf("RAW_NO_MEMORY2\n");
			RAW_ASSERT(0);
		}

		raw_block_release(&mem_pool_test, bb);

		vc_port_printf("allocate block %d\n", i);
	 
	}


}
예제 #2
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);
        }
}