Download as pdf or txt
Download as pdf or txt
You are on page 1of 11

ACADEMY OF TECHNOLOGY

Name of the Faculty: Abhinaba Dutta


Subject with code: Embedded System (OE-EE702A)
Semester / Branch: 7th Semester / EE (1 & 2)
Department: Electrical Engineering (EE)
Credit: 3

COURSE OUTCOMES

At the end of the course, a student will be able to:


CO1: Understand the definition, history, purpose, major application areas, classification, quality
characteristics & attributes of embedded System
CO2: Realize the internal structure of the embedded system along with various communication
interfaces.
CO3: Acquire knowledge-based information for interfacing different I/O devices with embedded
microcontrollers.
CO4: Build programs for microcontrollers in Embedded C & Assembly for the design and
development of online real time system.
CO5: Apply the concept of Embedded firmware for software realization and hardware
implementation of embedded system.
CO6: Understand the basics of Real Time Operating System (RTOS) along with the concept of
tasks, processes, threads in context of embedded operating system.

Module 1: Introduction to Embedded Systems

Bloom’s Taxonomy Level: L1 (REMEMBER)

Sl. Question Marks CO


No. No.
1. What is an embedded system? 2 CO1
2. Discuss the different classifications of embedded systems and 10 CO1
give an example for each.
3. State the functions of the different components of a typical 8 CO1
embedded system.
4. Which are the components used as core an embedded system? 4+ 6 CO1
Explain the merits, drawbacks, if any and the applications /
domains where they are commonly used.
5. Describe the different characteristics of embedded systems in 6 CO1
detail.
6. Write down the main differences between Von Neumann and 5 CO1
Harvard architecture.
Bloom’s Taxonomy Level: L2 (UNDERSTAND)

Sl. Question Marks CO


No. No.
1. Explain the different applications of embedded systems. 5 CO1
2. Explain the various purposes of embedded systems in detail with 10 CO1
illustrative examples.
3. Explain quality attribute in the context of embedded system 3+5 CO1
development. Discuss the different Quality attributes to be
considered in an embedded system design.
4. What is operational quality attribute? Explain the important 3+7 CO1
operational quality attributes to be considered in any embedded
system design.
5. What is non-operational quality attribute? Explain the important 3+7 CO1
non-operational quality attributes to be considered in any
embedded system design.

Module 2: Typical Embedded System

Bloom’s Taxonomy Level: L1 (REMEMBER)

Sl. Question Marks CO


No. No.
1. State the differences between microprocessor and 5+7 CO1
microcontroller. Discuss the role of microprocessors &
microcontrollers in embedded system design.
2. State the difference between RISC & CISC processors. Give 5 CO2
an example for each.
3. State the differences between little endian and big-endian 5 CO2
processors. Give an example of each.
4. What is Programmable Logic Device? What are the different 3+2 CO2
types of PLDs?
5. State the difference between PLD & ASIC? 3 CO2
6. What are the different types of memories used in embedded 10 CO2
system design? Enumerate the role of each.
7. What is the difference between Masked ROM and OTP? 3 CO2
8. What is the difference between PROM and EPROM? 3 CO2
9. Enumerate the different types of RAM used for embedded 3 CO2
system design.
10. Discuss the operation of SRAM cell. 4 CO2
11. State the different types of FLASH memory and their relative 5 CO2
merits & demerits.
12. List out the different on-board & external communication 3 CO2
interfaces in the context of embedded system design.
13. Describe the RS-232C serial interface in detail. 6 CO2

Bloom’s Taxonomy Level: L2 (UNDERSTAND)


