Embedded Linux Resource Library

Click to view Presentations about embedded Linux development, devices, and applications.
Addressing 3 key challenges of embedded Linux development with community – Jonathan Corbet, Editor, LWN.net
Embedded Linux development is information intensive. It is a challenge to:
  • Locate information for your particular hardware and software
  • Validate that information for credibility and completeness
  • Adapt the information for your specific project
Join Jonathan Corbet, editor LWN.net, and Troy Kitch, MontaVista senior product manager as they discuss these difficulties and how working with an embedded Linux community like Meld enables engineers to expand their peer group, connect with others who share common design goals, and deliver embedded devices to the market. (56 slides)

view Jonathan Corbet page       View presentation

Migrating Legacy RTOS Device Drivers to Embedded Linux – William Weinberg, Analyst and Consultant, Linux Pundit.com
With the accelerating pace of application development and evermore compressed product life cycles, the ability to re-use and migrate legacy software to new platforms is paramount. Migrating from legacy RTOS-based designs to embedded Linux presents a range of engineering challenges, but also opportunities for refining I/O architecture and formalizing system interfaces.
Topics covered:
  • Particulars of legacy VxWorks device interfaces
  • Heuristics, community and MontaVista resources, and examples for migrating to embedded Linux
  • Architecture and conventions of drivers built for VxWorks
  • Guidelines for mapping code and constructs onto Linux 2.6
  • Options for kernel and user space implementations and licensing implications
  • Migration and debugging tools and techniques
 (44 slides)

view William Weinberg page       View presentation

Migrating VxWorks applications to Linux - with notes – Jim Ready, CTO and founder, MontaVista Software
Slides from the recorded webinar explore migration options and considerations when moving from Wind River VxWorks to embedded Linux. Gives the information engineers need to build a plan for code migration and to explore alternative approaches. Covers when NOT to move your project to embedded Linux. Tells how to determine whether you should migrate your existing code, use virtualization, or start fresh. Describes common barriers and how to overcome them. Discusses development and run-time considerations, including general programming model, memory model, real-time, debugging and instrumentation, API migration, and free migration tools you can use. Tells where you can get help with VxWorks-to-Linux migration. (22 slides)

view Jim Ready page       View presentation

Debugging with JTAG – Alexander Rusev, Kernel Engineer, MontaVista Software
This session examines a mixed software-hardware approach to embedded systems debugging. JTAG electronics system principles will be reviewed, starting with hardware and finishing with advice on using JTAG with open source software tools for embedded project development. Several JTAG use cases will be considered, including chip interconnection testing, automatic chip testing, flash programming, and SW/HW debugging. The internal complexities of JTAG-related technologies will be discussed along with practical applications such as microprocessor software and firmware development, and JTAG use with PCB, FPGA and ASIC technologies. JTAG hardware equipment from different vendors will be reviewed in conjunction with software tools that simplify the use of the equipment. A live demo will be given of applications using JTAG-related plug-ins for IBM Eclipse with the Linux kernel, including bootloader firmware flash-in and debugging. (43 slides)

view Alexander Rusev page       View presentation

Linux synchronization mechanisms in driver development – Parimala Sathypramodha, Specialist, Wipro Technologies and Thangaraju Balasubramanian, Senior Consultant, Wipro Technologies
This talk will address the community efforts, what the various commercial embedded Linux vendors have done and will compare different approaches, illustrate their advantages and drawbacks and try to show how to meet your deadlines in the least painful way.  (16 slides)

view Parimala Sathypramodha page       view Thangaraju Balasubramanian page       View presentation

Real-time vs. real fast: How to choose? – Paul McKenney, Distinguished engineer, IBM
Although "real-time is not real-fast" is a nice sound bite, it does not provide much guidance to developers. This paper will provide the background needed to make a considered design choice between real time" (getting started as quickly as possible) and "real fast" (getting done quickly once started). In many ways, "real fast" and "real time" are Aesop's tortoise and hare, respectively. But in the real world of real time, sometimes the race goes to the tortoise and sometimes it goes to the hare, depending on the requirements as well as the details of the workload. (47 slides)

view Paul McKenney page       View presentation

Strategies to improve embedded Linux application performance beyond ordinary techniques – Anderson Medeiros, Software Engineer, Motorola and André Oriani, Software Engineer, Motorola
The common recipe for performance improvement is to profile an application, identify the most time-consuming routines, and finally select them for optimization. Sometimes that is not enough. Developers may have to look inside the OS searching for performance improvement opportunities. Or they might need to optimize code inside a third party library they do not have access to. For those cases, other strategies can be used. This presentation reports the experiences of Motorola's Brazilian developers reducing the startup time of an application on Motorola's MOTOMAGX embedded Linux platform. Most of the optimization was performed in the binary loading stage, prior to the execution of the entry point function. This endeavor required use of Linux ABI and Linux Loader going beyond typical bottleneck searching. The presentation will cover prelink, dynamic library loading, tuning of shared objects, and enhancing user experience. A live demo will show the use of prelink and other tools to improve performance of general Linux platforms when libraries are used. (50 slides)

