Training the GNU generation
This course is under continual development.
This is a snapshot of current topics and those under
immediate development.
I think you will agree that this is one of the most comprehensive courses available for uClinux.
NOTE: Course content is being enhanced and extended all the time.
This is a content guideline.
Sections can be added or dropped as required by each class.
This is an important section.
It covers how to approach an Embedded Linux project.
The process of bringing up a new board or design is covered
Methods of managing source and integrating custom work with the standard distributions.
Source code management systems are covered with a discussion on the merits of the various solutions.
The use of the patch and diff tools is explained.
Methods of tracking your modifications to the uClinux distribution are demonstrated.
Integration into current in-house code management schemes is also discussed
This section of the course covers the elements of a cross compiler and other tool chain components. An additional (optional) module covers the creation of such a tool chain.
In addition to the wide selection of compiler options, other tool chain components are covered including:
Having taken this module the user will be able to use the tools more efficiently to build their embedded systems.
The somewhat complex uClinux boot up procedure is explained in this section.
The initial startup file and linker map is discussed followed by following the boot train right up to the time when the system starts running user applications. This process differs for different architectures and even sometimes for different variations on the same architecture.
Details include:
This section discusses the various boot loaders that are being generated for uClinux. Open Source and proprietary Boot Loaders are covered.
Topics covered include:
Different boot loaders will be deployed on the target systems and evaluated.
This section covers what needs to be done to set a system up to use an NFS mounted directory for developing applications. Kernel configuration and user applications need to be set up to make this happen. Details are provided on how to trace the set up as the mount is attempted.
The section also covers how the kernel is able to detect its IP address automatically at boot time or how the IP can be configured in a command line option .
The set up of an NFS Root directory system is also discussed.
This section covers the use of the various kernel configuration tools.
A brief introduction is given to the large number of options.
The setup of your own configuration options is covered.
This section provides an introduction to Flash Memory.
The different ways in which the Kernel can detect flash memory are explored.
The different flash drivers blkmem and mtd are introduced as well as methods for letting them both exist in the same system.
The JFFS and JFFS2 flash file systems are discussed.
An example is given of setting up a flash file system
Other options to create and use flash memory are also covered.
This is one of my favorite sections and it is also one of the
biggest returns on investment of the whole course.
Beginners and experienced users can waste days trying to make a
debugger work.
Following this section many of the time wasting problems can be avoided.
Many debug options are discussed
There is an ever increasing range of user applications available for uClinux. Not all of them will successfully compile for a given target.
This section discusses some time saving ways to test and fix such problems.
You will also find out how to add your own applications into the various uClinux distributions.
This section discusses the different libraries available in the uClinux distribution.
A method to add your own Library components is introduced as well as using the tools to manipulate the existing libraries.
This section discusses direct Hardware access.
Example code to flash leds (where possible) and access chip registers is covered.
Existing Drivers accessing hardware are examined and discussed.
This section creates a simple network application.
This application will run on the host or target system.
A simple webserver is discussed in detail.
This section covers setting up of the Boa webserver.
Examples are given of using CGI and other tools.
Methods of speeding up the design process.
Haven't got your hardware yet. No problem.
Two simulator systems are presented that allow M68K and Arm systems to be
simulated on x86 hardware.
Contact SDCS for more details
Go Back to previous page