Embedded Systems And Real Time Operating Systems

Print   

02 Nov 2017

Disclaimer:
This essay has been written and submitted by students and is not an example of our work. Please click this link to view samples of our professional work witten by our professional essay writers. Any opinions, findings, conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of EssayCompany.

Each day, our lives become more dependent on 'embedded systems', digital information technology that is embedded in our environment. This includes not only safety-critical applications such as automotive devices and controls, railways, aircraft, aerospace and medical devices, but also communications, 'mobile worlds' and 'e-worlds', the 'smart' home, clothes, factories etc. All of these have wide-ranging impacts on society, including security, privacy and modes of working and living. More than 98% of processors applied today are in embedded systems, and are no longer visible to the customer as 'computers' in the ordinary sense. New processors and methods of processing, sensors, actuators, communications and infrastructures are 'enablers' for this very pervasive computing. They are in a sense ubiquitous, that is, almost invisible to the user and almost omnipresent. As such, they form the basis for a significant economic push.

Definition:-

"An embedded system is a system that has embedded software and computer hardware, which makes it a system dedicated for an application or specific part of an application or product or a part of a larger system."

COMPONENTS OF EMBEDDED SYSTEM

An embedded system that has three main components embedded in it:

Hardware tools

Software tools

RTOS (Real Time Operating System)

Hardware tools

Figure 1.harware tools

Some of the hardware tools are as follows:-

1. Emulator: It is a hardware device which behaves like a target machine. It is also called REAL TIME TOOL because, it can respond to events as the target microcontroller. Emulator with the supports of monitor program can allow the programmer to examine the registers, memory address and can also set the break points. We have to remember that an emulator is just an aid for the development and not the application developer.

2. In circuit emulator: It has RS-232C com ports to interface with the PC because, normally the IDE debugger and IDE developed object and hex files are with the PC. An ICE is comprising of emulating circuit for target system I/O’s, serial ports, timers, connections for a microcontroller, etc. Emulator and ICE emulate the inputs serial ports, timers and accordingly control the outputs without actually installing a microcontroller chip physically.

3. In circuit simulator: It consists of hardware device which can be connected to our development system to behave like the target microcontroller. The in circuit simulator can perform all functions of software simulator and at the same time can support the emulation of the microcontrollers I/O’s capabilities.

Logic analyzer: It is a tool which collects the signals from many I/O lines of microcontroller ports, buses and peripheral devices. It displays the transaction of signals on various lines simultaneously, which are used to debug the real time triggering condition with logic analyzer we can store the sequence of the logic states of the signals and the instructions which are executed. It help in the hardware debugging of the project.

2.2 Software tools

Some of software tools are as follows:

1. Assembler: Assembler is a software program which carries out the translation of assembly mnemonics into binary opcode and generates executable binary files. It also creates the list file which consists of address, source code, mnemonics and hex codes. The list file is printable. The source hex file generated by the assembler is essential to program to burn.

2. Editor: It software used for writing assembly mnemonics or c-codes using the keyboard of host computer system (development machine). It provides the facilities of entry, addition, deletion, merging, storing of files, etc. and creates a source file.

3. Compiler: It is a software program which translates high level language program into machine language. While translating the program instructions written into the high level language such as ‘C’. Any compiler attends ‘.c’ file only after preprocessing. The code used by the user is called source code. The output from compiler is called object code. For such translation compiler uses two steps:

1) Parsing

2) Generation of object code.

4. Preprocessor: The program is first handle by the ‘C’ preprocessor and it is prepared to be read by the compiler. The preprocessor considers the programmer specialized file, the program text and include the instruction about the particular computer for which the compiler is working.

5. Linker: It creates absolute object modules. It links the needed object code files and the library code files. Linker functions before the loader relocates the addresses and puts the codes at the physical address in the memory and the program runs. The difference between loader and locator is, loader puts the codes of at physical memory address in the host machine and locator puts it on the target machine with the help of device programmer.

6. Debugger: A software ‘bug’ is an error, mistake in the computer program that prevents it from producing expected results. Debugger is a computer program that used to test and debug other programs. Debugging is a process of finding and reducing the number of bugs in a computer program or in an electronic hardware. So that it behaves as per the expectations of the programmer.

It also has functions such as running the program step by step and step over. Debuggers are also used as a software cracking tools to evade copy protection, digital rights management and other software protection features. Most main stream debugging engines such as ‘gdb’ and ‘dbx’.

7. Simulator: It is a software development tool. This simulates the hardware performance without actually employing a specific device or microcontroller. It allows a developer to run a program design for one type of machine (target machine) on another machine (development machine).

Disadvantage of simulator is they do not supports real interrupts or devices. Thus real time result is not observed with the simulator.

8. IDE (Integrated Development Environment): It provides an integrated development environment which includes managing, organizing, editing and debugging the overall project. Thus it is project management tool. An IDE facilities the project source code editing, use of microcontroller, C-compiler, cross-compiler for creating, pasting and debugging an application. It also provides the online help for the actual development of the program with the help of various dialog boxes and menu on the screen.

3. RTOS (Real Time Operating system)

Many embedded systems can be characterized as real time. A real-time system is one in which the correctness of the computations not only depends on their logical correctness, but also on the time at which the result is produced. In other words, a late answer is a wrong answer.

