Embedded Systems Basics Tutorial

- details about the basics of embedded systems, their definition, operation and a tutorial about the technology used.

Embedded systems are a cornerstone of the electronics industry today.

An embedded system is a computer or processor based system that has been designed for a specific purpose.

The system gains its name from the fact that the software is embedded into it for a particular application. The embedded system is not like a PC or other computer that can run a variety of programmes and fulfil a whole host of tasks.

The item using an embedded system is designed for a specific task and has its software preloaded, although updates may be undertaken from time to time.

Embedded systems basics

It may be asked what is an embedded system. With many processor based systems and computers it is useful to define what an embedded system is. A convenient definition for an embedded system is: An embedded system is any computer system contained within a product that is not described as a computer.

Using this embedded system definition it is possible to understand the various basic characteristics one. Typically they are:

  • Embedded systems are designed for a specific task. Although they use computer techniques, they cannot be used as a general purpose computer using a variety of different programmes for different task. In this way their function can be focussed onto what they need to do, and they can accordingly be made cheaper and more efficiently.
  • The software for embedded systems is normally referred to as firmware. Rather than being stored on a disc, where many programmes can be stored, the single programme for an embedded system is normally stored on chip and it is referred to as firmware.

Embedded systems contain two main elements:

  • Embedded system hardware:   As with any electronic system, an embedded system requires a hardware platform on which to run. The hardware will be based around a microprocessor or microcontroller. The embedded system hardware will also contain other elements including memory, input output (I/O) interfaces as well as the user interface, and the display.
  • Embedded system software:   The embedded system software is written to perform a particular function. It is typically written in a high level format and then compiled down to provide code that can be lodged within a non-volatile memory within the hardware.

Embedded systems hardware

When using an embedded system there is a choice between the use of a microcontroller or a microprocessor.

  • Microcontroller based systems:   A microcontroller is essentially a CPU, central processor unit, or processor with integrated memory or peripheral devices. As fewer external components are needed, embedded system using microcontrollers tend to be more widely used
  • Microprocessor based systems:   Microprocessors contain a CPU but use external chips for memory and peripheral interfaces. As they require more devices on the board, but they allow more expansion and selection of exact peripherals, etc, this approach tends to be used for the larger embedded systems.

Whatever type of processor is used in the embedded system, it may be a very general purpose type of one of the many highly specialised processors intended for a particular application. In some cases custom designed chips may be viable for a particular application if quantities are sufficiently high. One common example of a standard class of dedicated processor is the digital signal processor, DSP. This type of processor is used for processing audio and image files in particular. Processing is required very quickly as they may be used in applications such as mobile phones and the like.

Embedded systems software

One of the key elements of any embedded system is the software that is used to run the microcontroller.

There is a variety of ways that this can be written:

  • Machine code:   Machine code is the most basic code that is used for the processor unit. The code is normally in hex code and provides the basic instructions for each operation of the processor. This form of code is rarely used for embedded systems these days.
  • Programming language:   Writing machine code is very laborious and time consuming. It is difficult to understand and debug. To overcome this, high level programming languages are often used. Languages including C, C++, etc are commonly used.

Embedded systems design tools

Many embedded systems are complicated and require large levels of software for them to operate.

Developing this software can be timing consuming, and it has to be very accurate for the embedded system to operate correctly. Coding in embedded systems is one of the main areas where faults occur.

To help simplify the process, software development tools are normally used. These help the software developer to programme more quickly, and also more accurately..

Typically the software is written in a high level and then compiled down into a form that is contained within the non-volatile memory of the system. This is normally referred to as the firmware.

By Ian Poole


. . . .     | Next >>


Share this page


Want more like this? Register for our newsletter






Making light work of 'wireless wires' for the Internet of Things Maxine Hewitt | Alpha Micro Components
Making light work of 'wireless wires' for the Internet of Things
Maxine Hewitt of Alpha Micro Components looks at how ready designed and built RF modules can help bring connected products for the Internet of Things to market faster.
Training
Online - Effective Vector Network Analyzer Measurements
How to make effective VNA measurements at RF and microwave frequencies

More training courses










Radio-Electronics.com is operated and owned by Adrio Communications Ltd and edited by Ian Poole. All information is © Adrio Communications Ltd and may not be copied except for individual personal use. This includes copying material in whatever form into website pages. While every effort is made to ensure the accuracy of the information on Radio-Electronics.com, no liability is accepted for any consequences of using it. This site uses cookies. By using this site, these terms including the use of cookies are accepted. More explanation can be found in our Privacy Policy