Tuesday, March 3, 2009

software, embedded system designers use compilers,

As for other software, embedded system designers use compilers, assemblers, and debuggers to develop embedded system software. However, they may also use some more specific tools:

In circuit debuggers or emulators (see next section).
Utilities to add a checksum or CRC to a program, so the embedded system can check if the program is valid.
For systems using digital signal processing, developers may use a math workbench such as Scilab / Scicos, MATLAB / Simulink, EICASLAB, MathCad, or Mathematica to simulate the mathematics. They might also use libraries for both the host and target which eliminates developing DSP routines as done in DSPnano RTOS and Unison Operating System.
Custom compilers and linkers may be used to improve optimisation for the particular hardware.
An embedded system may have its own special language or design tool, or add enhancements to an existing language such as Forth or Basic.
Another alternative is to add a Real-time operating system or Embedded operating system, which may have DSP capabilities like DSPnano RTOS.
Software tools can come from several sources:

Software companies that specialize in the embedded market
Ported from the GNU software development tools
Sometimes, development tools for a personal computer can be used if the embedded processor is a close relative to a common PC processor
As the complexity of embedded systems grows, higher level tools and operating systems are migrating into machinery where it makes sense. For example, cellphones, personal digital assistants and other consumer computers often need significant software that is purchased or provided by a person other than the manufacturer of the electronics. In these systems, an open programming environment such as Linux, NetBSD, OSGi or Embedded Java is required so that the third-party software provider can sell to a large market.

CPU platforms

Embedded processors can be broken into two broad categories: ordinary microprocessors (μP) and microcontrollers (μC), which have many more peripherals on chip, reducing cost and size. Contrasting to the personal computer and server markets, a fairly large number of basic CPU architectures are used; there are Von Neumann as well as various degrees of Harvard architectures, RISC as well as non-RISC and VLIW; word lengths vary from 4-bit to 64-bits and beyond (mainly in DSP processors) although the most typical remain 8/16-bit. Most architectures come in a large number of different variants and shapes, many of which are also manufactured by several different companies.

A long but still not exhaustive list of common architectures are: 65816, 65C02, 68HC08, 68HC11, 68k, 8051, ARM, AVR, AVR32, Blackfin, C167, Coldfire, COP8, eZ8, eZ80, FR-V, H8, HT48, M16C, M32C, MIPS, MSP430, PIC, PowerPC, R8C, SHARC, ST6, SuperH, TLCS-47, TLCS-870, TLCS-900, Tricore, V850, x86, XE8000, Z80, AsAP etc.

Examples of embedded systems


Embedded systems span all aspects of modern life and there are many examples of their use.

Telecommunications systems employ numerous embedded systems from telephone switches for the network to mobile phones at the end-user. Computer networking uses dedicated routers and network bridges to route data.

Consumer electronics include personal digital assistants (PDAs), mp3 players, mobile phones, videogame consoles, digital cameras, DVD players, GPS receivers, and printers. Many household appliances, such as microwave ovens, washing machines and dishwashers, are including embedded systems to provide flexibility, efficiency and features. Advanced HVAC systems use networked thermostats to more accurately and efficiently control temperature that can change by time of day and season. Home automation uses wired- and wireless-networking that can be used to control lights, climate, security, audio/visual, surveillance, etc., all of which use embedded devices for sensing and controlling.

Transportation systems from flight to automobiles increasingly use embedded systems. New airplanes contain advanced avionics such as inertial guidance systems and GPS receivers that also have considerable safety requirements. Various electric motors — brushless DC motors, induction motors and DC motors — are using electric/electronic motor controllers. Automobiles, electric vehicles, and hybrid vehicles are increasingly using embedded systems to maximize efficiency and reduce pollution. Other automotive safety systems such as anti-lock braking system (ABS), Electronic Stability Control (ESC/ESP), traction control (TCS) and automatic four-wheel drive.

Medical equipment is continuing to advance with more embedded systems for vital signs monitoring, electronic stethoscopes for amplifying sounds, and various medical imaging (PET, SPECT, CT, MRI) for non-invasive internal inspections.

In addition to commonly described embedded systems based on small computers, a new class of miniature wireless devices called motes are quickly gaining popularity as the field of wireless sensor networking rises. Wireless sensor networking, WSN, makes use of miniaturization made possible by advanced IC design to couple full wireless subsystems to sophisticated sensor, enabling people and companies to measure a myriad of things in the physical world and act on this information through IT monitoring and control systems. These motes are completely self contained, and will typically run off a battery source for many years before the batteries need to be changed or charged.

www.ez2.me

The Chumby premiered on August 25, 2006 at Foo Camp and was released to around 100 alpha release testers at the event.

Shortly after FOO Camp, Chumby announced a free Chumby offer, where applicants would receive the same alpha-level Chumby as those previously given away. Applicants submitted ideas for software applications or hardware modifications. One of the goals for the free offer was to have Chumbys in the hands of developers who were willing to begin building applications.

In July 2007, a First 50 was released to 50 random applicants, who received the next generation of Chumbys. This was followed, in September, with an Insiders Release. Interested parties could send e-mail to Chumby requesting release information, and were given the opportunity to join in the Insiders Release. Finally, in February 2008, the commercial release was made public on the Chumby Store. . In May 2008, the price was $179.95 for any one of three colors, latte, basic black, and pearl. International distribution of the Chumby is uncertain as it has not yet been tested for each major regulatory regime. In Australia, the Chumby is available through ISP Internode for a price of $299AUD.

designed as open source hardware,

The Chumby is designed as open source hardware, with schematics, PCB layouts and packaging/outerware designs available. Hardware specs are as follows

350 MHz ARM9-based Freescale i.MX21 controller
64 MB of SDRAM
64 MB of NAND flash ROM
320×240 3.5 inch touchscreen TFT LCD running at 12 frames per second
stereo 2 W speakers, an audio output, an integrated microphone
two USB 2.0 ports
integrated WiFi
a bend sensor for squeeze-based user interface features
motion sensor (accelerometer).

Hacks
Hacking the Chumby hardware is encouraged by the manufacturer. Schematics and other hardware information may be downloaded after the user agrees to the Chumby HDK License. For example, users on the Chumby Forums have experimented with and documented some battery hacks, allowing the Chumby to be operated without AC power for short periods of time.

modified Linux kernel


Chumby units run on a modified Linux kernel. The software originally installed on the device is designed to play a set of user-customizable widgets, small Adobe Flash animations that deliver real-time information. This is possibly due to the fact that an embedded version of Adobe Flash Player is installed. The animations have the ability to control and interact with the low-level hardware, thereby enabling functionality such as smart alarm clocks that bring the hardware out of sleep, a web based picture viewer, a web based camera, online RSS feeds, and physical user interface features such as gesture recognition through squeezing the soft housing.

The software for the Chumby automatically updates when something new becomes available. The updates come from the free access to the Chumby network, and a modified BitTorrent client is used to upgrade the open-source portions of its firmware.