Learn in-demand skills from university and industry experts
Master a subject or tool with hands-on projects
Develop a deep understanding of key concepts
Earn a career certificate from University of Colorado Boulder
Earn a career certificate
Add this credential to your LinkedIn profile, resume, or CV
Share it on social media and in your performance review
Specialization - 3 course series
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.
CU-Boulder is a dynamic community of scholars and learners on one of the most spectacular college campuses in the country. As one of 34 U.S. public institutions in the prestigious Association of American Universities (AAU), we have a proud tradition of academic excellence, with five Nobel laureates and more than 50 members of prestigious academic academies.
Why people choose Coursera for their career
Felipe M.
Learner since 2018
"To be able to take courses at my own pace and rhythm has been an amazing experience. I can learn whenever it fits my schedule and mood."
Jennifer J.
Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."
Larry W.
Learner since 2021
"When I need courses on topics that my university doesn't offer, Coursera is one of the best places to go."
Chaitanya A.
"Learning isn't just about being better at your job: it's so much more than that. Coursera allows me to learn without limits."
New to Software Development? Start here.
Open new doors with Coursera Plus
Unlimited access to 7,000+ world-class courses, hands-on projects, and job-ready certificate programs - all included in your subscription
Approximately 3 to 4 months, equivalent to a full semester term, at 10 to 15 hours per week.
Experience in software development from an undergraduate Computer Science or Electrical Engineering background, or relevant industry experience. Knowledge of C Programming and embedded computer architecture. Working knowledge of Linux command line operations, shell programming, Git, makefiles is useful but also possible to obtain while taking the course.
Yes, you must follow the order prescribed in the specialization as each course builds on the content in the previous course. The sequence is:
Linux System Programming and Introduction to Buildroot
Linux Kernel Programming and Introduction to Yocto
Linux Embedded Systems Topics and Projects
You will be able to answer interview questions related to the following topics:
What are some common open source licenses and what are the differences between them?
What are the fundamental components of an Embedded Linux software?
What is a cross toolchain and how does it work?
What is the difference between Linux Processes and Linux Threads?
What are some strategies for dealing with concurrency in Linux multithreaded programs?
What are some examples of Linux Interprocess Communication mechanisms and what are tradeoffs of each example?
What are some build frameworks for Embedded Linux devices and some tradeoffs of each?
Describe at a high level how user space software interacts with the Linux Kernel.
What are some differences in writing code for user space vs kernel space?
What are the steps involved in writing or modifying a Linux Kernel Driver?
Describe strategies for OTA or field update of Embedded Linux devices.
Advanced Embedded Linux Development is part of CU Boulder's Master of Science in Electrical Engineering (MS-EE) program. Learners enrolled in the degree program will earn three credits for successful completion of the specialization.
This course is completely online, so there’s no need to show up to a classroom in person. You can access your lectures, readings and assignments anytime and anywhere via the web or your mobile device.
If you subscribed, you get a 7-day free trial during which you can cancel at no penalty. After that, we don’t give refunds, but you can cancel your subscription at any time. See our full refund policy.
Yes! To get started, click the course card that interests you and enroll. You can enroll and complete the course to earn a shareable certificate, or you can audit it to view the course materials for free. When you subscribe to a course that is part of a Specialization, you’re automatically subscribed to the full Specialization. Visit your learner dashboard to track your progress.
Yes. In select learning programs, you can apply for financial aid or a scholarship if you can’t afford the enrollment fee. If fin aid or scholarship is available for your learning program selection, you’ll find a link to apply on the description page.
When you enroll in the course, you get access to all of the courses in the Specialization, and you earn a certificate when you complete the work. If you only want to read and view the course content, you can audit the course for free. If you cannot afford the fee, you can apply for financial aid.
This Specialization doesn't carry university credit, but some universities may choose to accept Specialization Certificates for credit. Check with your institution to learn more.