AVR+Nut/OS vs. AT91+Linux

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From English to

Threaded View
I need to produce an Ethernet-capable embedded device (including
TCP/IP stack) for about $50 in low quantities (think perhaps qty 100).
I can get a 2-layer board in these quantities for $13, so that leaves
only about $40 for everything that goes on the board.  The good news
is that by far, the dominating resource consumption will be from the
TCP/IP stack, and whatever OS overhead there may be; my application
actually does very little.  I don't need a full 10Mbps throughput
through the stack; in fact, 500kbps average would be plenty.  The
other components on the board for my particular I/O requirements are
very cheap.  Reliability and convenience (for me, the developer) is
more important than blazing-fast performance.

I have a fair amount of experience with AVR chips, but have always
rolled my own "OS" (put in quotes because these are hardly real
operating systems, more like development libraries).  I've never
hooked an AVR up to Ethernet or tried to implement any protocol as
complex or resource-intensive as TCP/IP on it.

So after a bit of searching around my first inclination is to use
Nut/OS, the operating system designed for the Ethernut
(http://www.ethernut.de /).  I would not use the Ethernut hardware
design exactly, since I need different types of I/O on my board, but I
would do essentially the same thing with respect to the Ethernet
MAC/transceiver and external SRAM.  Anybody have experience with the
reliability of Nut/OS?

But then there's also the option of beefing the whole thing up a bit
and going for Linux on an ARM chip, and given my experience with
Atmel, my first choice would be an AT91 chip, probably something very
cheap in the 55MHz range, where there seem to be several choices
priced comparably to the AVR Mega128, which is what I would use for
the Nut/OS route.  I have a lot of experience with desktop/server
Linux, but no experience at all with embedded Linux.  So, I have a few
questions:

1) How much hardware is necessary to run Linux with a TCP/IP stack, in
   terms of off-chip RAM and Flash storage (for the OS and
   applications)?  How many support chips would I need?  Can I do it
   on a 2-layer board?  Is this going to totally blow my budget?

2) I have no money, nor personal desire, for commercial software
   liscensing or proprietary development environments.  How much of a
   pain is it to get free Linux running on an ARM7 chip, assuming a
   Linux-based PC development environment with the right
   cross-compilers?  Are there particular support components (Ethernet
   chips, memory chips, etc.) I can choose that will make it work out
   of the box?  Do I have to roll my own distro, or is there a good
   free distro for highly constrained environments?  (I just need
   something that handles basic system initialization and starts my
   application processes.  Something that manages firmware updates
   would be nice but not essential.)

3) Is there really any advantage to Linux vs. the AVR+Nut/OS solution,
   which seems a bit simpler to me?  If Linux ends up being more
   reliable, that would be a good enough reason for me.  But bigger is
   not always better, as I'm sure many on this group would agree.

Thanks very much for any advice.  Recommendations of options I haven't
considered would be welcome as well.

--
Randall

Re: AVR+Nut/OS vs. AT91+Linux

Quoted text here. Click to load it

Sound expensive for 2 layers (qty 100), unless you have a very big
board.  But, you would probably need at least 4 layers for ARMs.
Mult-layers will be smaller, so end up with similar cost.

Quoted text here. Click to load it

128M SDRAM preferred.  They can be recycled from old PCs for peanuts.

Quoted text here. Click to load it

One data flash, Two SDRAM chips and Three voltage regulators, etc.

Quoted text here. Click to load it

Diffcult and inefficient use of PCB space.

Quoted text here. Click to load it

Multi-layers are not that expensive for productions, but more for
prototypes.


Re: AVR+Nut/OS vs. AT91+Linux

Quoted text here. Click to load it

check freescales NE64 micro controler with lan interface..

Kasper



Re: AVR+Nut/OS vs. AT91+Linux

Quoted text here. Click to load it

Hey

I am using Uip on my NE64 and have my homepage on a MMC card...
There is not added write support, but the configuration of the server is
placed in a file on the mmc card så IP adress etc can be changed without
changeing firmware :)

Kasper



Re: AVR+Nut/OS vs. AT91+Linux
Quoted text here. Click to load it
[...]
Quoted text here. Click to load it

Thanks for the suggestion.  I'm digging into it, but I haven't done
anything with Motorola MCUs for a decade or so, so I'm not sure what's
out there these days.

I don't see the NE64 (or HCS12) listed as one of the uIP ports -- did
you port it youself?  What free compilers are available for HCS12
anyway?  gcc by any chance?

--
Randall

Re: AVR+Nut/OS vs. AT91+Linux
Quoted text here. Click to load it

Check out http://www.protoexpress.com for 4-layer ($122 for 2 proto
boards, and they get good feedback from folks that should know).

Does the packaging (enclosure, etc.) need to come out of your $50
budget?  How about assembly?

Check out the Lantronix XPort and Digi ME.  Expensive, but nearly
turnkey.  If you can tailor their code to drive your other components,
you may not need much else.
http://www.digi.com/products/embeddedmodules/digiconnectme.jsp
http://www.lantronix.com/device-networking/embedded-device-servers/xport.html

