SlideShare a Scribd company logo
1 of 4
Download to read offline
Embedded Systems - Tools & Peripherals
Embedded Systems - Tools & Peripherals
Compilers and Assemblers
Compilers and Assemblers
Compiler
Compiler
A compiler is a computer program (or a set of programs) that transforms the source code written in a
A compiler is a computer program (or a set of programs) that transforms the source code written in a
programming language (the source language) into another computer language (normally binary format).
programming language (the source language) into another computer language (normally binary format).
The most common reason for conversion is to create an executable program. The name "compiler" is
The most common reason for conversion is to create an executable program. The name "compiler" is
primarily used for programs that translate the source code from a highlevel programming language to a
primarily used for programs that translate the source code from a highlevel programming language to a
low-level language (e.g., assembly language or machine code).
low-level language (e.g., assembly language or machine code).
Cross-Compiler
Cross-Compiler
If the compiled program can run on a computer having different CPU or operating system than the
If the compiled program can run on a computer having different CPU or operating system than the
computer on which the compiler compiled the program, then that compiler is known as a cross-compiler.
computer on which the compiler compiled the program, then that compiler is known as a cross-compiler.
Decompiler
Decompiler
A program that can translate a program from a low-level language to a high-level language is called a
A program that can translate a program from a low-level language to a high-level language is called a
decompiler.
decompiler.
Language Converter
Language Converter
A program that translates programs written in different high-level languages is normally called a language
A program that translates programs written in different high-level languages is normally called a language
translator, source to source translator, or language converter.
translator, source to source translator, or language converter.
A compiler is likely to perform the following operations βˆ’
A compiler is likely to perform the following operations βˆ’
Preprocessing
Preprocessing
Parsing
Parsing
Semantic Analysis (Syntax-directed translation)
Semantic Analysis (Syntax-directed translation)
Code generation
Code generation
Code optimization
Code optimization
Assemblers
Assemblers
An assembler is a program that takes basic computer instructions (called as assembly language) and
An assembler is a program that takes basic computer instructions (called as assembly language) and
converts them into a pattern of bits that the computer's processor can use to perform its basic operations.
converts them into a pattern of bits that the computer's processor can use to perform its basic operations.
An assembler creates object code by translating assembly instruction mnemonics into opcodes, resolving
An assembler creates object code by translating assembly instruction mnemonics into opcodes, resolving
symbolic names to memory locations. Assembly language uses a mnemonic to represent each low-level
symbolic names to memory locations. Assembly language uses a mnemonic to represent each low-level
machine operation (opcode).
machine operation (opcode).
Debugging Tools in an Embedded System
Debugging Tools in an Embedded System
Debugging is a methodical process to find and reduce the number of bugs in a computer program or a
Debugging is a methodical process to find and reduce the number of bugs in a computer program or a
piece of electronic hardware, so that it works as expected. Debugging is difficult when subsystems are
piece of electronic hardware, so that it works as expected. Debugging is difficult when subsystems are
tightly coupled, because a small change in one subsystem can create bugs in another. The debugging
tightly coupled, because a small change in one subsystem can create bugs in another. The debugging
tools used in embedded systems differ greatly in terms of their development time and debugging features.
tools used in embedded systems differ greatly in terms of their development time and debugging features.
We will discuss here the following debugging tools βˆ’
We will discuss here the following debugging tools βˆ’
Simulators
Simulators
Microcontroller starter kits
Microcontroller starter kits
Emulator
Emulator
Simulators
Simulators
Code is tested for the MCU / system by simulating it on the host computer used for code development.
Code is tested for the MCU / system by simulating it on the host computer used for code development.
Simulators try to model the behavior of the complete microcontroller in software.
Simulators try to model the behavior of the complete microcontroller in software.
Functions of Simulators
Functions of Simulators
A simulator performs the following functions βˆ’
A simulator performs the following functions βˆ’
Defines the processor or processing device family as well as its various versions for the target
Defines the processor or processing device family as well as its various versions for the target
system.
system.
Monitors the detailed information of a source code part with labels and symbolic arguments as
Monitors the detailed information of a source code part with labels and symbolic arguments as
the execution goes on for each single step.
the execution goes on for each single step.
Provides the status of RAM and simulated ports of the target system for each single step
Provides the status of RAM and simulated ports of the target system for each single step
execution.
execution.
Monitors system response and determines throughput.
Monitors system response and determines throughput.
Provides trace of the output of contents of program counter versus the processor registers.
Provides trace of the output of contents of program counter versus the processor registers.
Provides the detailed meaning of the present command.
Provides the detailed meaning of the present command.
Monitors the detailed information of the simulator commands as these are entered from the
Monitors the detailed information of the simulator commands as these are entered from the
keyboard or selected from the menu.
keyboard or selected from the menu.
Supports the conditions (up to 8 or 16 or 32 conditions) and unconditional breakpoints.
Supports the conditions (up to 8 or 16 or 32 conditions) and unconditional breakpoints.
Provides breakpoints and the trace which are together the important testing and debugging tool.
Provides breakpoints and the trace which are together the important testing and debugging tool.
Facilitates synchronizing the internal peripherals and delays.
Facilitates synchronizing the internal peripherals and delays.
Microcontroller Starter Kit
Microcontroller Starter Kit
A microcontroller starter kit consists of βˆ’
A microcontroller starter kit consists of βˆ’
Hardware board (Evaluation board)
Hardware board (Evaluation board)
In-system programmer
In-system programmer
Some software tools like compiler, assembler, linker, etc.
Some software tools like compiler, assembler, linker, etc.
Sometimes, an IDE and code size limited evaluation version of a compiler.
Sometimes, an IDE and code size limited evaluation version of a compiler.
A big advantage of these kits over simulators is that they work in real-time and thus allow for easy
A big advantage of these kits over simulators is that they work in real-time and thus allow for easy
input/output functionality verification. Starter kits, however, are completely sufficient and the cheapest
input/output functionality verification. Starter kits, however, are completely sufficient and the cheapest
option to develop simple microcontroller projects.
option to develop simple microcontroller projects.
Emulators
Emulators
An emulator is a hardware kit or a software program or can be both which emulates the functions of one
An emulator is a hardware kit or a software program or can be both which emulates the functions of one
computer system (the guest) in another computer system (the host), different from the first one, so that
computer system (the guest) in another computer system (the host), different from the first one, so that
the emulated behavior closely resembles the behavior of the real system (the guest).
the emulated behavior closely resembles the behavior of the real system (the guest).
Emulation refers to the ability of a computer program in an electronic device to emulate (imitate) another
Emulation refers to the ability of a computer program in an electronic device to emulate (imitate) another
program or device. Emulation focuses on recreating an original computer environment. Emulators have
program or device. Emulation focuses on recreating an original computer environment. Emulators have
the ability to maintain a closer connection to the authenticity of the digital object. An emulator helps the
the ability to maintain a closer connection to the authenticity of the digital object. An emulator helps the
user to work on any kind of application or operating system on a platform in a similar way as the software
user to work on any kind of application or operating system on a platform in a similar way as the software
runs as in its original environment.
runs as in its original environment.
Peripheral Devices in Embedded Systems
Peripheral Devices in Embedded Systems
Embedded systems communicate with the outside world via their peripherals, such as following &mins;
Embedded systems communicate with the outside world via their peripherals, such as following &mins;
Serial Communication Interfaces (SCI) like RS-232, RS-422, RS-485, etc.
Serial Communication Interfaces (SCI) like RS-232, RS-422, RS-485, etc.
Synchronous Serial Communication Interface like I2C, SPI, SSC, and ESSI
Synchronous Serial Communication Interface like I2C, SPI, SSC, and ESSI
Universal Serial Bus (USB)
Universal Serial Bus (USB)
Multi Media Cards (SD Cards, Compact Flash, etc.)
Multi Media Cards (SD Cards, Compact Flash, etc.)
Networks like Ethernet, LonWorks, etc.
Networks like Ethernet, LonWorks, etc.
Fieldbuses like CAN-Bus, LIN-Bus, PROFIBUS, etc.
Fieldbuses like CAN-Bus, LIN-Bus, PROFIBUS, etc.
imers like PLL(s), Capture/Compare and Time Processing Units.
imers like PLL(s), Capture/Compare and Time Processing Units.
Discrete IO aka General Purpose Input/Output (GPIO)
Discrete IO aka General Purpose Input/Output (GPIO)
Analog to Digital/Digital to Analog (ADC/DAC)
Analog to Digital/Digital to Analog (ADC/DAC)
Debugging like JTAG, ISP, ICSP, BDM Port, BITP, and DP9 ports
Debugging like JTAG, ISP, ICSP, BDM Port, BITP, and DP9 ports
Criteria for Choosing Microcontroller
Criteria for Choosing Microcontroller
While choosing a microcontroller, make sure it meets the task at hand and that it is cost effective. We
While choosing a microcontroller, make sure it meets the task at hand and that it is cost effective. We
must see whether an 8-bit, 16-bit or 32-bit microcontroller can best handle the computing needs of a task.
must see whether an 8-bit, 16-bit or 32-bit microcontroller can best handle the computing needs of a task.
In addition, the following points should be kept in mind while choosing a microcontroller βˆ’
In addition, the following points should be kept in mind while choosing a microcontroller βˆ’
Speed
Speed βˆ’ What is the highest speed the microcontroller can support?
βˆ’ What is the highest speed the microcontroller can support?
Packaging
Packaging βˆ’ Is it 40-pin DIP (Dual-inline-package) or QFP (Quad flat package)? This is
βˆ’ Is it 40-pin DIP (Dual-inline-package) or QFP (Quad flat package)? This is
important in terms of space, assembling, and prototyping the end-product.
important in terms of space, assembling, and prototyping the end-product.
Power Consumption
Power Consumption βˆ’ This is an important criteria for battery-powered products.
βˆ’ This is an important criteria for battery-powered products.
Amount of RAM and ROM
Amount of RAM and ROM on the chip.
on the chip.
Count of I/O pins and Timers
Count of I/O pins and Timers on the chip.
on the chip.
Cost per Unit
Cost per Unit βˆ’ This is important in terms of final cost of the product in which the microcontroller
βˆ’ This is important in terms of final cost of the product in which the microcontroller
is to be used.
is to be used.
Further, make sure you have tools such as compilers, debuggers, and assemblers, available with the
Further, make sure you have tools such as compilers, debuggers, and assemblers, available with the
microcontroller. The most important of all, you should purchase a microcontroller from a reliable source.
microcontroller. The most important of all, you should purchase a microcontroller from a reliable source.

