EmbeddedRelated.com
Forums

SAM7X vs Freescale MCF52233

Started by David Lundquist May 14, 2006
Group,

I've done two projects now with the SAM7S family of parts and in general I'm
pretty happy with the part. My next endeavor is a fairly simple industrial
control application requiring ethernet connectivity. I naturally assumed
I'd use the SAM7X, but just about the time I started looking into this
Freescale announced their new series of Coldfire parts internal FLASH parts
with ethernet MAC and PHY on-chip. The parts seem squarely aimed at the
same market and are quite comparable feature wise, cost wise etc.. The big
difference is that the Coldfire part has the ethernet PHY on chip which
makes life a lot easier.

Given how attractive this part looked I went ahead and attended one of the
seminars they are now running in the US (Hauppauge NY last Thursday) and
must say I'm rather impressed with the total package they've put together.
You walk out of the seminar with everything you need to put together a
simple web server, complete with the interniche lite prototocol stack and a
flash file system. The free version of the codewarrior tools looks pretty
good too.

Overall my conclusion is that this part seems to have a slight edge over the
SAM7X particularly with the PHY integration and the level of support that
allows you to get an ethernet enabled app running almost immediately. I
wonder if others have looked at this part and what conclusions they've come
to as it compares to the SAM7X. I noticed at least one of the participants
here also posts to the freescale forum on this part :)

Regards,
Dave Lundquist

Hi David

I have just ported the uTasker (Operating System with integrated
TCP/IP stack and real-time simulator) to the MCF5223X.
In February I ported it to the SAM7X so I know the two devices very
well.

I have just put the M52235EBV on-line at the following address:
http://212.254.22.36/
You can see the board via web cam at http://212.254.22.36:8080

It is running the uTasker demo project (which also runs on the
MC9S12NE64, the SAM7X and the Coldfire - meaning simply change a
define and compile it for the target of your choice. All devices are
simulated so that development is performed with the simulated device
of your choice, using the PC NIC as EMAC so even complicated IP
applications can be completely developed on the PC before burning to
the real device).

The demo allows you to type in your email address and it sends you a
welcome mail. It allows control of the LEDs on the EVB on the I/O
web page and allows various setups and statistic monitoring on other
web pages.
It also supports ftp (for loading and changing web pages) and telnet
(with an example menu control of various set-ups). Try it and see
what you think.

A very quick comparison between SAM7X and Coldfire:

- The Coldfire doesn't have a thumb mode and code space occupies
170% that of SAM7X code compiled in Thumb mode. The project on-line
is about 64k in size on the Coldfire and about 40k on the SAM7X.
There are some code size comparisons in the tutorial to the demo
project for the NE64 at
http://www.mjbc.ch/documents/uTasker/NE64/uTaskerV1.2-Tutorial.PDF
for various compilers. (In this document you can also get an idea of
how the simulator works and how it, and the uTasker environment, can
slash project development times....)

- The SAM7x has better FLASH granuality (sector size) than the
Coldfire (256Bytes compared to 2k).

- The SAM7X has USB, which the Coldfire doesn't have (the Coldfire
version with USB has no Ethernet).

- SAM7x has 64k RAM/256K FLASH or 32k RAM/128k. Coldfire has 32k RAM
in both device types.

- Coldfire has integrated EPHY (as does NE64 - HCS12 based) but the
SAM7X needs an external one. External ones are however quite cheap,
small, easy to control and optionally support auto-cross-over (which
the internal EPHYs don't).

- SAM7X is quite readily available in small production quantities. I
did a commercial design with the uTasker, which can be seen at
http://www.altec-ag.ch/ger/Produkte/DOWNLOADS/DS_AL6000S_V5.pdf
(normally I have it also on-line but I took it off for a while due
to the new Coldfire demo and so that I can work on a new CAN driver).

- Price for 100 at Digikey are $10 for 128k FLASH and $11.50 for
256k FLASH. Coldfire is presently only available as samples but the
price should be comparable to SAM7X devices.

- The Coldfire development package is good. It comes with a 128k
limited CodeWarrior and BDM for $299 in form of the EVB (I don't yet
have a DEMO board since the seminar in my region takes place at the
end of June - but I understand it is all there for $99). As you see
from the demo project, 128k enables quite powerful applications
without investing in more compiler power!! The tools are also very
good - documentation is a slight problem, with unclear descriptions
costing about 2 days extra port time. (Can't remember any more
whether there were SAM7X doc. issues...)

In the details there are many differences which are more subtile
(processor core, peripherals etc.) and whether an advantage or not
will depend on the project itself. For example I prefer the Coldfire
EMAC but the SAM7X EMAC has more powerful multicast support....

By the way, the uTasker is free for educational and hobby use -
including free email support - and available for SAM7X and M5223X
(swap and change projects with a define!!). The simulator alone
reduces real development times by over 60%.

A commercial, royalty free project license costs $485 incl. 3 months
personal email support and pays for itself in a day. The SAM7X
project comes as ready-to-run IAR project and the COLDIRE project
comes as ready-to-run CODEWARRIOR project.
See the simple licensing terms (with application for free
educational license) here:
http://www.mjbc.ch/documents/uTasker/License.txt
To learn about the operating system basics, see the following
document:
http://www.mjbc.ch/documents/uTasker/uTaskerV1.2.PDF

For a pressing development, the SAM7X is probably the safest bet but
the Coldfire has obviously been designed to keep the ATMEL people on
their toes!!

Regards

Mark Butcher
www.mjbc.ch

PS. Also watch out for the Philips LPC23xx (should be appearing
soon), also a SAM7 with EMAC. This may also prove an interesting
candidate...

--- In A..., David Lundquist
wrote:
>
> Group,
>
> I've done two projects now with the SAM7S family of parts and in
general I'm
> pretty happy with the part. My next endeavor is a fairly simple
industrial
> control application requiring ethernet connectivity. I
naturally assumed
> I'd use the SAM7X, but just about the time I started looking into
this
> Freescale announced their new series of Coldfire parts internal
FLASH parts
> with ethernet MAC and PHY on-chip. The parts seem squarely aimed
at the
> same market and are quite comparable feature wise, cost wise
etc.. The big
> difference is that the Coldfire part has the ethernet PHY on chip
which
> makes life a lot easier.
>
> Given how attractive this part looked I went ahead and attended
one of the
> seminars they are now running in the US (Hauppauge NY last
Thursday) and
> must say I'm rather impressed with the total package they've put
together.
> You walk out of the seminar with everything you need to put
together a
> simple web server, complete with the interniche lite prototocol
stack and a
> flash file system. The free version of the codewarrior tools
looks pretty
> good too.
>
> Overall my conclusion is that this part seems to have a slight
edge over the
> SAM7X particularly with the PHY integration and the level of
support that
> allows you to get an ethernet enabled app running almost
immediately. I
> wonder if others have looked at this part and what conclusions
they've come
> to as it compares to the SAM7X. I noticed at least one of the
participants
> here also posts to the freescale forum on this part :)
>
> Regards,
> Dave Lundquist
>

