ES Tools and Peripherals

Education is not limited to just classrooms. It can be gained anytime, anywhere... - Ravi Ranjan (M.Tech-NIT)

Embedded System Tools and Peripherals


Compilers and Assemblers

Compiler:

Compiler is used for converting the source code from a high-level programming language to a low-level programming language. It converts the code written in high level programming language into assembly or machine code. The main reason for conversion is to develop an executable program.

Let's see the operations performed by compiler are:

  • Code generation
  • Code optimization
  • Parsing
  • Syntax direct translation
  • Preprocessing

Cross-Compiler:

If a program compiled is run on a computer having different operating system and hardware configuration than the computer system on which a compiler compiled the program, that compiler is known as cross-compiler.

Decompiler:

A tool used for translating a program from a low-level language to high-level language is called a decompiler. It is used for conversion of assembly or machine code to high-level programming language.

Assembler:

Assembler is embedded system tool used for translating a computer instruction written in assembly language into a pattern of bits which is used by the computer processor for performing its basic operations. Assembler creates an object code by translating assembly language instruction into set of mnemonics for representing each low-level machine operation.


Debugging Tools in an Embedded System

Debugging is a tool used for reducing the number of error or bugs inside a computer program or an assembled electronic hardware.

Debugging of a compact subsystem is difficult because a small change in one subsystem can create bugs in another system. The debugging used inside embedded system differs in terms of their development time and debugging features.

Let's see the different debugging tools used in embedded system are:

Simulators:

Simulator is a tool used for simulation of an embedded system. Code tested for microcontroller unit by simulating code on the host computer. Simulator is used for model the behavior of the complete microcontroller in software.

Functions of simulators:

Let's see the functions performed by simulator are:

  • It defines the processing or processor device family with various version of target system.
  • It monitors the detailed information of a source code and symbolic arguments as the execution goes for each single step of operation.
  • It simulates the ports of target system for each single step of execution.
  • It provides the working status of RAM.
  • It monitors the response of system and determines the throughput.
  • It provides the complete meaning of the present command.
  • It monitors the detailed information of the simulator commands entered from the keyboard or selected from the menu.
  • It facilitates synchronization of internal peripherals and delays.

Microcontroller Starter Kit:

For developing an embedded system based project a complete microcontroller starter kit is required. The major advantage of this kit over simulator is that they work in real-time operating condition. Therefore it allows the easy input/output functional verification. Consider a microcontroller starter kit consists of:-

  • Hardware Printed Circuit Board (PCB)
  • In-System Programmer (ISP)
  • Some embedded system tools like compiler, assembler, linker, etc
  • Sometimes, there is a requirement of an Integrated Development Environment (IDE)

The above component available in microcontroller starter kit is completely enough and the cheapest option available for developing simple microcontroller projects.

Emulators:

An emulator is a software program or a hardware kit which emulates the functions of one computer system into another computer system. Emulators have an ability to support closer connection to an authenticity of the digital object.

It can also be defined as the ability of a computer program in electronic device to emulate another program or device. It focusing on recreating the original computer environment and helps a user to work on any type of application or operating system.

Peripheral Devices in Embedded Systems

Communication of an embedded system with an outside environment is done by using different peripheral devices as a combination with microcontroller.

Let's see the different peripheral devices in embedded system are:-

  • Universal Serial Bus (USB)
  • Networks like Ethernet, Local Area Network(LAN) etc
  • Multi Media Cards (SD Cards, Flash memory, etc)
  • Serial Communication Interface (SCI) like RS-232, RS-485, RS-422, etc
  • Synchronous Serial Communication Interface like SPI, SSC and ESSI
  • Digital to Analog/ Analog to Digital (DAC/ADC)
  • General Purpose Input/Output (GPIO)
  • Debugging like In System Programming (ISP), In Circuit Serial Programming (ICSP), BDM Port, etc

Criteria for Choosing Microcontroller

Choosing a microcontroller is essential process in designing of embedded system. While selecting a microcontroller, make sure that it meets the system need and it must be cost effective. We need to decide whether an 8-bit, 16-bit or 32-bit microcontroller is best suitable for the computing needs of a task.

In addition to above, the following points need to be kept in mind while selecting a microcontroller:-

  • Speed: The operational speed of the microcontroller or the highest speed microcontroller can support.
  • Packaging: Packaging is important for improving the assembling, space and prototyping of an end-product.
  • RAM and ROM: On the basis of operation of embedded system and memory need for storage data and programs the type of microcontroller required for designing system is decided.
  • Count of I/O pins: The number of input and output devices connected with the system plays an essential role in choosing the type of microcontroller.
  • Cost per unit: It is important in terms of final cost of the product in which the microcontroller is to be used.
  • Power consumption: Power consumption plays an important role for maintaining the efficiency of an embedded system