logo


slogan

4
About Us
Training
Calendar
Registration
Contact Us
10

 

Embedded GNU Jumpstart
 
   

GNU Head

Course Highlights:

GNU development tools are simply unmatched in their power and adaptability for solving tough embedded development problems. But all that power can be a challenge to master quickly. Wouldn't it be nice to round the GNU learning curve in less than a week, instead of in fits and starts over several months?

Now you can! Embedded GNU Jumpstarttm is a unique combination of formal presentations and hands-on lab exercises that turn you into a GNU power user in less than one week. The course program is led by an experienced embedded GNU user, and lab exercises are performed on real embedded hardware, to give you the practical and hands-on experience!

You won't find a course of this depth and breadth anywhere else. Bill Gatliff is a seasoned embedded developer and instructor who makes his living actually using GNU tools, not just talking about them. As a result, each presentation and lab exercise is jam-packed with valuable, immediately useful information that you'll put to work on your own embedded projects as soon as you get home.

Hardware

Embedded GNU Jumpstart uses Cogent CSB6xx single-board computers. The Cogent CSB637 is an AT91RM9200-powered system, the CSB625 uses a PXA255. Both boards offer 64 MB SDRAM, Ethernet, USB, Compact Flash, SD/MMC, GPIO and VGA out.

Other single board computers are available by special request. Students are also encouraged to bring their own hardware, to use with lab exercises as time permits.

Who Should Attend:

This advanced workshop is ideal for embedded developers who are evaluating or using the GNU toolchain in an embedded application.

Pre-requisite:

The course materials presume familiarity with the C programming language, and an understanding of the basics of operating system and embedded system operation.

Each student must provide their own laptop computer. The computer must have either a recent Linux distribution (RHEL/Fedora, Debian, Mandrake, etc.), Mac OS X, or a Win32 operating system installed before class begins. Course activities will require one available DB9 serial port, one 10/100T ethernet port, approximately 600MB of free disk space, and a Pentium-III/400MHz/128MB performance level or better. Students are strongly encouraged to bring their OS installation CDs to class.

Why do I have to bring my own computer?

Put simply, how else are you going to take your new GNU toolchain, embedded Linux kernel, and other course materials home with you at the end of class?

This course offers a unique combination of intensive, embedded Linux training and take-home hardware that you won’t find anywhere else. The goal is to for the student to be a proficient embedded Linux developer and user in one week, and to carry that knowledge back home after class is over. Bringing and using your own computer is the best way to meet that objective.

Course Outline:

Here is a recent table of contents from the course manual.

Free and Open Source Licenses

  • Free vs. Open Source, and what the differences mean
  • Reviews of the GPL, LGPL, BSD and other popular licenses
  • How license terms affect application design

Building and Installing the GNU Toolchain

  • From scratch, for Linux, Mac OS X and Win32 hosts
  • Using commercial toolchains

Building and Managing Applications

  • Compiling and linking from the command line
  • Using gcc with a Makefile
  • Converting to output formats like Motorola S Record
  • Disassembling object files and applications
  • Merging application images, jump tables data tables
  • Interleaving images for Flash and ROM programming
  • Constructing, managing and using libraries
  • Understanding application startup and crt0

The GNU Linker Command Syntax

  • Putting things at their proper places in memory
  • Filling and padding images
  • Supporting initialized data

Porting newlib to Embedded Hardware

  • Building and installing newlib
  • Understanding newlib's reentrancy and other features
  • Making dynamic memory allocation work under newlib
  • Integrating newlib with an RTOS and/or debugging agent

Gcc's Inline ASM Syntax, and Other C Language Extensions

  • Sectioning, alignment, and other commands
  • Integrating assembly code with the C runtime environment
  • Implementing an interrupt handler in C with gcc

Debugging Under GNU

  • Simulation, JTAG, BDM and other options
  • Reviews of some commercial debugging products

Using Gcc for Embedded Development in C++

  • Brief observations on performance and safety
  • Building the GNU C++ compiler
  • Getting new and delete to work properly
  • How gcc implements common C++ constructs


Who We Are
We are a professional organisation providing training services to companies.  We offer a comprehensive range of training courses, workshops and seminars covering every aspects relating to engineering. 

We provide various training programs that meet the immediate and future needs of engineers. The training is organised through seminar style, hands-on workshop, project-based tutorial or a mixture to bring the maximum learning benefits to the enginners.
Our Trainers
We have a quality pool of leading authorities, worldwide experts and fully trained up professionals who are constantly striving to uncover the pitfalls and best practices of modern technology development.
     
All rights reserved by
Omniscient International
     About Us      Training       Calendar      Registration      Contact Us