Linux System Programming and Introduction to Buildroot
Offered By: University of Colorado Boulder via Coursera
Course Description
Overview
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.
Syllabus
- Intro to Linux System Programming and Toolchains
- In this module, you will learn about Linux shell scripting and System Programming concepts. You will also understand the basics of an Embedded Linux toolchain and setup a cross-compiler.
- File IO, Process Management, Basics of Embeddd Linux
- In this module, you will learn the basics of File IO for Linux. You will understand the basics of Process Management, process forking, and Linux daemons. You will build your own Linux kernel and root filesystem, boot and run on QEMU.
- Threads and Multithreading, Introduction to Buildroot
- In this module, you will learn the basics of Threading and Multi Thread Synchronization in Linux system programming using POSIX. You will also learn about the Buildroot build system and build a QEMU Image using Buildroot.
- Time and Sockets
- In this module, you will learn the fundamentals of signal handling and time management in Linux System Programming. You will learn the basic components of Embedded Linux debugging. You will implement a socket server application and deploy on a QEMU based Embedded System using Buildroot.
Taught by
Daniel Walkes
Tags
Related Courses
Introduction to LinuxLinux Foundation via edX 操作系统原理(Operating Systems)
Peking University via Coursera Internet of Things: Setting Up Your DragonBoard™ Development Platform
University of California, San Diego via Coursera Information Security-3
Indian Institute of Technology Madras via Swayam Introduction to Embedded Systems Software and Development Environments
University of Colorado Boulder via Coursera