25778: Embedded Systems
Course Name: Embedded Systems
Course Number: 25778
Prerequisite(s): 25754 (Computer Structure and Microprocessor and Lab)
Co-requisite(s): -
Units: 3
Level: Undergraduate and Postgraduate
Last Revision: Spring 2019

Description
The purpose of this course is to acquaint electrical engineers with the components and types of embedded systems, design, implementation and evaluation of embedded and real-time systems.
 
Syllabus:
  • Embedded systems, definition and classification
  • Components of embedded systems
  • Embedded system design considerations
  • Modeling, simulation and evaluation of embedded systems
  • Types of embedded systems based on the type of processor and operating system
  • Real-time embedded systems
  • Prominent processors in today's embedded systems and their structure and architecture
    • ARM Cortex M processors
    • ARM Cortex A processors
    • ARM Cortex R processors
    • TI C6000 family DSP processors
  • Processor selection rules and the role of the operating system
  • Software implementation
    • Firmware implementation in C language and assembler
    • Code optimization
    • Software implementation tools for ARM and DSP processors
    • ARM Cortex A processors
    • ARM Cortex R processors
    • TI C6000 family DSP processors
  • Algorithm mapping to processors structure
    • Code optimization
    • Implementation techniques and standards
  • Numerical problems
    • Quantization and overflow
    • Floating point implementation
    • Fixed point implementation
    • Code optimization
    • Software implementation tools for ARM and DSP processors
    • ARM Cortex A processors
    • ARM Cortex R processors
    • TI C6000 family DSP processors
  • Memory and its management and multi-core processors
  • Side circuits and interface circuits
  • Embedded systems based on Linux
    • Open source hardware and software designs
    • Linux operating system components and boot mechanism
    • Programming and implementation in Linux environment
    • Various Linux software libraries
  • Different applications of embedded systems and implementation
    • Embedded control systems
    • Embedded audio and video systems
    • Telecommunication and network systems
    • Hardware and software security
    • Internet of Things systems, network standards and security

References:
  • M. Wolf, High Performance Embedded Computing, Morgan Kauffmann, 2nd Edition, 2014
  • P. Barry, P. Crowley, Modern Embedded Computing, Elsevier, 2012
  • X. Fan, Real-Time Embedded Systems, Elsevier, 2015
  • Real-Time Embedded Systems, Open-Source Operating Systems Perspective, CRC Press, 2012
  • D. Abbot, Linux for Embedded and Real-Time Applications, 3rd Edition, Elsevier, 2013
  • D. Molloy, Exploring Beaglebone, Wiley, 2015
  • D. Molloy, Exploring Raspbery Pi, Wiley, 2016
  • L. D. Pyeat, Modern Assembly Language Programming with the ARM Processor, Elsevier, 2016
  • TI Teaching ROMs: www.ti.com

 
Last Update: 2024-06-09