Cheers,
Richard

Re: AVR+Nut/OS vs. AT91+Linux
Quoted text here. Click to load it

I've been using http://www.pcbfabexpress.com/ for low-volume
prototypes, which is where my $13 quote comes from (that's 2-layer,
qty 5, 5-day turn -- a pretty good deal IMO).  Once it's time to do a
higher-volume run, I may look elsewhere.

Quoted text here. Click to load it

Well, yes and no.  For the initial low-quantity run, I can consider
all those costs outside of the $50.  (Assembly will, most likely, be
me with a decent soldering iron and a steady hand, so I need to stay
away from BGA chips.)

Quoted text here. Click to load it

I came across both of these, but the digi module seems to require a
proprietary development environment.  I saw something about a Linux
port, but this also seems to be semi-proprietary.  Freely-available
information was scarce and buried inside mounds of marketing hogwash,
so I could be mistaken.  Do you have any idea what it takes to
actually write code for this thing?

The Xport seems, from what I can tell, to essentially be a
TCP-to-serial convertor, so that I could essentially just make use of
a single TCP port to talk to my MCU.  Is that right?  I think I'd
rather have the flexibility to be able to have multiple ports to
access different functions of the device, although I might be able to
get by with basic serial access and a more complicated
application-level protocol to access different functions.

--
Randall

Re: AVR+Nut/OS vs. AT91+Linux
On Fri, 02 Sep 2005 16:18:28 GMT, Randall Nortman

Quoted text here. Click to load it
[snipped]

What about a Wiznet 3100A based module together with an AVR ?
You can get a module NM7000 (W3100A + Phy) for US$ 26 is single
quantities. The NM7010B (W3100A + Phy +Mag-Jack) for US$ 34.
Add a small AVR for US$ 6, and you should have enough for a
2 layer PCB.
To get basic TCP/IP going with the Wiznet module is trivial. Products
such as Bascom-AVR and Codvision already has libraries to support
this chip.

Regards
  Anton Erasmus

Re: AVR+Nut/OS vs. AT91+Linux


Quoted text here. Click to load it

Maybe something like eCos would be more appropriate - you wouldn't need to
beef up the hardware as much as you would to run Linux. I can't think of
anything linux would give you that eCos wouldn't for the sort of thing
that you are looking to do.

http://sources.redhat.com/ecos /

Regards,

Paul.

--
Remove _rem_ before replying by email.


Re: AVR+Nut/OS vs. AT91+Linux
On Fri, 02 Sep 2005 16:18:28 GMT, Randall Nortman

Quoted text here. Click to load it

Try this:

http://www.zilog.com/products/partdetails.asp?id=eZ80F910200ZCO

with this microcontroller:

http://www.zilog.com/products/partdetails.asp?id=eZ80F91

Development is very easy - the developer kit (99$) comes with everything you
need - including JTAG/ZDS debugger, IDE with compiler/assembler and RTOS
with TCP/IP, HTTP/SMTP/FTP/SNMP/... The controller is about 12$ and gives
you Fast Ethernet.

Mit freundlichen Grüßen

Frank-Christian Krügel

Re: AVR+Nut/OS vs. AT91+Linux
Quoted text here. Click to load it

I'm guessing that IDE is Windows-only?  I prefer to do my development
on Linux, though if everything else about the chip turns out to be
perfect, I could accept working on Windows.  Any license fees for the
RTOS and TCP/IP stack?

Thanks for the recommendation.

--
Randall

Re: AVR+Nut/OS vs. AT91+Linux
On Wed, 07 Sep 2005 02:51:19 GMT, Randall Nortman

Quoted text here. Click to load it

Yes, its Windows.  

Quoted text here. Click to load it

No. It's all included in the 99$ for the DevKit.

Mit freundlichen Grüßen

Frank-Christian Krügel

Re: AVR+Nut/OS vs. AT91+Linux

Quoted text here. Click to load it


Hi Randall,

Sorry for a rather rushed reply.  There are the new AT91SAM7X devices from
Atmel as a low cost ARM solution.  These have an inbuilt MAC peripheral.

I have recently got FreeRTOS.org running with both uIP / IAR and lwIP / GCC.
Take a look at:
http://www.FreeRTOS.org/portsam7xiar.html and
http://www.FreeRTOS.org/portsam7xlwIP.html

(these are direct links so you will not see the menu frame).

There are drivers for the MAC and demo WEB server applications to get you
started.  Maybe of interest?

Regards,
Richard.


http://www.FreeRTOS.org




Re: AVR+Nut/OS vs. AT91+Linux
Quoted text here. Click to load it

Yes, this looks good -- both the AT91SAM7X line and FreeRTOS.  The
problem is, I can't find the SAM7X line anywhere, and Atmel's website
says the product status is "sampling".  How/where did you get you get
your hands on it?

Thanks,

--
Randall

Site Timeline