Advanced Embedded Linux for Industrial Control

Date: 24 Jun 2008 - 11 Jul 2008

Venue: Training Room 1 (Tower Block, Level 3)

Course Introduction
The increasing complexity of embedded applications is one of the main reasons behind the growing popularity of choosing Linux as operating system instead of developing and maintaining in-house built operating systems (OS).
How is embedded Linux different from “normal” Linux and what is considered “normal” Linux anyway?
For a number of years SIMTech has been conducting a basic embedded Linux course to introduce the terminology and definitions related to Embedded Linux and to expose the students to actual hands-on exercises in embedded Linux, using SIMTech’s in-house built embedded hardware.
In this “Advanced Embedded Linux” TIP course, we aim to address in a 6-week course a number of advanced topics such as building an embedded Linux system from scratch, building a cross-compiling toolchain and finetune the tooling, kernel and library systems towards platform and application-specific requirements.
Lab sessions are essential for embedded development and in this course a large portion will be dedicated towards actual hands-on in building, deploying and testing the tools.
Additional topics such as remote debugging, development of USB device drivers and deployment of a webserver will be introduced to the students in walk-thru sessions, followed by hands-on sessions.
Each participant will gain the hands-on experience of practising those activities on SIMTech’s in-house built embedded target. There will an option for participants to purchase this hardware for the cost price of manufacturing.

Course Leader
Dr Anton Aendenroomer

Course Outline
Session 1     • Linux, Unix basics, commands, file structure, shells 
                  • Compiling, makefiles, cross-compiling, libraries, binutils, toolchain
                        • Demo and Hands-on: Building a cross-compiling toolchain

Session 2     • Linux kernel, user-space / kernel space, system calls, kernel structures 
                  • Configuration management, diff and patch
                        • Demo and Hands-on: Configuring and patching a kernel and cross-compiling
                           the kernel for target
                        • Introduction SIMTech’s ARM9 lab platform (Control Platform II)

Session 3     • File management, VFS, (root) file systems, ramdisk 
                        • Demo and Hands-on: Customizing the root filesystem and ramdisk 
                        • Demo: Configuring the host system
                        • Hands-on: Setting up environment and configuring the host system

Session 4     • Demo and Hands-on:
                           - Setting up the target - host communication 
                           - Busybox configurations, init utilities, and populating the ramdisk image 
                       • Boot-strapping, kernel initialisation, bootloaders
                       • Demo: 
                          - Configuring and compiling U-boot, downloading 
                          - U-boot and uploading loader.bin using the Atmel bootloader

Session 5     • Demo: Downloading U-boot and kernel image using ICE and JTAG 
                       • Hands-on: Configuring and compiling U-boot, downloading U-boot and 
                         uploading loader.bin using the Atmel bootloader 
                       • Demo and Hands-on: Debugging, gdb, configuring for remote debugging using
                       • Device drivers, loadable kernel modules

Session 6    • Demo:
                         - Building device drivers as a module and using NFS for debugging driver and
                         - Building a USB host device driver & configuring the system to prepare for the
                           USB hotplug system 
                         - Networking: configure the system for networking, basic network programming
                           and webserver design 
                       • Hands-on: Configuring the system for USB hotplug and test with a USB gadget

Who Should Attend
• Embedded systems engineers and managers, embedded product designers and software
  architects from Semiconductor /  Precision Engineering / Systems integration / Defense /
  Aerospace / Automotive / Consumer Electronics / Telecom /  Process Control /
  Lab & Building Automation.
• Entry level: experience in C programming, knowledge of Linux or RTOS, knowledge of
  ARM architecture and assembly languages.

Pre-registration for the course is necessary.
Seats are available on a first-come-first-served basis.

Registration Fees
SMS Member: $428.00 (inclusive of 7% GST) per participant.
Non SMS Member: S$535.000 (inclusive of 7% GST) per participant.
Fee inclusive of buffet dinner (halal), refreshment, course material and experimental tools.

SIMTech members enjoy 20% discount, terms and conditions apply. (Limited to 2 participants for Category I members, and 4 participants for Category II members). Companies which join SMS now enjoy a complimentary TIP seat.

For Enquiry on SMS Membership
Please contact Devi at 6793 8388 or email for more details.