Starting Embedded Linux Application Development on ARM based processors

Summary

This course introduces embedded Linux development to existing embedded system-on-chip developers. It  focuses on ARM based processors and the ARM DS-5 IDE. Little or no experience of embedded Linux or Linux application development is assumed. The course takes advantage of the DS-5 package to help speed up the learning process and remove impediments, whilst focusing on the requirements of embedded applications (such as low level hardware access & TCP/IP socket communication).

The Challenges of Embedded Linux Application Development

For the embedded software engineer, starting embedded Linux application development can present a major hurdle. Conceptually, things are very different to development using an RTOS or bare metal programming… Linux shows its mainframe heritage. To further complicate matters, embedded Linux application development normally requires development tools that run under Linux. The learner therefore needs to first install and learn the basics of desktop Linux. Once this hurdle has been surmounted, there are then various choices for open source development tools: both command line and IDE-based. Although this wide choice is very powerful, it represents a fierce challenge as one attempts to find a learning path. The purpose of this Course is to provide a unified, coordinated path for embedded developers starting out in embedded Linux programming. There are actually very few books which focus on embedded Linux programming. Once you have a working Linux platform the newbie developer is faced with the question ‘What do I do Next?’ This course is designed to answer that question.

Embedded Linux starter day

Contents Summary

An Introduction to Linux and The DS-5 Toolchain

Linux began life as a mainframe operating system, migrated to PC desktop and is now widely used in embedded systems. This section gives a brief history of Linux and the challenges for embedded developers. We also review the DS-5 toolchain for Linux development.

First Steps with DS-5 and Target Hardware

This section covers building and running some example programs in the DS-5 simulator and a first look at the DS-5 debugger. We also setup the course hardware and download a Linux image onto the target.

A First Application Hello GPIO

Once the hardware is up and running we can write our first Linux application which interacts with the Target hardware.

Introduction to the Linux OS

This section introduces the structure and philosophy of the Linux operating system. Using the Linux command line shell we can explore the key shell commands and the OS file structure. This section also examines Linux security and file permissions and explains how these should be managed in an embedded system.

Device Drivers in Linux

This section looks at Linux device drivers which are used to communicate with device peripherals. We examine their basic structure and how to access them from both the command line and application programs. We also look at how to use libraries to communicate with IO in place of device drivers and how to discover which drivers have been loaded when the Kernel boots.

Processes and Interprocess Communications

This section looks at how to create multi process applications and how to communicate between different running processes. This allows you to create more rugged higher performing applications and is a step towards multi core processing.

Debugging Code, Profiling and Performance Tuning

In this section we look at the more advanced features for the DS-5 debugger. The DS-5 profiler is also introduced to optimize the performance of your application.

Sockets and TCP/IP

Embedded systems are increasingly using socket-based communications to communicate with the

outside world. A primary reason for choosing embedded Linux is the free, mature, built-in TCP/IP communications stack and tools. This section introduces the TCP/IP  resources available within Linux.

Where Do I Go From Here?

Linux is an Open source operating system and is maintained by a very active community.  Here we review the best resources for furthering your knowledge.

Course Details

The full prospectus can be downloaded here 

Location

The course is run at Hitex offices in Coventry

On site courses are also available on request.

Class size

To ensure a good Instructor to student ratio the maximum class size is six delegates.

Duration

This is a one day course and runs approximately 9.30 – 4.30. Refreshments and lunch are provided.

Dates

25th June 2014

Booking

Please book here or contact Louise Taylor directly.ltaylor(at)hitex.co.uk