You are on page 1of 12

UNIT 1

Q) 8051 architecture
CPU (Central Processor Unit): Central Processor Unit or CPU is the mind of any
processing machine. It scrutinizes and manages all processes that are carried out in the
Microcontroller. 
Interrupts:As the heading put forward, Interrupt is a subroutine call that reads the
Microcontroller’s key function or job and helps it to perform some other program
which is extra important then.
Interrupts:As the heading put forward, Interrupt is a subroutine call that reads the Microcontroller’s key function or job and
helps it to perform some other program which is extra important then.
BusFundamentally Bus is a group of wires which function as a communication canal or means for the transfer of Data. 
There are two types of buses:
Address Bus: Microcontroller 8051 consists of a 16-bit address bus. It is brought into play to address memory positions. It is
also utilized to transmit the address from the Central Processing Unit to Memory.
Data Bus: Microcontroller 8051 comprise of 8 bits data bus. It is employed to cart data.
OscillatorAs we all make out the Microcontroller is a digital circuit piece of equipment, thus it needs a timer for its function. For
this function, Microcontroller 8051 consists of an on-chip oscillator that toils as a time source for the CPU (Central Processing
Unit).

UNIT 3

Q)What is Interrupt?Why need interrupts?what are different types of interrupt in 8051?


The interrupts refer to a notification, communicated to the controller, by a hardware device or software, on receipt of
which controller momentarily stops and responds to the interrupt. Whenever an interrupt occurs the controller com-
pletes the execution of the current instruction and starts the execution of an Interrupt Service Routine (ISR) or Inter-
rupt Handler.
Interrupts are the events that temporarily suspend the main program, pass the control to the external sources and ex-
ecute their task. It then passes the control to the main program where it had left off. 
There are 5 types of interrupts-
1. RESET interrupt – This is also known as Power on Reset (POR). When the RESET interrupt is received, the con-
troller restarts executing code from 0000H location. This is an interrupt which is not available to or, better to say, need
not be available to the programmer.
2. Timer interrupts – Each Timer is associated with a Timer interrupt. A timer interrupt notifies the microcontroller
that the corresponding Timer has finished counting.
3. External interrupts – There are two external interrupts EX0 and EX1 to serve external devices. Both these inter-
rupts are active low. In AT89C51, P3.2 (INT0) and P3.3 (INT1) pins are available for external interrupts 0 and 1 re-
spectively. An external interrupt notifies the microcontroller that an external device needs its service.
4. Serial interrupt – This interrupt is used for serial communication. When enabled, it notifies the controller whether a
byte has been received or transmitted.

Q)How is an interrupt serviced?


Every interrupt is assigned a fixed memory area inside the processor/controller. The Interrupt Vector Table (IVT) holds
the starting address of the memory area assigned to it (corresponding to every interrupt).
When an interrupt is received, the controller stops after executing the current instruction. It transfers the content of
program counter into stack. It also stores the current status of the interrupts internally but not on stack. After this, it
jumps to the memory location specified by Interrupt Vector Table (IVT). After that the code written on that memory
area gets executed. This code is known as the Interrupt Service Routine (ISR) or interrupt handler. ISR is a code writ-
ten by the programmer to handle or service the interrupt.
Interrupt Enable (IE)Register
We use IE registers to enable or disable interrupts. We can achieve this by programming this register accordingly. It is a SFR
which has an address as A8H. This byte is bit addressable hence can be
programmed by the user. Therefore there is specific meaning to every bit
of the register.

Interrupt Priority (IP) Register


The five interrupts can be either one or two interrupt levels. The levels 1 and 0 are priority levels. Out of which level 1 always in-
dicates Higher Priority and level 0 indicates lower priority. Then prior-
ity levels are in the IP register for each and every interrupt. It is SRF
with address B8H.

External Interrupt
INT0 and INT1 are external interrupts. The TCON register are for programming external interrupts to edge or level triggered.
Hence, the TCON is Timer Control. TCON is another bit addressable SFR. Then the address of SFR is 88H.

UNIT 2

Q) Different Addressing modes in 8051