More Related Content

What's hot

The ARM Architecture: ARM : ARM Architecture
The ARM Architecture: ARM : ARM ArchitectureThe ARM Architecture: ARM : ARM Architecture
The ARM Architecture: ARM : ARM Architecturesreea4
Β 
Unit II Arm7 Thumb Instruction
Unit II Arm7 Thumb InstructionUnit II Arm7 Thumb Instruction
Unit II Arm7 Thumb InstructionDr. Pankaj Zope
Β 
ARM Micro-controller
ARM Micro-controllerARM Micro-controller
ARM Micro-controllerRavikumar Tiwari
Β 
ARM 32-bit Microcontroller Cortex-M3 introduction
ARM 32-bit Microcontroller Cortex-M3 introductionARM 32-bit Microcontroller Cortex-M3 introduction
ARM 32-bit Microcontroller Cortex-M3 introductionanand hd
Β 
Introduction to Embedded Systems
Introduction to Embedded SystemsIntroduction to Embedded Systems
Introduction to Embedded SystemsSudhanshu Janwadkar
Β 
Microprocessor and microcontrollers
Microprocessor and microcontrollersMicroprocessor and microcontrollers
Microprocessor and microcontrollersHiran Gabriel
Β 
Embedded systems
Embedded systemsEmbedded systems
Embedded systemsAshok Raj
Β 
Introduction to microcontroller
Introduction to microcontrollerIntroduction to microcontroller
Introduction to microcontrollerRajib Roy
Β 
Ch 1 introduction to Embedded Systems (AY:2018-2019--> First Semester)
Ch 1 introduction to Embedded Systems (AY:2018-2019--> First Semester)Ch 1 introduction to Embedded Systems (AY:2018-2019--> First Semester)
Ch 1 introduction to Embedded Systems (AY:2018-2019--> First Semester)Moe Moe Myint
Β 
ARM Exception and interrupts
ARM Exception and interrupts ARM Exception and interrupts
ARM Exception and interrupts NishmaNJ
Β 
Embedded system notes
Embedded system notesEmbedded system notes
Embedded system notesTARUN KUMAR
Β 
Semaphores
SemaphoresSemaphores
SemaphoresRajSahu50
Β 
Introduction to embedded system design
Introduction to embedded system designIntroduction to embedded system design
Introduction to embedded system designMukesh Bansal
Β 
Embedded firmware
Embedded firmwareEmbedded firmware
Embedded firmwareJoel P
Β 
Memory organization (Computer architecture)
Memory organization (Computer architecture)Memory organization (Computer architecture)
Memory organization (Computer architecture)Sandesh Jonchhe
Β 

