Problems with USB on ColdFire processors

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

Problems with USB on ColdFire processors

3,229 Views
M_H_
Contributor I
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.
  1. Is it worth changing to another Freescale processor with an embedded USB controller or am I just going to come across other problems?
  2. Has anybody had any problems with the MCF5445x?
  3. Is their example USB code for other processors as riddled with fundamental bugs as the example they sent me for the MCF547x?
  4. Has anybody used an external USB controller that they would recommend?

Regards,

Malcolm

Labels (1)
0 Kudos
7 Replies

629 Views
kmahan
Contributor I
The 5445x part uses totally different USB code/hardware.  The USB stack is shared with the code used for the iMX27/iMX31 BSPs (and others).  The stack is fully functional (as is the hardware).

If you download the 5445x BSP you can read the document about the USB stack -- BSP/Help/software/device_drivers/USB_MCF5445x.htm .
0 Kudos

629 Views
M_H_
Contributor I
Thank you for that. I've downloaded the 5445x BSP and read the USB_MCF5445x.htm file and would now like to take a look at the source code for the USB drivers. Problem is that I do not have access to a Linux machine and as far as I can see the BSP needs installing on a Linux machine in order to access drivers/usb/*.  Are these files available in a format that can be read on a non-Linux machine or are there any non-Linux example drivers?
 
I've taken a look at the USB controller on the 5445x and it couldn't be more different from the one on the 5474. Starting from my working USB driver and modifying it for the 5445x (which is what I had hoped to do) just isn't feasible.
 
Another possibility is sticking with the 5474 and adding an external controller but how long is the 5474 going to last now that Freescale have admitted that its USB does not work?
 
One other thing, is CFInit going to be updated for the 5445x? It was a very useful utility while I was developing my 5474 firmware.


Message Edited by M.H. on 2007-12-20 09:18 AM
0 Kudos

629 Views
kmahan
Contributor I
It is difficult to post just the USB pieces.  It is integrated into the kernel.  There are the pieces under arch/m68k/coldfire (and ..coldfire/usb).  Then there are the headers.  And the kernel "common" usb code.  And all the general routines it calls.

It might be possible to use cygwin to install the BSP.  I've heard of people doing this but I haven't done it myself.
0 Kudos

629 Views
M_H_
Contributor I
I've now installed Linux on my computer so I can access those files.
 
Do you have any idea if CFInit is going to be updated? Thanks for your help.
0 Kudos

629 Views
kmahan
Contributor I
The CFInit code is handled by a different group.  The group I'm in handles the linux/uclinux ports.   The person who probably has the answer is currently on vacation (most of us are on vacation through the end of the year).   So there will probably be a delay in getting an answer posted.
0 Kudos

629 Views
JWW
Contributor V
CFInit is a tool that we are still supporting by I don't have a date yet on when the 5445x will be handled in that tool.

But instead we do have our NEW device init tool that is part of Codewarrior.  You can download Codewarrior 7.0 for free and use device init to generate code much in the same way as CFInit. 

I'm actually looking for feedback on this new tool.  So please let me know if you like it or if we can improve it.  Codewarrior 7.0 is the first time it has been offered for ColdFire.  A version was offered for the S08 family over the last several years and people really like the functionality.  So we've introduced it for ColdFire.

You don't have to use Codewarrior to make you final projects or code, but just generate the init code.

FYI...

-JWW
0 Kudos

629 Views
M_H_
Contributor I
Thank you for the reply about CFInit and Codewarrior
 
I will download and try Codewarrior 7.0 and let you know how I get on.
0 Kudos