1)Register addressing mode:In the register addressing mode the source or destination data should be present in a register (R0 to
R7). These are some examples of RegisterAddressing Mode.
MOVA, R5;MOVR2, #45H;MOVR0, A;. 
2)Immediate addressing mode:In this Immediate Addressing Mode, the data is provided in the instruction itself. The data is
provided immediately after the opcode.examples are- MOVA, #0AFH;MOVR3, #45H;MOVDPTR, #FE00H;In these in-
structions, the # symbol is used for immediate data.
3)Direct Addressing Mode:In the Direct Addressing Mode, the source or destination address is specified by using 8-bit data in
the instruction. Only the internal data memory can be used in this mode. Here some of the examples of direct Addressing Mode.
MOV80H, R6;MOVR2, 45H;MOVR0, 05H;
4)Register indirect addressing Mode:In this mode, the source or destination address is given in the register. By using register
indirect addressing mode, the internal or external addresses can be accessed. The R0 and R1 are used for 8-bit addresses, and
DPTR is used for 16-bit addresses, no other registers can be used for addressing purposes. Let us see some examples of this mod-
e.eg-MOV0E5H, @R0;MOV@R1, 80H
5)Indexed addressing mode:In the indexed addressing mode, the source memory can only be accessed from program memory
only. The destination operand is always the register A. These are some examples of Indexed addressing mode.
MOVCA, @A+PC;MOVCA, @A+DPTR;
6)Implied Addressing Mode:In the implied addressing mode, there will be a single operand. These types of instruction can work
on specific registers only. These types of instructions are also known as register specific instruction. Here are some examples of
Implied Addressing Mode.eg-RLA;SWAPA;

Q)Different Instruction set in 8051


1.Arithmetic operations- eg SUBB A, R1
2.Logical operations- Logical instructions perform Boolean operations (AND, OR, XOR, and NOT) on data bytes on a bit-by-
bit basis  Examples: ANL A, #02H ;Mask bit 1 ORL TCON, A ;TCON=TCON OR A
3.data transfer operations -Data transfer instructions can be used to transfer data between an internal RAM location and an SFR
location without going through the accumulator. eg-MOV R1,#60 ;R1=60H
4.Boolean variable operations -The C8051 processor can perform single bit operations  The operations include set, clear, and,
or and complement instructions.  Examples: SETB TR0 ;Start Timer0. POLL: JNB TR0, POLL ;Wait until timer overflows
5.Program branching operations-Program branching instructions are used to control the flow of program execution.eg- :
ACALL LOC_SUB
UNIT 4

Q)Clock 
Every Timer needs a clock to work, and 8051 provides it from an external crystal which is
the main clock source for Timer. The internal circuitry in the 8051 microcontrollers pro-
vides a clock source to the timers which is 1/12th of the frequency of crystal attached to the
microcontroller, also called Machine cycle frequency.
8051 Timer Clock
For example, suppose we have a crystal frequency of 11.0592 MHz then the microcontroller
will provide 1/12th i.e.
Timer clock frequency=  (Xtal Osc.frequency)/12  =  (11.0592 MHz)/12  = 921.6 KHz
 period T=  1/(921.6 kHz)=1.085 μS

Q) 8085 Timer
8051 has two timers Timer0 (T0) and Timer1 (T1), both are 16-bit wide. Since 8051 has 8-bit architecture, each of these is ac-
cessed by two separate 8-bit registers as shown in the figure below. These registers are used to load timer count.

8051 has a Timer Mode Register and Timer Control Register for selecting a mode of operation and controlling purpose.
these registers are:
TMOD register
TMOD is an 8-bit register used to set timer mode of timer0 and timer1.

Its lower 4 bits are used for Timer0 and the upper 4 bits are used for Timer1
Bit 7,3 – GATE:
     1 = Enable Timer/Counter only when the INT0/INT1 pin is high and TR0/TR1 is set.
     0 = Enable Timer/Counter when TR0/TR1 is set.
Bit 6,2 - C/->(Counter/Timer): Timer or Counter select bit
      1 = Use as Counter
      0 = Use as Timer
Bit 5:4 & 1:0 - M1:M0: Timer/Counter mode select bit

TCON Register