Sl. Question Marks CO
No. No.
1. What is Application Specific Integrated Circuit (ASIC)? 2+3 CO2
Explain the role of ASIC in embedded system design.
2. Differentiate between Application Specific Integrated Circuit 3 CO2
(ASIC) and Application Specific Service Product (ASSP)?
3. What is Digital Signal Processor (DSP)? Explain the role of 2+4 CO2
DSP in embedded system design.
4. Explain the role of PLDs in embedded system design. 5 CO2
5. What are the advantages of PLD over fixed logic device? 3 CO2
6. Explain the advantages FLASH memory over other program 5 CO2
storage memory in embedded system design?
7. Explain memory shadowing. What is its advantage? 3+3 CO2
8. What is sensor? Explain its role in embedded system design. 2+5 CO2
Illustrate with an example.
9. What is Actuator? Explain its role in embedded system 2+5 CO2
design. Illustrate with an example.
10. What is Embedded Firmware? What are the different 2+3 CO2
approaches available for embedded firmware development?
11. Differentiate between General Purpose Processor (GPP) and 5 CO2
Application Specific Instruction Set Processor (ASISP). Give
an example for both.
12. Explain the concept of Load Store architecture and instruction 5 CO2
pipeline.
13. Explain the merits and limitation of SRAM and DRAM as 5 CO2
Random Access Memory.
14. Explain the difference between SAM and RAM. Give an 5 CO2
example for both.
15. Explain the different factors that need to be considered in the 5 CO2
selection of memory for embedded systems.
16. Explain the sequence of operation for communicating with an 5 CO2
I2C slave device.
17. Differentiate between I2C and SPI communication interface. 5 CO2
18. Explain the merits and limitations of Parallel port over Serial 5 CO2
RS-232 interface.
19. Explain the merits and limitations of IEEE1394 interface over 5 CO2
USB.
20. Differentiate between the operation of ZigBee and Wi-Fi 5 CO2
network.
21. Explain the function of coprocessor. 3 CO2
22. Explain the operation of Inter-integrated Circuit Bus. 5 CO2
23. Explain the Serial Peripheral Interface bus in detail. 5 CO2
24. Explain the principle operation of asynchronous serial 5 CO2
communication with necessary diagram
Module 3: Advanced Embedded Microcontrollers

Bloom’s Taxonomy Level: L1 (REMEMBER)

Sl. Question Marks CO


No. No.
1. List the various interrupt sources in PIC 16C71. 5 CO3
2. Describe the various functional blocks in PIC 16F877. 5 CO3
3. Describe the architectural features of PIC 16F877. 5 CO3
4. List the interrupts supported PIC 16FF877 and discuss them in 7 CO3
brief.
5. What is "Thumb" in ARM processor? 3 CO3
6. Draw the architectural block diagram of ARM and describe 4+6 CO3
data flow referring each unit.
7. Describe different ARM architecture variants. 6 CO3
8. What is an Interrupt? How many interrupts are there in ARM 2+2+2+4 CO3
processor? Name them in order of their priority. Write down
their vector addresses and their significance.
9. Discuss on ARM Bus technology. 3 CO3
10. Explain in brief about the ARM design philosophy. 4 CO3
11. List various operating modes of ARM processor. 3 CO3
12. Explain the following Thumb instructions with an example 12 CO3
i) Stack ii) Software interrupt iii) Single register load-store iv)
Multiple register load-store

Bloom’s Taxonomy Level: L2 (UNDERSTAND)

Sl. Question Marks CO


