For something like e-mailing data, an embedded processor probably
would be cheaper in term of components. Embedded processors are
extremely cheap. It might cost only a dollar for something like a PIC
chip (www.microchip.com) that can be literally programmed hundred of
times (use EEPROM).
They can pretty easily be interfaced with other devices like keypads
or LCD displays. You are only limited to the number of I/O pins. If
you are trying to connect it to a 32 bit ethernet card, forget it.
You probably don't have enough pins to do it. Controlling an LCD, let
it be character or graphical, it doesn't take a whole lot of
processing power. Their is not that much to do. Drawing a Sine wave
across a graphic display might take some time, considering you find a
way around the low number of bits of the microprocessor (many of them
are 8 bits).
By default, running Linux requires a faster processor. Text LCDs
require exact timing and microprocessors are generally faster then
they are. So the extra processing power would be wasted on text LCD.
On a graphical LCD, a faster processor means you can do more
calculations and thus, draw more on the screen, quicker.
The biggest drawback to these small computers is the speed. One
dollar chips many only run at a few megahartz and is limited by the
frequency of the oscillator attached to it. Generally, the slower the
oscillator, the less power the chip will consume.
The problem with Linux is it is a memory and processor hog. On an
embedded processor, you might only have a few hundred kilobytes of
memory. On Linux, that entire memory would be consumed by the kernel
alone. We haven't started to even execute the applications on it.
Thus, just to run Linux, you would have to invest several dollars in
SRAM (static RAM) alone. The program in the Micropressor maybe only
30k and written in Assembly or a specialized version of C. Also,
Microprocessors can boot and start executing code almost immediately,
whereas Linux would have to initialize all its programs and memory,
load itself, than start executing. Linux, although very efficient,
would have to worry about multitasking processes. This takes cpu
cycles. You would need a faster computer. Microprocessors might only
have to execute one program.
Microprocessors are better for specified, simple tasks, where huge
processing power is not required. Linux is better for more complex
tasks where more processing power and memory is required and the
project needs to be more generalized. Think of a microwave. You are
not going to attach an ethernet card and a VGA display to it, so why
does it need an entire operating system to cook your meal and display
"Enjoy your food!!!" |