Exemplo n.º 1
0
int main(void)
{

current_port= ((u32) use_usb_port1)!=0;
// changes IOS vector interrupt to crt0.s routine

//swi_mload_led_on();

syscall_base=swi_mload_get_syscall_base();
os_sync_after_write((void *) &syscall_base, 4);

swi_mload_call_func((void *) copy_int_vect, (void *) swi_mload_get_ios_base(), NULL);


heaphandle = os_heap_create(heapspace, sizeof(heapspace));

void* timer1_queuespace = os_heap_alloc(heaphandle, 0x80);

timer1_queuehandle = os_message_queue_create(timer1_queuespace, 32);



    if(tiny_ehci_init()<0) return -1;
	
  
    ehc_loop();

	return 0;
}
Exemplo n.º 2
0
DSTATUS disk_initialize(BYTE drv, WORD *ss)
{
	s32 r;
	int i;

	while(1)
	{			
		dbgprintf("FFS:Initializing TinyEHCI...\n");
		tiny_ehci_init();
		
		udelay(50000);

		dbgprintf("FFS:Discovering EHCI devices...\n");
		
		i = 1;

		while(ehci_discover() == -ENODEV)
		{
			dbgprintf("FFS:Waiting for device to become ready (%d)\n", i);
			udelay(4000);
			i++;
		}
	
		r = USBStorage_Init();
		
		if(r == 0)
			break;
	}		
	
	s_cnt = USBStorage_Get_Capacity(&s_size);
	
	*ss = s_size;
	
	dbgprintf("FFS:Drive size: %dMB SectorSize:%d\n", s_cnt / 1024 * s_size / 1024, s_size);

	return r;
}