view Anderson Medeiros page       view André Oriani page       View presentation

Scaling networking applications to multiple cores  – Greg Seibert , Senior Technical Marketing Engineer , Cavium Networks
This presentation will address scaling networking applications to multiple cores of the OCTEON MIPS64 processor family. It will consider real world networking roadblocks and examine methods to improve system performance. This session is appropriate for novice and experienced networking engineers.  (13 slides)

view Greg Seibert page       View presentation

Field debugging on MontaVista Linux: Using FSAD/RtAP in your apps – Corey Minyard, Carrier Grade Edition Architect, MontaVista Software
Many developers do not know about the tools MontaVista provides for field debugging and patching. This presentation will present the tools for debugging in the field and will then focus on FSAD/RtAP for live application debugging and patching. A general view will cover various tools for taking coredumps, monitoring performance, and tracing. Then the origins and rationale for FSAD/RtAP will be discussed, along with its capabilities. A live demo will show an example of the use of FSAD/RtAP on a live application. The presentation will end with a summary of upcoming improvements for FSAD/RtAP. (21 slides)

view Corey Minyard page       View presentation

Hardware magic for remote development, testing, and automation  – Ben Botti, Software Test Engineer, MontaVista Software
Development time doesn't have to be proportional to your distance from hardware. A scalable remote embedded Linux infrastructure can make any development, QA, or support team unstoppable. Learn how to share limited embedded hardware effectively with tools and techniques that allow you to change kernels, reboot, modify your root filesystem and test a new application from anywhere in the world. Remote development on Microsoft Windows vs. Linux will also be covered. (15 slides)

view Ben Botti page       View presentation

OpenSAF: Introduction to the leading open source high availability platform middleware – Sayandeb Saha, Principal Software Architect, Embedded Computing; Technical Evangelist, OpenSAF, Emerson Network Power
This session will provide an overview of the architecture and design of OpenSAF. It will provide a white box view of the various OpenSAF services, provide high level architecture paradigms used while implementing the various modules of OpenSAF, explain dependencies amongst the various services, and explain OpenSAF's interactions with the underlying hardware platform. It will also describe in brief the manageability of OpenSAF Services as well as the functionality of OpenSAF's complementary infrastructure services which are not defined by the SA Forum. (25 slides)

view Sayandeb Saha page       View presentation

The business of GPL: Open source legal 101 – Jason Wacha, Vice President of Corporate Affairs and General Counsel, MontaVista Software; Director and Founder of Open Bar
What are the big legal issues with open source licensing, especially GPL v3? This presentation aims to give developers the context to understand how open source licensing can affect project outcomes. Topics covered will include the differences between laws vs. licenses vs. commercial agreements; what is a derivative work; package/RPM issues vs. program issues; summary of GPL v2 and GPL v3 and how they differ; how GPL and commercial software work together; and practical suggestions for dealing with related issues. (20 slides)

view Jason Wacha page       View presentation

PPP Debuging – Hunyue Yau, Software Engineer
PPP is a mature technology in common use today. Despite its pervasiveness, PPP troubleshooting is still a mystery to many developers, partially due to the trend of wrapping PPP within dialers and GUI front ends. This presentation will give an introduction to asynch PPP and its common uses, with a focus on mobile usages such as Bluetooth, and mobile network interfacing. Core concepts covered will include the subprotocols of the PPP stack, Linux kernel options, Linux userland portions, and how to debug common PPP problems within Linux. Attendees should be familiar with basic networking concepts, including routers and IP addresses. (13 slides)

view Hunyue Yau page       View presentation

Using real-time Linux in real life – Klaas van Gend, Solutions Architect, MontaVista Software
Using Linux with the real-time patch puts more challenges on the plate of the system designer: There's no such thing as a free on-time lunch. Klaas will (re-)introduce the RT patch and talk about current developments within the RT community. Most of the presentation will cover real-time systems design: What are MontaVista customers using real-time to do? How did they implement it? Klaas will also address possible solutions to real-time challenges. He will discuss how real-time Linux can actually ease the development of drivers in user space. (34 slides)

view Klaas van Gend page       View presentation

Building Embedded Userlands – Ned Miljevic , Solutions Architect, MontaVista Software and Klaas van Gend, Solutions Architect, MontaVista Software
Most embedded Linux systems not only contain a kernel, but also contain applications running in user space. Apart from the application-specific binaries, most embedded systems also have a shell, a system logger and other generic apps. Over the years, many mechanisms have been designed to cross-compile and build these apps, including plain scripts, rpm, dpkg, buildroot, scratchbox, bitbake and others.  (37 slides)

view Ned Miljevic page       view Klaas van Gend page       View presentation

