Linux is rapidly emerging as the leading platform for embedded devices using high-performance 32-bit and 64-bit processors A March 2015 market study suggests that “open source, freely and/or publicly available” Linux will grow from 56.2 percent share of embedded unit shipments in 2012 to 64.7 percent in 2017. To remain relevant in the embedded computing world, you must know Linux.
This course is designed to give you practical, hands-on experience in writing and debugging Linux-based application programs on real target hardware. You will install a cross-development environment and set up the Network File System to support rapid turnaround in the edit-compile-debug cycle. Development and debugging are a breeze with the Eclipse Integrated Development Environment.
Basic Introduction to Linux
Understanding the Host and Target Environments and How They Interact
Application Development and Debugging using the Eclipse IDE
Multi-Threaded and Network Programming
Patching, Configuring, and Building the Linux Kernel
Learn how to set up and use a Cross-Development Environment
Set up and use the Network File System to Remotely Mount a File System on a Target Board
Learn how to access Peripheral Hardware with or without Device Drivers
Gain experience with the Eclipse Integrated Development Environment
Learn to configure and build the Linux kernel
Required Course Materials:
Students are expected to have the Embedded Linux Learning Kit from Intellimetrix for completing programming assignments. The kit is a fairly typical ARM-based single board computer (SBC) that might be used in an embedded device. It is offered at a substantial discount to UCSD students. There are no required textbooks required for this course.
Most required software is supplied with the Embedded Linux Learning Kit. You will also need to install a Linux Distribution (“distro” for short). The recommended distro is CentOS 7.2. ISO image files are available here: http://archive.kernel.org/centos-vault/7.2.1511/isos/x86_64/
The course is intended for engineers and programmers involved in developing embedded computing systems and devices using the Linux Operating System. Students should have taken "Embedded Controller Programming I" and "C/C++ Programming I".
Embedded Controller Programming I and C/C++ Programming I may be waived (no formal waiver is needed) if you have proficiency in:
Fluency in C Programming
Some familiarity with basic digital hardware components such as network and serial ports
Some experience using Linux both from a command shell and a graphical desktop environment
Some experience debugging application code is helpful
Students that have taken this course may be interested in courses in:
For more information about this course, please contact the program manager at firstname.lastname@example.org
Course Number: ECE-40105
Credit: 3.00 unit(s)
Related Certificate Programs: Embedded Computer Engineering
+ Expand All
9/25/2018 - 11/24/2018