Embedded Systems Basics: Understanding Embedded Systems
[Copy link]
Embedded systems are used in a large number of electronic devices, and their design involves both hardware and software technology. As computer technology has advanced, its technology has become increasingly embedded in more and more electronic products. The functionality provided by embedded systems is to give electronic devices greater capabilities than when using hardware technology alone. As a result, embedded systems can be used in a wide range of electronic devices and gadgets. From small amounts of processing in items such as electronic timers, to more complex embedded systems such as game consoles and even major factory and other industrial systems. The name of the technology derives from the fact that software is embedded into a specific application. Unlike a PC or other computer that can run a variety of programs and complete a large number of tasks, embedded systems use embedded software that focuses on one specific task or application. To meet this need, projects that use embedded technology come with their software pre-installed, although it may be updated from time to time. Embedded System Basics For many processor-based systems and computers, it is useful to define an embedded system. A simpledefinition of an embedded system is: An embedded system is any computer system included in a product that is not described as a computer. Using this embedded system definition, one can understand one of various basic characteristics. Typically they are: Embedded systems are designed for a specific task. Although they use computer technology, they are not used as general-purpose computers that use a variety of different programs to perform different tasks. In this way, their functionality can be focused on what they need to do, and they can therefore be made cheaper and more efficient. The software for embedded systems is often called firmware. The single program for an embedded system is usually stored on a chip rather than on a disk that can store many programs, and it is called firmware. Embedded systems contain two main elements: Embedded System Hardware: Like any electronic system, an embedded system requires a hardware platform on which to run. The hardware will be based on a microprocessor or microcontroller. The embedded system hardware will also contain other elements, including memory, input-output (I/O) interfaces, and a user interface and display. Embedded Systems Software:Embedded systems software is written to perform a specific function. It is usually written in a high-level format and then compiled down to provide code that can be stored within non-volatile memory within the hardware. Embedded Systems Hardware:When working with an embedded system, you have the choice of using either a microcontroller or a microprocessor. Microcontroller-Based Systems: A microcontroller is essentially a CPU, central processor unit, or processor with integrated memory or peripherals. Embedded systems using microcontrollers tend to be more widely used because fewer external components are required. Microprocessor-Based Systems: Microprocessors contain a CPU but use external chips for memory and peripheral interfaces. This approach tends to be used in larger embedded systems because they require more on-board devices, but they allow for more expansion and selection of precise peripherals, etc. Whatever type of processor is used in an embedded system, it can be a very general type to one of many highly specialized processors used for a specific application. In some cases, if the volume is high enough, a custom designed chip may be feasible for a specific application. A common example of a standard class of specialized processors is the Digital Signal Processor DSP. This type of processor is particularly used to process audio and image files. Since they can be used in applications such as mobile phones, they need to be processed very quickly. Embedded System Software:One of the key elements of any embedded system is the software used to run the microcontroller. This can be written in a number of ways: Machine Code: Machine code is the most basic code for a processor unit. The code is usually in hexadecimal code and provides basic instructions for each operation of the processor. Currently, this form of code is rarely used in embedded systems. 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. Common languages used include C, C++, etc. The code for an embedded system is usually stored in a form of non-volatile memory held on the processor board. This code is called firmware, and the idea is that it is not updated like software, but is stored in the embedded system and cannot be changed by the user. Software can usually be updated, but this may mean changing the memory card the firmware is on, or updating it in some other way. Other tools are often available to help with the development of firmware. The procedures can often become complex and necessary to ensure that the firmware of an embedded system is running correctly.
|