Vous êtes sur la page 1sur 13

Embedded Systems Model answers Unit 6

Q.1 Ans.

Write a short note on Integrated Development Environment (IDE)?

An integrated development environment (IDE) is a software application that provides comprehensive facilities to computer programmers for software development. An IDE normally consists of Source code editor, Compiler and/or an interpreter, Build automation tools, Debugger. Many modern IDEs also have a class browser, an object inspector, and a class hierarchy diagram, for use with object-oriented software development. IDEs can be either command line based or GUI based. Command line based IDEs may include little or less GUI support. The old version of TURBO C IDE for developing application in C/C++ for x86 processor on windows platform is an example for generic IDE with command line interface. GUI based IDEs provides a visual development in mouse click support for each action. Such IDEs are generally known as Visual IDEs.

Q.2 Ans.

Write a short note on disassembler and dicompiler?

A disassembler is a computer program that translates machine language into assembly languagethe inverse operation to that of an assembler. A discompiler is a computer program that translates machine language into a high-level language. Disassembly, the output of a disassembler, is often formatted for humanreadability rather than suitability for input to an assembler, making it principally a reverse-engineering tool. Assembly language source code generally permits the use of constants and programmer comments. These are usually removed from the assembled machine code by the assembler. If so, a disassembler operating on the machine code would produce disassembly lacking these constants and comments; the disassembled output becomes more difficult for a human to interpret than the

original annotated source code. Some disassemblers make use of the symbolic debugging information present in object files such as ELF. The Interactive Disassembler allow the human user to make up mnemonic symbols for values or regions of code in an interactive session: human insight applied to the disassembly process often parallels human creativity in the code writing process.

Q.3

Define simulator. What are the advantages of simulator based on debugging?

Ans. SIMULATOR:simulator simulates the target hardware and the firmware execution can be inspected using simulator. ADVANTAGES OF SIMULATOR BASED DEBUGGING: simulator based debugging is simple and straight forward. The major advantage of simulator based firmware debugging technique is explained below. NO NEED FOF ORIGINAL TARGET BOARD: Simulator based debugging technique is purely software oriented. IDEs software support simulates the CPU of target board. The user only need to know about the memory map of various devices within target board and the firmware should be written on the basis of it .since the real hardware is not required firmware development can start well in advance immediately after the device interface and memory maps are finalized this saves development time SIMULATE I/O PERIPHERALS:SIMULATOR provides the option to simulate various I/O peripherals. Using simulators I/O supports you can edit the values for I/O resistance and can be used as the I/O values in the firmware execution. Hence it eliminates the need for connecting I/O devices for debugging the firmware SIMULATES ABNORMAL CONDITION: with simulators simulation support you can input any desired value for any parameter during debugging the firmware and can observe the control flow of firmware. It really helps the developer in simulating abnormal operational environment for firmware and helps the firmware developer to study the behavior of the firmware under abnormal input condition.

Q.4

Define simulator. What is the limitation of simulators based on debugging?

Ans. SIMULATOR: simulator simulates the target hardware and the firmware execution can be inspected using simulator LIMITATIONS OF SIMULATOR BASED DEBUGING: Though SIMULATION BASED FIRMWARE DEBUGGING TECHNIGUE is very helpful in EMBEDDED APPLICATION , they process certain limitation and we cannot fully rely upon the simulator based firmware debugging .some of the limitations of simulator based debugging are explained below Deviation from real behavior: simulation based firmware debugging is always carried out in the development environment where the developer may not be able to debug the firmware under all possible combination of input. Under certain operating condition we may get some particular result and it need not be the same when the firmware runs in the production environment Lack of realtimeliness: the major limitation of simulator based debugging is that it is not real time in behavior. The debugging is developer driven and it is no way capable of creating a real time behavior. Moreover in a real application the I/O condition may be very unpredictable. Simulation goes for simulating those conditions for known values.

Q.5