What's hot (20)

Communication protocols - Embedded Systems
Communication protocols - Embedded SystemsCommunication protocols - Embedded Systems
Communication protocols - Embedded Systems
Β 
The ARM Architecture: ARM : ARM Architecture
The ARM Architecture: ARM : ARM ArchitectureThe ARM Architecture: ARM : ARM Architecture
The ARM Architecture: ARM : ARM Architecture
Β 
Unit II Arm7 Thumb Instruction
Unit II Arm7 Thumb InstructionUnit II Arm7 Thumb Instruction
Unit II Arm7 Thumb Instruction
Β 
ARM Micro-controller
ARM Micro-controllerARM Micro-controller
ARM Micro-controller
Β 
ARM 32-bit Microcontroller Cortex-M3 introduction
ARM 32-bit Microcontroller Cortex-M3 introductionARM 32-bit Microcontroller Cortex-M3 introduction
ARM 32-bit Microcontroller Cortex-M3 introduction
Β 
Introduction to Embedded Systems
Introduction to Embedded SystemsIntroduction to Embedded Systems
Introduction to Embedded Systems
Β 
Microprocessor and microcontrollers
Microprocessor and microcontrollersMicroprocessor and microcontrollers
Microprocessor and microcontrollers
Β 
Embedded systems
Embedded systemsEmbedded systems
Embedded systems
Β 
Introduction to microcontroller
Introduction to microcontrollerIntroduction to microcontroller
Introduction to microcontroller
Β 
Ch 1 introduction to Embedded Systems (AY:2018-2019--> First Semester)
Ch 1 introduction to Embedded Systems (AY:2018-2019--> First Semester)Ch 1 introduction to Embedded Systems (AY:2018-2019--> First Semester)
Ch 1 introduction to Embedded Systems (AY:2018-2019--> First Semester)
Β 
ARM Exception and interrupts
ARM Exception and interrupts ARM Exception and interrupts
ARM Exception and interrupts
Β 
ARM
ARMARM
ARM
Β 
Arm instruction set
Arm instruction setArm instruction set
Arm instruction set
Β 
Embedded system notes
Embedded system notesEmbedded system notes
Embedded system notes
Β 
Semaphores
SemaphoresSemaphores
Semaphores
Β 
Introduction to embedded system design
Introduction to embedded system designIntroduction to embedded system design
Introduction to embedded system design
Β 
E.s unit 6
E.s unit 6E.s unit 6
E.s unit 6
Β 
Embedded firmware
Embedded firmwareEmbedded firmware
Embedded firmware
Β 
Arduino- Serial communication
Arduino-  Serial communicationArduino-  Serial communication
Arduino- Serial communication
Β 
Memory organization (Computer architecture)
Memory organization (Computer architecture)Memory organization (Computer architecture)
Memory organization (Computer architecture)
Β 

Similar to Embedded Systems Tools & Debugging

