This courses in this specialization can also be taken for academic credit as ECEA 5305 - 5307, part of CU Boulder’s Master of Science in Electrical Engineering.
This specialization provides students with the fundamentals of embedded operating systems including a working understanding of how to configure and deploy a Linux based Embedded System. Students will gain expertise in software tools and development methods which can be used to create applications and build custom Linux based Embedded Devices.
Applied Learning Project
This course will focus heavily on designing concurrent software for embedded systems applications using the Linux operating system. At the end of this course, students will be able to...
Configure, build and deploy the Linux kernel and root filesystem from source.
Build their own Embedded Linux distribution using Buildroot or Yocto frameworks.
Use System Programming concepts to develop application software for Embedded Devices, including File I/O, Threading, Signals, and time related POSIX APIs.
Write software for inter-thread and inter-process communication using sockets and signals
Debug concurrent software applications with command line GDB, Valgrind, and other software tools for debug, profile and tracing.
Create a custom Linux Device Driver
Understand Linux Driver related development topics, including debugging techniques, concurrency techniques, timing, memory allocation.
Showcase their knowledge in a final project which demonstrates course concepts on hardware.