world leader in high performance signal processing
Trace: » preface


Purpose of This Manual

This manual attempts to provide a quick and easy guide to help users get started in the Blackfin/uClinux open source community. It provides details on how to use essential tools such as the STAMP board, the Blackfin tool chain, U-Boot, uClinux, and the website. This manual is not a replacement for the Blackfin Hardware Reference, the Blackfin Instruction Set Reference, or any other related documentation; rather this documentation gives an overview of the components essential to working with uClinux for Blackfin devices.

It is the intent of this course to be practical. It is our experience that this requires hands on activities. Consequently, a choice of hardware is necessary and our choice has two elements:

  • a Linux development station
  • an embedded target running Linux

The Linux development station is generic, probably IA32 (Intel/AMD) based, but not necessarily so. If you already have a PC with Linux resident, that will suffice. For an embedded system, we have chosen the STAMP (based on the Analog Devices ADSP-BF533) which is packaged with this course. Although this is a specific product, it works well for a general introduction. Most students learn efficiently by moving from specific cases to the more general and abstract. The STAMP has many features, but this course explores only those we consider generic to embedded Linux. These features are:

  • an RS232 port for development
  • parallel I/O
  • an ethernet port

The readers of this book are expected to be reasonably skilled C programmers with an interest in embedded Linux. It is possible that some will be unfamiliar with Linux and the purpose of this first chapter is to provide at least a rudimentary overview of how to use Linux. Those familiar with Linux might scan the chapter to see if they want to move directly to the next.

Intended Audience

This manual assumes that the reader has a working knowledge of the Linux operating system as well as some experience with embedded devices. Specific knowledge of Blackfin hardware or previous experience with uClinux, however, is not required.

Many of the procedures described in this manual assume the reader is running a host computer with Linux installed; however, the CoLinux port of the Blackfin tool chain allows most procedures to be preformed under Windows as well. For OS specific procedures, such as setting up a TFTP server, instructions are given for both Windows and Linux operating systems. This manual also assumes the target hardware being used is the STAMP board. Other target systems may be used; however, target hardware specific procedures will refer to the STAMP board.

Manual Contents

Below is a brief description of each of the major sections included in this manual:

  • introduction - This section gives a general overview of the Blackfin processor as well as information about the website, the central repository for the Blackfin/uClinux open source community.
  • components_of_a_development_system - This section gives an overview of the hardware and software that is required.
  • hardware_platform - This section describes the STAMP board and the available daughter cards.
  • operating_systems - A very brief overview of Linux and uClinux is provided here.
  • colinux - This section describes the CoLinux port of the Blackfin tool chain.
  • editors - A description of various text editors which handle source code well is given here.
  • terminal_programs - This section describes how to configure terminal programs for communication with the target system.
  • toolchain - An overview of the Blackfin tool chain as well as general information about compilers, assemblers, linkers, etc. is given in this section.
  • make - This section gives a general overview of the program make and the use of makefiles.
  • debuggers - This section describes the use of the uClinux debugger.
  • version_control_systems - The use of CVS repositories is described here.
  • U-Boot - Information on installing and using the boot loader for uClinux is given in this section.
  • compiling_the_kernel - This section explains how to compile the uClinux kernel for loading onto the target system.
  • eclipse - This section describes the usage of the Integrated Development Environment (IDE) Eclipse as it relates to uClinux for Blackfin.
  • downloading_to_the_target - This section describes how to use the JTAG/Parallel Port Wiggler board to load U-Boot into flash memory on the STAMP board.
  • application_development - This section describes a few of the projects from the website which are currently under development.
  • driver_development - This section explains how to develop uClinux drivers for both on and off-chip peripherals.
  • programming - This section explains how to get help with kernel programming.
  • references_and_pointers - This section is a collection of links and other references relevant to the Blackfin/uClinux project.
  • faq - This section contains answers to frequently asked questions as well as solutions to commonly encountered problems.