Sep 19, 2024  
2019-20 Syllabus 
    
2019-20 Syllabus [ARCHIVED CATALOG]

Add to Portfolio (opens a new window)

ECE 4721/5721 - Embedded System Design (4)


Oakland University, School of Engineering and Computer Science, Department of Electrical and Computer Engineering
Syllabus

Course Information:
CRN: 14939
Campus: Main Campus
Schedule Type: Lecture

Tuesday,Thursday

05:30 PM - 07:17 PM

Main Campus Campus | Mathematics and Science Center | Room 104

This course deals with advanced concepts in the programming and the interfacing of modern microprocessors/microcontrollers to the outside world as demonstrated by a variety of application examples. It covers the advanced architecture of modern processors and the many 1/0 peripherals now commonly found on-board. Laboratory activities provide the student with experience in developing the hardware and software required to incorporate microprocessors into systems that solve real-world interfacing problems

Prerequisites(s): ECE 3720 (UG), background in microprocessors (G)


Professor Information:
Instructor: Subramaniam Ganesan


Learning Outcomes:
By the end of this course you should be able to:

  • Understand and describe the generalized architecture of advanced microprocessors.
  • Describe the ARM architecture and programmers model.
  • Program the ARM microprocessor using C language.
  • Develop algorithm/program of the ARM microprocessor for a particular task.
  • Describe the memory management unit, the working of virtual memory, multitasking, memory organization, page tables, and translation look aside buffer in embedded operating systems.
  • Describe how serial data can be sent from one microcontroller to another using CAN Interface.
  • Describe the advanced microprocessor bus architecture (AMBA) bus system, user peripherals, exception handling, in ARM, and ARM optimization techniques.
  • Interface advanced microprocessors with external peripherals.
  • Work in a team environment to design a microprocessor-based system and communicate the results in a written report and an oral presentation.



Assignments and Grading:
Course Topics: Below is a tentative list of topics that will be covered.

Introduction: Need of advanced microprocessors, Difference between RISC (Reduced Instruction Set Computing) and CISC (Complex Instruction Set Computing), RISC Design philosophy, ARM (Acorn/Advanced RISC Machinei Design Philosophy, History of ARM microprocessor, ARM  processor family,  Development of ARM  architecture.

The ARM Architecture  and Programmers  Model: The Acorn  RISC Machine, ARM Core data flow model,

Architectural inheritance, The ARM7TDMI programmer’s model: General purpose registers, ARM memory map, data format, load and store architecture, Architecture revisions, ARM development tools

ARM Instruction set: Data processing instructions, Arithmetic and logical instructions, Rotate and barrel shifter, Branch instructions, Load and store instructions, Software interrupt instructions, Program status register instructions, Conditional execution, Multiple register load and store instructions, Stack instructions, Thumb instruction set, advantage of thumb instructions, Assembler rules and directives, Assembly language programs for shifting of data, factorial calculation, swapping register contents, moving values between integer and floating point registers.

C Programming for ARM: Overview of C compiler and optimization, Basic C data types, C Looping structures, Register allocations, function calls,  pointer  aliasing,  structure  arrangement,  bit-fields, unaligned data and Endianness, Division, floating point, lnline functions and inline assembly, Portability issues. C programs General purpose 1/0, general purpose timer, PWM Modulator, UART, 12C Interface, SPJ Interface, CAN Interface, ADC, DAC.

Memory management units: Moving from memory protection unit (MPU) to memory management unit (MMU), Working of virtual memory, Multitasking, Memory organization in virtual memory system, Page tables, Translation look aside buffer, Caches and write buffer, Fast context switch extension.

6. Advanced Microprocessor Bus Architecture (AMBA) Bus System, User peripherals, Exception handling in ARM, ARM optimization techniques (speed, power, energy, memory requirements).


Classroom and University Policies  



Add to Portfolio (opens a new window)