Home /  Courses And Programs / Embedded Controller Programming with Embedded C

Embedded Controller Programming with Embedded C

This course teaches students Embedded C Programming skills that are used to program Embedded Controllers. The course begins with a study of the Embedded C language, including the language syntax, data types, and control structures. The students will then use Embedded C to write and run code on real embedded controller hardware. The student will learn how embedded controller hardware maps onto Embedded C data and control structures. The student will also learn concepts such as HAL (Hardware Abstraction Layer) and how it makes writing Embedded C for many different types of embedded controllers possible. At the end of the course, the student will have written and run Embedded C to control real hardware features such as GPIO (General Purpose Input/Output), ADC (Analog to Digital Conversion), and Serial I/O.

Course Highlights:

  • Embedded Software Stack
  • Interfacing with Advanced Peripherals Using Hardware Communication Protocols
  • Embedded Software Program Development and Optimization
  • Relevant Case Studies on IoT Design Challenges

Courses Benefits:

  • Identify Embedded C software components and know how they are different from standard C software components
  • Recognize and use important concepts such as HAL (Hardware Abstraction Layer) to write Embedded C code that is portable to different embedded controllers
  • Utilize hardware/software signaling mechanism to implement effective communication between embedded software stack and hardware
  • Comprehend hardware communication protocols for implementation with other peripheral hardware devices such as GPIO, ADC, and Serial I/O
  • Understand embedded controller hardware and software stack and their respective differences from traditional software development

Hardware: STM32 IOT Discovery Node 915MHZ - Mfg. Part # B-L475E-IOT01A. Part can be purchased from Digi-Key Electronics or any other reputable electronics dealer. This microprocessor is used in all four required courses in this program.

Course Typically Offered: Online in Fall and Spring

Prerequisites: ECE-40292 Embedded Systems Hardware Design or equivalent knowledge and experience.

Next Step: After completing this course, consider taking ECE-40097 Embedded Controller Programming for Real-Time Systems to continue learning.

Contact: For more information about this course, please email unexengr@ucsd.edu

Course Number: ECE-40291
Credit: 3.00 unit(s)
Related Certificate Programs: Embedded Systems Engineering

+ Expand All