AVR+Nut/OS vs. AT91+Linux

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

formatting link
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
Reply to
Randall Nortman
Loading thread data ...

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.

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

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

Diffcult and inefficient use of PCB space.

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

Reply to
linnix

check freescales NE64 micro controler with lan interface..

Kasper

Reply to
Repzak

Check out

formatting link
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.

formatting link
formatting link

Cheers, Richard

Reply to
Richard H.

[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

Reply to
Anton Erasmus

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.

formatting link

Regards,

Paul.

--
Remove _rem_ before replying by email.
Reply to
Paul Taylor

Try this:

formatting link

with this microcontroller:

formatting link

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

Reply to
Frank-Christian Kruegel

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

Reply to
Repzak

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:

formatting link
and
formatting link

(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.

formatting link

Reply to
Richard

I've been using

formatting link
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.

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.)

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
Reply to
Randall Nortman

[...]

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
Reply to
Randall Nortman

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
Reply to
Randall Nortman

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
Reply to
Randall Nortman

Yes, its Windows.

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

Mit freundlichen Grüßen

Frank-Christian Krügel

Reply to
Frank-Christian Kruegel

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.