Mark,

Thanks for the very thorough analysis. Some of the points you raise are
very interesting and perhaps make my decision even more difficult.

I had suspected the ARM in Thumb mode had a code density advantage, but I
did not expect it to be as significant.

I'm still leaning slightly toward the Coldfire based on the Embedded PHY and
the low cost entry point on very good tools, but I could easily see someone
else going with the SAM7X looking at the same tradeoffs. I probably should
review things further.

I will take a look at uTasker shortly.
Some additional info I can provide:

I was told that sample quantities of the 80 pin MCF52233 and the 112 pin
MCF52235 are available right now. Note that these are the two product
configs used in the Eval Board and the low cost demo board. When I asked if
I could get 10 pieces of the 80 pin part for development in a week or two I
was told "no problem". Production quantities are supposedly going to be
available in July.

I have the DEMO board here and got to play with it at the seminar. It has
on it the P&E BDM debug interface which is wired straight to the target.
Now if you look at the board closely the layout of the BDM is quite separate
from the rest of the board. It would not be difficult at all to separate
it and tie it to another target. You can take a look at the seminar
material including a manual and schematic for the demo board here:

www.freescale.com/coldfireseminars

Regards, and many thanks,
Dave Lundquist

Hi Dave

> I have the DEMO board here and got to play with it at the seminar.

The M52233 is the same as the M52235 but without Flex-CAN 2.0B and
without Crypto Accelerator.
I suspect that pure IP code for the EVB will also run on the Demo
board with no modification (LEDs may be wired up differently, which I
haven't check yet).

If you want to try the uTasker demo project on your target (load with
CF Flasher 3.1 - be sure to get the absolutely newest version!!!) you
can get the SREC at
www.mjbc.ch/software/Coldfire/uTaskerV1.2-M52235EVB.zip

It will have a default IP address of 192.168.0.3. You can upload the
web pages from the on-line demo via FTP and copy them into your device
using FTP. Then the local IP settings can be modified via a web page
(or via Telnet).

The same goes for anyone with the EVB, where it certainly works... the
web pages and how to set up the device is described in the tutorial
(link in previous posting). The only thing which will not work is
sending emails since the default setting in the project sends using my
provider, who will reject them when the source address is unknown
(doesn't allow relaying).

Tell me if you need any help or have new details. The device is very
new and I presently do not know any one else supporting it.

Regards

Mark
www.mjbc.ch

PS. The same project also runs on the SAM7X (on its demo board). If
anyone would like the code to load it and test just contact me!

Hi Dave

I just checked out the DEMO board stuff and see that the LEDs are in
the same place...

I also looked at the presentation material and had a bit of a shock.
It seems as though the Coldfire PHY has the same bugs as the NE64
PHY (maybe you heard about them at the seminar). Since these bugs
were known at the end of 1994 I expected them to be corrected in the
Coldfire but apparently they are still there.

1. Auto-negotiation doesn't always work (for example I can not auto-
negitation with my laptop but my hubs and switches work OK). The
only workaround is not to use auto-negotiation - which is a real
nuisance. Often the speed is set up via Web page or Telnet and when
the link can't negotiate then it can also not be reconfigured - I
have been caught out with the NE64 more than once (and it always
happens when you are giving a demo... of course...)

2. The EPHY Tx/Rx LEDs blink much too fast to be seen properly. SW
must resolve this. The uTasker has in-built support for configurable
LED display times - especially for the NE64. I didn't think about
activating it in the Coldfire project (although I did notice that
the LEDs were only visible with high traffic levels) - I will have
to think again.

Cheers

Mark
www.mjbc.ch