As an example of a real-time system, consider a computer-controlled machine on the production line at a bottling plant. The machine's function is simply to cap each bottle as it passes within the machine's field of motion on a continuously moving conveyor belt. If the machine operates too quickly, the bottle won't be there yet. If the machine operates too slowly, the bottle will be too far along for the machine to reach it. Stopping the conveyor belt is a costly operation, because the entire production line must correspondingly be stopped. Therefore, the range of motion of the machine coupled with the speed of the conveyor belt establishes a window of opportunity for the machine to put the cap on the bottle.

A real-time system is one in which the systems value depends not only on logical (correct) results but also on the time at which the results are produced

The meaning of "real-time" can vary considerable but one definition is as follows:

The times by which tasks will execute can be predicted deterministically on the basis of knowledge about the system’s hardware and software.

3.1 Hard or soft:

A real-time system can be classified as either hard or soft. The distinction, however, is somewhat fuzzy. As illustrated in Figure 1, the meaning of real-time spans a spectrum. At one end of the spectrum is non-real-time, where there are no important deadlines (meaning all deadlines can be missed). The other end is hard real-time, where no deadlines can be missed. Every application falls somewhere between the two endpoints.

Figure 2. Hard and soft real time spectrum

A hard real-time system is one in which one or more activities must never miss a deadline or timing constraint, otherwise the system fails. Failure includes damage to the equipment, major loss in revenues, or even injury or death to users of the system. One example of a hard real-time system is a flight controller. If action in response to new events is not taken within the allotted time, it could lead to an unstable aircraft, which could, in turn, lead to a crash; by no standard is this acceptable.

In contrast, a soft real-time system is one that has timing requirements, but occasionally missing them has negligible effects, as application requirements as a whole continue to be met. Consider again the cruise control application. Suppose the software fails to measure current velocity in time for the control algorithm to use it. The control algorithm can still use the old value, because the amount that the velocity would have changed between the last sample and this sample is so small that it can still operate correctly. Missing several consecutive samples, on the other hand, could be a problem, as the cruise control would likely stop meeting application requirements because it is not able to maintain the desired speed within a proper error tolerance.

Application: Smart Card System

Enabling authentication and verification of card and card holder by

A host Enabling GUI at host machine to interact with the card holder/user for

The required transactions, for example, financial transactions with a bank or

Credit card transactions.

Figure 3. Smart card hardware

Embedded System Design Considerations

There is little difference between the fundamental requirements of a general purpose OS and an embedded RTOS, however, there are a number of design considerations that apply specifically to embedded systems:

• Small footprint – there is a constant demand for ever smaller devices, and devices with more intelligence, a small embedded OS must often use no more than a couple of kilobytes of RAM and ROM memory.

• Very high MTBF – embedded systems may be required to run for years without manual intervention, which means that the hardware and the software should never fail (hence, the system should preferably have no mechanical parts, not only because of failure rate, but they also need more energy, take longer to communicate with, and have more complex drivers).

• Failsafe – many embedded systems control devices that can be dangerous if they don’t work exactly as designed, therefore, the status of these devices has to be checked regularly. The embedded computer system itself, however, is one of these critical devices, and should also be checked, hence, hardware

Watchdogs are often included in embedded systems. These watchdogs are usually retriggerable monostable timers attached to the processor’s reset input, the OS checks within specified intervals whether everything is working as desired, for example by examining the contents of status registers, it then resets the watchdog. If the OS doesn’t succeed in resetting the timer, that means that the system is not functioning properly and the timer goes off, forcing the processor to reset.

• Fast recovery – If the system does fail despite its designed robustness (e.g. RAM corruption from cosmic rays), there is usually no one around to take corrective actions, hence, the system itself should reboot autonomously, in a "safe" state, and "instantly" if it is supposed to control other critical devices.

• Low power – embedded systems are often required to run for a long time on batteries (e.g. mobile phones), or are part of a larger system with very limited power resources (e.g. satellites).

• Low cost – embedded systems are often produced in quantities of several thousand or even millions, decreasing the unit price by even a small amount can generate enormous savings.

6. Conclusion: The combination of mechanics, electronics, computer hardware and software, and control systems will revolutionize technology in the coming decades. This revolution will create exciting career opportunities in: Automotive and Aerospace Industries Medicine and Biomedical Industries. Robotics and Automated Manufacturing Computer Hardware and Software Industries, Telecommunication Industries. We need broadly educated engineers trained in multidisciplinary systems engineering to take advantage of the exciting career opportunities. Hence, embedded systems are a rapidly growing industry where growth opportunities are numerous.

By using the Embedded system we can perform any task in real time in the limited processing power and limited RAM memory and limited secondary memory with absence of standard I/O devices we can interact with hardware.



rev

Our Service Portfolio

jb

Want To Place An Order Quickly?

Then shoot us a message on Whatsapp, WeChat or Gmail. We are available 24/7 to assist you.

whatsapp

Do not panic, you are at the right place

jb

Visit Our essay writting help page to get all the details and guidence on availing our assiatance service.

Get 20% Discount, Now
£19 £14/ Per Page
14 days delivery time

Our writting assistance service is undoubtedly one of the most affordable writting assistance services and we have highly qualified professionls to help you with your work. So what are you waiting for, click below to order now.

Get An Instant Quote

ORDER TODAY!

Our experts are ready to assist you, call us to get a free quote or order now to get succeed in your academics writing.

Get a Free Quote Order Now