Hi, everyone: I use the s3c2410_udc.c, file_storage.c and others in drivers/usb/gadget to make my PDA acts as a USB disk to PC. When my PDA is connected with PC, it can be realized as a usb disk, I can also copy files from PDA to PC.But the question is:files cann't be copied from PC to PDA.After use BUS HOUND and printk, I found some reasons, but don't know how to do next. 1. when receive WRITE(10) from PC, PDA do as follow(it's defined in file_storage.c) 1.1 check buffer 1 is empty?--yes-->receive data from usb, and save data to buffer 1 1.2 check buffer 2 is empty?--yes-->receive data from usb, and save data to buffer 2 1.3 check buffer 1 is full?--yes-->write data in buffer 1 to Flash 1.4 check buffer 2 is full?--yes-->write data in buffer 2 to Flash 1.5 go back to 1.1, until data ends The question is :in step 1.1, for example, when receive 4096 bytes data from PC, PDA only receive 4032 bytes(receive 63 tims, for each 64 bytes), the last bulk_out interrupt is not received but receive a interrupt (EP_INT_REG=USB_INT_REG=0, PWR_REG=0, EP0_CSR=0) and after some seconds, a reset interrupt with bulk_out interrupt is received and usb bus is reset. Who can tell me how the interrupt (EP_INT_REG=USB_INT_REG=0, PWR_REG=0, EP0_CSR=0) is produced when it's not EP interrupt or USB interrupt? Who can tell me why the last bulk_out interrupt is not received by PDA?
thanks in advance! Yours 施金前 2009-03-24 snoppy1314
<<spacer.gif>>
<<m_bg_tr.gif>>
<<tl.gif>>
<<t_bg.gif>>
<<t_mr.gif>>
<<tr.gif>>
<<m_bg_tl.gif>>
<<m_tr.gif>>
<<m_bg_tr.gif>>
<<dl.gif>>
<<d_bg.gif>>
<<dr.gif>>
