[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [usb] Info Reqd



** Proprietary **

firmware is nothing but software on the device side. all the things on the device are majorly done by firmware itself. h/w helps only in reducing the time by doing some time critical tasks. ofcourse h/w has the capability to do s/w tasks as well but vice-versa may not be true.

basically firmware is loaded into flash where-in the micro-controller executes the interrupt service routines(put into flash) accordingly. for example, if a USB OUT packet has come to endpoint no. 2, then the corresponding interrupt will be generated. upon the interrupt, that particular ISR is executed. probaly the ISR may contain, taking the data byte by byte and loading into a FIFO. then reading the whole data and analysing it to take further actions(like enabling some peripherals etc). also an ACK bit(s) may be set so that h/w sends ACK. the story goes on and on..... as Rudi suggested sending ACK has to be analysed carefully depending on time-out of USB and time taken by controller's machine cycle.

firmware doesn't do only configuration setup but also many of the above such things.

it's better if u can see any of the USB controller notes.

i don't know whether u were asking as i have thought or anything else.

...vikas.

>>> sinax_usb@yahoo.com 12/26/02 02:15PM >>>

Thanks for the info.But i want to know now what all the work the f/w does?
I thought it sets up all the configuration info at the startup and thats it.Only when u want to change the hardwired config info u download the new f/w to the device.
 Vikas T Rao <vikasraot@myw.ltindia.com> wrote:** Proprietary **

hi,

ACK has to be sent when any of the following condition occurs.

1. when there is no CRC error
2. when there is no bit stuff error
3. when the received message(token and data packets) is appropriate for the endpoint under consideration

sending ACK depends on one's own implementation aspects. ideally firmware(f/w) has to interact with h/w. one option in such case could be, f/w should set a bit(or a group of bits) in the register such that h/w will send ACK if this bit is set(active). then h/w will make this bit inactive immediately after sending.

...vikas

>>> sinax_usb@yahoo.com 12/26/02 10:50AM >>>

Hi,
I am currently working on developing a USB device stack.My question is:
What is the condition for ACK to be sent frm the device: Is it just CRC pass in which case the hardware sends the ACK or is it the endpoint successfully receiving the message?To send an ACK does the s/w interact with the h/w?



---------------------------------
Do you Yahoo!?
Yahoo! Mail Plus - Powerful. Affordable. Sign up now

--
To unsubscribe from usb mailing list please visit http://www.opencores.org/mailinglists.shtml 


---------------------------------
Do you Yahoo!?
Yahoo! Mail Plus - Powerful. Affordable. Sign up now

--
To unsubscribe from usb mailing list please visit http://www.opencores.org/mailinglists.shtml