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>>

Reply via email to