Define simulator. What are the advantages and limitation of simulators based on debugging? (This question may also be asked as short note simulators)

Ans.: SIMULATOR: simulator simulates the target hardware and the firmware execution can be inspected using simulator. ADVANTAGES OF SIMULATOR BASED DEBUGGING: simulator based debugging is simple and straight forward. The major advantage of simulator based firmware debugging technique is explained below. NO NEED FOF ORIGINAL TARGET BOARD: Simulator based debugging technique is purely software oriented. IDEs software support simulates the CPU of target board. The user only need to know about the memory map of various devices within target board and the firmware should be written on the

basis of it .since the real hardware is not required firmware development can start well in advance immediately after the device interface and memory maps are finalized this saves development time SIMULATE I/O PERIPHERALS: SIMULATOR provides the option to simulate various I o peripherals.Using simulators I/O supports you can edit the values for io resistance and can be used as the I/O values in the firmware execution. Hence it eliminates the need for connecting io devices for debugging the firmware SIMULATES ABNORMAL CONDITION: with simulators simulation support you can input any desired value for any parameter during debugging the firmware andfcsn observe the control flow of firmware. It really helps the developer in simulating abnormal operational environment for firmware and helps the firmware developer to study the behavior of the firmware under abnormal input condition.

LIMITATIONS OF SIMULATOR BASED DEBUGING :Though SIMULATION BASED FIRMWARE DEBUGGING TECHNIGUE is very helpful in EMBEDDED APPLICATION , they process certain limitation and we cannot fully rely upon the simulator based firmware debugging .some of the limitations of simulator based debugging are explained below Deviation from real behavior: simulation based firmware debugging is always carried out in the development environment where the developer may not be able to debug the firmware under all possible combination of input. Under certain operating condition we may get some particular result and it need not be the same when the firmware runs in the production environment Lack of real timeliness: the major limitation of simulator based debugging is that it is not real time in behavior. The debugging is developer driven and it is no way capable of creating a real time behavior. Moreover in a real application the I/O condition may be very unpredictable. Simulation goes for simulating those conditions for known values.

Q. 7 Ans.:

Write a short note on emulators and debuggers.

Emulators: Emulators are a hardware device which emulates the functionalities of the target device and allows real time debugging of the embedded firmware in a hardware environment. An in-circuit emulator (ICE) can be used to examine the state of the processor on which that program is running. An ICE takes the place of (emulates) the processor it has its own copy of the target processor, RAM, ROM, and embedded software. It uses a remote debugger for its human interface. Since an emulator has a copy of the processor, it is possible to monitor and control the state of the processor in real time. This allows support for debugging features like: o Hardware breakpoints: Apart from software breakpoints, emulators also support hardware breakpoints, which can be used to stop execution in response to events like instruction fetches, memory and I/O reads and writes, and interrupts. o Real time tracing: An ICE supports real time tracing, using a large block of special-purpose RAM that is dedicated to storing information about each of the processor cycles that are executed. Also, it is possible to restrict the stored information or post-process the data before viewing it to cut down on the amount of trace data to be examined.

Debuggers: Debugging is the process of diagnosing the firmware execution, monitoring the target processors registers and memory while firmware is running checking signals from various buses of the embedded hardware. Debugging is broadly divided into two:A] Hardware debugging: Deals with the monitoring of various bus signals and checking the status lines of the target hardware. B] Firmware debugging: It deals with examine firmware execution, execution flow, changes to CPU registers and Status registers on the execution of the firmware as per the design.

Q.8 Ans.:

What is EDLC? Why is it used?

Embedded development life cycle is an analysis-design-implementation approach for solving problems during the product development. In an development scenario, first step is to find out what product needs to be developed(analysis), next is to find out which is the good approach for building it(design), and the last how to develop it(implementation). EDLC is essential for understanding the scope and complexity of work involved in an embedded product development. It defines the interaction and activities among various groups of product development sector including management, system design, testing, release management and quality assurance. The standard imposed by EDLC on a product development, makes the product developer independent in terms of standard documents and it also provides uniformity in the development approaches.

