HOME

TheInfoList




An embedded system is a
computer system A computer is a machine that can be programmed to carry out Sequence, sequences of arithmetic or logical operations automatically. Modern computers can perform generic sets of operations known as Computer program, programs. These programs enabl ...
—a combination of a
computer processor A central processing unit (CPU), also called a central processor, main processor or just Processor (computing), processor, is the electronic circuitry that executes Instruction (computing), instructions comprising a computer program. The CPU p ...
,
computer memory In computing Computing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. It includes the study and experimentation of algorithmic processes and development of both computer hardware , hardware and soft ...
, and
input/output In computing Computing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. It includes the study and experimentation of algorithm of an algorithm (Euclid's algorithm) for calculating the greatest commo ...
peripheral devices—that has a dedicated function within a larger mechanical or
electronic Electronic may refer to: *Electronics Electronics comprises the physics, engineering, technology and applications that deal with the emission, flow and control of electrons in vacuum and matter. It uses active devices to control electron flow b ...
system. It is ''embedded'' as part of a complete device often including electrical or electronic hardware and mechanical parts. Because an embedded system typically controls physical operations of the machine that it is embedded within, it often has
real-time computing Real-time computing (RTC) is the computer science term for Computer hardware, hardware and computer software, software systems subject to a "real-time constraint", for example from Event (synchronization primitive), event to Event (computing), sys ...
constraints. Embedded systems control many devices in common use today. it was estimated that ninety-eight percent of all microprocessors manufactured were used in embedded systems. Modern embedded systems are often based on
microcontroller A microcontroller (MCU for ''microcontroller unit'') is a small computer A computer is a machine that can be programmed to carry out sequences of arithmetic or logical operations automatically. Modern computers can perform generic sets of ...

microcontroller
s (i.e. microprocessors with integrated memory and peripheral interfaces), but ordinary microprocessors (using external chips for memory and peripheral interface circuits) are also common, especially in more complex systems. In either case, the processor(s) used may be types ranging from general purpose to those specialized in a certain class of computations, or even custom designed for the application at hand. A common standard class of dedicated processors is the
digital signal processor The NeXTcube from 1990 had a Motorola 68040 (25 MHz) and a digital signal processor Motorola 56001">Motorola_68040.html" ;"title="NeXTcube from 1990 had a Motorola 68040">NeXTcube from 1990 had a Motorola 68040 (25 MHz) and a digital signal proce ...
(DSP). Since the embedded system is dedicated to specific tasks,
design engineerA design engineer is an engineer focused on the engineering design process in any of the various engineering disciplines (including civil engineer, civil, mechanical engineering, mechanical, electrical engineering, electrical, chemical engineer, chem ...
s can optimize it to reduce the size and cost of the product and increase the reliability and performance. Some embedded systems are mass-produced, benefiting from
economies of scale 330px, As quantity of production increases from Q to Q2, the average cost of each unit decreases from C to C1. LRAC is the long-run average cost In microeconomics, economies of scale are the cost advantages that enterprises obtain due to their sca ...

economies of scale
. Embedded systems range in size from portable personal devices such as
digital watch A watch is a portable timepiece A clock is a device used to measure, verify, keep, and indicate time Time is the indefinite continued sequence, progress of existence and event (philosophy), events that occur in an apparently irr ...
es and
MP3 player#REDIRECT MP3 MP3 (formally MPEG-1 Audio Layer III or MPEG-2 Audio Layer III) is a coding format for digital audio Digital audio is a representation of sound recorded in, or converted into, Digital signal (signal processing), digital form. ...
s to bigger machines like
home appliances A home appliance, also referred to as a domestic appliance, an electric appliance or a household appliance, is a machine which assists in household functions such as cooking, cleanliness, cleaning and food preservation. Appliances are divided in ...
, industrial assembly lines, robots, transport vehicles, traffic light controllers, and
medical imaging Medical imaging is the technique and process of imaging Imaging is the representation or reproduction of an object's form; especially a visual representation (i.e., the formation of an image). Imaging technology is the application of materi ...
systems. Often they constitute subsystems of other machines like
avionics Avionics are the Electronics, electronic systems used on aircraft, artificial satellites, and spacecraft. Avionic systems include communications, navigation, the display and management of multiple systems, and the hundreds of systems that are f ...

avionics
in aircraft. Large installations like
factories A factory, manufacturing plant or a production plant is an industrial Industrial may also refer to: Industry * Industrial archaeology, the study of the history of the industry * Industrial engineering, engineering dealing with the optimization ...
, pipelines and
electrical grid An electrical grid is an interconnected network for from producers to consumers. Electrical grids vary in size and can cover whole countries or continents. It consists of:Kaplan, S. M. (2009). Smart Grid. Electrical Power Transmission: Backgr ...
s rely on multiple embedded systems networked together. Generalized through software customization, embedded systems such as
programmable logic controller A programmable logic controller (PLC) or programmable controller is an industrial computer A computer is a machine that can be programmed to carry out sequences of arithmetic or logical operations automatically. Modern computers can pe ...

programmable logic controller
s frequently comprise their functional units. Embedded systems range from those low in complexity, with a single microcontroller chip, to very high with multiple units,
peripheral A peripheral or peripheral device is an auxiliary device used to put information into and get information out of the computer. The term peripheral device refers to all hardware components that are attached to a computer and are controlled by the co ...
s and networks, which may reside in
equipment rack A 19-inch rack is a standardized frame or enclosure for mounting multiple electronic equipment modules. Each module has a front panel that is wide. The 19 inch dimension includes the edges or "ears" that protrude from each side of the equip ...
s or across large geographical areas connected via long distance communications lines.


History


Background

The origins of the microprocessor and the microcontroller can be traced back to the
MOS integrated circuit file:MOSFET Structure.png, upright=1.6, MOSFET, showing metal gate, gate (G), body (B), source (S) and drain (D) terminals. The gate is separated from the body by an gate oxide, insulating layer (pink). The metal–oxide–semiconductor field-eff ...
, which is an
integrated circuit An integrated circuit or monolithic integrated circuit (also referred to as an IC, a chip, or a microchip) is a set of electronic circuit 200px, A circuit built on a printed circuit board (PCB). An electronic circuit is composed of indiv ...

integrated circuit
chip fabricated from
MOSFET The metal–oxide–semiconductor field-effect transistor (MOSFET, MOS-FET, or MOS FET), also known as the metal–oxide–silicon transistor (MOS transistor, or MOS), is a type of insulated-gate field-effect transistor that is fabricated by th ...

MOSFET
s (metal-oxide-semiconductor
field-effect transistor The field-effect transistor (FET) is a type of transistor file:MOSFET Structure.png, upright=1.4, Metal-oxide-semiconductor field-effect transistor (MOSFET), showing Metal gate, gate (G), body (B), source (S) and drain (D) terminals. The gate ...
s) and was developed in the early 1960s. By 1964, MOS chips had reached higher
transistor density upright=1.4, gate File:Kebun Raya Bali Candi Bentar IMG 8794.jpg, Candi bentar, a typical Indonesian gate that is often found on the islands of Java and Bali A gate or gateway is a point of entry to or from a space enclosed by walls. The w ...
and lower manufacturing costs than bipolar chips. MOS chips further increased in complexity at a rate predicted by
Moore's law Moore's law is the observation that Transistor count, the number of transistors in a dense integrated circuit (IC) doubles about every two years. Moore's law is an observation and Forecasting, projection of a historical trend. Rather than a ph ...
, leading to
large-scale integration An integrated circuit or monolithic integrated circuit (also referred to as an IC, a chip, or a microchip) is a set of electronic circuit File:PExdcr01CJC.jpg, 200px, A circuit built on a printed circuit board (PCB). An electronic circuit i ...
(LSI) with hundreds of
transistors file:MOSFET Structure.png, upright=1.4, Metal-oxide-semiconductor field-effect transistor (MOSFET), showing Metal gate, gate (G), body (B), source (S) and drain (D) terminals. The gate is separated from the body by an insulating layer (pink). A ...
on a single MOS chip by the late 1960s. The application of MOS LSI chips to
computing Computing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. It includes the study and experimentation of algorithmic processes and development of both computer hardware , hardware and software. It has sci ...

computing
was the basis for the first microprocessors, as engineers began recognizing that a complete
computer processor A central processing unit (CPU), also called a central processor, main processor or just Processor (computing), processor, is the electronic circuitry that executes Instruction (computing), instructions comprising a computer program. The CPU p ...
system could be contained on several MOS LSI chips. The first multi-chip microprocessors, the Four-Phase Systems AL1 in 1969 and the
Garrett AiResearch Garrett AiResearch was a manufacturer of turboprop A turboprop engine is a turbine engine A gas turbine, also called a combustion turbine, is a type of Internal combustion engine#Continuous combustion, continuous and internal combustion en ...
MP944The F-14's Central Air Data Computer (CADC) computes altitude, vertical speed, air speed, and mach number from sensor inputs such as pitot and static pressure and temperature. Earlier air data computer systems were electromechanical computers, ...
in 1970, were developed with multiple MOS LSI chips. The first single-chip microprocessor was the
Intel 4004 The Intel 4004 is a 4-bit In , 4-bit s, or other units are those that are 4 s wide. Also, 4-bit and architectures are those that are based on s, or es of that size. es (and thus es) for 4-bit CPUs are generally much larger than 4-bi ...

Intel 4004
, released in 1971. It was developed by
Federico Faggin Federico Faggin (, ; born 1 December 1941) is an Italian-American physicist, engineer, inventor and entrepreneur. He is best known for designing the first commercial microprocessor, the Intel 4004. He led the Intel 4004, 4004 (MCS-4) project and ...

Federico Faggin
, using his silicon-gate MOS technology, along with
Intel Intel Corporation is an American multinational corporation A multinational company (MNC) is a corporate A corporation is an organization—usually a group of people or a company A company, abbreviated as co., is a Legal personalit ...

Intel
engineers
Marcian Hoff Marcian Edward "Ted" Hoff Jr. (born October 28, 1937 in Rochester, New York Rochester () is a city A city is a large human settlement.Goodall, B. (1987) ''The Penguin Dictionary of Human Geography''. London: Penguin.Kuper, A. and Kuper, J., eds ...
and Stan Mazor, and
Busicom kit, based on Intel 8080 chip, on the centre, Busicom calculator motherboard, based on Intel 4004 chip, and on the right, the Busicom calculator, fully assembled in Ueno Image:KaneijiPagoda1270.jpg, Pagoda of Kan'eiji, now in Ueno Zoo is a ...
engineer
Masatoshi Shima is a Japanese electronics engineer Image:Silego clock generator.JPG, Printed circuit board Electronic engineering (also called electronics and communications engineering) is an electrical engineering discipline which utilizes nonlinear and acti ...

Masatoshi Shima
.


Development

One of the first recognizably modern embedded systems was the
Apollo Guidance Computer The Apollo Guidance Computer (AGC) is a digital computer produced for the Apollo program that was installed on board each Apollo command module (CM) and Apollo Lunar Module (LM). The AGC provided computation and electronic interfaces for guidance, ...

Apollo Guidance Computer
, developed ca. 1965 by
Charles Stark Draper Charles Stark "Doc" Draper (October 2, 1901 – July 25, 1987) was an American scientist A scientist is a person who conducts Scientific method, scientific research to advance knowledge in an Branches of science, area of interest. In class ...
at the
MIT Instrumentation Laboratory Draper Laboratory is an American not-for-profit A nonprofit organization (NPO), also known as a non-business entity, not-for-profit organization, or nonprofit institution, is a legal entity organized and operated for a collective, public or so ...
. At the project's inception, the Apollo guidance computer was considered the riskiest item in the Apollo project as it employed the then newly developed
monolithic integrated circuit An integrated circuit or monolithic integrated circuit (also referred to as an IC, a chip, or a microchip) is a set of electronic circuit File:PExdcr01CJC.jpg, 200px, A circuit built on a printed circuit board (PCB). An electronic circuit i ...
s to reduce the computer's size and weight. An early mass-produced embedded system was the Autonetics D-17 guidance computer for the Minuteman missile, released in 1961. When the Minuteman II went into production in 1966, the D-17 was replaced with a new computer that represented the first high-volume use of integrated circuits. Since these early applications in the 1960s, embedded systems have come down in price and there has been a dramatic rise in processing power and functionality. An early microprocessor, the
Intel 4004 The Intel 4004 is a 4-bit In , 4-bit s, or other units are those that are 4 s wide. Also, 4-bit and architectures are those that are based on s, or es of that size. es (and thus es) for 4-bit CPUs are generally much larger than 4-bi ...

Intel 4004
(released in 1971), was designed for
calculator An electronic calculator is typically a portable device used to perform s, ranging from basic to complex . The first calculator was created in the early 1960s. Pocket-sized devices became available in the 1970s, especially after the , the f ...

calculator
s and other small systems but still required external memory and support chips. By the early 1980s, memory, input and output system components had been integrated into the same chip as the processor forming a microcontroller. Microcontrollers find applications where a general-purpose computer would be too costly. As the cost of microprocessors and microcontrollers fell the prevalence of embedded systems increased. Today, a comparatively low-cost microcontroller may be programmed to fulfill the same role as a large number of separate components. With microcontrollers, it became feasible to replace, even in consumer products, expensive knob-based analog components such as
potentiometer A potentiometer is a three- terminal resistor A resistor is a passive two-terminal electrical component that implements electrical resistance In electronics and electromagnetism, the electrical resistance of an object is a measure of ...

potentiometer
s and
variable capacitor A variable capacitor is a capacitor A capacitor is a device that stores electric charge in an electric field. It is a passivity (engineering), passive electronic component with two terminal (electronics), terminals. The effect of a capac ...

variable capacitor
s with up/down buttons or knobs read out by a microprocessor. Although in this context an embedded system is usually more complex than a traditional solution, most of the complexity is contained within the microcontroller itself. Very few additional components may be needed and most of the design effort is in the software. Software prototype and test can be quicker compared with the design and construction of a new circuit not using an embedded processor.


Applications

Embedded systems are commonly found in consumer, industrial, automotive,
home appliance A home appliance, also referred to as a domestic appliance, an electric appliance or a household appliance, is a machine which assists in household A household consists of one or several persons who live in the same dwelling and share meals. I ...
s, medical, telecommunication, commercial and military applications.
Telecommunication Telecommunication is the transmission of information by various types of technologies over wire A wire is a single usually cylindrical A cylinder (from Greek Greek may refer to: Greece Anything of, from, or related to Greece Gr ...
s systems employ numerous embedded systems from
telephone switch manually connecting calls with cord pairs at a telephone switchboard A telephone exchange, telephone switch, or central office is a telecommunications Telecommunication is the transmission of information Information can be thought of as ...
es for the network to
cell phones A mobile phone, cellular phone, cell phone, cellphone, handphone, or hand phone, sometimes shortened to simply mobile, cell or just phone, is a portable telephone that can make and receive telephone call, calls over a radio frequency link wh ...

cell phones
at the
end user In product development, an end user (sometimes end-user) is a person who ultimately uses or is intended to ultimately use a product. The end user stands in contrast to users who support or maintain the product, such as sysop A sysop (; an abbrev ...
. Computer networking uses dedicated routers and
network bridge A network bridge is a Networking hardware, computer networking device that creates a single, aggregate network from multiple communication networks or network segments. This function is called network bridging. Bridging is distinct from routin ...
s to route data.
Consumer electronics Consumer electronics or home electronics are electronic Electronic may refer to: *Electronics Electronics comprises the physics, engineering, technology and applications that deal with the emission, flow and control of electrons in vacuum ...
include
MP3 player#REDIRECT MP3 MP3 (formally MPEG-1 Audio Layer III or MPEG-2 Audio Layer III) is a coding format for digital audio Digital audio is a representation of sound recorded in, or converted into, Digital signal (signal processing), digital form. ...
s,
television set A Sony Wega CRT television set A television set or television receiver, more commonly called the television, TV, TV set, tube, telly, or tele, is a device that combines a tuner, display, and loudspeakers, for the purpose of viewing and hearing ...
s,
mobile phone A mobile phone, cellular phone, cell phone, cellphone, handphone, or hand phone, sometimes shortened to simply mobile, cell or just phone, is a portable telephone A telephone is a telecommunications device that permits two or more use ...

mobile phone
s,
video game console A video game console is an electronic device that output Output may refer to: * The information produced by a computer, see Input/output In computing, input/output (I/O, or informally io or IO) is the communication between an information proc ...
s,
digital camera A digital camera is a camera A camera is an optical Optics is the branch of physics Physics is the natural science that studies matter, its Elementary particle, fundamental constituents, its Motion (physics), motion and behav ...

digital camera
s,
GPS The Global Positioning System (GPS), originally Navstar GPS, is a satellite-based radionavigation system owned by the United States government The federal government of the United States (U.S. federal government) is the national ...
receivers, and
printers Printers may be: Technology * Printer (publishing) In publishing, printers are both companies A company, abbreviated as co., is a legal entity In law, a legal person is any person A person (plural people or persons) is a being th ...
. Household appliances, such as
microwave oven A microwave oven (commonly referred to as a microwave) is an electric oven upA double oven A ceramic oven An oven is a tool A tool is an object that can extend an individual's ability to modify features of the surrounding environment. ...

microwave oven
s,
washing machine A washing machine (laundry machine, clothes washer, or washer) is a home appliance A home appliance, also referred to as a domestic appliance, an electric appliance or a household appliance, is a machine which assists in household A house ...

washing machine
s and
dishwashers A dishwasher is a machine for cleaning dishware and cutlery automatically. Unlike manual dishwashing, which relies largely on physical scrubbing to remove soiling, the mechanical dishwasher cleans by spraying hot water, typically between , a ...
, include embedded systems to provide flexibility, efficiency and features. Advanced
HVAC The control circuit in a household HVAC installation. The wires connecting to the blue terminal block on the upper-right of the board lead to the filters Filter, filtering or filters may refer to: Science and technology Device * Filter (chemi ...

HVAC
systems use networked
thermostat A thermostat is a regulating device component which senses the temperature Temperature is a physical quantity that expresses hot and cold. It is the manifestation of thermal energy, present in all matter, which is the source of the oc ...

thermostat
s to more accurately and efficiently control temperature that can change by time of day and
season A season is a division of the year based on changes in weather Weather is the state of the atmosphere An atmosphere (from the greek words ἀτμός ''(atmos)'', meaning 'vapour', and σφαῖρα ''(sphaira)'', meaning 'ball' or ...

season
.
Home automation Home automation or domotics is building automation for a home, called a smart home or smart house. A home automation system will monitor and/or control home attributes such as lighting, climate, entertainment systems, and appliances. It ma ...
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 Avionics are the Electronics, electronic systems used on aircraft, artificial satellites, and spacecraft. Avionic systems include communications, navigation, the display and management of multiple systems, and the hundreds of systems that are f ...

avionics
such as
inertial guidance system An inertial navigation system (INS) is a navigation Navigation is a field of study that focuses on the process of monitoring and controlling the movement of a craft or vehicle from one place to another.Bowditch, 2003:799. The field of navigation i ...
s and GPS receivers that also have considerable safety requirements. Various electric motors — brushless DC motors,
induction motor upright=1.15, Cutaway view through stator of TEFC induction motor, showing rotor with internal air circulation vanes. Many such motors have a symmetric armature, and the frame may be reversed to place the electrical connection box (not shown) on ...
s and
DC motor 200px, The PRR DD1, Pennsylvania Railroad's class DD1 locomotive running gear was a semi-permanently coupled pairing of third rail direct current electric locomotive motors built for the railroad's initial New York-area electrification when stea ...
s — use electronic
motor controllerA motor controller is a device or group of devices that can coordinate in a predetermined manner the performance of an electric motor. A motor controller might include a manual or automatic means for starting and stopping the motor, selecting forwar ...
s.
Automobile A car (or automobile) is a wheeled motor vehicle A motor vehicle, also known as motorized vehicle or automotive vehicle, is a self-propelled vehicle, commonly wheeled, that does not operate on Track (rail transport), rails (such as trains o ...

Automobile
s,
electric vehicle An electric vehicle (EV) is a vehicle A vehicle (from la, vehiculum) is a machine A machine is a man-made device that uses power to apply forces and control movement to perform an action. Machines can be driven by animals and peopl ...

electric vehicle
s, and
hybrid vehicle A hybrid vehicle is one that uses two or more distinct types of power, such as submarines that use diesel when surfaced and batteries when submerged. Other means to store energy include pressurized fluid in hydraulic hybridHydraulic hybrid veh ...
s increasingly use embedded systems to maximize efficiency and reduce pollution. Other automotive safety systems using embedded systems include
anti-lock braking system An anti-lock braking system (ABS) is a safety Safety is the state of being "safe", the condition of being protected from harm Harm is a moral A moral (from Latin Latin (, or , ) is a classical language belonging to the Italic lan ...
(ABS),
Electronic Stability Control Electronic stability control (ESC), also referred to as electronic stability program (ESP) or dynamic stability control (DSC), is a computerized technology that improves a vehicle's stability by detecting and reducing loss of traction ( skiddi ...
(ESC/ESP),
traction control A traction control system (TCS), also known as ASR (from german: Antriebsschlupfregelung, lit=drive slippage regulation), is typically (but not necessarily) a secondary function of the electronic stability control Electronic stability control (ESC) ...
(TCS) and automatic
four-wheel drive Four-wheel drive, also called 4x4 ("four by four") or 4WD, refers to a two-axled vehicle drivetrain The drivetrain, also frequently spelled as drive train, or sometimes drive-train, is the group of components of a motor vehicle that deliver ...
.
Medical equipment Artificial pacemaker, a Class III device in the United States A medical device is any device intended to be used for medical purposes. Medical devices benefit patients by helping health care providers diagnose and treat patients and helping pati ...
uses embedded systems for
monitoring Monitoring may refer to: Science and technology Biology and healthcare * Monitoring (medicine) 250px, Display device of a medical monitor as used in anesthesia. In medicine, monitoring is the observation of a disease, condition or one or several m ...
, and various
medical imaging Medical imaging is the technique and process of imaging Imaging is the representation or reproduction of an object's form; especially a visual representation (i.e., the formation of an image). Imaging technology is the application of materi ...
(
PET A pet, or companion animal, is an animal kept primarily for a person's company or entertainment rather than as a working animal, livestock or a laboratory animal. Popular pets are often considered to have attractive appearances, Animal cognitio ...
,
Single-photon emission computed tomography Single-photon emission computed tomography (SPECT, or less commonly, SPET) is a nuclear medicine tomographic imaging technique using gamma ray A gamma ray, or gamma radiation (symbol γ or \gamma), is a penetrating form of electromagneti ...
(SPECT),
CT
CT
, and
MRI Magnetic resonance imaging (MRI) is a medical imaging Medical imaging is the technique and process of imaging Imaging is the representation or reproduction of an object's form; especially a visual representation (i.e., the formation of a ...
) for non-invasive internal inspections. Embedded systems within medical equipment are often powered by industrial computers. Embedded systems are used for
safety-critical system A safety-critical system (SCS) or life-critical system is a system whose failure or malfunction may result in one (or more) of the following outcomes: * death (1906) Death is the permanent, Irreversible process, irreversible cessation of ...
s. Unless connected to wired or wireless networks via on-chip 3G cellular or other methods for IoT monitoring and control purposes, these systems can be isolated from hacking and thus be more secure. For fire safety, the systems can be designed to have a greater ability to handle higher temperatures and continue to operate. In dealing with security, the embedded systems can be self-sufficient and be able to deal with cut electrical and communication systems. Miniature wireless devices called motes are networked wireless sensors. Wireless sensor networking makes use of miniaturization made possible by advanced IC design to couple full wireless subsystems to sophisticated sensors, enabling people and companies to measure a myriad of things in the physical world and act on this information through monitoring and control systems. These motes are completely self-contained and will typically run off a battery source for years before the batteries need to be changed or charged.


Characteristics

Embedded systems are designed to do some specific task, rather than be a general-purpose computer for multiple tasks. Some also have real-time performance constraints that must be met, for reasons such as safety and usability; others may have low or no performance requirements, allowing the system hardware to be simplified to reduce costs. Embedded systems are not always standalone devices. Many embedded systems consist of small parts within a larger device that serves a more general purpose. For example, the
Gibson Robot Guitar The Gibson Robot Guitar (a.k.a. GOR) is a limited-edition self-tuning Gibson Guitar Corporation, Gibson guitar, typically a Gibson Les Paul, Les Paul. The first run of limited edition Robot Guitars was exclusively made up of Les Paul bodies. Five d ...

Gibson Robot Guitar
features an embedded system for tuning the strings, but the overall purpose of the Robot Guitar is, of course, to play music. Similarly, an embedded system in an
automobile A car (or automobile) is a wheeled motor vehicle A motor vehicle, also known as motorized vehicle or automotive vehicle, is a self-propelled vehicle, commonly wheeled, that does not operate on Track (rail transport), rails (such as trains o ...

automobile
provides a specific function as a subsystem of the car itself. The program instructions written for embedded systems are referred to as
firmware In computing Computing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. It includes the study and experimentation of algorithmic processes and development of both computer hardware , hardware and soft ...
, and are stored in read-only memory or
flash memory Flash memory is an electronic Electronic may refer to: *Electronics Electronics comprises the physics, engineering, technology and applications that deal with the emission, flow and control of electrons in vacuum and matter. It uses act ...
chips. They run with limited computer hardware resources: little memory, small or non-existent keyboard or screen.


User interfaces

Embedded systems range from no user interface at all, in systems dedicated only to one task, to complex
graphical user interface The graphical user interface (GUI "UI" by itself is still usually pronounced . or ) is a form of user interface In the industrial design Industrial design is a process of design A design is a plan or specification for the construction ...
s that resemble modern computer desktop operating systems. Simple embedded devices use
buttons In modern clothing and fashion design, a button is a small fastener, now most commonly made of plastic but also may be made of metal, wood, or seashell, that joins two pieces of fabric together. In archaeology, a button can be a significant Art ...
,
LED An LED A light-emitting diode (LED) is a semiconductor A semiconductor material has an Electrical resistivity and conductivity, electrical conductivity value falling between that of a Electrical conductor, conductor, such as metallic ...
s, graphic or character
LCD A liquid-crystal display (LCD) is a flat-panel display A flat-panel display (FPD) is an electronic display device s, LED display and Vacuum fluorescent display, VF display, top to bottom. A display device is an output device for presentation ...
s ( HD44780 LCD for example) with a simple menu system. More sophisticated devices that use a graphical screen with
touch sensing
touch sensing
or screen-edge soft keys provide flexibility while minimizing space used: the meaning of the buttons can change with the screen, and selection involves the natural behavior of pointing at what is desired. Some systems provide user interface remotely with the help of a serial (e.g.
RS-232 In telecommunications Telecommunication is the transmission of information by various types of technologies over wire, radio, Optical system, optical, or other Electromagnetism, electromagnetic systems. It has its origin in the desire of ...
) or network (e.g.
Ethernet Ethernet () is a family of wired computer network A computer network is a set of s sharing resources located on or provided by . The computers use common s over to communicate with each other. These interconnections are made up of te ...

Ethernet
) connection. This approach extends the capabilities of the embedded system, avoids the cost of a display, simplifies BSP and allows designers to build a rich user interface on the PC. A good example of this is the combination of an Embedded HTTP server running on an embedded device (such as an
IP camera An Internet Protocol camera, or IP camera, is a type of digital video camera that receives control data and sends image data via an IP network. They are commonly used for surveillance Surveillance is the monitoring of behavior, activitie ...
or a
network router A router is a networking device Networking hardware, also known as network equipment or computer networking devices, are electronic devices which are required for communication and interaction between devices on a computer network A co ...
). The user interface is displayed in a
web browser A web browser (commonly referred to as a browser) is application software for accessing the World Wide Web. When a User (computing), user requests a web page from a particular website, the web browser retrieves the necessary content from a web ...

web browser
on a PC connected to the device.


Processors in embedded systems

Examples of properties of typical embedded computers, when compared with general-purpose counterparts, are low power consumption, small size, rugged operating ranges, and low per-unit cost. This comes at the price of limited processing resources. Numerous microcontrollers have been developed for embedded systems use. General-purpose microprocessors are also used in embedded systems, but generally, require more support circuitry than microcontrollers.


Ready-made computer boards

PC/104 PC/104 (or PC104) is a family of embedded computer An embedded system is a computer system—a combination of a computer processor, computer memory, and input/output peripheral devices—that has a dedicated function within a larger me ...
and PC/104+ are examples of standards for ''ready-made'' computer boards intended for small, low-volume embedded and ruggedized systems. These are mostly x86-based and often physically small compared to a standard PC, although still quite large compared to most simple (8/16-bit) embedded systems. They may use
DOS DOS (, ) is a platform-independent acronym for disk operating system which later became a common shorthand for disk-based operating systems on IBM PC compatible IBM PC compatible computers are similar to the original IBM Personal Computer, IB ...

DOS
,
Linux Linux ( or ) is a family of open-source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product ...

Linux
,
NetBSD NetBSD is a free and open-source Free and open-source software (FOSS) is software that is both free software and open-source software where anyone is free software license, freely licensed to use, copy, study, and change the software in any ...

NetBSD
, or an embedded
real-time operating system A real-time operating system (RTOS) is an operating system An operating system (OS) is system software that manages computer hardware, computer software, software resources, and provides common daemon (computing), services for computer programs. ...
(RTOS) such as MicroC/OS-II,
QNX QNX ( or ) is a commercial Unix-like A Unix-like (sometimes referred to as UN*X or *nix) operating system is one that behaves in a manner similar to a Unix system, while not necessarily conforming to or being certified to any version of the Sing ...
or
VxWorks#REDIRECT VxWorks VxWorks is a real-time operating systemA real-time operating system (RTOS) is an operating system (OS) intended to serve real-time computing, real-time applications that process data as it comes in, typically without Data buffer, ...
. In certain applications, where small size or power efficiency are not primary concerns, the components used may be compatible with those used in general-purpose x86 personal computers. Boards such as the VIA
EPIA VIA EPIA (''VIA Technologies, VIA Embedded Platform Innovative Architecture'') is a series of mini-ITX, em-ITX, nano-ITX, pico-ITX and pico-ITXe motherboards with integrated VIA Microprocessor, processors. They are small in size and consume less po ...
range help to bridge the gap by being PC-compatible but highly integrated, physically smaller or have other attributes making them attractive to embedded engineers. The advantage of this approach is that low-cost commodity components may be used along with the same software development tools used for general software development. Systems built in this way are still regarded as embedded since they are integrated into larger devices and fulfill a single role. Examples of devices that may adopt this approach are
ATMsATMS may refer to * Advanced Traffic Management System for highways. * Advanced Train Management System for railways. * IBM Administrative Terminal System#ATMS, IBM's successor to ATS/360, {{disambiguation ...
and
arcade machines An arcade cabinet, also known as an arcade machine or a coin-op cabinet or coin-op machine, is the housing within which an arcade game's electronic hardware resides. Most cabinets designed since the mid-1980s conform to the Japanese Amusement Mach ...
, which contain code specific to the application. However, most ready-made embedded systems boards are not PC-centered and do not use the ISA or PCI busses. When a
system-on-a-chip A system on a chip (SoC; or This article uses the convention that SoC is pronounced . Therefore, it uses the convention "an" for the indefinite article Indefinite may refer to: * the opposite of definite in grammar ** indefinite article * ...
processor is involved, there may be little benefit to having a standardized bus connecting discrete components, and the environment for both hardware and software tools may be very different. One common design style uses a small system module, perhaps the size of a business card, holding high density BGA chips such as an
ARM In human anatomy, the arm is the part of the upper limb The upper Limb (anatomy), limbs or upper extremities are the forelimbs of an upright posture, upright-postured tetrapod vertebrate, extending from the scapulae and clavicles down to and incl ...
-based
system-on-a-chip A system on a chip (SoC; or This article uses the convention that SoC is pronounced . Therefore, it uses the convention "an" for the indefinite article Indefinite may refer to: * the opposite of definite in grammar ** indefinite article * ...
processor and peripherals, external
flash memory Flash memory is an electronic Electronic may refer to: *Electronics Electronics comprises the physics, engineering, technology and applications that deal with the emission, flow and control of electrons in vacuum and matter. It uses act ...
for storage, and
DRAM Dynamic random-access memory (dynamic RAM or DRAM) is a type of random-access Random access (more precisely and more generally called direct access) is the ability to access an arbitrary element of a sequence in equal time or any datum fr ...
for runtime memory. The module vendor will usually provide boot software and make sure there is a selection of operating systems, usually including
Linux Linux ( or ) is a family of open-source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product ...

Linux
and some real-time choices. These modules can be manufactured in high volume, by organizations familiar with their specialized testing issues, and combined with much lower volume custom mainboards with application-specific external peripherals. Prominent examples of this approach include
Arduino Arduino () is an open-source hardware and open-source software, software company, project and user community that designs and manufactures single-board microcontrollers and microcontroller kits for building digital devices. Its hardware products ...

Arduino
and
Raspberry Pi Raspberry Pi () is a series of small single-board computers (SBCs) developed in the United Kingdom by the Raspberry Pi Foundation in association with Broadcom Inc., Broadcom. The Raspberry Pi project originally leaned towards the promotion of ...

Raspberry Pi
.


ASIC and FPGA SoC solutions

A
system on a chip A system on a chip (SoC; or This article uses the convention that SoC is pronounced . Therefore, it uses the convention "an" for the indefinite article Indefinite may refer to: * the opposite of definite in grammar ** indefinite article ...
(SoC) contains a complete system - consisting of multiple processors, multipliers, caches, even different types of memory and commonly various peripherals like interfaces for wired or wireless communication on a single chip. Often graphics processing units (GPU) and DSPs are included such chips. SoCs can be implemented as an
application-specific integrated circuit An application-specific integrated circuit (ASIC ) is an integrated circuit An integrated circuit or monolithic integrated circuit (also referred to as an IC, a chip, or a microchip) is a set of electronic circuit File:PExdcr01CJC.jpg, ...
(ASIC) or using a
field-programmable gate array A field-programmable gate array (FPGA) is an integrated circuit designed to be configured by a customer or a designer after manufacturinghence the term ''Field-programmability, field-programmable''. The FPGA configuration is generally specifie ...
(FPGA) which typically can be reconfigured. ASIC implementations are common for very-high-volume embedded systems like
mobile phone A mobile phone, cellular phone, cell phone, cellphone, handphone, or hand phone, sometimes shortened to simply mobile, cell or just phone, is a portable telephone A telephone is a telecommunications device that permits two or more use ...

mobile phone
s and
smartphone A smartphone is a portable device A mobile device (or handheld computer) is a computer A computer is a machine that can be programmed to carry out sequences of arithmetic or logical operations automatically. Modern computers can per ...

smartphone
s. ASIC or FPGA implementations may be used for not-so-high-volume embedded systems with special needs in kind of signal processing performance, interfaces and reliability, like in avionics.


Peripherals

Embedded systems talk with the outside world via
peripheral A peripheral or peripheral device is an auxiliary device used to put information into and get information out of the computer. The term peripheral device refers to all hardware components that are attached to a computer and are controlled by the co ...
s, such as: * Serial communication interfaces (SCI):
RS-232 In telecommunications Telecommunication is the transmission of information by various types of technologies over wire, radio, Optical system, optical, or other Electromagnetism, electromagnetic systems. It has its origin in the desire of ...
,
RS-422 RS-422, also known as TIA/EIA-422, is a technical standard originated by the Electronic Industries Alliance The Electronic Industries Alliance (EIA; until 1997 Electronic Industries Association) was an American standards organization, standar ...
,
RS-485 RS-485, also known as TIA-485(-A) or EIA-485, is a standard defining the electrical characteristics of drivers and receivers for use in serial communication 300px, Parallel versus serial communication. In telecommunication and data transmission ...
, etc. *
Synchronous Serial InterfaceSynchronous Serial Interface (SSI) is a widely used serial interface standard for industrial applications between a master (e.g. controller) and a slave (e.g. sensor). SSI is based on RS-422 standards and has a high protocol efficiency in addition t ...
:
I2C I, or i, is the ninth letter Letter, letters, or literature may refer to: Characters typeface * Letter (alphabet) A letter is a segmental symbol A symbol is a mark, sign, or word that indicates, signifies, or is understood as rep ...

I2C
, SPI, SSC and ESSI (Enhanced Synchronous Serial Interface) *
Universal Serial Bus Universal Serial Bus (USB) is an industry standard ''Industry Standard'' is a 1982 album by Dixie Dregs, The Dregs. It is their only album featuring vocals (by Alex Ligertwood of Santana (band), Santana and Patrick Simmons of The Doobie Bro ...
(USB) * Media cards (
SD card Secure Digital, officially abbreviated as SD, is a proprietary format, proprietary non-volatile memory, non-volatile memory card format developed by the SD Association, SD Association (SDA) for use in portable devices. The standard was introduc ...

SD card
s,
CompactFlash CompactFlash (CF) is a flash memory mass storage device used mainly in portable electronic devices. The format was specified and the devices were first manufactured by SanDisk in 1994. CompactFlash became one of the most successful of the earl ...

CompactFlash
, etc.) *
Network interface controller A network interface controller (NIC, also known as a network interface card, network adapter, LAN adapter or physical network interface, and by similar terms) is a computer hardware Computer hardware includes the physical parts of a computer ...
:
Ethernet Ethernet () is a family of wired computer network A computer network is a set of s sharing resources located on or provided by . The computers use common s over to communicate with each other. These interconnections are made up of te ...

Ethernet
,
WiFi Wi-Fi () is a family of wireless network A wireless network is a computer network that uses wireless data connections between network nodes. Wireless networking is a method by which homes, telecommunications networks and business installa ...
, etc. *
Fieldbus Fieldbus is the name of a family of industrial computer network A computer network is a set of s sharing resources located on or provided by . The computers use common s over to communicate with each other. These interconnections are made u ...
es:
CAN bus A Controller Area Network (CAN bus) is a robust vehicle bus standard designed to allow microcontrollers and devices to communicate with each other's applications without a host computer. It is a message-based protocol, designed originally for Multi ...
, LIN-Bus,
PROFIBUS PROFIBUS (Process Field Bus) is a standard for fieldbus communication in automation Automation describes a wide range of technologies that reduce human intervention in processes. Human intervention is reduced by predetermining decision crit ...
, etc. * Timers:
Phase-locked loop A phase-locked loop or phase lock loop (PLL) is a control system that generates an output Signal (electrical engineering), signal whose phase (waves), phase is related to the phase of an input signal. There are several different types; the simp ...

Phase-locked loop
s,
programmable interval timer#REDIRECT Programmable interval timerIn computing Computing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. It includes the study and experimentation of algorithmic processes and development of both comput ...
s *
General Purpose Input/Output A general-purpose input/output (GPIO) is an uncommitted digital signal pin on an integrated circuit or electronic circuit board which may be used as an input or output, or both, and is controllable by the user at Runtime (program lifecycle phase), ...
(GPIO) * Analog-to-digital and
digital-to-analog converter In , a digital-to-analog converter (DAC, D/A, D2A, or D-to-A) is a system that converts a into an . An (ADC) performs the reverse function. There are several DAC ; the suitability of a DAC for a particular application is determined by ...
s) * Debugging:
JTAG JTAG (named after the Joint Test Action Group which codified it) is an for verifying designs and testing s after manufacture. JTAG implements standards for on-chip instrumentation in (EDA) as a complementary tool to . It specifies the use of a ...
,
In-system programming In-system programming (ISP), or also called in-circuit serial programming (ICSP), is the ability of some programmable logic device A programmable logic device (PLD) is an component used to build . Unlike (IC) which consist of s and have ...

In-system programming
,
background debug mode interface Background debug mode (BDM) interface is an electronic interface that allows debugging of embedded systems. Specifically, it provides in-circuit debugging functionality in microcontrollers. It requires a single wire and specialized electronics ...
port, BITP, and DB9 ports.


Tools

As with other software, embedded system designers use
compiler In computing, a compiler is a computer program that Translator (computing), translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primarily ...

compiler
s,
assemblers Assembler may refer to: Arts and media * Nobukazu Takemura Nobukazu Takemura (竹村延和 ''Takemura Nobukazu'') is a Japanese musician and artist. Born in Hirakata, Osaka in August 1968, he became interested in music at a young age by listenin ...
, and
debugger A debugger or debugging tool is a computer program In imperative programming, a computer program is a sequence of instructions in a programming language that a computer can execute or interpret. In declarative programming, a ''computer progra ...

debugger
s to develop embedded system software. However, they may also use 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 Digital signal processing (DSP) is the use of digital processing Digital data, in information theory and information systems, is information represented as a string of discrete symbols each of which can take on one of only a finite number of ...
, developers may use a computational notebook to simulate the mathematics. * System-level modeling and simulation tools help designers to construct simulation models of a system with hardware components such as
processors A central processing unit (CPU), also called a central processor, main processor or just Processor (computing), processor, is the electronic circuitry that executes Instruction (computing), instructions comprising a computer program. The CPU per ...
,
memories Memory is the faculty of the brain A brain is an organ (anatomy), organ that serves as the center of the nervous system in all vertebrate and most invertebrate animals. It is located in the head, usually close to the sensory organs for sense ...

memories
, DMA,
interface Interface or interfacing may refer to: Academic journals * Interface (journal), ''Interface'' (journal), by the Electrochemical Society * ''Interface, Journal of Applied Linguistics'', now merged with ''ITL International Journal of Applied Lin ...
s, buses and software behavior flow as a state diagram or flow diagram using configurable library blocks. Simulation is conducted to select the right components by performing power vs. performance trade-offs, reliability analysis and bottleneck analysis. Typical reports that help a designer to make architecture decisions include application latency, device throughput, device utilization, power consumption of the full system as well as device-level power consumption. * A model-based development tool creates and simulates graphical data flow and UML state chart diagrams of components like digital filters, motor controllers, communication protocol decoding and multi-rate tasks. * Custom compilers and linkers may be used to optimize specialized hardware. * An embedded system may have its own special language or design tool, or add enhancements to an existing language such as
Forth Forth or FORTH may refer to: Media * ''forth'' magazine, an English-language Irish Internet magazine * ''Forth'' (album), by the English alternative rock band The Verve * ''Forth'' (album), by the American progressive rock band Proto-Kaw * Rad ...
or
Basic BASIC (Beginners' All-purpose Symbolic Instruction Code) is a family of general-purpose, high-level programming language In computer science Computer science deals with the theoretical foundations of information, algorithms and the ar ...
. * Another alternative is to add a RTOS or
embedded operating system An embedded operating system is an operating system An operating system (OS) is system software that manages computer hardware, computer software, software resources, and provides common daemon (computing), services for computer programs. Time- ...
* Modeling and code generating
tools A tool is an object that can extend an individual's ability to modify features of the surrounding environment. Although many animals use tool use by animals, simple tools, only human beings, whose use of stone tools dates back Paleolithic, hund ...
often based on UML state machine, state machines 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 Linux ( or ) is a family of open-source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product ...

Linux
,
NetBSD NetBSD is a free and open-source Free and open-source software (FOSS) is software that is both free software and open-source software where anyone is free software license, freely licensed to use, copy, study, and change the software in any ...

NetBSD
, OSGi or Embedded Java is required so that the third-party software provider can sell to a large market.


Debugging

Embedded debugging may be performed at different levels, depending on the facilities available. The different metrics that characterize the different forms of embedded debugging are: does it slow down the main application, how close is the debugged system or application to the actual system or application, how expressive are the triggers that can be set for debugging (e.g., inspecting the memory when a particular program counter value is reached), and what can be inspected in the debugging process (such as, only memory, or memory and registers, etc.). From simplest to most sophisticated they can be roughly grouped into the following areas: * Interactive resident debugging, using the simple shell provided by the embedded operating system (e.g. Forth and Basic) * External debugging using logging or serial port output to trace operation using either a monitor in flash or using a debug server like the Remedy Debugger that even works for heterogeneous Multi-core processor, multicore systems. * An in-circuit debugger (ICD), a hardware device that connects to the microprocessor via a
JTAG JTAG (named after the Joint Test Action Group which codified it) is an for verifying designs and testing s after manufacture. JTAG implements standards for on-chip instrumentation in (EDA) as a complementary tool to . It specifies the use of a ...
or Nexus (standard), Nexus interface. This allows the operation of the microprocessor to be controlled externally, but is typically restricted to specific debugging capabilities in the processor. * An in-circuit emulator (ICE) replaces the microprocessor with a simulated equivalent, providing full control over all aspects of the microprocessor. * A complete emulator provides a simulation of all aspects of the hardware, allowing all of it to be controlled and modified, and allowing debugging on a normal PC. The downsides are expense and slow operation, in some cases up to 100 times slower than the final system. * For SoC designs, the typical approach is to verify and debug the design on an FPGA prototype board. Tools such as Certus are used to insert probes in the FPGA RTL that make signals available for observation. This is used to debug hardware, firmware and software interactions across multiple FPGA with capabilities similar to a logic analyzer. * Software-only debuggers have the benefit that they do not need any hardware modification but have to carefully control what they record in order to conserve time and storage space. Unless restricted to external debugging, the programmer can typically load and run software through the tools, view the code running in the processor, and start or stop its operation. The view of the code may be as High-level programming language, HLL source-code, assembly code or mixture of both. Because an embedded system is often composed of a wide variety of elements, the debugging strategy may vary. For instance, debugging a software- (and microprocessor-) centric embedded system is different from debugging an embedded system where most of the processing is performed by peripherals (DSP, FPGA, and co-processor). An increasing number of embedded systems today use more than one single processor core. A common problem with multi-core development is the proper synchronization of software execution. In this case, the embedded system design may wish to check the data traffic on the busses between the processor cores, which requires very low-level debugging, at signal/bus level, with a logic analyzer, for instance.


Tracing

Real-time operating systems often supports tracing (software), tracing of operating system events. A graphical view is presented by a host PC tool, based on a recording of the system behavior. The trace recording can be performed in software, by the RTOS, or by special tracing hardware. RTOS tracing allows developers to understand timing and performance issues of the software system and gives a good understanding of the high-level system behaviors.


Reliability

Embedded systems often reside in machines that are expected to run continuously for years without errors, and in some cases recover by themselves if an error occurs. Therefore, the software is usually developed and tested more carefully than that for personal computers, and unreliable mechanical moving parts such as disk drives, switches or buttons are avoided. Specific reliability issues may include: * The system cannot safely be shut down for repair, or it is too inaccessible to repair. Examples include space systems, undersea cables, navigational beacons, bore-hole systems, and automobiles. * The system must be kept running for safety reasons. "Limp modes" are less tolerable. Often backups are selected by an operator. Examples include aircraft navigation, reactor control systems, safety-critical chemical factory controls, train signals. * The system will lose large amounts of money when shut down: Telephone switches, factory controls, bridge and elevator controls, funds transfer and market making, automated sales and service. A variety of techniques are used, sometimes in combination, to recover from errors—both software bugs such as memory leaks, and also soft errors in the hardware: * watchdog timer that resets the computer unless the software periodically notifies the watchdog subsystems with redundant spares that can be switched over to software "limp modes" that provide partial function * Designing with a Trusted Computing Base (TCB) architecture ensures a highly secure & reliable system environment * A hypervisor designed for embedded systems is able to provide secure encapsulation for any subsystem component so that a compromised software component cannot interfere with other subsystems, or privileged-level system software. This encapsulation keeps faults from propagating from one subsystem to another, thereby improving reliability. This may also allow a subsystem to be automatically shut down and restarted on fault detection. * Immunity Aware Programming


High vs. low volume

For high volume systems such as Digital audio player, portable music players or
mobile phone A mobile phone, cellular phone, cell phone, cellphone, handphone, or hand phone, sometimes shortened to simply mobile, cell or just phone, is a portable telephone A telephone is a telecommunications device that permits two or more use ...

mobile phone
s, minimizing cost is usually the primary design consideration. Engineers typically select hardware that is just “good enough” to implement the necessary functions. For low-volume or prototype embedded systems, general-purpose computers may be adapted by limiting the programs or by replacing the operating system with a RTOS.


Embedded software architectures

In 1978 National Electrical Manufacturers Association released a standard for programmable microcontrollers, including almost any computer-based controllers, such as single board computers, numerical, and event-based controllers. There are several different types of software architecture in common use today.


Simple control loop

In this design, the software simply has a loop (computing), loop. The loop calls subroutines, each of which manages a part of the hardware or software. Hence it is called a simple control loop or control loop.


Interrupt-controlled system

Some embedded systems are predominantly controlled by interrupts. This means that tasks performed by the system are triggered by different kinds of events; an interrupt could be generated, for example, by a timer in a predefined frequency, or by a serial port controller receiving a byte. These kinds of systems are used if event handlers need low latency, and the event handlers are short and simple. Usually, these kinds of systems run a simple task in a main loop also, but this task is not very sensitive to unexpected delays. Sometimes the interrupt handler will add longer tasks to a queue structure. Later, after the interrupt handler has finished, these tasks are executed by the main loop. This method brings the system close to a multitasking kernel with discrete processes.


Cooperative multitasking

A non-preemptive multitasking system is very similar to the simple control loop scheme, except that the loop is hidden in an Application programming interface, API. The programmer defines a series of tasks, and each task gets its own environment to “run” in. When a task is idle, it calls an idle routine, usually called “pause”, “wait”, “yield”, “nop” (stands for ''no operation''), etc. The advantages and disadvantages are similar to that of the control loop, except that adding new software is easier, by simply writing a new task, or adding to the queue.


Preemptive multitasking or multi-threading

In this type of system, a low-level piece of code switches between tasks or threads based on a timer (connected to an interrupt). This is the level at which the system is generally considered to have an "operating system" kernel. Depending on how much functionality is required, it introduces more or less of the complexities of managing multiple tasks running conceptually in parallel. As any code can potentially damage the data of another task (except in larger systems using an Memory management unit, MMU) programs must be carefully designed and tested, and access to shared data must be controlled by some synchronization strategy, such as message queues, semaphore (programming), semaphores or a non-blocking synchronization scheme. Because of these complexities, it is common for organizations to use a RTOS, allowing the application programmers to concentrate on device functionality rather than operating system services, at least for large systems; smaller systems often cannot afford the overhead associated with a ''generic'' real-time system, due to limitations regarding memory size, performance, or battery life. The choice that an RTOS is required brings in its own issues, however, as the selection must be made prior to starting to the application development process. This timing forces developers to choose the embedded operating system for their device based upon current requirements and so restricts future options to a large extent. The restriction of future options becomes more of an issue as product life decreases. Additionally, the level of complexity is continuously growing as devices are required to manage variables such as serial, USB, TCP/IP, Bluetooth, Wireless LAN, trunk radio, multiple channels, data and voice, enhanced graphics, multiple states, multiple threads, numerous wait states and so on. These trends are leading to the uptake of embedded middleware in addition to a RTOS.


Microkernels and exokernels

A microkernel is a logical step up from a real-time OS. The usual arrangement is that the operating system kernel allocates memory and switches the CPU to different threads of execution. User-mode processes implement major functions such as file systems, network interfaces, etc. In general, microkernels succeed when task switching and intertask communication is fast and fail when they are slow. Exokernels communicate efficiently by normal subroutine calls. The hardware and all the software in the system are available to and extensible by application programmers.


Monolithic kernels

In this case, a relatively large kernel with sophisticated capabilities is adapted to suit an embedded environment. This gives programmers an environment similar to a desktop operating system like
Linux Linux ( or ) is a family of open-source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product ...

Linux
or Microsoft Windows, and is therefore very productive for development; on the downside, it requires considerably more hardware resources, is often more expensive, and, because of the complexity of these kernels, can be less predictable and reliable. Common examples of embedded monolithic kernels are embedded Linux, VXWorks and Windows CE. Despite the increased cost in hardware, this type of embedded system is increasing in popularity, especially on the more powerful embedded devices such as wireless routers and Automotive navigation system, GPS navigation systems. Here are some of the reasons: * Ports to common embedded chip sets are available. * They permit re-use of publicly available code for device drivers, web servers, Firewall (networking), firewalls, and other code. * Development systems can start out with broad feature-sets, and then the distribution can be configured to exclude unneeded functionality, and save the expense of the memory that it would consume. * Many engineers believe that running application code in user mode is more reliable and easier to debug, thus making the development process easier and the code more portable. * Features requiring faster response than can be guaranteed can often be placed in Programmable logic device, hardware.


Additional software components

In addition to the core operating system, many embedded systems have additional upper-layer software components. These components consist of networking protocol stacks like Controller–area network, CAN, TCP/IP, FTP, HTTP, and HTTPS, and also included storage capabilities like File Allocation Table, FAT and flash memory management systems. If the embedded device has audio and video capabilities, then the appropriate drivers and codecs will be present in the system. In the case of the monolithic kernels, many of these software layers are included. In the RTOS category, the availability of the additional software components depends upon the commercial offering.


Domain-specific architectures

In the automotive sector, AUTOSAR is a standard architecture for embedded software.


See also

* Communications server * Cyber-physical system * Electronic control unit * Hypervisor * Information appliance * Integrated development environment * Photonically Optimized Embedded Microprocessors * Silicon compiler * Software engineering * System on module * Ubiquitous computing


Notes


References


Further reading

* * *


External links


Embedded Systems course with mbed
YouTube, ongoing from 2015
Trends in Cyber Security and Embedded Systems
Dan Geer, November 2013
Modern Embedded Systems Programming Video Course
YouTube, ongoing from 2013
Embedded Systems Week (ESWEEK)
yearly event with conferences, workshops and tutorials covering all aspects of embedded systems and software
Workshop on Embedded and Cyber-Physical Systems Education
workshop covering educational aspects of embedded systems {{Authority control Embedded systems,