Exemplo n.º 1
0
//******************* Custom Test Main 3 **********
//do single eFile functions and check what they return.
int main(void){
	int x;
	char name[2];
	extern union dirUnion DIRBlock; 
	name[0]='a';
	name[1]='\0';



	x=eFile_Init();

	x=eDisk_ReadBlock(DIRBlock.byte,0);
	DIRBlock.headers[0].name[0]='A';
	eDisk_ReadBlock(DIRBlock.byte,0);
	x=x;
	x=eFile_Format();
	x=x;
	x=eFile_Create(name);
	x=x;
	x=eFile_GetBlock();
	
	while(1){
	;}
	return 0;
}
Exemplo n.º 2
0
void TestDisk(void){  DSTATUS result;  unsigned short block;  int i; unsigned long n;
  // simple test of eDisk
  printf("\n\rEE345M/EE380L, Lab 5 eDisk test\n\r");
  result = eDisk_Init(0);  // initialize disk
  if(result) diskError("eDisk_Init",result);
  printf("Writing blocks\n\r");
  n = 1;    // seed
  for(block = 0; block < MAXBLOCKS; block++){
    for(i=0;i<512;i++){
      n = (16807*n)%2147483647; // pseudo random sequence
      buffer[i] = 0xFF&n;        
    }
    GPIO_PF3 = 0x08;     // PF3 high for 100 block writes
    if(eDisk_WriteBlock(buffer,block))diskError("eDisk_WriteBlock",block); // save to disk
    GPIO_PF3 = 0x00;     
  }  
  printf("Reading blocks\n\r");
  n = 1;  // reseed, start over to get the same sequence
  for(block = 0; block < MAXBLOCKS; block++){
    GPIO_PF2 = 0x04;     // PF2 high for one block read
    if(eDisk_ReadBlock(buffer,block))diskError("eDisk_ReadBlock",block); // read from disk
    GPIO_PF2 = 0x00;
    for(i=0;i<512;i++){
      n = (16807*n)%2147483647; // pseudo random sequence
      if(buffer[i] != (0xFF&n)){
        printf("Read data not correct, block=%u, i=%u, expected %u, read %u\n\r",block,i,(0xFF&n),buffer[i]);
        OS_Kill();
      }      
    }
  }  
  printf("Successful test of %u blocks\n\r",MAXBLOCKS);
  OS_Kill();
}
Exemplo n.º 3
0
static int _SH_SectorDump(void)
{
	int i;
	unsigned char* c = (unsigned char*)funcBuff.c;
	if(!_SH_cmd.args[0][0])
	{
		fprintf(stderr, "Usage: %s <sector number>\n", _SH_cmd.command);
		return 1;
	}
	eDisk_ReadBlock(c, atoi(_SH_cmd.args[0]));
	for(i = 0; i < 512; i += 4)
	{
		unsigned long l;
		l = ((c[i] << 24) | (c[i+1] << 16) | (c[i+2] << 8) | c[i+3]);
		printf("%03x: %08x\n", i, l);
	}
	return 0;
}
Exemplo n.º 4
0
Arquivo: Lab5.c Projeto: oujoshua/445M
void read_test(void) {
  int i;
  unsigned int then, now;
  eFile_Init();
  eFile_Format();
  OS_AddThread(&write_test, 128, 0);
  OS_Sleep(2000);
  then = OS_MsTime();
  // read 10 blocks
  for(i = 0; i < 10; i++) {
    eDisk_ReadBlock(buffer, i);
  }
  now = OS_MsTime();
  OS_AddThread(&SH_Shell, 128, 0);
	OS_Sleep(1000);
	OS_Suspend();
  printf("Read test took %d ms", now - then);
  eFile_Format();
  OS_Kill();
}