Lecture: M/W/F 4:00PM-4:55PM @LAR-0340
Laboratory: six sections; please check canvas for specific schedule.
TAs
Xuanhao Shi. Office Hours: MW 10:40AM-11:30AM @NEB-281/222.
Kevin D Mcgrath. Office Hours: Tu/Th 12:50-1:40PM @NEB-281/222.
COURSE PREREQUISITES
EEL 4744C with minimum grade of C
Fluent in C and assembly programming
Proficiency in Python programming
Hardware and Software
TI Tiva C Series LaunchPad
TI SENSOR Booster Pack
TI BeagleBone Black Board
IoT Development Board (with LEDs, LCD touch display and joystick)
TI Code Composer Studio 11
Beagle-Board firmware image
Some relevant libraries and source code (will be provided in class)
Textbooks
Real-Time Operating Systems for ARM Cortex-M Microcontrollers (4th Edition)
By Jonathan W Valvano. ISBN-13: 978-1466468863, ISBN-10: 1466468866.
Lab #0
Introduction: Hw & Sw setup.
Part A: Introduction and setup
Part B: Blinking TIVA C on-board LEDs
[See Lecture_1Code]
Lab #1
Basic Interfacing, Linking, and Communication.
Part A: Interfacing LED drivers, I2C communication
Part B: ARM assembly checksums with the LED driver
Part C: Basic UART with LED driver and console I/O
[ManualCode]
Lab #2
G8RTOS Scheduler and Synchronizers.
Part A: Setting up support packages, drivers, & OS structure
Part B: Implementing threads, exception handlers & schedulers
Part C: Implementing semaphores & peripheral controls
Part D: Adding threads to control LEDs via sensor feedback
Part E: Putting it all together!
[ManualCode]
Lab #3
G8RTOS Periodic Threads and Queueing.
Part A: Implementing Blocking, yielding, and sleeping
Part B: Integrating periodic threads with background threads
Part C: Enabling inter-process communication with FIFOs
[ManualCode]
Lab #4
G8RTOS Dynamic Threads and LCD Interfacing.
Part A: Interfacing a touchscreen color LCD
Part B: Convert Round-Robin Scheduler to Priority Scheduler
Part C: Dynamic Thread Creation and Destruction
Part D: Aperiodic Event Threads
[ManualCode]
Lab #5
AI with RTOS.
Part A: Interface & communicate with a Beagle
Part B: Setup Python-OpenCV pipeline
Part C: On-Board Face detection
[ManualCode]