Ejemplo n.º 1
0
void cfg_init(int16_t argc, char *argv[]) {
	int16_t c;
	char s[16];

	clrscr();
	cputs ("\r\n\r\nDetecting your hardware...\r\n");
	cputs ("\r\nIf your system locks, reboot and type:\r\n");
	cputs ("   "); cputs ("XARGON");
		cputs (" /NOSB  (No Sound Blaster card)\r\n");
	cputs ("   "); cputs ("XARGON");
		cputs (" /SB    (With a Sound Blaster)\r\n");
	cputs ("   "); cputs ("XARGON");
		cputs (" /NOSND (If all else fails)\r\n");

	readspeed();
	for (c=0; c<argc; c++) {
		strupr (argv[c]);
		if (!strcmp (argv[c],"/TEST")) {
			ltoa (systime,s,10);
			cputs (s);
			getkey();
			}
		else if (!strcmp (argv[c],"/NOSB")) {
			vocflag=0; musicflag=0;
			}
		else if (!strcmp (argv[c],"/SB")) {
			}
		else if (!strcmp(argv[c],"/NOSND")) {
			vocflag=0; musicflag=0; nosnd=1;
			};
//		else if (!strcmp(argv[c],"/DEMO")) cfgdemo=1;
		};
	};
Ejemplo n.º 2
0
void fs_test(const char* filename)
{
	unsigned int i = 512;
	unsigned int speed;
	float speed_mb[32][2];  //read and write speed
	
	int fd;
	char *buff_ptr;
	rt_size_t total_length;			//file length
	unsigned int readspeed_avg = 0;
	unsigned int writespeed_avg = 0;
	unsigned int speed_count = 0;
	
	rt_kprintf("\nStart test...\n");
	
	for(i = 512;i < 4096000 ; i+= i)
	{
		total_length = 256*i;
		if(total_length > TEST_FILE_SIZE_MAX)
			total_length = TEST_FILE_SIZE_MAX;
			
		//write speed test
		fd = open(filename,  O_WRONLY | O_CREAT | O_TRUNC, 0);
		if (fd < 0)
		{
			rt_kprintf("open file:%s failed\n", filename);
			break;
		}

		buff_ptr = rt_malloc(i);	
		if (buff_ptr == RT_NULL)
		{
			rt_kprintf("no more RAM for test.\n");
			close(fd);
			break;
		}

		rt_kprintf("BlockSize:%6d Byte ->| ", i);
		
		speed = writespeed(fd, buff_ptr, total_length,i);		
		rt_kprintf("WriteSpeed:%8d byte/s ", speed);
		writespeed_avg += speed;
		speed_mb[speed_count][0] = (float)speed/(1024.f*1024.f); //writespeed in float
		
		close(fd);
		rt_free(buff_ptr);
		
		//read speed test
		fd = open(filename,  O_RDONLY, 0);
		if (fd < 0)
		{
			rt_kprintf("open file:%s failed\n", filename);
			break;
		}

		buff_ptr = rt_malloc(i);	
		if (buff_ptr == RT_NULL)
		{
		    rt_kprintf("no memory\n");
			close(fd);
			break;
		}
			
		speed = readspeed(fd, buff_ptr, total_length, i);
		rt_kprintf("| ReadSpeed:%8d byte/s\n", speed);
		readspeed_avg += speed;
		speed_mb[speed_count][1] = (float)speed/(1024.f*1024.f); //read_speed in float
		
		close(fd);
		rt_free(buff_ptr);
		
		//
		speed_count ++;
	}
	
	//draw graph
	{
		char buf[32];
		int block_max = i;
		int block = 0;
		int count_of_chars;
		float max =  speed_mb[speed_count-1][1];
		float scale = (1.f/max)*50.f;
		
		speed_count = 0;
		
		rt_kprintf("\nBlock Size (byte)        Writespeed = \"WR\"   Readspeed = \"RD\"\n");
	
		
		for(block=512; block<block_max; block+=block)
		{
			//write speed
			rt_kprintf("%6d->| ",block);
			count_of_chars = 1+ speed_mb[speed_count][0] * scale;
			while(count_of_chars--)
			{
			//	rt_thread_delay(15);
				rt_kprintf(">");
			}

			sprintf(buf, " WR:%3.2f MB/s\n", speed_mb[speed_count][0]);
			rt_kprintf(buf);
						
			//readspeed
			rt_kprintf("      ->| ",block);	
			count_of_chars = 1+ speed_mb[speed_count][1] * scale;
			while(count_of_chars--)	
			{		
				//rt_thread_delay(15);				
				rt_kprintf(">");
			}

			sprintf(buf, " RD:%3.2f MB/s\n", speed_mb[speed_count][1]);
			rt_kprintf(buf);
			if(block < block_max/2)
				rt_kprintf("        | \n");	
			
			speed_count ++;	
		}
		
	}
	
	if(speed_count > 0)
		rt_kprintf("Write Speed AVG: %d Byte/s | Read Speed AVG: %d Byte/s\n",writespeed_avg/speed_count, readspeed_avg/speed_count);
	
	unlink(filename);
}