Download presentation
Presentation is loading. Please wait.
1
THE PROCESS OF EMBEDDED SYSTEM DEVELOPMENT
UNIT-II THE PROCESS OF EMBEDDED SYSTEM DEVELOPMENT
2
OUTLINE The Development Process The Waterfall Model
Requirement Engineering Design Implementation Integration and Testing Packaging Configuration Management Managing Embedded System Development Embedded System Fiascos
3
The Development Process
Raw Material Finished Product H/W Development Problem Definition Finished Product S/W Development
4
The Waterfall Model
5
Requirement Engineering
ES development projects is divided into two categories: Product development Based on Marketing department’s inputs Turnkey project execution Based on requirement given by client Problem definition will be very vague such as – develop a handheld data terminal for used by field personnel or develop a process control system for use in pharmaceutical company. To convert problem definition into a detailed requirement document.
6
Requirement Engineering
Requirement Analysis Phase: The inputs to the system The outputs of the system The processing to be done by the system along with timing restrictions, if any Input supply voltage The communication interfaces to be provided The size of the embedded system Operating environment Standards to be followed,. Every industry segment specific standards. These statutory standards need to be obtains from client.
7
Requirement Engineering
Once these requirements are obtained, they need to be documented and a document called requirements specifications has to be prepared. It can be divided into two parts- Functional requirements Non-functional requirements Reliability- Mean Time Between Failures (MTBF) Delivery time Implementation requirements Standards Safety requirements Security Requirement validation phase is to ensure that the requirement specifications document captures all the requirements of the user and also to ensure that the required embedded system can be designed and developed
8
Design The design goals are- Design tradeoffs
To meet all the functional and performance requirement. To reduce the size and cost of the system to the extent possible. To reduce the power consumption of the system. To reduce the development time and effort. To reduce the maintenance effort and time. To increase the reliability. Design tradeoffs Which processor to use? Is an FPGA required? Is it necessary to embedded/real time OS on the target system? The design process can be divide into- Hardware-software partitioning or co-design. Hardware design Software design
9
Co-design Example – CRC algorithm
Decision on implementation in software or hardware needs to be taken keeping in view the following issues- Speed of execution Flexibility for making changes Size Power consumption Memory Cost Intel’s is an integer-only processor – Intel’s is an floating point processor. Graphics accelerator PLDs, FPGAs and SoC- reconfigurable hardware.
10
Hardware Design The hardware design involves-
Selection of the processor Calculation of memory requirements and types of memory. Identification of input devices. Identification of output devices. Identification of test points - JTAG debugging - design board keeping in view of debug pins. Identification of supply voltages and current requirements for designing the power supply unit. Start with block diagram and then convert into circuit with necessary interconnections. Hardware design not done in isolation interaction with software engineers is required.
11
Hardware Design Selection of the processor
Micro-controller Microprocessor Digital Signal Processor If a micro-controller is not sufficient for the application, the selection of the processor is based on following criteria- Performance requirements – MIPS and EEMBC Cost of the processor Development tools – cross compiler & debugger Special requirements Support for RTOS Technical support from the vendor Availability of people with the expertise on specific processor.
12
Software Design Software design involves –
Working out the details of processing to be done in ES. Decomposition of the processing into different tasks. Calculation of the processing time and resources required for each task. Deciding on the use of embedded operating system. Studying the need for support for communication protocols stack. Study the need for embedding the HTTP server software. Study the need for field Upgradation of the software. Selection of an Operating System- Optimized kernel for the chosen processor. Support for languages. Support for POSIX function calls. Footprint Software components Source code/object code Licensing fee
13
Implementation Hardware implementation involves –
Developing the circuit schematics. Obtaining the PCBs. Procuring the components. Assembling the components and testing the individual modules on the populated PCB. Testing the complete hardware. Software implementation involves converting the design into code. Implementation of the software is generally done on a host system and then executable code is transferred to the target hardware.
14
Integration and Testing
What is testing? Testing is the process to prove that the system works correctly. Testing is the process to prove that the software does not work correctly. Testing is the process to reduce the risk associated with the residual defects. Types of Testing Black-box testing White-box testing Performance testing Gorilla testing Field trial Acceptance testing Regression testing
15
Integration and Testing
Testing the embedded system involves two steps- Testing on the Host System Testing on the Target System To validate the software Tools such as ROM emulator, code simulator, IN-circuit emulator, etc Testing the hardware functionality partially Performance characteristics cannot be tested on the host system Functional requirements Performance requirements Environmental requirements Simulation Engineering Environmental Testing
16
Configuration Management
System requirements specifications Project plan H/W design document S/W design document Circuit diagrams Source code Acceptance test procedure Test plans User manual Change Request Impact on Budget & Time Impact on Functional & Performance Requirements Change Request Analysis (Impact Analysis) Changed Work Products Release of Engineering Change Note Changed Implementation Change Release System Testing
17
Managing Embedded System Development Projects
Project Proposal Preparation Project Planning Providing the Development Infrastructure Co-Design and Co-Verification Risk Management Quality Management
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.