This document provides information about an Embedded Systems course offered at the Academy of Technology. The course is taught in the 7th semester of the Electrical Engineering program. It is worth 3 credits and covers topics such as understanding embedded systems, interfacing with I/O devices using microcontrollers, and applying concepts of embedded firmware. The course outcomes include being able to understand embedded systems, interface devices with microcontrollers, program microcontrollers, and apply concepts of real-time operating systems.
This document provides information about an Embedded Systems course offered at the Academy of Technology. The course is taught in the 7th semester of the Electrical Engineering program. It is worth 3 credits and covers topics such as understanding embedded systems, interfacing with I/O devices using microcontrollers, and applying concepts of embedded firmware. The course outcomes include being able to understand embedded systems, interface devices with microcontrollers, program microcontrollers, and apply concepts of real-time operating systems.
This document provides information about an Embedded Systems course offered at the Academy of Technology. The course is taught in the 7th semester of the Electrical Engineering program. It is worth 3 credits and covers topics such as understanding embedded systems, interfacing with I/O devices using microcontrollers, and applying concepts of embedded firmware. The course outcomes include being able to understand embedded systems, interface devices with microcontrollers, program microcontrollers, and apply concepts of real-time operating systems.
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.