Professional Documents
Culture Documents
Ertos
Ertos
Topics:
Overview of Embedded Systems Processor embedded into a system Embedded hardware units and devices in system Embedded software Complex system design Design Process in Embedded Systems Formalization of System Design Classification of embedded systems.
Pl refer chapter 1 of the text book Embedded Systems by Raj Kamal
Processor
Microprocessor : is used as general purpose processor when large embedded software has to be located in the external memory chips. Microcontroller : is used when a small or part of the software has to be located in the internal memory and when on-chip functional units such as the interrupthandler, port, timer, ADC. PWM and CAN controllers are required.
Embedded Software
Final machine Implementable software for a system: A final ROM Image. Contains memory address and contents. This image contains boot-up program, stacks, application program, ISRs, RTOS, Input data and vector addresses. Coding of software in machine codes: Direct writing the bits and bytes in the machine code. Very rarely done for simple programs as this is very difficult. Software in processor specific assembly language: Using machine specific mnemonics, writing in ALP (LL language). Assembler converts ALP program into machine code. Linker links various such required programs of an application, into a single program. Loader program performs reallocating the codes based on the availability of the physical memory locations. Locator locates these codes in the ROM, permanently. Device programmer is used to burn the ROM with the final program. Software in High level language: For complex applications, programming can be done fast using C/ C++ /VC++ /Java. C program has various layers: processor commands, main function, task and library functions, ISRs & Kernel. Compiler converts HL program to an object file. Using a linker and locator, the file for the ROM image is created for target system. Program models for software designing : The program design is simplified if a program is modeled. The different models are : Sequential program model, Object Oriented Program model, Control and Data flow graph, Finite state machine for data path, Multithreaded Model for concurrent processing of threads or tasks. UML is the modeling language for Object Oriented Program model and is popular.
Embedded Software
Software for concurrent processing and scheduling of multiple tasks and ISRs using an RTOS: Real Time Operating System is used in ES for concurrent processing of multiple tasks when the tasks have real time constraints and deadlines. Software for Device drivers and Device Management in an operating system : Two types of device drivers, i.e. physical devices (KB, printer, display etc.) & virtual devices (a file, a pipe, a socket, RAM, disk etc.). Device drivers and device manager software are needed in the system. The RTOS includes device drivers and a device manager, to control and facilitates the use of number of physical and virtual devices. Software tools for designing an Embedded system: Editor, interpreter, compiler, Assembler, Cross Assembler, Simulator, Source code Engineering software, RTOS, Stethoscope, Trace scope, Integrated development Environment (IDE), Prototyper, Locator etc. are the various tools for the designing an ES software.
Software tools required in Exemplary cases : RTOS is essential in most embedded systems to process multiple tasks and ISRs. Embedded systems for medium scale and sophisticated applications need a number of sophisticated software and debugging tools.
10
11
12
Continuous refinement in design can be made by effective communication between designers and implementers. Software design activities are Edit, test, debug and validate till a bug free system is developed.
13
14
Since diagrammatic model clears the design concepts better, UML (Universal modeling language) is used.
UML will have User diagrams, object diagrams, Sequence diagrams, State diagrams, class diagrams and activity diagrams. Classes and objects which gives identity, attribute, components and behavior. Inheritance of the classes and objects Interfaces of the objects and their implementation at the objects. Structural description of the design components. Behavioral description in terms of states, state machine and signals Event description.
15
16