TCON is an 8-bit control register and contains a timer and interrupt flags.
Bit 7 - TF1: Timer1 Overflow Flag
    1 = Timer1 overflow occurred ; 0 = Timer1 overflow not occurred
Bit 6 - TR1: Timer1 Run Control Bit
         1 = Timer1 start.; 0 = Timer1 stop.
Bit 5 – TF0: Timer0 Overflow Flag
      1 = Timer0 overflow occurred; 0 = Timer0 overflow not occurred.
Bit 4 – TR0: Timer0 Run Control Bit
           1 = Timer0 start.; 0 = Timer0 stop.
Bit 3 - IE1: External Interrupt1 Edge Flag
            1 = External interrupt1 occurred.; 0 = External interrupt1 Processed.
Bit 2 - IT1: External Interrupt1 Trigger Type Select Bit
      1 = Interrupt occurs on falling edge at INT1 pin.;0 = Interrupt occur on a low level at the INT1 pin.
Bit 1 – IE0: External Interrupt0 Edge Flag
            1 = External interrupt0 occurred.; 0 = External interrupt0 Processed..
Bit 0 – IT0: External Interrupt0 Trigger Type Select Bit
      1 = Interrupt occurs on falling edge at INT0 pin.; 0 = Interrupt occur on a low level at INT0 pin.
Q) Timer Modes:
Timers have their operation modes which are selected in the TMOD register using M0 & M1 bit combinations.
Mode 0 (13-bit timer mode)-Mode 0 is a 13-bit timer mode for which 8-bit of THx and 5-bit of TLx (as Prescaler) are used. It is
mostly used for interfacing possible with old MCS-48 family microcontrollers.

As shown in the above figure, 8-bit of THx and lower 5-bit of TLx
used to form a total 13-bit timer. Higher 3-bits of TLx should be
written as zero while using timer mode0, or it will affect the result.

Mode1 (16-bit timer mode):Mode 1 is a 16-bit timer mode used


to generate a delay, it uses 8-bit of THx and 8-bit of TLx to form a total 16-bit register.
Mode2 (8-bit auto-reload timer mode):Mode 2 is an 8-bit auto-reload timer mode. In this
mode, we have to load the THx-8 bit value only. when the Timer
gets started, the THx value gets automatically loaded into the TLx and TLx starts counting
from
that value. After the value of TLx overflows from the 0xFF to 0x0, the TFx flag gets set and
again value from the THx gets automatically loaded into the TLx register. That’s why this is
called the auto-reload mode.                     

Q) Timer interrupt in 8051


8051 has two timer interrupts assigned with different vector address. When Timer count rolls over from its max value to 0, it sets
the timer flag TFx. This will interrupt the 8051 microcontroller to serve ISR (interrupt service routine) if global and timer inter-
rupt is enabled.The timer overflow interrupt assigned with the vector address shown in the table.8051microcontroller jumps di-
rectly to the vector address on the occurrence of a correspondinginterrupt.
Example:Here we will generate a square wave of 10Hz on PORT1.0 using Timer0 inter-
rupt. We will use Timer0 in mode1 with 11.0592 MHz oscillator frequency.
As Xtal is 11.0592 MHz we have a machine cycle of 1.085uSec. Hence, the required
count to generate a delay of 50mSec. is,
                    Count =(50×10^(-3)) / (1.085×10^(-6) ) ≈ 46080 
And mode1 has a max count is 2^16 (0 - 65535) and it increment from 0 – 65535 so we need
to load value which is 46080 less from its max. count i.e. 65535. Hence value need to be load
is,
                     Value=(65535-Count)+1 =19456= (4C00)Hex
So we need to load 4C00 Hex value in a higher byte and lower byte as,
TH0 = 0x4C & TL0 = 0x00

UNIT 5
PIC16F877 Microcontroller

PIC16F877 is one of the advanced and


commonly used Peripheral Interface
Microcontroller from Microchip. Sim-
plicity, quality, ease of availability and
low price makes them ideal for differ-
ent applications.
General Features
 35 instructions are only there.
 Single-cycle instructions are used here. While, two-cycle instructions are used for program branches.
 DC – 20 MHz clock input DC – 200 ns instruction cycle is the operating speed.
 Low-power, high-speed Flash/EEPROM technology.
 Low-power consumption.
 Static design.

