Embedded system development environment – IDE,(UNIT6).pdf, Lecture notes of Computer Science

Embedded system development environment – IDE,(UNIT6).pdf

Typology: Lecture notes

2018/2019

Uploaded on 06/18/2019

anmol-sharma-4
anmol-sharma-4 🇮🇳

2 documents

1 / 24

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
embedded system development
environment IDE,
An Integrated Development Environment (IDE) is
software that assists programmers in developing
software
IDEs normally consist of a source code editor,
acompiler, a linker/locater and usually a debugger.
Sometimes, an IDE is devoted to one specific
programming language or one (family of) specific
processor or hardware
but more often the IDEs support multiple languages,
processors, etc. Some commonly used IDEs for
embedded systems are the GNU compiler
collection (gcc), Eclipse,Delphi,
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18

Partial preview of the text

Download Embedded system development environment – IDE,(UNIT6).pdf and more Lecture notes Computer Science in PDF only on Docsity!

embedded system development

environment – IDE,

  • An Integrated Development Environment (IDE) is software that assists programmers in developing software
  • IDEs normally consist of a source code editor, a compiler, a linker/locater and usually a debugger.
  • Sometimes, an IDE is devoted to one specific programming language or one (family of) specific processor or hardware
  • but more often the IDEs support multiple languages, processors, etc. Some commonly used IDEs for embedded systems are the GNU compiler collection (gcc), Eclipse, Delphi,
  • Compiler A compiler is a computer program that translates the source code into computer language (object code). Commonly the output has a form suitable for processing by other programs (e.g., a linker), but it may be a human- readable text file. A compiler translates source code from a high level language to a lower level language (e.g., assembly language or machine language). The most common reason for wanting to translate source code is to create a program that can be executed on a computer or on an embedded system. The compiler is called a cross compiler if the source code is compiled to run on a platform other than the one on which the cross compiler is run. For embedded systems the compiler always runs on another platform, so a cross compiler is needed.
  • Linker
  • A linker or link editor is a program that takes one or more objects generated by compilers and assembles them into a single executable program or a library that can later be linked to in itself. All of the object files resulting from compiling must be combined in a special way before the program locator will produce an output file that contains a binary image that can be loaded into the target ROM. A commonly used linker/locater for embedded systems isld (GNU).

Debugging Tools

  • When it comes to debugging your code and testing your application there are several different tools you can utilize that differ greatly in terms of development time spend and debugging features available. In this section we take a look at simulators, and emulators.
  • Simulators try to model the behavior of the complete microcontroller in software. Some simulators go even a step further and include the whole system (simulation of peripherals outside of the microcontroller). No matter how fast your PC, there is no simulator on the market that can actually simulate a microcontroller's behavior in real-time. Simulating external events can become a time-consuming exercise, as you have to manually create "stimulus" files that tell the simulator what external waveforms to expect on which microcontroller pin. A simulator can also not talk to your target system, so functions that rely on external components are difficult to verify. For that reason simulators are best suited to test algorithms that run completely within the microcontroller
  • bond-out chips have additional pins that allow the emulator electronics to feed the externally stored program information to the microcontroller in place of the on-chip memory contents in real time; control the program execution flow; and access on-chip registers and data memory.
  • Base Unit and Probecard
  • Many emulators consist of a base unit and a "probecard". The base unit is connected to a PC via the serial, parallel or USB port. It contains the majority of the emulator electronics, with the exception of the emulation chip itself. The emulation chip is a special bond-out version of the actual microcontroller and is mounted on a separate small PCB, called a probecard. This probecard connects via a ribbon cable to the base unit and has a pin adapter at the bottom, which allows the probecard to be plugged into a socket on the actual target application board in place of the actual microcontroller.

Emerging trends in embedded system

  • The embedded systems industry was born with the invention of microcontrollers and since then it has evolved into various forms, from primarily being designed for machine control applications to various other new verticals with the convergence of communications.
  • Various classes of embedded systems such as home media systems, portable players, smart phones, embedded medical devices and sensors, automotive embedded systems have surrounded us and with continued convergence of communications and computing functions within these devices, embedded systems are transforming themselves into really complex systems, thus creating newer opportunities and challenges to develop and market more powerful, energy efficient processors, peripherals and other accessories
  • In order to achieve key requirements, generally embedded systems are restricted to limited resources in terms of computing, memory, display size etc. With continued convergence of other technologies a lot more functionalities are being pushed into embedded devices which were once part of traditional computing platforms

embedded product development life-

cycle,

  • Concept
  • Description of the original idea in a formal technical form (verbal requirements)
  • Investigation of the existing prototypes and/or models that match the idea
  • Comparative analysis of existing implementations
  • Proposal of implementation and materials options
  • Design
  • Functional Requirements
    • Development of hardware functional specification
    • Development of software and firmware functional requirements
    • Analysis of the third-party requirements documentation
  • Architecture Design
    • Development of the system architecture concept
    • Design of the mechanics parts/molding of the system
    • Development of hardware design documentation (including FPGA design)
    • Development of the detailed software design specification
    • Analysis of the third-party design documents