 Myself, Mr. Vishal Angeere, Assistant Professor, Department of Electronics and Telecommunication, WIT, Sulapur. Friends, today we are going to study IDEs, that is integrated development environments used in embedded development. Learning outcome, at the end of this session, students will be able to use IDEs for development of an embedded application. So friends, before starting with IDEs used in embedded development, you have to pause this video here and you should recall which IDEs you have used to develop a mini project and how we are going to use that IDE for development of a small project or small scale embedded project. First point is embedded software. So embedded developer is going to execute software which is to be present in its hardware. So think it's embedded hardware will remain same and based on application, the software will go on changing. So for different applications, different type of embedded software are to be used. So think it's the hardware will remain same and we can embed software or we can burn different wrong images into the same hardware for different applications or to upgrade a current system. So to create software, the following basic components are to be needed. Into that, first one is operating system. So different type of operating systems are there which are going to be used to design embedded application. So Windows CE, Linux, ThreadX, Nucleus, RTOS, such type of operating systems are to be used. Languages. So the program is to be returned in different type of languages. So into that, C, C++, Python, JavaScript, Visual Studio, these type of languages, we are going to use tools. So IDE, PDK, SDK, compiler, tool chains, hardware and software debugger. So these type of tools we are going to use. Example is ST-Link Sega. Now we will see types of some embedded software development tools. First one is editor. For writing C code or assembly memonics using the keyboard of personal computer for entering the program, we are going to use editor, which creates a source file that stores the edited file. So generally, we have to use editor to write C or assembly language code or C++. So for this purpose, we are going to use editor. So JNE is a good example of text editor. This is small and lightweight environment that uses the GTK plus toolkit. This JNE supports C, Java, PHP, HTML, Python, Perl, Pascal and some other types of files. Next tool is compiler. So a compiler is tool used for transforming high-level programming language code into low-level machine language code. So when user writes a program, so that program is in the form of high-level language. So the compiler will convert that high-language programming code into low-level machine language code so that a machine can read the low-level language. So the conversion from high-level language to low-level machine language is to be done by compiler. So keelC51 is a popular compiler that creates app for 8051 microcontrollers and translates source code written in the C language. So this keelC51 will perform the task of converting a source code which is written in C language into machine language or low-level machine language. Next type of tool is assembler. For translating assembly memonics into binary opcode that is into an executable file called binary file we are going to use assembler. So that assembly memonics is to be converted into binary opcode or binary codes which is to be executable file. So JNU assembler that is GAS is widely used for Linux operating systems and can be found in the Macintosh tool package. Next debugger. Debugger is a tool used for testing. It eliminates bugs and errors notifying places where they occur. Debuggers identify the lines where issues are found so programmer can address them quickly. So generally debugger is to be used to detect error so that we can correct that error and the embedded system or that embedded application which is to be developed is to be error free. A good debugger tool is IDA Pro that works on Linux, Windows and Mac OS X operating systems. It has both free and commercial versions and is highly popular among developers. Linker. Linker links codes with other codes required. Linking is necessary because of the number of codes to be linked for creating the final binary file. So generally embedded application is to be developed with the help of small codes. So generally all the small codes are to be linked with each other. So linking of these small codes is to be done by linker. If we consider a simple example that if we have writing a code for linking of LEDs so in a main program we call delay, delay subroutine. So generally delay subroutine program is stored at somewhere in the another memory location. So linking of the main program with that delay subroutine is to be performed with the help of linker. So JNU ID is one of the linker tool which we can use. Next tool is emulator. So emulator is used to simulate all functions of an embedded system circuit including that or additional memory and peripherals. It is independent of particular target system. So this emulator is to be used, generally used to check how that application works in real time environment. So it is exact replica of that system which we are going to be developed. So all these are the tools to be used while developing any embedded system. One thing is all these tools are necessary while developing any embedded application. So all these are must, so all these tools are to be included in a single package or in a single system. So for that we have to use IDEs. So IDEs integrated development environment. Something about the list of embedded software development tools, we can't but mention integrated development environments. All the above mentioned tools are needed for creating your embedded software. But it would be extremely inconvenient to use them separately as I said before. So adding another layer of complexity to the project. So hence to simplify the development process it is highly recommended to use integrated environments. So IDEs, IDEs software that provides a set of necessary tools in one package. So these are some embedded software development tool list that is IDEs we are going to use while developing an embedded application. So into that first one is ANKIL, next WebStorm. Next one is Ordino which is to be generally used or in many educational systems regular practice is to be done on Ordino ID, next MPLABX, Visual Studio, Eclipse, NetBeans and MATLAB. So these are some IDEs or embedded software development tools which we are going to use to develop any embedded application and these IDEs will include all these tools like Emulator, Linker, Debugger, Assembler. So all these are to be included in this IDEs. While preparing this video lecture I have referred Internet of Things by Raj Kamal and the web page. Thank you.