- Linux
- Kernel Programming
- Embedded Systems
- C Programming
- Embedded Software
- Embedded Systems Engineering
- Shell Script
- Electrical Engineering
- Agile Software Development
Advanced Embedded Linux Development Specialization
Deploy and Develop Software for Embedded Linux. Learn how to develop and deploy software for Embedded Linux based devices
Offered By


What you will learn
Development of software for Linux user or kernel applications for Embedded Devices
Deployment of customized root filesystem or custom Linux distributions on Embedded Devices
Fundamentals of Linux System Programming, including Processes and Threads.
How to build a custom Linux kernel and root filesystem for an Embedded device.
Skills you will gain
About this Specialization
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.
Could your company benefit from training employees on in-demand skills?
Try Coursera for BusinessCould your company benefit from training employees on in-demand skills?
Try Coursera for BusinessHow the Specialization Works
Take Courses
A Coursera Specialization is a series of courses that helps you master a skill. To begin, enroll in the Specialization directly, or review its courses and choose the one you'd like to start with. When you subscribe to a course that is part of a Specialization, you’re automatically subscribed to the full Specialization. It’s okay to complete just one course — you can pause your learning or end your subscription at any time. Visit your learner dashboard to track your course enrollments and your progress.
Hands-on Project
Every Specialization includes a hands-on project. You'll need to successfully finish the project(s) to complete the Specialization and earn your certificate. If the Specialization includes a separate course for the hands-on project, you'll need to finish each of the other courses before you can start it.
Earn a Certificate
When you finish every course and complete the hands-on project, you'll earn a Certificate that you can share with prospective employers and your professional network.

Offered by
Frequently Asked Questions
What is the refund policy?
Can I just enroll in a single course?
Is financial aid available?
Can I take the course for free?
Is this course really 100% online? Do I need to attend any classes in person?
Will I earn university credit for completing the Specialization?
How long does it take to complete the Specialization?
What background knowledge is necessary?
Do I need to take the courses in a specific order?
What will I be able to do upon completing the Specialization?
Will I earn university credit for completing this Specialization?
More questions? Visit the Learner Help Center.