Introduction to Linux
Acquire the skills necessary to develop real-time applications with embedded Linux.
Introduction to Linux provides engineers with a fast, cost-effective way to acquire the skills necessary to develop real-time applications with embedded Linux.
After this course, participants will be able to perform the following:
- Describe the role of Linux in embedded and real-time systems
- Take a requirement specification to a working application
- Design, develop, debug, build, and test real-time applications with Linux
- Use the Linux memory model effectively
- Design an application to make optimal use of inter-process communication, synchronization, timers, and file systems
- Describe features and protocol support for networking in Linux
- Deploy and manage an embedded Linux system
- Wind River® Workbench 3.0 for Linux
Who Should Attend
- Developers who work with Linux; Wind River Workbench; Wind River General Purpose Platform, Linux Edition; or Wind River Platform for Network Equipment, Linux Edition
- New project members on teams already using Linux
- Managers who want to get a quick understanding of Linux
- Senior engineers who want to evaluate Linux and/or Wind River Linux technology
- This four-day expert-led course consists of lectures and lab sessions.
- Attendees use Wind River Linux 3.0 and Wind River Workbench 3.0 for Linux to gain experience with the topics presented.
- Participants examine and exercise simulated network topologies in hands-on labs.
- Participants receive individual guidance from an expert engineer who has extensive experience with Wind River technologies.
Linux in Embedded Systems
- Linux introduction
- Leveraging open source
- The GPL and your IP
Developing Embedded Linux Applications
- Top considerations before starting Linux projects (Linux distributions; Linux development environment and tools)
- Root file system (introduction of Linux file systems)
The Role of the Root File System, File System Hierarchy, Busybox, Building/Acquiring a RootFS
- Linux kernel (Linux architecture; understanding the kernel version; kernel configuration tools; configuring the kernel)
- Booting your target (host preparation; Linux boot sequence; the role of the boot loader)
Understanding Linux Memory Model
- Memory management in Linux (virtual memory model; how Linux uses the memory management unit (MMU))
- Kernel space review (kernel and scheduling policies; kernel modules; overview of device drivers; exception handling; interrupt handling; deferred functions—softirq, tasklet, bottom half)
- User space (Linux processes and threads)
Understanding Linux Memory Model (cont’d)
- User space (daemons and servers; static libraries; shared libraries; dynamic linking library)
- Kernel to user space interface (I/O system; network interfaces; /proc and /sys file systems)
Using Linux in Your Application
- Inter-process communication (IPC) and synchronization (shared memory; semaphores; message queues; pipes; UNIX-domain sockets; signals)
- Linux timers (absolute time; user space timers and alarms; kernel space timers)
Using Linux in Your Application (cont’d)
- File systems (file system buffers; journaling file systems; diskoriented file systems; flash file systems; network-based file systems)
- 2.4 vs. 2.6 kernel features
Networking in Linux
- Linux network stack and data flow
- Linux protocol support
- Getting connected options (web servers; web browsers; etc.)
Fielding and Managing an Embedded Linux System
- System initialization and maintenance
- Configuration and network setup
- Configuration and network setup
- Securing your target
- Basic understanding of operating systems and debugging techniques
- Functional knowledge of Linux
- One year of C or C++ programming experience on Linux/UNIX
Interested in our e-Learning? Subscribe with the button below!Subscribe Now
Live Training events coming soon!
Interested in private training?
Get expert training when and how you want it
Wind River Web Seminars
View free, interactive web seminars on the latest embedded software trends and technologies from Wind River®
Access the support network that provides a wide variety of useful information