• Length:
    7 Weeks
  • Effort:
    8–10 hours per week
  • Price:

    FREE
    Add a Verified Certificate for $49 USD

  • Institution
  • Subject:
  • Level:
    Intermediate
  • Language:
    English
  • Video Transcript:
    English

Prerequisites

  • Proficient in C programming (loops, structures, arrays, functions and pointers)
  • Interest in embedded systems
     

About this course

Skip About this course

The increased demand by consumers and businesses for more utility, connectivity and smarter and more efficient electronic technology not only creates a need for more embedded systems but also for engineers in the embedded systems field.

In this lab-based computer science course, explore the complexities of embedded systems and learn how to develop your own real-time operating system (RTOS) by building a personal fitness device with Bluetooth connectivity (BLE). An operating system (OS) is a software system that computers use to manage the resources of a computer. The OS decides which tasks are performed when and decides how resources are utilized. Simple embedded systems, which are a combination of electrical, mechanical, chemical, and computer components designed to perform a dedicated function, originally did not need an OS. However, as embedded systems have evolved, so have their complexities. To manage this, an RTOS is now required.

Embedded systems are often deployed in safety-critical situations such as automotive, military, industrial, and medical applications. In applications such as communications and consumer electronics, response time and processing speed are important. A real-time system not only needs to arrive at the correct answer, but must also get the correct answer at the correct time. A RTOS manages a computer's resources so that tasks are performed in a timely mannner.

In this computer science course, students will learn the design fundamentals of an RTOS from the bottom up and use these fundamentals to build practical real-time applications. We will provide a board support package (BSP), so students will be able to focus on the RTOS and Bluetooth network without needing prior experience in circuits and I/O device driver software. This is a hands-on project-based lab course, where you will incrementally build a personal fitness device with Bluetooth connectivity.

This course is intended for students and professional engineers wishing to improve their skills in the fields of embedded systems, product development, computer architecture, operating systems, and Bluetooth networks.

To complete this course, you will need to purchase a lab kit including a microcontroller board, an I/O board, and a Bluetooth module. Instructions about purchasing the kit and installing required software are at http://edx-org-utaustinx.s3.amazonaws.com/UT601x/RTOS.html .

What you'll learn

Skip What you'll learn
  • Learn fundamentals of embedded systems
  • Learn how to build your own real-time operating system
  • Learn how to design, develop and debug C code
  • Learn about modular design while creating a personal fitness device
  • Learn about Bluetooth communication

Lab 1) Introduction to I/O using the BSP and debugging

  • Learn about Keil compiler and debugger
  • Understand what the MK-II boosterpack measures
  • Learn how to perform timing profiles of the software system

Lab 2) Thread management for a personal fitness device

  • Multiple threads
  • Real-time periodic threads
  • Spinlock semaphores
  • Round robin scheduler

Lab 3) Thread synchronication and scheduling for a personal fitness device

  • Timer-based real-time threads
  • Thread sleeping
  • Blocking semaphoresr with first come, first serve scheduler

Lab 4) Real-time operating system for a hand-held video game

  • Edge triggered interrupts
  • Blocking semaphores with priority scheduler

Lab 5) File system using the flash ROM of the microcontroller

  • Logging data onto flash/playback of data

Lab 6) Bluetooth personal area network

  • Interacting with the device from a smart phone

Meet your instructors

Jonathan Valvano
Professor, Department of Electrical and Computer Engineering
The University of Texas at Austin
Ramesh Yerraballi
Distinguished Senior Lecturer, Department of Electrical and Computer Engineering
The University of Texas at Austin

Pursue a Verified Certificate to highlight the knowledge and skills you gain $49.00

View a PDF of a sample edX certificate
  • Official and Verified

    Receive an instructor-signed certificate with the institution's logo to verify your achievement and increase your job prospects

  • Easily Shareable

    Add the certificate to your CV or resume, or post it directly on LinkedIn

  • Proven Motivator

    Give yourself an additional incentive to complete the course

  • Support our Mission

    EdX, a non-profit, relies on verified certificates to help fund free education for everyone globally