PIN diagram PIC16F877 Architecture


Q)Input/output ports PIC
PIC16F877 has 5 basic I/O ports. These are denoted by PORT A, PORT B, PORT C, PORT D, and PORT E.
Features of Input/Output Ports.
 All these ports are bi-directional.
 Directions of ports are controlled by using TRIS(X) registers.
 TRIS A helps in setting PORT-A direction. Likewise, TRISB, TRIS C and TRIS D set the direction of other ports.
 Setting a TRIS(X) bit ‘1’ will set the corresponding PORT(X) bit as input.
 Clearing a TRIS(X) bit ‘0’ will set the corresponding PORT(X) bit as output.

Q)Memory Organization of PIC16F877


The memory of a PIC 16F877 chip is divided into 3 sections. They are
1. Program memory:Program memory contains the programs that are written by the user. The program counter (PC)
executes these stored commands one by one. Usually PIC16F877 devices have a 13 bit wide program counter that is
capable of addressing 8K×14 bit program memory space. This memory is primarily used for storing the programs that
are written (burned) to be used by the PIC.
2. PIC16F87XA Data Memory Organization:The data memory of PIC16F877 is separated into multiple banks which
contain the general purpose registers (GPR) and special function registers (SPR). According to the type of the micro-
controller, these banks may vary. The PIC16F877 chip only has four banks (BANK 0, BANK 1, BANK 2, and BANK4).
Each bank holds 128 bytes of addressable memory.
3. Data EEPROM and FLASH:The data EEPROM and Flash program memory is readable and writable during normal
operation (over the full VDD range). This memory is not directly mapped in the register file space. Instead, it is indi-
rectly addressed through the Special Function Registers. 

Q)Instruction Sets in PIC


1.Data Transfer Instructions with Syntaxes
eg-MOVLW- This instruction is used to write constant in W register (move the value from literal to W register).
2.ARITHMETICAL AND LOGICAL OPERATIONS GROUP
eg-ADDLW
By using this instruction, we can add two bits easily and the result value can be stored in another register or memory
location.
3.Bit Operation Group
eg-BCF
BCF is a resetting command instruction used for performing reset operations for a specified bit or specified registe
4.Program Flow Control Group
eg-BTFSC, BTFSS,INCFSZ

QWhat is ARM processor? Draw ARM Architecture with Each Module’s Working Principle

Ans->The ARM microcontroller stands for Advance RISC Machine; it is one of the extensive and most licensed processor cores
in the world. These processors are specifically used in portable devices like digital cameras, mobile phones, home networking
modules and wireless communication technologies and other embedded systems due to the benefits, such as low power consump-
tion, reasonable performance, etc.
Architecture->The ARM architecture processor is an advanced reduced instruction set computing [RISC] machine and it’s a
32bit reduced instruction set computer (RISC) microcontroller. It was introduced by the Acron computer organization in 1987.
This ARM is a family of microcontroller developed by makers like ST Microelectronics,Motorola, and so on. The ARM architec -
ture comes with totally different versions like ARMv1, ARMv2, etc., and, each one has its own advantage and disadvantages.

Q)Different features of arm processor, advantage disadvantage


Features;-Multiprocessing Systems,Tightly Coupled Memory ,Memory Management ,Thumb-2 Technology,–
One cycle execution time ,Pipelining ,Large number of registers –.
Advantage->Affordable to create,Low Power Consumption,Work Faster,Work Faster,Better Battery Life
Disadvantages :
1.It is not compatible with X86 hence it cannot be used in Windows.
2.The speeds are limited in some processors which might create problems.
3.Scheduling instructions is difficult in case of ARM processors.
4.There must be proper execution of instructions by programmer.

Q)Different ARM Microcontroller Register Modes


