What Chip, what RTOS and what TCP/IP Stack, I...yi....yi....

I am frustrated that in this day and age of micro controllers there is so little out there for

having an efficient RTOS and well rounded TCP/IP stack for commercial use.

So many chips today have MAC and or Mac/PHY built in but no software for it. I know, i know they are in the market to make the chip and not the software. But still…

For the small companies who need a somewhat fast processor in the area of 100mhz. i like the new LPC176x and Luminary LM3S9B9x’s, but that still leaves me empty for an RTOS & TCP/IP Stack.

There are some end providers to solve the problem, like:

In no particular order.

#1) Netburner, fast speed, excellent RTOS & TCP/IP stack, but a bit pricey.

#2) Rabbit, RCM5700, ok speed, good price, a somewhat goofy version of a RTOS, and not bad tcpip stack

#3) Zilog, Ez80F91 MiniModule, good price, a tad on the slow side, excellent RTOS & TCP/IP stack, but what they have been doing the last few years, who knows.

#4) Tibbo, EM1000, good price, to slow for anything i do, No RTOS, but can do like RTOS things, good stack, utterly easy to setup and use. actually a great product and company!

#5) Microchip, PIC32MX Ehternet Starter Kit. good price, No RTOS and Free Stack, Excellent speed. However getting good documentation and explanation of how to do things is absent. They make a great part, but lack the ability to create manuals for new users to do things. Also, what killed this part for me, is that i need to slap on a 480x272 TFT LCD.

i needed to use the PMP port (which is the address and data bus, ~CS, ~RD,~WR pins) for this LCD. With MC’s pin sharing concept (STPUPID!) if you use the ethernet port, it shares pins with the PMP port. So since i wanted Ehternet i dont get the PMP Port. so its one or the other. They should have made those peripherals to dedicated pins, and not forced the customer to have to choose which peripheral they want to use and give up.

OK, so why isn’t there a company that makes a great ROTS combined with a great TCP/IP stack which is low cost for these chip manufacturers with included MAC & MAC/PHY’s ???

I mean common now already.

typically we have to pay $>4000 for a RTOS, then another $5-7k for the TCP/IP stack. Even then, sometimes they make you pay more for additional features like DHCP, FAT and what not.

Please dont comment about lwIP or uIP, This is NOT anything that should be released into consumer use. I have tried FreeRTOS, and i like it, but when you see some of the comparisons for FreeRTOS to others its not all the best for ultra performance. Which is the problem with some of the Free stuff out there. it designed to fit in just about anything and in doing so, its not wrote to maximize and squeeze out all the performance one could get if it was specifically wrote for that processor.

I may sound like i am being cheap, but wouldent it be great taking the Luminary LM3S9B92, then slap a mag jack on it with a 3pin sot power supply and your now Ethernet live. The only thing missing is the RTOS and stack.

If someone company would come out with a combo software deal like this and sell it a good price <$1000 i think people would eat it up.

ok, im ready for the attack :smiley:

seulater:
…If someone company would come out with a combo software deal like this and sell it a good price <$1000 i think people would eat it up.

Why don't you do it? Sounds like a great opportunity for you to make a fortune.

Good question, but simple answer. I am not that smart :frowning:

My two years ago decision was to use ARM7 for my projects needing 128KB or so of Flash and 32KB or more of RAM. The nature of my projects make it imprudent to use something highly sole-source as are AVR, PIC and others. It’s a life-cycle risk. Since ARM has so many licensees, the sole-source risk comes if you use an ARM chip’s I/O peripheral that’s unusual and sole source. Also, this resonates well with risk-averse customers.

As to TCP, my preference, maybe not yours, is to use an external module that has TCP/IP/ARP on the module rather than as a stack on the (ARM) processor. I’ve chosen to use WizNet’s 812MJ ($19) and it’s been quite reliable, at 8MHz via SPI (low pin count), for four concurrent sockets (TCP, UDP). So in the ARM I have generic IP code such as HTTPD, SMTP, DHCP, and so on. If I have to change from Wiznet to something else, my code sees a socket interface - so changing to some other ourboard module with 4+ sockets would be low impact. Changing to a host (ARM) resident TCP stack would be high impact- because that stack depends on some sort of tasking, if not some RTOS. This I wanted to avoid.

New projects, for me, at some point in 2010, may use ARM Cortex M3. It’s a bit too soon for me to adopt this, errata and all.

So I recommend considering which sole source/proprietary micros will exist in 5 years, e.g., mega32, PIC32, XMOS, and all these.

But for hobby/student purposes in a short time horizon, most any would do. But a mainstream like ARM brings more sample code from the public domain, if that’s important.

As to RTOSes: My contention is that in an embedded micro without megabytes of flash, a cooperative task scheduler is far simpler and less error prone than a preemptive RTOS. And the latter is rarely truly needed. Using preemption brings a huge complication to software design, in areas such as exclusion and deadlocks. And a big RAM stack per task - this is a huge consideration. A cooperative scheduler avoids virtually all of this mess. Often, in a cooperative task scheduling system, each task is a finite state machine that is called to do per-state work and quickly return. Or move itself from active to an I/O wait queue. None of this needs a preemptive RTOS.

When one does choose an RTOS, one can take a risk with FreeRTOS or other, or avoid life cycle costs by using a supported RTOS. But like proprietary chips, these come and go.

There are exceptions: The venerable 8051 by example. But it was licensed by Intel to others, which may be why it has had a long life.

Well, my 3 cent’s worth. Others will differ in opinion.

Take a look at RTEMS. I don’t know what the status is of the Cortex-M3 port, but if it is good enough for NASA and the Military, then its good enough for consumer use.

It’s also free, as in modified GPL. I really wonder why hardly anyone knows of this RTOS. It is very full featured and quite robust. It can however be a bit on the large side, depending on what features you build in to it.