Multicore µClinux™ on the Blackfin®

This course is designed for the Blackfin ADSP-BF533 Processor and includes details of the BF537 and multicore BF561 processors. Details of these systems are available on the blackfin site.

This is the first uClinux course that touches the subject of multicore Embedded systems.

The first 2007 public class is to be held in Virginia Beach, USA
"The Blackfin Beach Bash" (March 13th to 16th, 2007.) This is a 4 day class. priced at $1695.00 US (paid in advance).

The second 2007 public class is to be held in Weybridge, United Kingdom (April 24th to 27th, 2007.) This is a 4 day class and is offered at a price of 995.00 (UK Pounds) (paid in advance).

Development Computers

Please bring along your own laptop running a suitable version of linux and the Blackfin development system will be installed during the class.

Have 5G free disk space and at least a 400MHz/512Meg ram system with serial and parallel ports available (USB serial is OK).

Currently tested versions of Linux include RedHat 9.0 , Fedora 6, Suse 9.x, 10.0, 10.1 10.2 . Other systems may work but please check prior to the class.

Blackfin Stamp Target systems will be provided on loan during the class. These systems are also available for purchase if required.

Contact SDCS for more details.

Online registration id not be working please email SDCS for registration information.

This course is designed to be a complete introduction to programming with µClinux.

As with all courses it is under continual improvement. Here is a description of the current course contents.

Day 1

Blackfin Tool Chain

This section of the course covers the elements of building and using a cross compiler and other tool chain components.

In addition to the wide selection of compiler options, other tool chain components are covered including:

  • Gcc (3.4.1 ) Compiler
  • Gnu Assembler
  • Linker ( binutils 2.15 )
  • objdump
  • objcopy
  • nm
  • elf2flt
  • flthdr

After taking this section the student will be able to create the tools from source and also use the tools more efficiently to build their embedded systems.

Das u-Boot

This section describes the u-Boot loader used on the Blackfin Stamp board. The bootloader is built from sources and methods of extending the bootloader to include custom hardware tests are described.

Topics covered include:

  • Building the bootloader
  • Installing the bootloader on the target
  • Bootloader commands and utilities
  • Extending the bootloader

After taking this section the student will be able build, install and extend the u-Boot bootloader.

The µClinux Source Distribution

The µClinux source distribution is a one stop system development environment.

This sections discusses configuring and customizing the distribution and adding your own user and kernel code in your own directories.

Details include:

  • Host System Configuration
  • Installing the Distribution
  • Configuring and building the Distribution
  • Understanding the config files
  • Understanding the make files
  • Adding a new vendor tree
  • Adding user code

After taking this section the student will be able to configure, navigate and customize the Source Distribution.

µClinux Libraries

This section discusses the different libraries available in the µClinux distribution.

Topics covered include:

  • Building uClibc
  • Configuring uClibc
  • Other libraries
  • Specifying special libraries for user tasks

After taking this section the student will understand µClinux libraries and their configuration.

Day 2

Linux Bootup

The µClinux boot up procedure is explained in this section.

The initial startup file and linker map is discussed followed by following the boot process right up to the time when the system starts running user applications.

Details include:

  • Linker Maps
  • Start file
  • Basic Architecture
  • Interrupt vector
  • Linux System
  • Root File system
  • Device Driver startup
  • Initial Ram Disks
  • Console
  • The init task

After taking this section the student will understand the µClinux kernel boot up procedure and be able to modify it as needed for special target systems.

Linux 2.6 Kernel

This section provides an introduction to the 2.6 Kernel.

Details include:

  • Kernel Features
  • Configure the Kernel
  • Building the Kernel
  • Target Memory Layout
  • Cache Control
  • System Calls
  • DMA Operation
  • Interrupt Handling
  • Extending the Kernel
  • Non Power of 2 Memory Allocator for 2.6 kernel (SDCS developed)

After taking this section the student will be able to navigate the kernel sources and have an initial introduction to the features used on the Blackfin Target System.

Flash Memory, Flash File Systems

This section provides an introduction to Flash Memory.

Details include:

  • MTD (Memory Technology Devices) Overview
  • Kernel Configuration for Flash
  • Flash Memory Setup and detection.
  • Flash Partitions.
  • Flash Memory file systems.
  • User space applications

After taking this section the student will be able to set up the system to detect and configure flash memory.

Day 3

Device Drivers, Introduction

This section provides an basic introduction to Linux Device Drivers.

Details include:

  • Linux Device Driver Model
  • Linux Kernel Modules
  • Simple Char Device Driver
  • Kernel API for device drivers
  • User space access
  • Special Blackfin Drivers

After taking this section the student will be able to create and install a simple character based device driver.

BF537, BF561 Introduction

This section introduces the features available on the 537 and the multicore 561 processors.

Details include:

  • High Speed Networking
  • Can Module (537)
  • Working with multicore devices (561)
  • Dma Systems
  • Sport (Serial Port) Driver
  • PPI (Parallel Port) Driver
  • SPI (Parallel Port) Driver

After taking this section the student will be introduced to multicore processing and other special features available on these Blackfin Systems.

Day 4

µClinux Debugging

Various Debugging Techniques will be discussed for both Kernel and User Code

  • Introduction to GDB
  • Kernel Debug Options (KGDBOE)
  • Using graphical tools. (DDD)
  • Setting up a Cross Debugger
  • Hardware Debug using JTAG.
  • Debugging User applications on the target using Gdbserver
  • Unit Testing with LTP

After taking this section the student will be able to choose from a number of debugging techniques. The student will have an introduction to GDB and also graphical debug interfaces.

Network Applications

This section creates a simple network application.
This application will run on the host or target system.

A simple webserver is discussed in detail.

  • Introduction to sockets
  • Simple socket server
  • Simple socket client
  • Simple Webserver
  • Extended Webserver with CGI.

After taking this section the student will be able to create client / server network applications and understand the mechanics of a simple webserver.

Sample User Application

This section demonstrsates a sample oscilloscope application using a high speed Data Input Module connected to the Stamp Board.

All of the topics discussed in the class are used to create this application.

  • Data Input device driver
  • Webserver set up
  • CGI code
  • Network Setup
  • Build and test

After taking this section the student will be able to build a web based application that interfaces to a Device Driver and uses CGI scripts to present graphical data to an external web browser.

Class Size

The attendance is limited to approximately 10 people. This allows good personal attention during the class.

Cost

The UK classes is offered at (UK Pounds) 995.00 (to be paid in advance)

Registration

Contact SDCS for more details

Go Back to previous page