Q .9 Ans.:

Define EDLC. What are the objectives of EDLC?

Embedded development life cycle is an analysis-design-implementation approach for solving problems during the product development. The ultimate aim of any embedded product in a commercial production setup is to produce marginal benefit. Marginal benefit is usually expressed in terms of return on investment (ROI). the main objectives of EDLC are: A] Ensure that high quality product are delivered to end user The primary factor of quality in an embedded product development is the return on investment. The expenses incurred may be initial investment, developer recruiting, training etc. The budget allocated depends on the market trends and requirement of the product, competition etc. EDLC must ensure that the development of the product has taken account of the all the qualitative attributes of the embedded system. B] Risk minimization and defect prevention through management

There are two types of project management i.e. loose and tight project management. Complex projects which require a skilled management are tightly bound. The time frame may be expressed in number of person days PDS. Resources allocation like how many resources should work for the project and how many resources are critical with respect to the work handling by them and how many backups are required in case of failure of critical resources. (Risk minimization). C] Increased productivity Productivity is measured in terms of Return of Investment. One aspect of productivity is how many resources were used to produce the product and how much time was used to develop the product. Saving manpower saves time so using automated tools where-ever possible is recommended. The initial investment on tools may burden investments but they can be used again for future projects. Another method is by using resources with a specified skill-set which matches the requirements of the project; this reduces the learning time taken by the resource.

Q.10 Ans.:

Difference between simulators and emulators.

SIMULATOR EMULATOR Simulator is software that duplicates the Emulator is a hardware that duplicates the processor in almost all possible ways. functions and features of a real system, such that it behaves like an actual system. Simulator is a program that runs on the Emulator processor is under the control of development system. development system. Simulator is cheaper. Emulator is quite expensive. It is software. It is a combination of hardware and software. Simulator is slow in execution. Emulators give real time verification of the development code.

Q. 11 with the help of block diagram, state the different phases of EDLC in order. Ans.: The life cycle of a product development is commonly referred to as models; it defines various phases involved in the life cycle. The number of phases involved in a model may vary according to the complexity of the product under consideration. A simple product may contain only 5 phases: - Requirement - Analysis - Design - Development and test - Deployment and maintenance Refer to the diagram page number 120 of your notes. The classic embedded product life cycle model includes following phases: - Need - Conceptualization - Analysis - Design - Development and testing - Deployment - Support - Upgrades - Retirement

Q.12 Explain Need and Custom product development phase in EDLC. Ans.: Need The need of an embedded product can come from an individual or from the public or from a company. Need should exist or arise so that we can initiate the other phases of the Product development life cycle. It is the first step of the life cycle. The Concept proposal or Statement of need is prepared by the customer and reviewed by a senior management. Once Approved, this proposal goes to the development team.

EG. To prevent motorists from speeding, speed cameras were installed in London. The Need for this was to make the roads safer for pedestrians

Custom product development If there is a need for a product which does not exist or a product is being introduced which is a competitor for another product in the market, results in the creation of a completely new product. The product can either be the requirement of an individual or an organization. EG. A PDA tailored for any specific need is an example for a custom product.

Q.13 Explain Product Re-engineering and product maintenance phase of EDLC. Ans.: Product Re-engineering To remain competitive in the market, the developer must know the current market trends like tastes of the end user and changing technologies. The developer must constantly try and improve their product by implementing design changes, new technologies, changes in aesthetics etc. And launching these as new versions of the already existing product. Re-engineering is also a result of ; Change in business requirements, User Interface enhancement and Technology Upgrades. Product Maintenance Product maintenance is providing technical support to the users of the products already in the market. Maintenance is a result of product non-functioning or failure. Maintenance is of two types; Corrective maintenance and Preventive maintenance. Corrective maintenance deals with taking corrective actions only when the product fails. E.g. Troubleshooting software when errors arise. Preventive maintenance is the scheduled maintenance of a product to avoid failures in the future. E.g. Maintenance of a car.

