Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
01/23/06 01:14
Read: times


 
#108055 - declared in bMaxPacketSize
Responding to: ???'s previous message
Mehdi said:
Why i must split descriptors to 8 bytes pieces while Both control Endpoints are 16 bytes buffer?

It's because 'bMaxPacketSize' in the device descriptor is defined as 8, as you showed in your first post.
MOV bMaxPacketSize,#08H

'bMaxPacketSize' in the device descriptor declares the maximum number of bytes that the control EP receives/sends in a single packet (transaction). 8 is fairly common value for mouse, keyboard, etc.

Do you actually set 'bMaxPacketSize' to 8 still now?
If you change it to 16, you can use full 16 bytes buffer.

Don't use 'fixed number'. Declare it as a constant with EQU and use this constant both for 'bMaxPacketSize' and in the packet split routine. It is better to code your firmware so that it works properly even if you change 'bMaxPacketSize'.


On GET_DESCRIPTOR request, firmware must return smaller number of bytes of
- the size of the requested descriptor
- the size requested by GET_DESCRIPTOR in wLength field

Sometimes host requests smaller number than descriptor size. For example, on BIOS boot, host requests 8 bytes for device descriptor.

Therefore, the code flow is
- Determine number of return bytes comparing the descriptor size and wLength field.
- Split it into 'bMaxPacketSize'

Tsuneo

List of 88 messages in thread
TopicAuthorDate
USB Enumeration Process!!!            01/01/70 00:00      
   USB Design By Example            01/01/70 00:00      
      USB Design By Example            01/01/70 00:00      
         Hi.            01/01/70 00:00      
            Jan Axelson            01/01/70 00:00      
            Salaam            01/01/70 00:00      
               Salaam, Saalam and Thank you.            01/01/70 00:00      
                  fires            01/01/70 00:00      
                     It's out. All is well.            01/01/70 00:00      
                        weather            01/01/70 00:00      
                           Normal Weather            01/01/70 00:00      
                           good for you            01/01/70 00:00      
            D12!            01/01/70 00:00      
               Firmware Programming Guide for D12!            01/01/70 00:00      
                  I'll get back            01/01/70 00:00      
                     Thanks            01/01/70 00:00      
   I don't think you ever send descriptor .            01/01/70 00:00      
      Thanks            01/01/70 00:00      
         Descriptor IDs            01/01/70 00:00      
      But i think i must do!            01/01/70 00:00      
         Edit!            01/01/70 00:00      
            Main Loop            01/01/70 00:00      
               Try USB.org            01/01/70 00:00      
                  I don't know why d12 don't interrupted            01/01/70 00:00      
               I don't know why d12 don't interrupted            01/01/70 00:00      
                  I don't know why d12 don't interrupted            01/01/70 00:00      
                     I don't know why d12 don't interrupted            01/01/70 00:00      
                  Acknowledge setup?            01/01/70 00:00      
                     Thanks Tsuneo ,            01/01/70 00:00      
                        Sorry, I confused            01/01/70 00:00      
                           Sorry, I confused            01/01/70 00:00      
                              Just A Question!            01/01/70 00:00      
                                 It's OK, just for enumeration            01/01/70 00:00      
                                    Any error code on Control In EP?            01/01/70 00:00      
                                       Zero Length Packet !!!            01/01/70 00:00      
                                          ZLP??            01/01/70 00:00      
                                             ZLP??            01/01/70 00:00      
                                                ZLP itself is not the key            01/01/70 00:00      
                                                   the code to write the descriptor            01/01/70 00:00      
                                                      VALIDATE_BUFFER            01/01/70 00:00      
                                                         VALIDATE_BUFFER            01/01/70 00:00      
                                                            VALIDATE_BUFFER            01/01/70 00:00      
                                                               Not exactly            01/01/70 00:00      
                                                                  'Read buffer' and 'Write buffer'            01/01/70 00:00      
                                                                     'Read buffer' and 'Write buffer'            01/01/70 00:00      
                                                                        VALIDATE_BUFFER ?            01/01/70 00:00      
                                                                           VALIDATE_BUFFER ?            01/01/70 00:00      
                                                                              Your code            01/01/70 00:00      
                                                                                 Bulk Mail            01/01/70 00:00      
                                                                                    SEND_REQUESTED_DESCRIPTOR            01/01/70 00:00      
                                                                                       Incredible Progress            01/01/70 00:00      
                                                                                          ZLP on Control-IN            01/01/70 00:00      
                                                                                             Control IN and Control OUT transfer            01/01/70 00:00      
                                                                                                Thanks for your responses,            01/01/70 00:00      
                                                                                                   SET_ADDRESS            01/01/70 00:00      
                                                                                                      Some Questions...            01/01/70 00:00      
                                                                                                         SET_DESCRIPTOR            01/01/70 00:00      
                                                                                                            Control transfer            01/01/70 00:00      
                                                                                                               Control transfer            01/01/70 00:00      
                                                                                                                  the whole picture            01/01/70 00:00      
                                                                                                                     The Whole Picture,Thanks            01/01/70 00:00      
                                                                                                                        IN EP interrupt after sending packet            01/01/70 00:00      
                                                                                                                           Two USB communication procedure            01/01/70 00:00      
                                                                                                            comment...            01/01/70 00:00      
                                                                                             zlp!            01/01/70 00:00      
                                                                                             zlp!            01/01/70 00:00      
                                                         misunderstanding!            01/01/70 00:00      
   send an e-mail to your friendly local Ph            01/01/70 00:00      
   waiting for a techie, so I rummaged a bi            01/01/70 00:00      
   A Question?            01/01/70 00:00      
      declared in bMaxPacketSize            01/01/70 00:00      
   Source Code!            01/01/70 00:00      
      Source is Edited now!            01/01/70 00:00      
      Source is Edited!            01/01/70 00:00      
   D12 Example in "USB Design By Example"            01/01/70 00:00      
   Configuration Descriptor!            01/01/70 00:00      
      The 2nd Get_Descriptor            01/01/70 00:00      
         Thanks Tsuneo            01/01/70 00:00      
            Isn't it the config. desc. request?            01/01/70 00:00      
               Best For You Tsuneo !            01/01/70 00:00      
               Thanks            01/01/70 00:00      
      Strings            01/01/70 00:00      
         Thanks Thomas            01/01/70 00:00      
            Correction            01/01/70 00:00      
               USBView and UVCView            01/01/70 00:00      
               Thanks Thomas            01/01/70 00:00      
   Set DMA Mode!            01/01/70 00:00      
      It's optional            01/01/70 00:00      

Back to Subject List