Sunteți pe pagina 1din 6

DEVELOPMENT TOOLS FOR EMBEDDED SOFTWARE

When you produce an executable, several things happen:


1. Compile: Translates source code (C) into object code
Also, pre-processing, optimizing, semantic analysis
Each source file creates one object file

2. Link: Combines one or more object files into an executable

3. Run
Application Programs: Edit the Program, compile, link, try it
out and debug the programs on the same machine, where
the application program finally runs.
Embedded Software: Have a specialized H/W to attach
sensors, actuators, drive special controls.
 Software must be tried on these H/W only
 Embedded Systems use microprocessors that are not
generally used in workstations. ( ATmega, ARM, PIC,
8051 etc.)
1. How Programs get compiled in to the instruction set
of the microprocessor/controller chosen for the
system?
2. How the Program get into the memory of your
Embedded system for execution?
Host and Target Machines
Host: Computer where tools are run
Target: Processor you are using for Embedded System
Native tools: Run on the host
E.g. Windows NT compiler produces binary Pentium
instructions (great for Pentium, worthless for Motorola
68000)
Cross-Compilers: Runs on your host, but produces binary
instructions for your target from your C/C++ programs.
Cross-Assemblers: Runs on your host, but produces binary
instructions for your target from your assembly programs.
Tool Chains: Named because output of one tool becomes the
input for the next tool. Tools compatible with a particular
target are called a “Tool Chain” and are available from
different vendors.
EX: Keil, Arduini, AVR studio etc.
Linker/locators: Address Resolution
Many microprocessor instructions contain addresses of
operands (variables, function calls)
 Hooking up all the addresses is called Address Resolution
 When each file compiled, addresses are not known, so
flags left as placeholders.
 The linker combines all files, so it can replace
placeholders with actual address values.
 Loader/locator also must figure out starting memory
address for executable
ARDUINO'S TOOLCHAIN:
Arduino toolchain is a set of software tools required to
handle all steps from the C code we are typing in the
Arduino IDE on our computer to the firmware uploaded on
the board.
The C code we type is compiled with avr-gcc and avr-g++
compilers. Then the resulting object's files are linked into
usually only one executable file called firmware.
This firmware can later be uploaded to the board.
BOOTLOADER is the hardware's software which provides
us more abstraction of the hardware; we can focus on
higher levels of design because the bootloader provides us
services such as firmware upload via USB and serial
monitoring.
FIRMWARE is the user's software.
Getting Software Into Target
 PROM programmers - actual ROM
 ROM emulators - hardware thinks it’s a ROM
 In-circuit emulators - replaces entire processor
on hardware board
 FLASH - if target stores program separately
 Monitors - program in target to receive program
- for debugging mainly
ALM FOR SECESSION-6: OBJECTIVE QUESTIONS

S-ar putea să vă placă și