Flattened device tree and embedded Linux  – Vitaly Bordug , Principal Software Engineer , MontaVista Software
This presentation explains the origin of the device tree and what it can do for embedded Linux developers. The value of using Open Firmware to boot used to be disputable, but now the concept is used even in the popular firmware, u-boot. Use of the device tree concept can combine several kernels, root filesystems, and other files, selecting the appropriate items for a target board. The presentation will discuss why the initial approach to the use of the device tree to pass board information in u-boot was insufficient, different opinions about where the binary blob should reside, basic device tree and board set-up code examples from PowerPC, and the new multi-image format for u-boot based on the device tree.  (12 slides)

view Vitaly Bordug page       View presentation

Reducing Boot Time - Techniques for Fast Booting
Many embedded products require rapid turn-on times or suffer down time and user frustration. A typical embedded system contains a bootloader and kernel, both of which are typically configured with many useful default features that may or may not be important for a given product requirement. This presentation examines techniques to significantly reduce boot time while preserving the base functionality required of typically configured embedded systems.  (30 slides)

View presentation

Save Valuable Battery Life with Linux Power Management
Battery power is a precious resource in system designs. This presentation explores the available techniques and expected benefits for managing power in Linux-based designs. The presentation includes design guidance for your architecture that can enhance the power performance of your product. (38 slides)

View presentation

Maxims for malfeasant software testing – Johnny Klonaris, Senior Quality Engineer, MontaVista Software
Test automation: the good, the bad and the ugly. A survey of common testing and configuration mistakes and ways to avoid them to achieve the maximum benefit from your product test environment. (43 slides)

view Johnny Klonaris page       View presentation

Debugging embedded Linux: tools and strategies
Linux is packed with debugging and analysis tools. This session presents advanced topics in debugging using a variety of tools found in embedded Linux. (40 slides)

View presentation

Booting Linux on embedded PowerPC systems – Matt Tyrlik
There are two approaches for booting the operating system on a computer system. One requires the OS to have detailed knowledge of the underlying hardware, which requires the OS to contain code specific to each hardware platform implementation. The second approach relies on the firmware to provide the OS with an abstracted view of the hardware, which minimizes the amount of platform dependent code and reduces OS changes required to support new hardware platforms. The Linux community has chosen the second approach for all PowerPC 64-bit and 32-bit Linux board support implementations, based on the Open Firmware device tree concept. Topics covered will include the Open Firmware device tree concept as implemented on PowerPC systems, discussion related to passing the device tree information between the firmware and the OS, the flat device tree implementation and device tree compiler, and work currently carried out by the Power.org consortium to standardize the device tree structure for PowerPC embedded systems and to provide architecture specification for PowerPC embedded systems. (20 slides)

view Matt Tyrlik page       View presentation

Appropriate community practices: social and technical lessons – Deepak Saxena, Software Engineer, Linux Kernel, One Laptop Per Child
With the increasing popularity of Linux in the embedded world, HW vendors are jumping on the bandwagon to add kernel support for their devices/chipsets/SOCs. We in the community keep seeing the same mistakes made (both technical and social) repetitively. We use examples of what not do when working within the Linux development ecosystem to illustrate appropriate practices to increase your probability of successful code adoption. (13 slides)

view Deepak Saxena page       View presentation

Open source licensing review – Jason Wacha, Vice President of Corporate Affairs and General Counsel, MontaVista Software; Director and Founder of Open Bar
This session provides an open source legal primer with emphasis on "the law," what comprises a "license" (including GPL) and legal concerns around "proper" engineering practices. As time permits we will delve into some more advanced topics such as the interplay of multiple licenses, GPL v3, DKLMs and what defines a derived work. (28 slides)

view Jason Wacha page       View presentation

Advanced networking: from the inside looking out – Mark Huth, Network Architect, MontaVista Software
This advanced session includes an overview of the networking capabilities of the Netlink API including filtering, routing, firewalls and other network security features. Other tools discussed are network debugging and performance tuning under the Linux RealTime pre-emption mode.  (43 slides)

view Mark Huth page       View presentation

Building blocks for embedded power management – Kevin Hilman, Kernel Developer, MontaVista Software
The range of embedded devices, and the variety of their uses makes the design of embedded power management a complicated problem. This talk will cover the basic building blocks of embedded power management which are common across a range of devices, and how they can be combined to construct a full power-management solution tailored to a specific platform. (24 slides)

view Kevin Hilman page       View presentation

Embedded Linux 101 – Joe Green, Manager, Developer Tools Team, MontaVista Software
An overview of the Linux operating system architecture. This session provides a basic understanding of the structure of the system and suggestions of where to look for more detailed information. (19 slides)

view Joe Green page       View presentation

Overview of embedded Linux analysis tools – J.T. Thomas, MontaVista Software
Linux is a well instrumented platform. During the course of its open source evolution, developers have created thousands of command line tools to analyze Linux in many different ways. This presentation covers the most useful analysis tools for embedded Linux developers. (18 slides)

view J.T. Thomas page       View presentation