Debugging Tools.pptx
Debugging Tools.pptxDebugging Tools.pptx
Debugging Tools.pptx400HassanRaza
Β 
Insight into progam execution ppt
Insight into progam execution pptInsight into progam execution ppt
Insight into progam execution pptKeerty Smile
Β 
Inroduction System Software -features Types
Inroduction System Software -features TypesInroduction System Software -features Types
Inroduction System Software -features TypesSwapnaliPawar27
Β 
Introduction to system programming
Introduction to system programmingIntroduction to system programming
Introduction to system programmingsonalikharade3
Β 
system software and application software, compiler, interpreter & assembler
system software  and application software, compiler, interpreter & assemblersystem software  and application software, compiler, interpreter & assembler
system software and application software, compiler, interpreter & assemblerchetan birla
Β 
Hacking with Reverse Engineering and Defense against it
Hacking with Reverse Engineering and Defense against it Hacking with Reverse Engineering and Defense against it
Hacking with Reverse Engineering and Defense against it Prakashchand Suthar
Β 
Reverse code engineering
Reverse code engineeringReverse code engineering
Reverse code engineeringKrishs Patil
Β 
Compilers programmingembedded
Compilers programmingembeddedCompilers programmingembedded
Compilers programmingembeddedManish Pandey
Β 
Chapter1pdf__2021_11_23_10_53_20.pdf
Chapter1pdf__2021_11_23_10_53_20.pdfChapter1pdf__2021_11_23_10_53_20.pdf
Chapter1pdf__2021_11_23_10_53_20.pdfDrIsikoIsaac
Β 
Computer system
Computer systemComputer system
Computer systemRajThakuri
Β 
unit1pdf__2021_12_14_12_37_34.pdf
unit1pdf__2021_12_14_12_37_34.pdfunit1pdf__2021_12_14_12_37_34.pdf
unit1pdf__2021_12_14_12_37_34.pdfDrIsikoIsaac
Β 
Lesson 1 - Introduction to Computer Programming.pptx
Lesson 1 - Introduction to Computer Programming.pptxLesson 1 - Introduction to Computer Programming.pptx
Lesson 1 - Introduction to Computer Programming.pptxNeil Mutia
Β 
Embedded systems
Embedded systemsEmbedded systems
Embedded systemsRajanikanth U
Β 
System software
System softwareSystem software
System softwareSenthil Kanth
Β 
EMBEDDED SYSTEMS SYBSC IT SEM IV UNIT V Embedded Systems Integrated Developme...
EMBEDDED SYSTEMS SYBSC IT SEM IV UNIT V Embedded Systems Integrated Developme...EMBEDDED SYSTEMS SYBSC IT SEM IV UNIT V Embedded Systems Integrated Developme...
EMBEDDED SYSTEMS SYBSC IT SEM IV UNIT V Embedded Systems Integrated Developme...Arti Parab Academics
Β 
System Programming VV Notes.pdf
System Programming VV Notes.pdfSystem Programming VV Notes.pdf
System Programming VV Notes.pdfbharathreddy223930
Β 
Embedded systems
Embedded systemsEmbedded systems
Embedded systemsMinal21
Β 

Similar to Embedded Systems Tools & Debugging (20)

Debugging Tools.pptx
Debugging Tools.pptxDebugging Tools.pptx
Debugging Tools.pptx
Β 
Insight into progam execution ppt
Insight into progam execution pptInsight into progam execution ppt
Insight into progam execution ppt
Β 
Inroduction System Software -features Types
Inroduction System Software -features TypesInroduction System Software -features Types
Inroduction System Software -features Types
Β 
Embedded systems
Embedded systemsEmbedded systems
Embedded systems
Β 
Introduction to system programming
Introduction to system programmingIntroduction to system programming
Introduction to system programming
Β 
system software and application software, compiler, interpreter & assembler
system software  and application software, compiler, interpreter & assemblersystem software  and application software, compiler, interpreter & assembler
system software and application software, compiler, interpreter & assembler
Β 
Hacking with Reverse Engineering and Defense against it
Hacking with Reverse Engineering and Defense against it Hacking with Reverse Engineering and Defense against it
Hacking with Reverse Engineering and Defense against it
Β 
Reverse code engineering
Reverse code engineeringReverse code engineering
Reverse code engineering
Β 
Compilers programmingembedded
Compilers programmingembeddedCompilers programmingembedded
Compilers programmingembedded
Β 
Es tools ppt
Es tools pptEs tools ppt
Es tools ppt
Β 
Chapter1pdf__2021_11_23_10_53_20.pdf
Chapter1pdf__2021_11_23_10_53_20.pdfChapter1pdf__2021_11_23_10_53_20.pdf
Chapter1pdf__2021_11_23_10_53_20.pdf
Β 
Microprocessor systems (4)
Microprocessor systems (4)Microprocessor systems (4)
Microprocessor systems (4)
Β 
Computer system
Computer systemComputer system
Computer system
Β 
unit1pdf__2021_12_14_12_37_34.pdf
unit1pdf__2021_12_14_12_37_34.pdfunit1pdf__2021_12_14_12_37_34.pdf
unit1pdf__2021_12_14_12_37_34.pdf
Β 
Lesson 1 - Introduction to Computer Programming.pptx
Lesson 1 - Introduction to Computer Programming.pptxLesson 1 - Introduction to Computer Programming.pptx
Lesson 1 - Introduction to Computer Programming.pptx
Β 
Embedded systems
Embedded systemsEmbedded systems
Embedded systems
Β 
System software
System softwareSystem software
System software
Β 
EMBEDDED SYSTEMS SYBSC IT SEM IV UNIT V Embedded Systems Integrated Developme...
EMBEDDED SYSTEMS SYBSC IT SEM IV UNIT V Embedded Systems Integrated Developme...EMBEDDED SYSTEMS SYBSC IT SEM IV UNIT V Embedded Systems Integrated Developme...
EMBEDDED SYSTEMS SYBSC IT SEM IV UNIT V Embedded Systems Integrated Developme...
Β 
System Programming VV Notes.pdf
System Programming VV Notes.pdfSystem Programming VV Notes.pdf
System Programming VV Notes.pdf
Β 
Embedded systems
Embedded systemsEmbedded systems
Embedded systems
Β 