Q.14 Explain Conceptualization and Feasibility study phase of EDLC. Ans.: Conceptualization It beings immediately after the Concept Proposal is formally approved. It defines the scope of the concept, performs cost benefit analysis and feasibility study and prepares project management and risk management plans. This is also known as the phase which is shaping the need of the end user. This phase involves two types of activities: Planning activity and Analysis and Study activity. These are done to understand the opportunity of the product in the market.

Feasibility Study This phase examines the need of the product in the market. It analyses possible solutions and the need of the product. We also perform the technical as well as financial feasibility analysis of the product under consideration

Q.15 Explain Analysis phase of EDLC. What are the different requirements of this phase? Ans.: Analysis Once the documents produced in the Conceptualization phase have been approved by the client, they are further used in the analysis phase to develop a document containing detailed user requirements. Requirement analysis is performed to develop a detailed functional model of the product. Requirement analysis lays emphasis on what exactly the product has to do, rather than how it is supposed to do it.

The various requirements to be met at his phase are as follows : Functional capabilities like performance, characteristics, etc Operational and non-operational quality attributes. Product external interface requirements Data requirements User manuals Operational requirements Maintenance requirements General assumptions

operational

Q.16 Explain Cost benefit analysis and common units of measurement. Ans.: Cost benefit Analysis (CBA) This is identifying, revealing and assessing the total development cost and profit expected. CBA is an assumption oriented approach based on the analysis of data for similar products in the past. CBA estimates the money value of the benefits and the cost of the product under consideration.

Common unit of Measurement To make an analysis meaningful, all aspects of the product including plus points and minus points should be expressed in terms of a common unit. Since the aim of an embedded product is marginal profit this term is money. Hence, all benefits and costs should be expressed in terms of money, any currency can be used as the unit. EG. Indian rupee(INR) or US Dollar(USD).

Q.17 Explain Test plan and procedures. Ans.: Test plan and procedures This identifies all the tests to be performed and mentions all the bases which have to be covered in the testing of the product. It is essential for ensuring the quality of the product. The various types of testing are listed below. o Unit testing: Testing of each unit independently. o Integration testing: Testing each module and testing the integrated unit for required functionality. o System testing: Testing the functionality of the product after integration. System testing refers to a set of tests listed below. Usability testing Tests the usability of the product. Load testing Tests the behaviour of the product under different loading conditions. Security testing Testing the security aspects of the product. Scalability testing Testing the scalability aspects of the product. Sanity testing Superficial testing performed to ensure that the product is functioning properly. Smoke testing Non exhaustive test to ensure that the crucial requirements for the product are functioning properly. Performance testing Testing the performance aspects of the product after integration. Endurance testing Durability test of the product. o User acceptance testing : Testing the product to ensure it is meeting all the requirements of the end user.

Q.18 Write a short note on analysis and documentation. Ans.: Refer question 15.

Q.19 What are the various activities involved in design phase? Ans.: Draw Fig. 45 on page 125. This phase starts with Preliminary design/High level design. It establishes the top-level architecture for the product, lists out the various functionality blocks required for the product. On completion the preliminary design documentation(PDD) is sent to the end-user for review. The next activity is detailed design. This generates a detailed architecture, identifies and lists out the various components for each functional block. The documentation produced is also reviewed by the end user. In this approach the functionality requirements are not broken down into either hardware or software requirements instead they are treated as system requirements and are partitioned later. The other activities performed during the design phase are design of operations and maintenance manual and design of training materials The operations manual is necessary for educating the user on how to use the product. The maintenance manual is essential for providing information on how to handle the product in situation like non-functioning, failure etc.

Vous aimerez peut-être aussi