No. No.
1. Explain why PIC Program memory is 14 bits wide? What is 2+2+3 CO3
the meaning of an 8-level program counter stack? How
exactly the stack operation is in the PIC microcontroller?
Justify the answer with a specific reference to a PIC device.
2. Explain instruction pipelining in PIC. Differentiate between 4+3 CO3
PIC microcontroller and 8051 microcontroller in context of
machine cycle.
3. Explain brown-out feature in PIC microcontroller. How do 4+6 CO3
PIC microcontrollers support the power-saving options? What
are the various possibilities to come out of these modes?
4. Discuss the interrupt structure in PIC microcontroller. 5 CO3
5. Explain the various possibilities of the oscillator connections 3+3+4 CO3
in PIC microcontroller. How are those selected? How is the
frequency of oscillation decided in each of these modes?
6. Explain prescaling of PIC timers. What is the advantage of 4+2+2+2 CO3
doing so? Explain the possibility to apply the prescaling to
watchdog timer. If so, justify your answer.
7. Explain the statement “Once the watchdog timer is 3 CO3
enabled(disabled), it is not possible to make it off (on)”.
8. Explain what is the meaning of orthogonal instruction set. Is 3+2 CO3
PIC instruction set orthogonal?
9. Discuss the various addressing modes in PIC microcontroller. 6+4 CO3
Explain the role of INDF in indirect addressing mode?
10. Explain usefulness of FLASH memory in designing 3 CO3
embedded system.
11. In what way Data EEPROM is useful? Is it possible to access 3+2 CO3
Data EEPROM while PIC is executing instructions?
12. Discuss the timer 0, 1, 2 operations and write the various 7+3 CO3
steps to initialize them stating appropriate control words in
the associated SFRs. Explain the meaning of prescaling and
post scaling.
13. Explain the functions of PIE1, PIE2, PIR1, PIR2 SFRs in PIC 5 CO3
16F877.
14. Explain prescaling and postscaling in timer 2. What is the 4+2 CO3
advantage in using postscaling?
15. Explain the function of the STATUS register bit IRP in PIC 3 CO3
16F8XX.
16. Explain the function of WRT bit in the configuration word. 3+3 CO3
How is a configuration word written?
17. Explain the mechanism of occurrence of PIC reset. Which 4+1 CO3
PIC 16F877 SFR is associated with this?
18. Explain the interrupt mechanism when the CPU wakes up 5+2 CO3
from the SLEEP mode because of any peripheral interrupt.
Which INTCON bits are needed for handling peripheral
interrupts and why?
19. Discuss the oscillator connections of PIC microcontroller. 5 CO3
20. Which features does ARM have in common with many other 3 CO3
RISC architectures?
21. Differentiate between CPSR and SPSR. 3 CO3
22. Explain the concept of thumb instructions in ARM processor. 3 CO3
23. What is the WFI instruction used for? 2 CO3
24. Why exceptions are used in ARM processors? 3 CO3
25. Discuss the role of write-back cache in ARM processors. 4 CO3
26. Explain Jazelle extension in ARM processors. 4 CO3
27. Draw the interfacing of 64KB × 4 RAM and 32KB × 4 ROM 5 CO3
with ARM-7 processor? Show all relevant signals.

28. Differentiate between ARM7TDMI and ARM8. 3 CO3

29. Explain Privileged mode of ARM processor. 3 CO3