More from imtiazalijoono

Embedded systems io programming
Embedded systems   io programmingEmbedded systems   io programming
Embedded systems io programmingimtiazalijoono
Β 
Importance of reading and its types.
Importance of reading and its types.Importance of reading and its types.
Importance of reading and its types.imtiazalijoono
Β 
Negative amplifiers and its types Positive feedback and Negative feedback
Negative amplifiers and its types Positive feedback  and Negative feedbackNegative amplifiers and its types Positive feedback  and Negative feedback
Negative amplifiers and its types Positive feedback and Negative feedbackimtiazalijoono
Β 
Multistage amplifiers and Name of coupling Name of multistage amplifier
Multistage amplifiers and Name of coupling Name of multistage amplifierMultistage amplifiers and Name of coupling Name of multistage amplifier
Multistage amplifiers and Name of coupling Name of multistage amplifierimtiazalijoono
Β 
Loop Introduction for Loop while Loop do while Loop Nested Loops Values of...
Loop Introduction for Loop  while Loop do while Loop  Nested Loops  Values of...Loop Introduction for Loop  while Loop do while Loop  Nested Loops  Values of...
Loop Introduction for Loop while Loop do while Loop Nested Loops Values of...imtiazalijoono
Β 
Programming Fundamentals and basic knowledge
Programming Fundamentals and basic knowledge Programming Fundamentals and basic knowledge
Programming Fundamentals and basic knowledge imtiazalijoono
Β 
Programming Fundamentals Functions in C and types
Programming Fundamentals  Functions in C  and typesProgramming Fundamentals  Functions in C  and types
Programming Fundamentals Functions in C and typesimtiazalijoono
Β 
Software Development Software development process
Software Development Software development processSoftware Development Software development process
Software Development Software development processimtiazalijoono
Β 
Programming Fundamentals Decisions
Programming Fundamentals  Decisions Programming Fundamentals  Decisions
Programming Fundamentals Decisions imtiazalijoono
Β 
C Building Blocks
C Building Blocks C Building Blocks
C Building Blocks imtiazalijoono
Β 
Programming Fundamentals Arrays and Strings
Programming Fundamentals   Arrays and Strings Programming Fundamentals   Arrays and Strings
Programming Fundamentals Arrays and Strings imtiazalijoono
Β 
Programming Fundamentals and Programming Languages Concepts Translators
Programming Fundamentals and Programming Languages Concepts TranslatorsProgramming Fundamentals and Programming Languages Concepts Translators
Programming Fundamentals and Programming Languages Concepts Translatorsimtiazalijoono
Β 
Programming Fundamentals and Programming Languages Concepts
Programming Fundamentals and Programming Languages ConceptsProgramming Fundamentals and Programming Languages Concepts
Programming Fundamentals and Programming Languages Conceptsimtiazalijoono
Β 
Programming Global variable
Programming Global variableProgramming Global variable
Programming Global variableimtiazalijoono
Β 
Array Introduction One-dimensional array Multidimensional array
Array Introduction One-dimensional array Multidimensional arrayArray Introduction One-dimensional array Multidimensional array
Array Introduction One-dimensional array Multidimensional arrayimtiazalijoono
Β 
NTRODUCTION TO COMPUTER PROGRAMMING Loop as repetitive statement,
NTRODUCTION TO COMPUTER PROGRAMMING Loop as repetitive statement,NTRODUCTION TO COMPUTER PROGRAMMING Loop as repetitive statement,
NTRODUCTION TO COMPUTER PROGRAMMING Loop as repetitive statement,imtiazalijoono
Β 
Arithmetic and Arithmetic assignment operators
Arithmetic and Arithmetic assignment operatorsArithmetic and Arithmetic assignment operators
Arithmetic and Arithmetic assignment operatorsimtiazalijoono
Β 
INTRODUCTION TO COMPUTER PROGRAMMING
INTRODUCTION TO COMPUTER PROGRAMMINGINTRODUCTION TO COMPUTER PROGRAMMING
INTRODUCTION TO COMPUTER PROGRAMMINGimtiazalijoono
Β 
COMPUTER PROGRAMMING
COMPUTER PROGRAMMINGCOMPUTER PROGRAMMING
COMPUTER PROGRAMMINGimtiazalijoono
Β 
COMPUTER PROGRAMMING
COMPUTER PROGRAMMINGCOMPUTER PROGRAMMING
COMPUTER PROGRAMMINGimtiazalijoono
Β 

More from imtiazalijoono (20)