An ARM micrcontroller is a load store reducing instruction set computer architec-
ture means the core cannot directly operate with the memory. The data operations
must be done by the registers and the information is stored in the memory by an ad-
dress. 
The ARM uses seven processing modes to run the user task.-
1)USER Mode: The user mode is a normal mode, which has the least number of
registers. It doesn’t have SPSR and has limited access to the CPSR.
2)FIQ and IRQ: The FIQ and IRQ are the two interrupt caused modes of the CPU.
The FIQ is processing interrupt and IRQ is standard interrupt.
3)SVC Mode: The Supervisor mode is the software interrupt mode of the processor
to start up or reset.
4)Undefined Mode: The Undefined mode traps when illegal instructions are exe-
cuted. The ARM core consists of 32-bit data bus and faster data flow.
5)THUMB Mode: In THUMB mode 32-bit data is divided into 16-bits and increases the processing speed.
5)THUMB-2 Mode: In THUMB-2 mode the instructions can be either 16-bit or 32-bit and it increases the performance of the
ARM cortex –M3 microcontroller.

Difference between
PIC ARM
PIC micro-controller refers to Peripheral Interface Con- ARM micro-controller refers to Advanced RISC
troller. Machine.
It uses SRAM, Flash memory. It uses Flash, SDRAM, EEPROM memory.
It is based on some feature of RISC. It is based on RISC instruction set architecture.
PIC micro-controllers are available in 8-bit, 16-bit and available in 32-bit mostly also available in 64-bit.
32-bit.

Unit 6
What is a Real-Time Operating System (RTOS)?Why use an RTOS?Different features of RTOS
ans->A real-time operating system (RTOS) is an operating system (OS) (often a lightweight OS) that runs multi-
threaded applications and can meet real-time deadlines. Most RTOSes include a scheduler, resource management,
and device drivers. 
Examples are: Airline traffic control systems, Command Control Systems, Heart Pacemaker, Robot etc.
It offers priority-based scheduling, which allows you to separate analytical processing from non-critical processing.
The Real time OS provides API functions that allow cleaner and smaller application code.
Abstracting timing dependencies and the task-based design results in fewer interdependencies between modules.
Component of RTOS
The Scheduler: This component of RTOS tells that in which order, the tasks can be executed which is generally based on the pri -
ority.
Symmetric Multiprocessing (SMP): It is a number of multiple different tasks that can be handled by the RTOS so that parallel
processing can be done.
Function Library: It is an important element of RTOS that acts as an interface that helps you to connect kernel and application
code.
Memory Management: this element is needed in the system to allocate memory to every program, which is the most important
element of the RTOS.
Fast dispatch latency: It is an interval between the termination of the task that can be identified by the OS and the actual time
taken by the thread, which is in the ready queue, that has started processing.
User-defined data objects and classes: RTOS system makes use of programming languages like C or C++, which should be or-
ganized according to their operation.

Features of RTOS
 Occupy very less memory
 Consume fewer resources
 Response times are highly predictable
 Unpredictable environment

Q)What are different types of RTOS? state its advantage, disadvantage and application?
Types:1.Hard Real Time :In Hard RTOS, the deadline is handled very strictly which means that given task must start executing
on specified scheduled time, and must be completed within the assigned time duration.Example: Medical critical care system,
Aircraft systems, etc.
2.Firm Real time:These type of RTOS also need to follow the deadlines. However, missing a deadline may not have big impact
but could cause undesired affects, like a huge reduction in quality of a product.Example: Various types of Multimedia applica-
tions.
3.Soft Real Time:Soft Real time RTOS, accepts some delays by the Operating system. In this type of RTOS, there is a deadline
assigned for a specific job, but a delay for a small amount of time is acceptable. So, deadlines are handled softly by this type of
RTOS.
Advantages: 
1)Maximum utilization of devices and systems.
2)Time assigned for shifting tasks in these systems is very less.
4)These types of systems are error-free. 
5)Memory allocation is best managed in these types of systems.
Disadvantages: 
1)Limited Tasks 2)Use Heavy System Resources 3)Complex Algorithms
4)It is not good to set thread priority as these systems are very less prone to switching tasks.
5)RTOS performs minimal task switching.
Application->1) Industrial application:Real-time system has a vast and prominent role in modern industries. 
2.Medical Science application:In the field of medical science, real-time system has a huge impact on the human health and
treatment.
3.Peripheral Equipment applications:Real-time system has made the printing of large banners and such things very easier.
4.elecommunication applications:Real-time system map the world in such a way that it can be connected within a short time.
5.Defense applications:In the new era of atomic world, defense is able to produce the missiles which have the dangerous powers
and have the great destroying ability.

