Question

I want to build an embedded system with USB and Wifi. I am going to use USB to load configuration and code. Wifi will be used to communicate with other similar systems. I would also like to program at the socket level, which means I want the drivers for USB and Wifi already available and an OS. So if someone can point me to a set of things I might need to bootstrap such a system, it would be very helpful. Or an existing system with an RTOS that can be used would be great too.

Was it helpful?

Solution

eCos is a true RTOS with support for USB and TCP/IP.

One problem you may have with any RTOS is getting device driver support for any particular WiFi device. It may be simpler to use a WiFi Module that connects to your embedded system via a SPI or UART interface or similar and has the complete stack on-board.

Similarly you can get USB-serial chips that avoid the complexities and processor load of implementing USB on your application processor. Not least it avoids the need for a USB vendor ID which will cost you $2000.

If you use stand-alone WiFi and USB modules your choice of RTOS becomes much broader since you avoid the need for so much middleware and a simple RTOS kernel providing threading, timing and IPC may suffice.

Of course a Linux based solution may suit, but the key issues with that is that Linux is not an RTOS, and it requires large memory resources.

WinCE/Windows Embedded Compact is another option, but is again relatively large and the licensing cost may be prohibitive. It is to an extent real-time capable in the sense that it is deterministic is not particularly fast.

.Net Micro might be an option, but is not real-time and while requiring fewer resources that either Linux or Windows Embedded Compact, it remains relatively large.

QNX Neutrino is probably the one solution with the scalability, real-time capability and middleware and hardware support you need, but there the licensing costs may again be prohibitive.

OTHER TIPS

Another option is OpenEmbedded. it enables you to customize and build your own embedded linux distribution. And there are distributions already built with OE such as the Ångström Distribution which I have had success using.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top