30. Explain the working of "Barrel shifter" with an example 5 CO3
instruction and diagram.
31. Explain the function of following instructions one by one: 5 CO3
i) SUB r0, r1, #5
ii) ADD r2, r3, r3, LSL, #2
iii) LOR r0, [r1]
iv) SWP r3, r2, [r1]
v) ADDEQ r5, r5, r6
32. Discuss useful techniques for optimizing ARM assembly and 5 CO3
briefly explain them.
33. How ZIGBEE can be interfaced with an ARM processor? 6 CO3
Draw and explain an interfacing diagram.
34. Explain the need for a fast interrupt service and a normal 6 CO3
interrupt service in ARM programmer model with proper
diagram.
35. Explain the instruction MUL, SMLAL, CL, BX, BKPT. 5 CO3
36. Explain the JTAG boundary scan organization with proper 5 CO3
diagram.
37. Explain the ARM programmer model with proper diagram. 6 CO3
38. Explain various control flow instructions of ARM processor. 5 CO3
39. Explain the 3-stage pipeline ARM organization. 5 CO3
40. Why does r15 give PC+8 in first cycle of an instruction and 3 CO3
PC+12 in subsequent cycles on an ARM7?
41. Explain ARM7TDMI organization with all important features 6 CO3
and extensions.
42. Explain how ARM instruction set is suitable for embedded 6 CO3
applications.
43. Describe how the memory architecture effects the 6 CO3
performance of cache and tightly coupled memory in ARM-
based embedded systems.
44. Explain the nomenclature of ARM processor family. 4 CO3
45. Differentiate between various ARM processor families. 6 CO3
46. List and explain the registers available in user mode of ARM 4 CO3
device
47. Draw and explain current program status register of ARM 5 CO3
processor
48. Summarize the complete register set of ARM processor. 7 CO3
49. List the features of Jazelle instruction set. 3 CO3
50. What is pipelining in a processor? Explain in brief about 2+5 CO3
various stages of pipelining in ARM processors.
51. Explain about exceptions, interrupts and the vector table in an 6 CO3
ARM processor.
52. Explain the following ARM instructions with an example 4+4+4 CO3
i) Move ii) Comparison iii) Multiply
53. Explain ARM processor branch instructions with an example. 4 CO3
54. Explain how thumb instruction set has better performance 4 CO3
than 16-bit ARM processor.
55. Explain Thumb instruction set based branch instructions of 5 CO3
ARM processor with an example.
56. With an example each, explain the Thumb data processing 6 CO3
instructions
57. With an example, explain stack instruction in ARM 3 CO3
instruction set.
58. Describe the conditional execution of instructions by ARM 5 CO3
processor with an example.
59. Explain with an example, how decrementing loops can be 5 CO3
implemented efficiently on ARM processors.
60. Explain the efficient implementation of the following loop 5+5 CO3
structures on ARM processors with an
example each
(i) Unrolled counted loops
(ii) Multiple nested loops

Bloom’s Taxonomy Level: APPLY

Sl. Question Marks CO


No. No.
1. Write an initialization program to enable all the interrupts in 5 CO4
PIC 16C74.
2. Write a PIC program to initialize the I/O ports. Set PORTB as 3 CO4
an output port and PORTA as an input port with AIN3 as an
analog input and other input lines of PORTA as simple digital
inputs.
3. Write a PIC 16F877 program to send a byte into the program 6 CO4
memory.
4. Write a PIC 16F877 ALP to add two data 90H, 8FH and store 5 CO4
the result in the internal register file in the addresses 50H,
51H.
5, Write a PIC 16F877 ALP to multiply two data 85H, 10H and 7 CO4
store the result in the internal register file in the address 40H
and 41H.
6. Implement the statement x = (a+b)–c, using ARM 5 CO4
instructions.
7. Assume that there is a byte-string of ASCII-encoded 5 CO4
characters stored in memory starting at location STRING. It is
terminated by the Carriage-Return character (CR). Write an
ARM program to determine the length of the string and store
the length in location LENGTH.
8. Write an ARM program to find the larger of two 32-bit 5 CO4
variables VALUE1 and VALUE2. Place the result in the
variable RESULT. Assume the values are unsigned.
9. Write a program to interface 2*16 LCD module with ARM 7. 5 CO4
10. Write a program to interface stepper motor module with 6 CO4
ARM7.

Module 4: Embedded Firmware

Bloom’s Taxonomy Level: L1 (REMEMBER)

Sl. Question Marks CO


No. No.
1. Name the different embedded firmware design approaches and 2+8 CO5
describe them in detail.
2. Define Assembly Language Programming and show the format of 2+3 CO5
assembly language instruction.
4. Describe the advantages of Assembly language-based firmware 5 CO5
development.
5. What is the difference between compiler and cross-compiler? 3 CO5
6. Define pointer in embedded C programming. Discuss the role of 2+3 CO4
pointer in embedded application development.
7. Name the different arithmetic and relational operations supported 4 CO4
by pointers.
8. What is Null pointer? Discuss its significance in embedded C 2+3 CO4
programming.
9. Define macro in embedded C programming. What is the difference 2+4 CO4
between macros and functions.
10. What are the merits and drawbacks of macros? 4 CO4
11. Describe the different bit manipulation operations supported by 5 CO4
Embedded C.
12. What are the merits and drawbacks of recursion? 5 CO4
13. Describe the different memory management library routines 5 CO4
supported by C.

