UNITII THE PROCESS OF EMBEDDED SYSTEM DEVELOPMENT PROF
UNIT-II THE PROCESS OF EMBEDDED SYSTEM DEVELOPMENT PROF. PRASAD MAHALE 1
OUTLINE q. The Development Process q. The Waterfall Model q. Requirement Engineering q. Design q. Implementation q. Integration and Testing q. Packaging q. Configuration Management q. Managing Embedded System Development q. Embedded System Fiascos 2
The Development Process Raw Material Problem Definition Finished Product H/W Development S/W Development Finished Product 3
The Waterfall Model 4
Requirement Engineering ES development projects is divided into two categories: � Product development � Turnkey project execution Based on Marketing department’s inputs Based on requirement given by client To convert problem definition into a detailed requirement document. 5
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. 6
Requirement Engineering Communic ation i/f Supply Input Output Processin g Size Operating Envi. Standards 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 8
Design ØThe design goals are- ◦ 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. 9
Design Meet Functional Requirement Reduce Size Reduce Power Consumption Reduce Development Time Reduce The Maintenance Effort Increase The Reliability 10
Design ØDesign tradeoffs ◦ Which processor to use? ◦ Is an FPGA required? ◦ Is it necessary to port an 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 11
Co-design v. Example – CRC algorithm v. 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 v. Intel’s 80386 is an integer-only processor – Intel’s 80387 is an floating point processor. v. Graphics accelerator v. PLDs, FPGAs and So. C- reconfigurable hardware. 12
Hardware Design v. 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. v. Start with block diagram and then convert into circuit with necessary interconnections. v. Hardware design not done in isolation interaction with software engineers is required.
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.
Software Design v. 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. v. 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 15
Implementation v. 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. v. Software implementation involves converting the design into code. v. Implementation of the software is generally done on a host system and then executable code is transferred to the target hardware. 16
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 17
Integration and Testing ØTesting the embedded system involves two steps◦ Testing on the Host System ◦ Testing on the Target System ØTesting on the Host 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 ØTesting on the Target System ◦ Functional requirements ◦ Performance requirements ◦ Environmental requirements ØSimulation Engineering ØEnvironmental Testing 18
Configuration Management §System requirements specifications §Project plan §H/W design document §S/W design document Change Request §Circuit diagrams §Source code §Acceptance test procedure §Test plans Change Request Analysis (Impact Analysis) Impact on Budget & Time Impact on Functional & Performance Requirements Changed Work Products §User manual Release of Engineering Change Note Changed Implementation Change Release System Testing 19
Configuration Management System Requirement Specification Project Plan Hardware Design Document Software Design Document Circuit Diagram 20
Configuration Management Source Code Acceptance Test Procedure Test Plan User Manual 21
Managing Embedded System Development Projects Project Proposal Preparation Quality Managem ent Project Planning Risk Managem ent Providing Developme nt Infra Co-design & Coverificatio n 22
- Slides: 22