mcf5272 USB

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

mcf5272 USB

529 Views
ericleupi
Contributor I

Hello,

 

The company I work for has a legacy product utilizing the mc5272 micro.  We are using the usb interface on the micro ( for configuring the product etc ).  The USB interface works with older version of windows ( up until XP ....XP was the newest windows OS when this product was developed back in the day ). On host machines running Windows 7 or 8, there appears to be a timing issue or something that prevents the interface between the host and our product to function properly ( usb String requests ( SerialNumber, ProductID, LanguageID are sometimes not responded to, are responded to out of order, etc .   I've been all over the firmware trying to figure out what is going on and was wondering if there are any known issues with the USB interface on the 5272 and newer versions of Windows?...

 

Thanks for any input.

Labels (1)
1 Reply

396 Views
brianwilloughby
Contributor III

Do you have a USB packet sniffer? I fixed a problem with one of the ColdFire bootloaders where it was not responding to a particular (GetConfiguration) message that is sent by Mac OS X but not Windows. You should be able to see the exact point where the failure starts.

I'm very surprised that the responses come out of order. That might require some serious code review. Then again, it could be that the problems only start after an initial failed response causes havoc with a state machine.

I have a hunch that Windows 7 and 8 have started using more of the USB standard command messages. Technically, the requests are legal, but the ColdFire firmware does not fully implement all the parts of the USB standard. It may be a simple matter of implementing one or more additional USB commands and everything will fall into place. In my experience, the bootloader at least took many shortcuts, not implementing any more than the most basic commands. It seems possible that the code you have skipped a few commands, or perhaps USB has added some new commands that are confusing the old code.