Embedded software

Source: Wikipedia, the free encyclopedia.

Embedded software is computer

embedded systems. It is typically specialized for the particular hardware that it runs on and has time and memory constraints.[1] This term is sometimes used interchangeably with firmware.[2]

A close-up of the SMSC LAN91C110 (SMSC 91x) chip, an embedded Ethernet chip

A precise and stable characteristic feature is that no or not all functions of embedded software are initiated/controlled via a human interface, but through machine-interfaces instead.[3]

Manufacturers build embedded software into the electronics of

process control systems.[6]

Operating systems

Unlike standard computers that generally use an operating systems such as

high-level programming languages, such as Java, Python and JavaScript, are now also in common use to target microcontrollers and embedded systems.[7] Assembly languages are often used too, especially in booting and interrupt handling. Ada
is used in some military and aviation projects.

Differences from application software

Most consumers are familiar with application software that provide functionality on a computer. However embedded software is often less visible, but no less complicated. Unlike application software, embedded software has fixed hardware requirements and capabilities, and addition of third-party hardware or software is strictly controlled.

Embedded software needs to include all needed

binary is useful as well as using bit manipulation.[8]

Web applications are often used for managing hardware, although XML files and other output may be passed to a computer for display. File systems with folders are typically used, however SQL databases are often absent.

Software development requires use of a

in-circuit emulator, and debugging hardware such as JTAG or SWD
debuggers. Software developers often have access to the complete kernel (OS) source code.

Size of the storage memory and RAM can vary significantly. Some systems run in 16 KB of Flash and 4 KB of RAM with a CPU operating at 8 MHz, other systems can rival contemporary computers.

PIC microcontrollers
.

Communication protocols

Communications between processors and between one processor and other components are essential. Besides

USB
.

Communications protocols designed for use in

, and others.

See also

Notes

  1. ^ For more details of MicroVGA see this PDF.

References

  • Edward A. Lee, "Embedded Software", Advances in Computers (
    Marvin Victor Zelkowitz
    , editor) 56, Academic Press, London, 2002.
  1. ^ "Stroustrup on C++ for embedded (bottom p.2)" (PDF). Retrieved 9 December 2012.
  2. .
  3. ^ "I.C.S. on embedded software". Archived from the original on 22 March 2013. Retrieved 22 July 2013.
  4. ^ "Embedded Systems Methods and Technologies". Archived from the original on 29 October 2013. Retrieved 9 December 2012.
  5. .
  6. ^ http://ptolemy.eecs.berkeley.edu/publications/papers/02/embsoft/embsoftwre.pdf [bare URL PDF]
  7. .
  8. ^ "Stroustrup on embedded software". Archived from the original on 3 February 2013. Retrieved 9 December 2012.
  9. ^ "Example of embedded CPU". Retrieved 9 December 2012.
  10. ^ "Java ME Embedded". Oracle Technology Network.