COURSE: Embedded System - TI Tiva C Series

Course Description

In this course, we will study the foundations of computer systems and the hardware/software interface. The overall goal of this course is provide you with solid foundation in how computer systems work at a low level. The course will consist of readings, lecture, and projects from each of the topic areas. Programming will be done in ARM assembly and the C programming language.

Brief List of Topics to Be Covered

  1. Advanced C programming skill
  2. Microcontroller ARM Cotrex-M4
  3. Introduction to Embedded Systems, GPIO, I/O Control, PWM, TIMER, ADC, and Interrupt

Course Materials


Curriculum For This Course

1. Computer Fundamentals

1.1 Numbers and Number System

1.2 Digital System Fundamentals

1.3 Bitwise and Logical Operations

1.4 Electronic Concept and Components

2. Embedded System

2.1 Computer Architecture

2.2 Address Space and Address Decoder

2.3 Memory Technologies

2.4 Byte and Bit Order

Quiz: Embedded System

3. TI Tiva C Series Embedded System

3.1 Tiva TM4C123G and TM4C1294 Board

3.2 ARM Cortex-M Architecture

3.3 ARM Cortex-M Assembly Language

4. ARM Keil ┬ÁVision5

4.1 Software Installation

4.2 Create an ARM C/C++ Language

5. Input / Output Interface

5.1 General Purpose Input Output (GPIO) Configuration

5.2 GPIO Addressing Masking

5.3 EZ-Tiva Library

5.4 Software and Hardware Delay Function

Lab01: Using GPIO to Control LED

Lab02: Seven Segment Display

Lab03: Interfacing Character LCD with Tiva LaunchPad

Lab04: Scan a Key from a Matrix Keypad

Lab05: Stepper Motor

6. Pulse-Width Modulation

6.1 PWM Configuration in Tiva LaunchPad

Lab06: Controlling a DC Motor and LED Using PWM

Lab07: PWM RC Servo Controller


7.1 UART Configuration

Lab08: Using UART to Communicate with Host PC

8. Timer

8.1 General Purpose Timer Configration

8.2 Timer - Input Capture Mode

8.3 Timer - Input Count Mode

Lab09: Using Ultrasonic Sensor for Distance Determination

Lab10: Measure Pulse Width of PWM Signals using Timer

9. Analog-to-Digital Converter

9.1 A/D Converter Configuration

Lab11: Using Joystick to Control RC Servo Rotation