Bloom’s Taxonomy Level: L2 (UNDERSTAND)

Sl. Question Marks CO


No. No.
1. Explain the role of Reset circuit in Embedded system. 5 CO5
2. Discuss the role of Real Time Clock (RTC) in embedded 5 CO5
system.
3. Explain the role of Watchdog Timer in embedded system. 5 CO5
4. Discuss the function of Brown-out Protection Circuit in 3 CO5
embedded system.
5. Differentiate between Super loop based and OS based 4+3 CO5
embedded firmware design. Explain which one is the better
approach and why?
6. Explain ‘pseudo-ops’ and discuss the use of it in Assembly 3+5 CO4
Language Programming.
7. Explain the various steps involved in the assembling of an 6 CO4
assembly language program.
8. What is relocatable code? Explain its significance in assembly 2+3 CO4
programming.
9. Explain library file in assembly language context and discuss 3+3 CO4
its benefit.
10. Explain the limitations / drawbacks of assembly language 3 CO4
based embedded firmware development.
11. Explain the High-Level Language based embedded firmware 5 CO4
development technique with its advantages.
12. Give examples for situations demanding mixing of assembly 3+5 CO4
with C. Explain the techniques for mixing assembly with C.
13. Give examples for situations demanding mixing of C with 3+5 CO4
assembly. Explain the techniques for mixing C with
assembly.
14. What is inline assembly? How is it different from mixing 2+3 CO4
assembly language with C?
15. Explain the similarities and differences between string and 5 CO4
character arrays.
16. Explain function in the embedded C programming context. 3+3 CO4
Explain the generic syntax of function declaration and
implementation.
17. What is static function? What is the difference between static 2+3 CO4
and global functions?
18. Explain the similarities and differences between function 5 CO4
prototype and function declaration.
19. What is function pointer? How is it related to function? 2+2+3 CO4
Explain the use of function pointers.
20. Explain structure in the embedded C programming context. 3+3 CO4
Explain the significance of structure over normal variables.
21. Discuss the different operations supported by structures. 5 CO4
22. What is union? Differentiate between union and structure. 2+3 CO4
23. Explain how union is useful in variant data access. 4 CO4
24. Discuss the use of union in Embedded C applications. 4 CO4
25. Discuss the different methods of constant data declaration in 4+4 CO4
embedded C. Explain the differences between the methods.
26. Explain the different techniques for delay generation in 5+3 CO4
embedded C programming. What are the limitations of delay
programming for super loop based embedded applications?
27. What is recursion? Differentiate between recursion and 2+3+2 CO4
iteration. Which one is better?
28. Explain re-entrant function. Discuss its significance in 3+3 CO4
embedded applications development.
29. Differentiate between recursive function and re-entrant 3 CO4
function.
30. Explain the different criteria that that need to be strictly met 4 CO4
by a function to consider it as re-entrant function.
31. Differentiate between static and dynamic memory allocation. 3 CO4
32. Explain the difference between the library functions between CO4
malloc() and calloc() for dynamic memory allocation.

Bloom’s Taxonomy Level: L3 (APPLY)

Sl. Question Marks CO


No. No.
1. Write a macro to multiply two numbers. 5 CO4
2. Write a C program to create a re-entrant function which 6 CO4
removes white spaces from a string which is supplied as input
to the function and returns the new string without white
spaces. The main C function passes a string to the re-entrant
function and accepts the string with white spaces removed.
4. Write a C program to place a character variable at memory 5 CO4
location 0x000FF and load it with 0xFF.
5. Write a small embedded C program to complement bit 5 6 CO4
(Assume bit numbering starts at 0) of the status register of a
device, which is memory mapped to the CPU. The status
register of the device is memory mapped at location 0x3000.
The data bus of the controller and the status register of the
device is 8 bit wide.
6. Write a small embedded C program to set bit 0 and clear bit 7 6 CO4
of the status register of a device, which is memory mapped to
the CPU. The status register of the device is memory mapped
at location 0x8000. The data bus of the controller and the
status register of the device is 8 bit wide.
7. Write a small embedded C program to test the status of bit 5 6 CO4
of the status register and reset it if it is 1, of a device, which is
memory mapped to the CPU. The status register of the device
is memory mapped at location 0x7000. The data bus of the
controller and the status register of the device is 8 bit wide.
8. Write an embedded C program for Keil C51 cross-compiler 8 CO4
for transmitting a string data through the serial port of 8051
microcontroller as per the following requirements-
(a) Use structure to hold the communication parameters
(b) Use a structure array for holding the configurations
corresponding to various baud rates (say 2400, 4800, 9600,
195200).
(c) Write the code for sending a string to the serial port as
function. The main routine invokes this function with the
string to send. Use polling of Transmit Interrupt for
ensuring the sending of a character.