Embedded systems io programming
Embedded systems   io programmingEmbedded systems   io programming
Embedded systems io programming
Β 
Importance of reading and its types.
Importance of reading and its types.Importance of reading and its types.
Importance of reading and its types.
Β 
Negative amplifiers and its types Positive feedback and Negative feedback
Negative amplifiers and its types Positive feedback  and Negative feedbackNegative amplifiers and its types Positive feedback  and Negative feedback
Negative amplifiers and its types Positive feedback and Negative feedback
Β 
Multistage amplifiers and Name of coupling Name of multistage amplifier
Multistage amplifiers and Name of coupling Name of multistage amplifierMultistage amplifiers and Name of coupling Name of multistage amplifier
Multistage amplifiers and Name of coupling Name of multistage amplifier
Β 
Loop Introduction for Loop while Loop do while Loop Nested Loops Values of...
Loop Introduction for Loop  while Loop do while Loop  Nested Loops  Values of...Loop Introduction for Loop  while Loop do while Loop  Nested Loops  Values of...
Loop Introduction for Loop while Loop do while Loop Nested Loops Values of...
Β 
Programming Fundamentals and basic knowledge
Programming Fundamentals and basic knowledge Programming Fundamentals and basic knowledge
Programming Fundamentals and basic knowledge
Β 
Programming Fundamentals Functions in C and types
Programming Fundamentals  Functions in C  and typesProgramming Fundamentals  Functions in C  and types
Programming Fundamentals Functions in C and types
Β 
Software Development Software development process
Software Development Software development processSoftware Development Software development process
Software Development Software development process
Β 
Programming Fundamentals Decisions
Programming Fundamentals  Decisions Programming Fundamentals  Decisions
Programming Fundamentals Decisions
Β 
C Building Blocks
C Building Blocks C Building Blocks
C Building Blocks
Β 
Programming Fundamentals Arrays and Strings
Programming Fundamentals   Arrays and Strings Programming Fundamentals   Arrays and Strings
Programming Fundamentals Arrays and Strings
Β 
Programming Fundamentals and Programming Languages Concepts Translators
Programming Fundamentals and Programming Languages Concepts TranslatorsProgramming Fundamentals and Programming Languages Concepts Translators
Programming Fundamentals and Programming Languages Concepts Translators
Β 
Programming Fundamentals and Programming Languages Concepts
Programming Fundamentals and Programming Languages ConceptsProgramming Fundamentals and Programming Languages Concepts
Programming Fundamentals and Programming Languages Concepts
Β 
Programming Global variable
Programming Global variableProgramming Global variable
Programming Global variable
Β 
Array Introduction One-dimensional array Multidimensional array
Array Introduction One-dimensional array Multidimensional arrayArray Introduction One-dimensional array Multidimensional array
Array Introduction One-dimensional array Multidimensional array
Β 
NTRODUCTION TO COMPUTER PROGRAMMING Loop as repetitive statement,
NTRODUCTION TO COMPUTER PROGRAMMING Loop as repetitive statement,NTRODUCTION TO COMPUTER PROGRAMMING Loop as repetitive statement,
NTRODUCTION TO COMPUTER PROGRAMMING Loop as repetitive statement,
Β 
Arithmetic and Arithmetic assignment operators
Arithmetic and Arithmetic assignment operatorsArithmetic and Arithmetic assignment operators
Arithmetic and Arithmetic assignment operators
Β 
INTRODUCTION TO COMPUTER PROGRAMMING
INTRODUCTION TO COMPUTER PROGRAMMINGINTRODUCTION TO COMPUTER PROGRAMMING
INTRODUCTION TO COMPUTER PROGRAMMING
Β 
COMPUTER PROGRAMMING
COMPUTER PROGRAMMINGCOMPUTER PROGRAMMING
COMPUTER PROGRAMMING
Β 
COMPUTER PROGRAMMING
COMPUTER PROGRAMMINGCOMPUTER PROGRAMMING
COMPUTER PROGRAMMING
Β 

Recently uploaded

Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxNirmalaLoungPoorunde1
Β 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAssociation for Project Management
Β 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
Β 
URLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppURLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppCeline George
Β 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
Β 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
Β 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactdawncurless
Β 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
Β 
Science 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsScience 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsKarinaGenton
Β 
Concept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfConcept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfUmakantAnnand
Β 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfchloefrazer622
Β 
MENTAL STATUS EXAMINATION format.docx
MENTAL     STATUS EXAMINATION format.docxMENTAL     STATUS EXAMINATION format.docx
MENTAL STATUS EXAMINATION format.docxPoojaSen20
Β 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxpboyjonauth
Β 
Hybridoma Technology ( Production , Purification , and Application )
Hybridoma Technology  ( Production , Purification , and Application  ) Hybridoma Technology  ( Production , Purification , and Application  )
Hybridoma Technology ( Production , Purification , and Application ) Sakshi Ghasle
Β 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docxPoojaSen20
Β 
PSYCHIATRIC History collection FORMAT.pptx
PSYCHIATRIC   History collection FORMAT.pptxPSYCHIATRIC   History collection FORMAT.pptx
PSYCHIATRIC History collection FORMAT.pptxPoojaSen20
Β 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingTechSoup
Β 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformChameera Dedduwage
Β 

Recently uploaded (20)

Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptx
Β 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across Sectors
Β 
Model Call Girl in Tilak Nagar Delhi reach out to us at πŸ”9953056974πŸ”
Model Call Girl in Tilak Nagar Delhi reach out to us at πŸ”9953056974πŸ”Model Call Girl in Tilak Nagar Delhi reach out to us at πŸ”9953056974πŸ”
Model Call Girl in Tilak Nagar Delhi reach out to us at πŸ”9953056974πŸ”
Β 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
Β 
URLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppURLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website App
Β 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
Β 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
Β 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
Β 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Β 
Science 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsScience 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its Characteristics
Β 
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
Β 
Concept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfConcept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.Compdf
Β 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
Β 
MENTAL STATUS EXAMINATION format.docx
MENTAL     STATUS EXAMINATION format.docxMENTAL     STATUS EXAMINATION format.docx
MENTAL STATUS EXAMINATION format.docx
Β 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptx
Β 
Hybridoma Technology ( Production , Purification , and Application )
Hybridoma Technology  ( Production , Purification , and Application  ) Hybridoma Technology  ( Production , Purification , and Application  )
Hybridoma Technology ( Production , Purification , and Application )
Β 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docx
Β 
PSYCHIATRIC History collection FORMAT.pptx
PSYCHIATRIC   History collection FORMAT.pptxPSYCHIATRIC   History collection FORMAT.pptx
PSYCHIATRIC History collection FORMAT.pptx
Β 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
Β 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
Β 

