In the Freescale document "MCF5475 Device Errata, Rev 4" it says under item 34 "USB Device Controller May Lose Data in FIFO RAM". It goes on to say that this problem will not be fixed. I queried this with Freescale in order to get a better idea of what the problem actually was in case it didn't affect my use of the USB (which appears to work). Their response was:
If the USB is going to be used to plug into a generic USB tree (e.g. PC with other unknown USB peripherals), then there will be no way to guarantee that there will not be a problem.
Workarounds are not acceptable at all, so it's HIGHLY recommended to use an external USB controller or, for example the new MCF5445x as another option.
I could rant about this but I have a problem to sort out first since I am about to launch a new product that uses this processor and the USB is an important part of it. My questions are to anybody that has used USB on Freescale processors and in particular the MCF5445x.
- Is it worth changing to another Freescale processor with an embedded USB controller or am I just going to come across other problems?
- Has anybody had any problems with the MCF5445x?
- Is their example USB code for other processors as riddled with fundamental bugs as the example they sent me for the MCF547x?
- Has anybody used an external USB controller that they would recommend?