 Welcome. Today we are going to study components of embedded system, myself, Mr. V. V. Angire, assistant professor, department of Electronics and Telecommunication, Walsh and Instruct Technology, Sulapur. Learning outcome at the end of this session students will be able to identify different components of embedded system. So before starting with the components of embedded system you should recall what is mean by embedded system and definition or understanding of hardware and software components. Introduction the embedded system components are basically divided into two parts that is hardware component and software component. As embedded system is combination of hardware and software so components of embedded system is divided into two parts that is hardware components and software components. Now first we will see hardware components of embedded system. So hardware components of embedded system will include power supply, processor, memory, timer counters, communication ports, input and output and application specific circuits. So first we will see power supply and embedded system require power supply which is 5 volt DC or below it. So sometimes it will require 3.3 volt DC power supply and power supply can be given using battery or using circuit or circuitry as example in figure you can see there is a 230 volt AC supply given as a input and after that using transformer voltage can be reduced and that is to be given to the diode circuitry so that is bridge rectifier. So the rectifier will convert that EC input to a particular DC signal and that DC signal is given to a capacitor for the filtering purpose and after that the signal is given to the voltage regulator IC. As an example in this figure you can see the voltage regulator IC is 7 at 05 so at the output you can see 5 volt DC output. So this 5 volt DC is to be used as a input or as a power supply in case of embedded system. Next processor so processor is heard of any embedded system and in embedded system we can use micro processor or micro controller depending upon the application and as a processor you can use micro processor or micro controller which is of 8 bit, 16 bit or 32 bit. So depending upon application the type of micro controller or 8 bit, 16 bit or 32 bit micro controls are used or higher version of the micro controllers are also used in embedded system and all this depending upon the application which we are going to use built in embedded system memory. So there are two type of memories used in embedded system ROM memory that is read only memory and second one is RAM memory that is random access memory. Generally ROM memory is also called as a code memory because the fixed program or the permanent program which is to be embedded into the embedded system that is to be stored in ROM memory. So this is used for the storage of the program once system powered the system fetches the code from the ROM memory. So when the power supply is given to the embedded system the particular code which is present in the ROM is to be executed. RAM memory is a volatile memory and used for temporary storage of the data. So which is to be used in the processing for embedded system. Timers, counters in some application we need to generate some delays but there is some issue when we generate the delay from the normal coding style by making any loop running for a particular time. Definitely this will give you some delay but the code after this loop remains in waiting for state and delayed. So it is not the best approach to generate the delay. For such kind of application we will need a delay for a specific time interval without affecting the normal code execution we use timer and counters. So particular code which is to be written while programming any embedded system that type of code will not useful in embedded system. So a particular timer or counter is used to generate a delay that will not affect normal code execution. Communication port. Different type of communication ports are used in embedded system hardware to communicate with other embedded devices. And examples are UART, CAN, SPI, I2C, USB, Ethernet, RS232, RS423 and RS485. So for the communication purpose in embedded system communication ports are to be used and these are the general or commonly used communication devices or communication ports which we can use to interact with the other communicate with the other world. Input and output. To interact with embedded system and to generate required output we need output ports. So input as well as output ports are used in any embedded system or used in microcontrollers. So this input and output are generally divided into ports like P0, P1, P2 and P3 in 805 microcontroller that is the basic type of microcontroller. And PA, PB, PC and PD in ATmega series of the microcontroller. So Arduino board will use ATmega series of microcontrollers. So in those type of microcontrollers the ports are to be represented by PA, PB, PC as well as PD. Application specific circuits. So other than common circuit, embedded system needs some application specific circuits for a particular use or for a specific use. So those circuits are called as an application specific circuit. And examples are DMA controller that is direct memory access controller, AD converter that is analog to digital converter, PWN circuit for digital to analog conversion, MODEM, CAN controller and printer controller. So such type of controllers or converters are categorized as application specific circuits. Software components. Now we will see the software components of embedded system. Once the hardware is completed we need to build the software for the embedded devices. There are different software tools for programming and coding. These software tools are referred to as a software components. So below are the tools that are generally used in embedded system development. First one is assembler, next emulator, next debugger and last one is compiler. So these four are the tools, software tools which are used in embedded system development that is to develop a particular program or to develop a particular application. We are going to use these software tools. First one is assembler. So when you write a program in assembly language, this assembly language program is to be converted into hex code using this particular utility that is assembler. So generally assembler is to be used to convert any code which is to be written in C or in assembly language into hex code. So then using some hardware called as a programmer we can write this particular code or this hex code into the chip that is microcontroller chip. Emulator. An emulator is a hardware or software tool that has a similar functionality to the target system or guest system. It enables the host system to execute the functionality and other components. It is a replica of the target system and used for debugging the code and issues. So emulator is a particular application which is the replica of the target system which we are going to build actually or real-time application. Debugger. Sometimes we are not getting expected result or output due to some errors or some bugs in the program. So there are certain tools that are specifically used for the debugging process. So when we can see the control flow and register value to identify the issue. So generally to detect a bug we are going to use debugger. Compiler. Compiler is a software tool that converts one programming language into target code that a machine can understand. So particularly we write the code in embedded C or in assembly language. Compiler will convert this code into machine understandable language. So the compiler basically used for translating the high level language into the low level language like machine code, assembly language or object code. So these are the software components which we are going to use while building any embedded system. So these are hardware as well as software components we are going to use while building any embedded system or any application in which embedded system is to be used. So while preparing this video lecture I have referred these references. Thank you.