1 of 24

EE 319K�Introduction to Embedded Systems

Lecture 15: �Final Exam Review

Bard, Tiwari, Telang, Holt, Erez, Cuevas, Gerstlauer, Valvano, Yerraballi

Uniform Exam UTC 2.112A MONDAY MAY 16 7-10 PM

Makeup Exam SZB 3.508 TUESDAY MAY 17 2-5 PM

Contact your professor to arrange to take makeup

On paper, closed book, no calculator, like old exams 2019 and earlier

13 quizzes, drop one (Lucas and Jon will use attendance to substitute for one quiz)

Link to excel sheet(cutoffs determined after final exam is graded) https://docs.google.com/spreadsheets/d/1lS8snwH8qwVXO8YkC8V00v2cwHOjOWWL/

Contact me after class if you have questions

15-1

2 of 24

Final Exam

  • Final exam will be similar in style to old finals
    • Approximately the same length and question types as previous final exams, prior to Covid
    • You will have three hours if you need it
  • Comprehensive, good things to study are
    • All the lecture notes & worksheets posted
    • All lab work
    • Textbook (sections listed in syllabus)
    • All Quizzes
    • eBook (sections in lectures and labs)
    • All prior exams (finals and exams)
      • Time entire test alone; review solutions with friends

Bard, Tiwari, Telang, Holt, Erez, Cuevas, Gerstlauer, Valvano, Yerraballi

15-2

3 of 24

Final Exam

  • 30% is preexam 1
    • Lab 1-3
    • Interfacing switches, LEDs and assembly
  • 30% preexam 2
    • Labs 4, 5
    • C, struct, FSM, arrays,
  • 40%
    • Labs 6-10
    • Data structures (stack, queue, sprites)
    • C-assembly linkage
    • Local variables
    • DAC ADC UART
    • Interrupts

Bard, Tiwari, Telang, Holt, Erez, Cuevas, Gerstlauer, Valvano, Yerraballi

15-3

4 of 24

Final Exam

  • Any technical documents required will be provided
    • Closed book, no calculator (show your work)
    • No communication whatsoever with other people
    • http://users.ece.utexas.edu/~valvano/Volume1/exams.htm

  • It may have short answer questions
    • Conversions, definitions
  • Will have longer questions involving assembly and C
    • Local variables, FSM, interrupts, ADC input, DAC
    • Focus will be on fundamentals and techniques
    • You should be able to do software problems in both assembly and C!

Bard, Tiwari, Telang, Holt, Erez, Cuevas, Gerstlauer, Valvano, Yerraballi

15-4

5 of 24

Lab 1 important topics

  • Input/output
  • Logic operations
  • LDR STR
  • Assembly language

15-5

6 of 24

Lab 2 important topics

  • Functions in C
    • Parameters
  • Array access using index
  • Variable types
  • Conditional

15-6

7 of 24

Lab 3 important topics

  • Voltage, current, power
  • Interface a switch
  • Interface an LED without driver
  • Friendly software
  • Interface an LED with ULN2003B driver
  • Ohm’s Law
  • KVL
  • Introduction to time
    • Intuition: about 25ns/instruction
  • PWM

15-7

8 of 24

Lab 4 important topics

  • Arrays in assembly language
  • Introduction to SysTick
  • Debugging dump
  • Intrusiveness
  • Functional vs performance debugging
  • Profile
  • PLL
    • Tradeoff between power and speed

15-8

9 of 24

Lab 5 important topics

  • Interface LEDs
    • Where does the current flow?
    • Why is there a resistor?
  • Finite state machine
    • STG, STT
      • What it should do => STG/STT
      • STG/STT => what it does do
    • Data structure
    • Engine
      • Index
      • Pointer
  • SysTick time delay

15-9

10 of 24

Lab 6 important topics

  • DAC circuit
    • Binary weight
    • Ohm’s Law
    • KCL
    • Range, resolution, precision
  • Sampling
    • Nyquist Theorem
    • Valvano postulate (array size > 10 fs)
    • Array access
  • Periodic interrupt with SysTick
  • Oscilloscope debugging

15-10

11 of 24

Lab 7 important topics

  • Variables
    • Binding, allocation, access, deallocation
    • Local variables with SP and R11
    • Scope versus allocation
    • const static volatile
  • SPI interface
    • Busy wait (polling) versus blind
    • Why are there clock and data pins?
  • AAPCS
  • Number conversions
    • Integer to character string
    • Character string to integer
    • Unsigned, signed, fixed-point
  • Fixed-point
    • Value = integer * constant

15-11

12 of 24

Lab 8 important topics

  • ADC operation
    • Successive approximation
    • Range, resolution, precision
  • Sampling
    • Nyquist Theorem
    • Valvano postulate (fs >= 10 fmax)
  • Periodic interrupt with SysTick
  • Mailbox and semaphore synchronization
  • Fixed-point math
    • Calibration

15-12

13 of 24

Lab 9 important topics

  • Communication
    • Encoding, transmission, decoding
    • Start,data,stop bit format
    • Baud rate, bandwidth, frame
  • UART interrupts
    • FIFO status interrupt
    • Receiver idle interrupt
  • FIFO
    • Implementation with pointers, index
    • Usage
    • Interpretation of empty and full errors
  • Testing of distributed system

15-13

14 of 24

Lab 10 important topics

  • Array of struct
    • ROM vs RAM
    • Pointers versus index access
  • Call graph
    • What is in the header file?
  • Data flow graph
  • Interrupt priority
  • Friendly access

15-14

15 of 24

