Embedded system-Introduction to development cycle and development tool
1. Introduction
to
Development Cycle
and
Development Tool
www.pantechsolutions.net
1
2. Awareness of Development
• Flow of Creating a Product
• Tools understanding
– Type of Tools
• Hardware
• Software
– Comparison of Hardware Tools
2
3. Development Cycle
Market Research
Development
Specification Hardware Software
Specification Specification
Chip Selection
Schematic, FPGA design Coding
PCB & simulation
Development Simulation
Module Test
Module Test
Evaluation Integration Test Integration Test
Production Module Test
Integration Test
1. Statistic shows that Testing takes up major time in a Development cycle
2. Development Tools is an important factor to shorten the development time frame.
3
4. Development Cycle – Embedded View
Development
Software
Coding in C or Assembly Implementation
Specification
.c , .asm, .h
Coding Assemble or Compile
Syntax checking
.obj
Simulation Linker
.mot, .abs, .map, .list
Module Test
Simulator Software Test
Integration Test - Logic checking
Module Test Integration Test
Emulator -System hardware
Integration Test & software checking
Actual System Final Product Test
4
5. Tools?
What Type of Tools?
• Software Tool
– A selection of user friendly environment providing a good
effective and efficient tools
– Editor
– Assembler
– Compiler
– Linker
– Simulator
– Profiler …
• Hardware Tool
– A selection of physical hardware platform
– In-Circuit-Emulator
– Debugger
– Starter kit …
5
6. Software Tool
Editor Editor : Generation of assembly and/or C code
Assembler : Perform syntax checking and generate
object code from assembly code.
Assembler Compiler Compiler: Perform syntax checking and generate
object code from C code.
Linker: Link all object code based on section
mapping data (so as to download to the actual
Linker MCU). Generate mot and abs(with debugging
information) file.
Simulator Simulator: Execute the linker output in the PC
environment. Thus it cannot simulate the actual
hardware peripherals.
There are many various version of tools that help in the development cycle.
- map viewer, profiler, project generator, application generator, version control…
6
7. Hardware Tool
There are two main area:
– Development Tool for debugging purposes
– Programming Tool for the flashing/downloading process.
There are 3 classifications of Programming Tool
I. Masking
- Done at the wafer fab factory (chip level)
II. Off-board Programming
- Download using a programmer via a programming adaptor.(chip level)
III. On-board Programming
- Download direct to target system via a programmer (serially to the chip)
Off-board Programming MCU On-board Programming
(OTP or Flash)
PC Adaptor
Programming
Adaptor MCU
(OTP or Flash)
PC EEPROM
Programmer
Target Board
7
8. Hardware Development Tool
3 Classifications of Development Tool
1. Evaluation Board, CPU Board, Starter Kit, ROM Emulator…
Serial Cable
ROM
Emulator
2. H-UDI, N-wire, BDM, Evaluation
OnCE, JTAG Board
Emulator,
Target
Debugger Board
JTAG I/F
USB I/F Target
Board
Actual Chip
3. Emulator, ICE…
User Cable
PC Emulator
Target
Board
8
9. Comparison of Hardware Tools
Topic Evaluation Board JTAG Emulator Emulator
Chip Resources Used Not Used Not Used
(Memory, NMI pin)
Actual chip Used Used Not Used
Emulation functions Basic Moderate Complicated
(Events Break, Trace, Profile)
Usage Basic system, Moderate complexity Complicated system
Benchmarking system development
Fast, Fast Slow,
Tool Time-to-Market Easy to develop Difficult to design
9
10. SUMMARY
- There is no strict rules in choosing the
type of tools.
- It depends on the NEED of the customers.
10