Q)What is an Operating System?Define task or process, thread


Embedded Operating System provides an environment within which firmware pieces, the tasks that make up the embedded appli -
cation, are executed • An OS provides or supports three functions: 1. Schedule task execution 2. Dispatch a task to run 3. Ensure
communication and synchronization among tasks
process->A process is a program under execution i.e an active program.Processes require more time for context switching as they
are more heavy.Processes are totally independent and don’t share memory.
Task->When a firmware module is executing, it is called a process or task .A task or process simply identifies a job tha tis to be
done within an embedded application
Types of Tasks: 1.Periodic tasks->Found in hard real-time applications – Examples: control, every 10 ms;
2. Intermittent tasks – Found in all types of applications – Examples: send email every night at 4am;
3. Background tasks – A soft real-time or non real-time task – Will be accomplished only if CPU time is available
4.Complex tasks – Found in all types of applications – Examples: Microsoft Word; Apache web server;
Thread->A thread is a unit of computation with code and context, but no private data . A thread can be in only one process; a
process without a thread can do nothing!

Q)Difference between Multitasking and multiprocessing


Multi-tasking Multiprocessing
The execution of more than one task simultaneously is known The availability of more than one processor per system, that
as multitasking. can execute several set of instructions in parallel is known as
multiprocessing.
The number of CPU is one. The number of CPUs is more than one.
It takes moderate amount of time. It takes less time for job processing.
The number of users is more than one. The number of users is can be one or more than one.
Its efficiency is moderate. Its efficiency is maximum.

Q)difference between THREAD, PROCESS and TASK?


Process->A program in execution is known as ‘process’. A program can have any number of processes. Every
process has its own address space.
Threads ->uses address spaces of the process. The difference between a thread and a process is, when the CPU
switches from one process to another the current information needs to be saved in Process Descriptor and load the
information of a new process. Switching from one thread to another is simple.
A task-> is simply a set of instructions loaded into the memory. Threads can themselves split themselves into two or
more simultaneously running tasks.

UNIT 7

Q) Basic steps of an embedded system design process:


Ans->1. Ideation and purpose of product
2. Determine overall requirements
3. Document detailed technical specifications
4. Decide if the product needs a user display
5. Develop a prototype
6. Design system architecture
7. Select the operating system (OS)
8. Choose the processor and peripherals
9. Choose the development platform
10. Develop the final prototype
11. Code the applications, optimize, debug, and test
12. Verify the software on the host system
13. Verify the software on the target system
14. Ongoing maintenance and updates

What is SDLC?
SDLC is a process followed for a software project, within a software organization. It consists of a detailed
plan describing how to develop, maintain, replace and alter or enhance specific software. 
Software Development Life Cycle consists of the following stages −
Stage 1: Planning and Requirement Analysis
Stage 2: Defining Requirements
Stage 3: Designing the Product Architecture
Stage 4: Building or Developing the Product
Stage 5: Testing the Product
Stage 6: Deployment in the Market and Maintenance

Different SDLC Models are-


Q)Waterfall model
Winston Royce introduced the Waterfall Model in 1970.This model has five phases: Requirements analysis and specifi -
cation, design, implementation, and unit testing, integration and system testing, and operation and maintenance.
1. Requirements analysis and specification phase: The aim of this phase is to understand the exact requirements of
the customer and to document them properly.
2. Design Phase: This phase aims to transform the requirements gathered in the SRS into a suitable form which per -
mits further coding in a programming language.
3. Implementation and unit testing: During this phase, design is implemented. If the SDD is complete, the imple-
mentation or coding phase proceeds smoothly, because all the information needed by software developers is con -
tained in the SDD.
4. Integration and System Testing: This phase is highly crucial as the quality of the end product is determined by
the effectiveness of the testing carried out. \
5. Operation and maintenance phase: Maintenance is the task performed by every user once the software has been
delivered to the customer, installed, and operational.
Advantages:1)This model is simple to implement also the number of resources that are required for it is minimal.
2)The requirements are simple and explicitly declared; they remain unchanged during the entire project development.
Disadvantages:1)In this model, the risk factor is higher, so this model is not suitable for more significant and complex
projects.; 2)This model cannot accept the changes in requirements during development.