Embedded Systems Tools & Debugging

  • 1. Embedded Systems - Tools & Peripherals Embedded Systems - Tools & Peripherals Compilers and Assemblers Compilers and Assemblers Compiler Compiler A compiler is a computer program (or a set of programs) that transforms the source code written in a A compiler is a computer program (or a set of programs) that transforms the source code written in a programming language (the source language) into another computer language (normally binary format). programming language (the source language) into another computer language (normally binary format). The most common reason for conversion is to create an executable program. The name "compiler" is The most common reason for conversion is to create an executable program. The name "compiler" is primarily used for programs that translate the source code from a highlevel programming language to a primarily used for programs that translate the source code from a highlevel programming language to a low-level language (e.g., assembly language or machine code). low-level language (e.g., assembly language or machine code). Cross-Compiler Cross-Compiler If the compiled program can run on a computer having different CPU or operating system than the If the compiled program can run on a computer having different CPU or operating system than the computer on which the compiler compiled the program, then that compiler is known as a cross-compiler. computer on which the compiler compiled the program, then that compiler is known as a cross-compiler. Decompiler Decompiler A program that can translate a program from a low-level language to a high-level language is called a A program that can translate a program from a low-level language to a high-level language is called a decompiler. decompiler. Language Converter Language Converter A program that translates programs written in different high-level languages is normally called a language A program that translates programs written in different high-level languages is normally called a language translator, source to source translator, or language converter. translator, source to source translator, or language converter. A compiler is likely to perform the following operations βˆ’ A compiler is likely to perform the following operations βˆ’ Preprocessing Preprocessing Parsing Parsing Semantic Analysis (Syntax-directed translation) Semantic Analysis (Syntax-directed translation) Code generation Code generation Code optimization Code optimization Assemblers Assemblers An assembler is a program that takes basic computer instructions (called as assembly language) and An assembler is a program that takes basic computer instructions (called as assembly language) and converts them into a pattern of bits that the computer's processor can use to perform its basic operations. converts them into a pattern of bits that the computer's processor can use to perform its basic operations. An assembler creates object code by translating assembly instruction mnemonics into opcodes, resolving An assembler creates object code by translating assembly instruction mnemonics into opcodes, resolving symbolic names to memory locations. Assembly language uses a mnemonic to represent each low-level symbolic names to memory locations. Assembly language uses a mnemonic to represent each low-level machine operation (opcode). machine operation (opcode). Debugging Tools in an Embedded System Debugging Tools in an Embedded System
  • 2. Debugging is a methodical process to find and reduce the number of bugs in a computer program or a Debugging is a methodical process to find and reduce the number of bugs in a computer program or a piece of electronic hardware, so that it works as expected. Debugging is difficult when subsystems are piece of electronic hardware, so that it works as expected. Debugging is difficult when subsystems are tightly coupled, because a small change in one subsystem can create bugs in another. The debugging tightly coupled, because a small change in one subsystem can create bugs in another. The debugging tools used in embedded systems differ greatly in terms of their development time and debugging features. tools used in embedded systems differ greatly in terms of their development time and debugging features. We will discuss here the following debugging tools βˆ’ We will discuss here the following debugging tools βˆ’ Simulators Simulators Microcontroller starter kits Microcontroller starter kits Emulator Emulator Simulators Simulators Code is tested for the MCU / system by simulating it on the host computer used for code development. Code is tested for the MCU / system by simulating it on the host computer used for code development. Simulators try to model the behavior of the complete microcontroller in software. Simulators try to model the behavior of the complete microcontroller in software. Functions of Simulators Functions of Simulators A simulator performs the following functions βˆ’ A simulator performs the following functions βˆ’ Defines the processor or processing device family as well as its various versions for the target Defines the processor or processing device family as well as its various versions for the target system. system. Monitors the detailed information of a source code part with labels and symbolic arguments as Monitors the detailed information of a source code part with labels and symbolic arguments as the execution goes on for each single step. the execution goes on for each single step. Provides the status of RAM and simulated ports of the target system for each single step Provides the status of RAM and simulated ports of the target system for each single step execution. execution. Monitors system response and determines throughput. Monitors system response and determines throughput. Provides trace of the output of contents of program counter versus the processor registers. Provides trace of the output of contents of program counter versus the processor registers. Provides the detailed meaning of the present command. Provides the detailed meaning of the present command. Monitors the detailed information of the simulator commands as these are entered from the Monitors the detailed information of the simulator commands as these are entered from the keyboard or selected from the menu. keyboard or selected from the menu. Supports the conditions (up to 8 or 16 or 32 conditions) and unconditional breakpoints. Supports the conditions (up to 8 or 16 or 32 conditions) and unconditional breakpoints. Provides breakpoints and the trace which are together the important testing and debugging tool. Provides breakpoints and the trace which are together the important testing and debugging tool. Facilitates synchronizing the internal peripherals and delays. Facilitates synchronizing the internal peripherals and delays. Microcontroller Starter Kit Microcontroller Starter Kit A microcontroller starter kit consists of βˆ’ A microcontroller starter kit consists of βˆ’ Hardware board (Evaluation board) Hardware board (Evaluation board) In-system programmer In-system programmer Some software tools like compiler, assembler, linker, etc. Some software tools like compiler, assembler, linker, etc. Sometimes, an IDE and code size limited evaluation version of a compiler. Sometimes, an IDE and code size limited evaluation version of a compiler.
  • 3. A big advantage of these kits over simulators is that they work in real-time and thus allow for easy A big advantage of these kits over simulators is that they work in real-time and thus allow for easy input/output functionality verification. Starter kits, however, are completely sufficient and the cheapest input/output functionality verification. Starter kits, however, are completely sufficient and the cheapest option to develop simple microcontroller projects. option to develop simple microcontroller projects. Emulators Emulators An emulator is a hardware kit or a software program or can be both which emulates the functions of one An emulator is a hardware kit or a software program or can be both which emulates the functions of one computer system (the guest) in another computer system (the host), different from the first one, so that computer system (the guest) in another computer system (the host), different from the first one, so that the emulated behavior closely resembles the behavior of the real system (the guest). the emulated behavior closely resembles the behavior of the real system (the guest). Emulation refers to the ability of a computer program in an electronic device to emulate (imitate) another Emulation refers to the ability of a computer program in an electronic device to emulate (imitate) another program or device. Emulation focuses on recreating an original computer environment. Emulators have program or device. Emulation focuses on recreating an original computer environment. Emulators have the ability to maintain a closer connection to the authenticity of the digital object. An emulator helps the the ability to maintain a closer connection to the authenticity of the digital object. An emulator helps the user to work on any kind of application or operating system on a platform in a similar way as the software user to work on any kind of application or operating system on a platform in a similar way as the software runs as in its original environment. runs as in its original environment. Peripheral Devices in Embedded Systems Peripheral Devices in Embedded Systems Embedded systems communicate with the outside world via their peripherals, such as following &mins; Embedded systems communicate with the outside world via their peripherals, such as following &mins; Serial Communication Interfaces (SCI) like RS-232, RS-422, RS-485, etc. Serial Communication Interfaces (SCI) like RS-232, RS-422, RS-485, etc. Synchronous Serial Communication Interface like I2C, SPI, SSC, and ESSI Synchronous Serial Communication Interface like I2C, SPI, SSC, and ESSI Universal Serial Bus (USB) Universal Serial Bus (USB) Multi Media Cards (SD Cards, Compact Flash, etc.) Multi Media Cards (SD Cards, Compact Flash, etc.) Networks like Ethernet, LonWorks, etc. Networks like Ethernet, LonWorks, etc. Fieldbuses like CAN-Bus, LIN-Bus, PROFIBUS, etc. Fieldbuses like CAN-Bus, LIN-Bus, PROFIBUS, etc. imers like PLL(s), Capture/Compare and Time Processing Units. imers like PLL(s), Capture/Compare and Time Processing Units. Discrete IO aka General Purpose Input/Output (GPIO) Discrete IO aka General Purpose Input/Output (GPIO) Analog to Digital/Digital to Analog (ADC/DAC) Analog to Digital/Digital to Analog (ADC/DAC) Debugging like JTAG, ISP, ICSP, BDM Port, BITP, and DP9 ports Debugging like JTAG, ISP, ICSP, BDM Port, BITP, and DP9 ports Criteria for Choosing Microcontroller Criteria for Choosing Microcontroller While choosing a microcontroller, make sure it meets the task at hand and that it is cost effective. We While choosing a microcontroller, make sure it meets the task at hand and that it is cost effective. We must see whether an 8-bit, 16-bit or 32-bit microcontroller can best handle the computing needs of a task. must see whether an 8-bit, 16-bit or 32-bit microcontroller can best handle the computing needs of a task. In addition, the following points should be kept in mind while choosing a microcontroller βˆ’ In addition, the following points should be kept in mind while choosing a microcontroller βˆ’ Speed Speed βˆ’ What is the highest speed the microcontroller can support? βˆ’ What is the highest speed the microcontroller can support? Packaging Packaging βˆ’ Is it 40-pin DIP (Dual-inline-package) or QFP (Quad flat package)? This is βˆ’ Is it 40-pin DIP (Dual-inline-package) or QFP (Quad flat package)? This is important in terms of space, assembling, and prototyping the end-product. important in terms of space, assembling, and prototyping the end-product. Power Consumption Power Consumption βˆ’ This is an important criteria for battery-powered products. βˆ’ This is an important criteria for battery-powered products. Amount of RAM and ROM Amount of RAM and ROM on the chip. on the chip. Count of I/O pins and Timers Count of I/O pins and Timers on the chip. on the chip.
  • 4. Cost per Unit Cost per Unit βˆ’ This is important in terms of final cost of the product in which the microcontroller βˆ’ This is important in terms of final cost of the product in which the microcontroller is to be used. is to be used. Further, make sure you have tools such as compilers, debuggers, and assemblers, available with the Further, make sure you have tools such as compilers, debuggers, and assemblers, available with the microcontroller. The most important of all, you should purchase a microcontroller from a reliable source. microcontroller. The most important of all, you should purchase a microcontroller from a reliable source.