- Level Expert
- المدة 43 ساعات hours
- الطبع بواسطة University of Colorado Boulder
-
Offered by
عن
This course provides an overview of System Programming for the Linux operating system, or software which is interfacing directly with the Linux Kernel and C library. The basic components of a Linux Embedded System, including kernel and root filesystem details are discussed. The Buildroot build system is introduced, which students use to build their own custom Embedded Linux system through programming assignments. Linux System Programming and Introduction to Buildroot can also be taken for academic credit as ECEA 5305, part of CU Boulder’s Master of Science in Electrical Engineering.الوحدات
Linux Preview/Refresher (optional/background)
4
Videos
- Linux Overview
- Linux Command Line
- Advanced Linux Command Line
- Scripts
Course Introduction
1
Peer Review
- Assignment 1: Bash Scripting Basics
5
Videos
- Assignment 1 Overview
- Course Introduction
- Course Format
- Licensing
- Environment Setup
1
Readings
- Assignment 1 Instructions
1
Quiz
- Academic Integrity and Getting Help
Introduction to System Programming
1
Peer Review
- Assignment 2: File Operations and Cross Compiler
8
Videos
- System Programming
- Linux Filesystems
- Processes and Threads
- Users and Groups
- System Programming and Error Handling
- Embedded Linux Toolchain Overview
- Logging and Syslog
- Assignment 2 Overview
1
Readings
- Assignment 2 Instructions
1
Quiz
- Intro to System Programming
File IO
3
Videos
- Linux File I/O
- Linux File I/O: Reading and Writing Files
- Linux File I/O: Additional Topics
1
Quiz
- File I/O
Processes
1
Peer Review
- Assignment 3 Part 1
3
Videos
- Process Management
- Processes and Daemons
- Assignment 3 Part 1: System Calls Overview and Demo
1
Readings
- Assignment 3 Part 1 Instructions
1
Quiz
- Processes
Basics of Embedded Linux
1
Peer Review
- Assignment 3 Part 2
5
Videos
- Linux Kernel Overview
- Embedded Linux and Emulation Overview
- Building the Linux Kernel
- Linux Root Filesystems
- Assignment 3 Part 2: Manual Linux Overview and Demo
1
Readings
- Assignment-3 Part-2 Instructions
Threads, Multithreading, and Synchronization
1
Peer Review
- Assignment 4 Part 1
3
Videos
- Threads and Multithreading
- Synchronization
- Assignment 4 Part 1: Threading Overview and Demo
1
Readings
- Assignment 4 Part 1 Instructions
1
Quiz
- Threading
Introduction to Buildroot
1
Peer Review
- Assignment 4 Part 2
5
Videos
- Introduction to Buildroot
- Buildroot Builds
- Buildroot Tips
- Buildroot Tips Part 2
- Assignment 4 Part 2: Buildroot Demo
1
Readings
- Assignment 4 Part 2 Instructions
Signals
2
Videos
- Signals Overview
- Signal Management
1
Quiz
- Signals
Time
2
Videos
- Time
- Sleeping and Timers
1
Quiz
- Time
Sockets
1
Peer Review
- Assignment 5 Part 1
3
Videos
- Sockets
- Assignment 5 Part 1: Native Socket Server
- Assignment 5 Tips
1
Readings
- Assignment 5 Part 1 Instructions
Embedded Socket Server
1
Peer Review
- Assignment 5 Part 2
3
Videos
- Linux System Initialization
- Embedded Debug Strategies
- Assignment 5 Part 2: Embedded Socket Server
1
Readings
- Assignment 5 Part 2 Instructions
Auto Summary
Delve into the world of embedded systems with "Linux System Programming and Introduction to Buildroot," an expert-level course offered by Coursera and created in collaboration with CU Boulder's Master of Science in Electrical Engineering program. This comprehensive program focuses on system programming for the Linux operating system, emphasizing direct interfacing with the Linux Kernel and C library. You will explore the fundamental components of a Linux Embedded System, including in-depth discussions on the kernel and root filesystem. A highlight of the course is the introduction to the Buildroot build system, which you will utilize to create custom Embedded Linux systems through hands-on programming assignments. Spanning 2580 minutes of content, this course is designed for those seeking to enhance their expertise in IT and Computer Science, particularly in the realm of Linux-based embedded systems. Available through a Starter subscription, this course is ideal for advanced learners aiming to deepen their technical skills and apply them in real-world scenarios. Join now to elevate your understanding and mastery of Linux system programming and embedded systems development.

Daniel Walkes