Final Exam Review

  • Definitions (matching or multiple choice)
    • volatile, nonvolatile, RAM, ROM, port, kibibyte, mebibyte
    • white box testing, black box testing, friendly, mask, toggle
    • structured program, call graph, data flow graph
    • basis, nibble, precision, decimal digits, promotion, demotion
    • fixed-point, overflow, ceiling and floor
    • desk check, intrusive, dump, stabilization, profile, heartbeat
    • bus, address bus, data bus, bus cycle
    • memory-mapped, I/O mapped, vector, device driver,
    • Von Neumann architecture, Harvard architecture, CISC, RISC
    • tristate, open collector, ALU, registers
    • negative logic, positive logic, Ohm’s Law, P=V*I, KVL, KCL
    • thread, real-time, latency, interrupt, vector, priority
    • private, public, local, global, call by value, call by reference
    • baud rate, bandwidth, frame, full duplex, half duplex, simplex
    • Nyquist Theorem, aliasing, monotonic, accuracy, jitter
    • ADC/DAC limits: max, min, resolution, fs, number of samples
    • PLL (tradeoff between power and speed)

Bard, Tiwari, Telang, Holt, Erez, Cuevas, Gerstlauer, Valvano, Yerraballi

15-15

16 of 24

Final Exam Review

  • Number conversions - convert one format to another
    • decimal digits
    • signed decimal e.g., -56
    • unsigned decimal e.g., 200
    • binary e.g., %11001000
    • hexadecimal e.g., 0xC8
    • Fixed-point (decimal or binary)
      • Decimal fixed-point, v = I*10-m
      • Binary fixed-point, v = I*2-m

Bard, Tiwari, Telang, Holt, Erez, Cuevas, Gerstlauer, Valvano, Yerraballi

15-16

17 of 24

Final Exam Review

  • Instruction detail and Cortex-M operation
    • operation of ARM instructions (reference sheet)
    • components in address space
    • subroutine linkage
    • stack operations
  • Simple programs
    • create global variables
    • specify an I/O pin is an input
    • specify an I/O pin is an output
    • clear an I/O output pin to zero
    • set an I/O output pin to one
    • toggle an I/O output pin
    • check if an I/O input pin is high or low
    • add, sub, shift left, shift right, and, or, eor
    • subroutine linkage (AAPCS)

Bard, Tiwari, Telang, Holt, Erez, Janapa Reddi, Gerstlauer, Valvano, Yerraballi

15-17

18 of 24

Final Exam Review

  • Switch & LED interfacing
  • GPIO Ports
    • friendly programming practices
    • LED and switch interfacing

  • SysTick Timer
    • initialization
    • operational parameters
      • period
    • busy-wait delay or periodic interrupt

Bard, Tiwari, Telang, Holt, Erez, Gerstlauer, Valvano, Yerraballi

15-18

19 of 24

Final Exam Review

  • System Design
    • Successive Refinement, modularity
    • Stepwise Refinement
    • Systematic Decomposition
  • Finite State Machines
    • Moore machine characteristics
    • abstraction
    • programming structures
  • Local Variables
    • types of storage
      • stack, registers, binding, SP address, stack frame addressing
  • C programming
    • Variables, expressions, control, data structures
    • casting and indirection, pointers, arrays, structures
    • storage type qualifiers
      • const static volatile

Bard, Tiwari, Telang, Erez, Holt, Gerstlauer, Valvano, Yerraballi

15-19

20 of 24

Final Exam Review

  • I/O Synchronization
    • Purpose, types
      • blind cycle, busy/wait, interrupt, DMA
      • Semaphore, mailbox, FIFO
    • Device Driver
    • Performing I/O with an external device (like the LCD)
  • Interrupts
    • initialization rituals
      • software actions/what needs to be done
    • interrupt service routines
      • hardware operation
      • thread context switch/what needs to be done
    • debugging techniques
  • Mailbox and FIFO queues
    • operation
    • programming

But simpler

15-20

21 of 24

Final Exam Review

  • Digital To Analog Converter (DAC)
    • Operation, characteristics, Ohm’s Law
  • Sound Generation
    • Discrete time sinusoid
    • Periodic interrupts
    • Timing requirements
  • Analog To Digital Converter (ADC)
    • Operation, characteristics, programming
    • Nyquist Theorem
  • UART
    • Operation, programming, start bit, stop bit, rates
  • Real time and communication systems
    • Latency, jitter, throughput ≡ bandwidth

Bard, Tiwari, Telang, Erez, Holt, Gerstlauer, Valvano, Yerraballi

15-21

22 of 24

Book reading

  • Hardware interfacing
    • 1.14, 3.1, 3.2, 6.6
  • Parallel Port initialization
    • 1.12, 1.13, 3.2, 10.3
  • Assembly and C software
    • Chapters 1, 2, 3, 4, 5, 7, 10.5
  • Pointers, arrays, and strings
    • 1.11, 2.4, 4.4,
  • FSM
    • Chapter 5 (no Mealy)

Bard, Tiwari, Telang, Erez, Holt, Gerstlauer, Valvano, Yerraballi

Section numbers

15-22

23 of 24

Book reading

  • struct
    • 5.1, 5.2, 10.2, 10.5
  • SysTick, interrupts
    • 6.1, 6.2, 6.3, 6.4
  • DAC
    • 6.5 (Nyquist), 6.6, 6.7
  • Variables and parameter passing
    • 7.1, 7.2, 7.3, 7.4, 7.5
  • Fixed point
    • 7.6
  • Mailbox
    • 8.1

Bard, Tiwari, Telang, Erez, Holt, Gerstlauer, Valvano, Yerraballi

15-23

24 of 24

Book reading

  • ADC and sampling
    • 6.5 (Nyquist), Chapter 8
  • UART
    • 9.2, 9.6
  • FIFO
    • 9.5
  • Matrix (2-D array) and tables
    • 10.1, 10.2

15-24