Module 5: RTOS Based Embedded System Design

Bloom’s Taxonomy Level: L1 (REMEMBER)

Sl. Question Marks CO


No. No.
1. Define Operating system. Where is it used and what are its 2+2+2 CO6
primary functions?
2. Define kernel. Name the different functions handled by a 2+3 CO6
general-purpose kernel.
3. What is kernel space and user space? How is kernel space and 3+4 CO6
user space interfaced?
4. What is monolithic and microkernel? Which one is widely 3+2 CO6
used in real time operating systems?
5. Define virtual memory. List the advantages & disadvantages 2+4 CO6
of virtual memory.
6. Define Task and Process in the operating system context. 4 CO6
7. Define Process Life Cycle and Process management in the 2+2 CO6
operating system context.
8. Define multiprocessing, multitasking, multiprogramming. 5 CO6
9. Name the activities involved in context switching. 3 CO6

Bloom’s Taxonomy Level: L2 (UNDERSTAND)

Sl. Question Marks CO


No. No.
1. Differentiate between general purpose kernel and real time kernel. 4 CO6
Give an example for both.
2. Explain the basic functions of a real-time kernel. 5 CO6
3. What is Task Control Block (TCB)? Discuss the structure of TCB. 2+4 CO6
4. Differentiate between the memory management of general-purpose 4 CO6
kernel and real time kernel.
5. Explain how accurate time management is achieved in real-time 4 CO6
kernel.
6. Differentiate between Hard real time system and Soft real time 3+2 CO6
system. Give an example for Hard and Soft Real-Time kernels.
7. Explain the memory architecture of a process. 5 CO6
8. Explain the various activities involved in the creation of process and 5 CO6
threads.
9. Explain the concept of Thread in the operating system context. 5 CO6
10. Explain how Threads and Processes are related? What are common to 3+2 CO6
Process and Threads?
11. Discuss the memory model of a thread. 5 CO6
12. Explain the concept of multithreading with its advantages. 5 CO6
13. Explain how multithreading can improve the performance of an 5 CO6
application with an illustrative example.
14. Why is thread creation faster than process creation? 3 CO6
15. Explain the commonly used thread standards for thread creation and 5 CO6
management by different operating systems.
16. Differentiate between user level and kernel level threads. 4 CO6
17. What are the advantages and disadvantages of using user level 4 CO6
threads?
18. Explain the different thread binding models for user and kernel level 5 CO6
threads.
19. Differentiate between threads and processes. 5 CO6
20. Explain context switching, context saving, context retrieval. 5 CO6
21. Explain the different multitasking models in the operating system 3 CO6
context.
22. Explain task scheduling in the operating system context. 3 CO6
23. Discuss the various factors to be considered for the selection of a 5 CO6
scheduling criteria.
24. Explain the different queues associated with process scheduling. 5 CO6
25. Explain the different types of non-preemptive scheduling algorithms. 6+4 CO6
State the merits and demerits of each.
26. Discuss Round Robin (RR) process scheduling with interrupts. 6 CO6
Explain starvation in the process scheduling context. Explain how 4+3 CO6
27. starvation can be effectively tackled.

You might also like