This is an advanced, four-day hands-on programming course focusing on system development for embedded systems using MontaVista Linux 6. Presented at various locations or on-site at your facility, this instructor-led course provides the skills needed to successfully develop, test and integrate complex software including multi-threaded processes and kernel modules appropriate to embedded products.Participants
Students should be professional software developers building embedded systems using MontaVista Linux.Prerequisites
Students are expected to be proficient in the C programming language and well-versed in operating system concepts, and have some familiarity with Linux or a comparable development system.Objectives
- Gain familiarity with the MontaVista environment and tools available to develop embedded Linux systems and applications
- Create application projects using DevRocket
- Build and boot an embedded Linux target system from source
- Develop and debug a multi-threaded applications using IPC mechanisms
- Using timers and IPC mechanisms in user space
This course prepares developers for creating embedded systems using MontaVista Linux 6.Course Cost:
Instruction begins with an overview of embedded Linux concepts and an introduction to the development environment and tools and techniques for cross-development with MontaVista Linux. Special attention is given to the use of MontaVista Integration Platform (MVIP) and MontaVista DevRocket, which are designed to facilitate system integration and applications development.
In the run-time environment, Linux memory model, processes, POSIX threads, synchronization and communication mechanisms are examined along with considerations of performance, debugging and maintainability. Linux timers, networking and filesystem services are discussed in detail. Linux services available in these areas are briefly described and placed in perspective with the user-level services in the process/thread domain.
Hands-on exercises supplement the lecture materials with practical challenges modeled on actual development experience. Exercises range from simple cookbook steps in completing common but not otherwise obvious procedures up to and including significant development challenges that require thought, initiative and creativity to successfully resolve.