Recipes4Linux
Concise timeline of Linux, highlighting key events. Plugs Linux micro-world into macro-world of embedded software development.
Concise overview of commercial choices in the RTOS world and compares important features with Linux.
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.
Reviews host setup required to support typical Linux cross-development target platforms, demonstrates steps with commercial Embedded Linux distribution. Main topics covered:
Linux server DHCP configuration
Linux server NFS configuration
Linux server XINETD configuration (telnet, ftp, tftp)
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
Recursive Project Make System is migrated to client's development environment. Client's project is modeled in RPMS with a functioning make system.
Using Linux tools and environment, perform timing analysis of HPS project. Introduces Linux notion of time and the Linux Trace Toolkit (LTT).
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.
Discusses how valuable a tool Tcl is to a typical embedded project. Demonstrate capabilities with hpstcl process from HPS project.
Fill in client's project tree with stubbed working task code, demonstrate IPC/pthread support is functional.
Appeared in Embedded Systems Programming, October-November, 1999.
Author : David B. Stewart, University of Maryland, Department of Electrical and Computer Engineering
#30 "My problem is different."
#29 Tools choice driven by marketing hype, not by evaluation of technical needs
#28 Large if-then-else and case statements
#27 Delays implemented as empty loops
#26 Interactive and incomplete test programs
#25 Reusing code not designed for reuse
#24 Generalizations based on a single architecture
#23 One big loop
#22 No analysis of hardware peculiarities before starting software design
#21 Over-designing the system
#20 Fine-grain optimizing during first implementation
#19 "It's just a glitch."
#18 Too many inter-module dependencies
#17 "I don't have time to take a break."
#16 Using message passing as primary inter-process communication
#15 "Nobody else here can help me."
#14 Only a single design diagram
#13 No legend on design diagrams
#12 Using POSIX-style device drivers
#11 Error detection and handling are an afterthought and implemented through trial and error
#10 No memory analysis
#9 Configuration information in #define statements
#8 The first right answer is the only answer
#7 #include "globals.h"
#6 Documentation was written after implementation
#5 No code reviews
#4 Indiscriminate use of interrupts
#3 Using global variables
#2 No naming and style conventions
#1 No measurements of execution time
Discusses porting issues between host and target, e.g., simulator running on host migrating to custom-designed prototype hardware board.
Discusses current trends in hardware-assist tools for the embedded processor project. Compares and contrasts JTAG and ICE technologies.
Demonstrate Linux debugging environment, including: kernel debug, module debug, application debug, on host and target with JTAG emulator/tool.
Stub of client's project with Tcl test harness working in some capacity.
Contact mailto:tmike@recipes4linux.com
Copyright © 2004 Tools Made Tough