Q)Iterative Model:
In this Model, you can start with some of the software specifications and develop the
first version of the software. After the first version if there is a need to change the soft -
ware, then a new version of the software is created with a new iteration.
The various phases of Iterative model are as follows:
1. Requirement gathering & analysis: In this phase, requirements are gathered from
customers and check by an analyst whether requirements will fulfil or not.
2. Design: In the design phase, team design the software by the different diagrams like
Data Flow diagram, activity diagram, class diagram, state transition diagram, etc.
3. Implementation: In the implementation, requirements are written in the coding lan-
guage and transformed into computer programmes which are called Software.
4. Testing: After completing the coding phase, software testing starts using different
test methods. There are many test methods, but the most common are white box, black box, and grey box test meth -
ods.
5. Deployment: After completing all the phases, software is deployed to its work environment.
6. Review: In this phase, after the product deployment, review phase is performed to check the behaviour and validity
of the developed product.
7. Maintenance: In the maintenance phase, after deployment of the software in the working environment there may
be some bugs, some errors or new updates are required.

Advantage:1)Testing and debugging during smaller iteration is easy.2)A Parallel development can plan.
3)It is easily acceptable to ever-changing needs of the project.
Disadvantage:1)It is not suitable for smaller projects: 2)More Resources may be required; 3)Requirement changes
can cause over budget.

Q)Prototype Model
The prototype model requires that before carrying out the development of actual software, a working prototype of
the system should be built. A prototype is a toy implementation of the system. A prototype usually turns out to be a
very crude version of the actual system, possible exhibiting limited functional capabilities, low reliability, and ineffi -
cient performance as compared to actual software.
Steps of Prototype Model
1)Requirement Gathering and Analyst
2)Quick Decision
3)Build a Prototype
4)Assessment or User Evaluation
5)Prototype Refinement
5)Engineer Product
Advantage:1)Reduce the risk of incorrect user requirement; 2)Regular visible process aids management; 3)Reduce
Maintenance cost.
Disadvantag:1)An unstable/badly implemented prototype often becomes the final product; 2)Require extensive cus -
tomer collaboration; 3)Difficult to know how long the project will last.
Q)Spiral Model
The spiral model, initially proposed by Boehm, is an evolutionary software
process model that couples the iterative feature of prototyping with the con-
trolled and systematic aspects of the linear sequential model. It implements the
potential for rapid development of new versions of the software. 
Each cycle in the spiral is divided into four parts:
1)Objective setting: Each cycle in the spiral starts with the identification of pur-
pose for that cycle, the various alternatives that are possible for achieving the
targets, and the constraints that exists.
2)Risk Assessment and reduction: The next phase in the cycle is to calculate
these various alternatives based on the goals and constraints.
Development and validation: The next phase is to develop strategies that re-
solve uncertainties and risks.
Planning: Finally, the next step is planned. The project is reviewed, and a choice
made whether to continue with a further period of the spiral.
Advantages: 1)High amount of risk analysis; 2)Useful for large and mission-criti-
cal projects.
Disadvantages: 1)Can be a costly model to use; 2)Risk analysis needed highly particular expertise

Q)What is Embedded prduct development Life cycle (EDLC) and its importance?
It is an Analysis – Design – Implementation based problem solving approach for embedded systems development.
There are three phases to Product development:
1)Analysis involves understanding what product needs to be developed
2)Design involves what approach to be used to build the product
3)Implementation is developing the product by realizing the design.
Need for EDLC
1)EDLC is essential for understanding the scope andcomplexity of the work involved in embedded systems de-
velopment
2)It can be used in any developing any embedded product
3)EDLC defines the interaction and activities among variousgroups of a product development phase.
Example:-project management, system design

You might also like