Recipes4Linux

Training Module Descriptions


(A) History / Background (1 hour)

Concise timeline of Linux, highlighting key events.  Plugs Linux micro-world into macro-world of embedded software development.


(B) RTOS vs. Linux (1 hour)

Concise overview of commercial choices in the RTOS world and compares important features with Linux.


(C) Linux Shell and Basic Commands (1 hour)

Hands-on demonstration of basic Linux commands for environment manipulation and software project development.  Concentrates on use of bash shell as an interactive shell as well as basic shell programming.


(D) Linux Cross-Development (1 hour)

Reviews host setup required to support typical Linux cross-development target platforms, demonstrates steps with commercial Embedded Linux distribution.  Main topics covered:

  1. Linux server DHCP configuration

  2. Linux server NFS configuration

  3. Linux server XINETD configuration (telnet, ftp, tftp)


(E) HPS project running on Linux host and target (2 hours)

Hypothetical Part Stamper machine simulator running on host and target.  Introduces RPMS project infrastructure.

In 1985, while working at Hunter & Ready supporting the VRTX family of RTOS products, my boss handed out a design request from a potential customer.  This prospect was evaluating commercial RTOS products and was interested in a sample design of a simplistic machine control application.  My boss thought it would make a good teaching exercise.  She handed the design request to everybody on her team, gave us a couple of days to kick around ideas, and we got together and evaluated the designs.

20 years later it still makes a good teaching exercise.

Engineering Requirements Document for Hypothetical Part Stamping Machine

Design Diagram : Machine Control

Design Diagram : User Interface


(F) Client's project modeled by RPMS (2 hours)

Recursive Project Make System is migrated to client's development environment.  Client's project is modeled in RPMS with a functioning make system.


(G) Timing analysis of HPS project (2 hours)

Using Linux tools and environment, perform timing analysis of HPS project.  Introduces Linux notion of time and the Linux Trace Toolkit (LTT).


(H) RTOS feature mapping to Linux (2 hours)

Discusses typical RTOS features and maps these features to Linux kernel and library system calls and services.  Discusses heavy-weight processes vs. light-weight threads.


(I) Tcl as a test harness (2 hours)

Discusses how valuable a tool Tcl is to a typical embedded project.  Demonstrate capabilities with hpstcl process from HPS project.


(J) Client's project with live tasks (2 hours)

Fill in client's project tree with stubbed working task code, demonstrate IPC/pthread support is functional.


(K) 30 Pitfalls for Real-Time Software Developers (2 hours)

Appeared in Embedded Systems Programming, October-November, 1999.

Author : David B. Stewart, University of Maryland, Department of Electrical and Computer Engineering


(L) Porting Issues (1 hour)

Discusses porting issues between host and target, e.g., simulator running on host migrating to custom-designed prototype hardware board.


(M) JTAG / ICE (1 hour)

Discusses current trends in hardware-assist tools for the embedded processor project.  Compares and contrasts JTAG and ICE technologies.


(N) Debugging Demonstration (2 hours)

Demonstrate Linux debugging environment, including: kernel debug, module debug, application debug, on host and target with JTAG emulator/tool.


(O) Client's project with test harness (2/4 hours)

Stub of client's project with Tcl test harness working in some capacity.


Contact  mailto:tmike@recipes4linux.com

Copyright © 2004 Tools Made Tough