CMP EMBEDDED.COM

Login | Register     Welcome Guest ESC Boston  esc india  Call for Abstracts
 

Embedded Books Reading Room - August, 2008 (UPDATED!)



Embedded.com
As part of a continuing feature on Embedded.com, the editors have been working with publishers of engineering and programming books, selecting material from recent embedded hardware and software titles for posting on the site. As a part of our Embedded Book department, collected here are some of the selections posted so far, with new ones added each week as they become available:

2008
In a four part series based on their contribution to "Multiprocessor Systems-On-Chips," edited by Wayne Wolf and Ahmed Amine Jerraya, the authors cover the basics of designing energy-aware multiprocessors -
Part 1: Reducing CPU active and standby energy
Part 2: Reducing active and standby energy in memory and cache
Part 3: On-Chip communications impact on MPSoC power
Part 4: Advanced interconnects and software issues

In a three part series, based on their book "Programming with Wireless MMX Technology, " the authors describe the performance implication of a processor's pipeline architecture and code techniques for optimization -
Part 1: Microarchitectural optimization philosophy
Part 2: Optimization for data processing operations
Part 3: Optimization for control-oriented operations

In a six part series based on his book "See MIPS run Linux," Dominic Sweetman gets down to basics on how to implement the MIPS 32k/64k RISC architecture:
Part 1: GNU/Linux from eight miles high
Part 2: How hardware and software work together
Part 3: What happens on a system call
Part 4: What we really want
Part 5: MIPS specific issues in the Linux kernel
Part 6: CP0 pipeline hazards, multiprocessors &  caches

In a six part series, George Ellis, author of "Control Systems Design," compares and contrasts various approaches to embedded Proportional-Integral-Derivative (PID) control system design -
Part 1: Moving beyond PID
Part 2: Tuning a Proportional Controller (PC)
Part 3: Tuning a Proportional-Integral (PI) controller
Part 4: Tuning a PI+ controller
Part 5: Tuning a PID controller
Part 6: Tuning PID+ and PD controllers

In a three part series based on his book, "Designing High Speed Interconnect," Dennis Miller explores signnal integrity modeling alternatives in high frequency designs for problems not directly resolvable by SPICE and recasting them so they can be simulated.
Part 1: Unmodelable features of high performance designs
Part 2:  Differential transmission lines and receivers
Part 3:  Modelable features

In a six part series based on his book, John Eidson, author of  "Measurement, Control and Communications using IEEE 1588," describes how the 1588 real time network synchronization protocol, originally designed for localized industrial and instrumention networks, can be used for wideband networking and telecommunications.
Part 1:  The varieties of system temporal specifications
Part 2:  Overview of the clock synchronization standard
Part 3:  Master-slave synchronization hierarchy
Part 4:  Achieving submicrosecond synchronization accuracy
Part 5:  Applying 1588 to networking, wireless,  cable, and  telecom
Part 6:  The future of IEEE 1588 and the Precision Time Protocol

Richard G. Lyons, author of "Understanding Digital Signal Processing," in an on-going series of articles based on his book, provides the details of DSP tips and tricks professionals can use to make their digital signal processing algorithms more effiecient, including:
Efficient Polynomial evaluation
Smothing impulsive noise
Interpolating a bandpass signal
Spectral peak location algorithm
Computing Fast Fourier Transform Twiddle Factors
Building a practical spectrum analyzer
ADC testing techniques and finding missing codes in ADCs
Fast multiplication of complex numbers
Reducing A/D Converter Quantization Noise
High Speed vector magnitude approximation
Frequency Translation without multiplication

2007
In a two part article, Bruce Douglass, author of  "Real-time UML workshop for Embedded Systems," provides an overview of the Rapid Object-Oriented Process for Embedded Systems (ROPE) methodology and the workflows that can be used to develop robust and safe system designs -
Part 1: What is the Harmony process?
Part 2: The Systems Engineering Harmony Workflow in Detail

In a two part series, Robert Oshana, author of "DSP Software Development Techniques for Embedded and Real Time Systems," outlines the hardware software constrains involved in building an embedded media device based on a DSP/SRM multicore based System on a chip -
Part 1: The hardware building blocks
Part 2: Software architecture for a media SoC

In a three part series, Praphul Chandra, author of  "Bulletproof wireless security," provides the details of the technical challenges involved in making wireless ad hoc protocols typical of wireless networks such as Zigbee and Bluetooth more secure -
Part 1: Single and multihop ad hoc networks
Part 2: Key establishment and authentication
Part 3:  Bluetooth's security modes

Despite Microsoft's view that a parallel programming model for multiprocessing is 5 to 10 years away, Rishiyur Nikhil and Arvind, coauthors of  Implicit Parallel Programming, believe we can't wait and delve into the options available now. In this series of eight articles, they look at the alternatives: sequential versus parallel programming, procedural versus declarative and functional, explicit versus implicit.
Part 1: How sequential languages obscure parallelism
Part 2: How to achieve parallel execution
Part 3: Explicit parallel programming with threads and locks
Part 4: Explicit parallelism: message-passing programming
Part 5: Implicit parallel programming: Declarative languages

Part 6: So, why aren't we using functional languages yet?
Part 7: pH: an implicitly parallel, declarative language
Part 8: Turning parallel Haskell (pH) into a production language


In a four part series based on material from their book Multicore Programming, authors Shameem Akhter and Jason Roberts present the case for the OpenMP Application Programming Interface as a way to add explicit parallel instructions into sequential code written for multicore and multithreaded designs:
Part 1: The challenges of threading a loop
Part 2: Managing shared and private data
Part 3: Performance-oriented programming
Part 4:  OpenMP library functions

In an nine part series excerpted from  Computers as Components, author Wayne Wolf presents in a clear and concise way the basics of embedded programming using the C language on microcontrollers:
Part 1: Program design and analysis
Part 2: Models of programming, assemblers and linkers
Part 3: Basic compilation techniques
Part 4: The creation of procedures
Part 5: Register allocation and scheduling
Part 6: Analysis and optimization of execution time
Part 7: Trace-driven performance analysis
Part 8: Analysis and optimization of energy, power and program size
Part 9: Program validation and testing
 
In a three part series excerpted from their book, Multicore Programming, Shamem Akhter and Jason Roberts deal with various aspects of using threading and parallel constructs in multicore system software development:
Part 1: Synchronization and critical sections
Part 2: Synchronization Primitives
Part 3: Condition variables, messages and flow control

In a two part series excerpted from his book, The Embedded Linux Primer author Christopher Hallinan looks at the development of real time features in this open source operating system:.
Part 1: What is real time Linux?
Part 2:  Using embedded Linux in real-time applications

In a three part series based on their book, Designing Embedded Networking Applications, Peter Barry and Gerard Hartnett describe useful design patterns they have discovered and how to use them effectively to write better code:
Part 1: A review of general patterns
Part 2: Useful network design patterns
Part 3: Code tuning using design patterns

In a two part series based on their book, Multicore Programming, authors Shameem Akhter and Jason Roberts describe the basics of breaking up serial tasks for use as threads in a parallel programming environment:
Part 1: Breaking up tasks
Part 2: A motivating problem - error diffusion

Excerpts from Wayne Wolf's book High-Performance Embedded Computing.
This five-part series describes the differences between running software on embedded multiprocessors versus general purpose systems and the precautions that must be taken.
Part 1, The role of the operating system
Part 2, Multiprocessor Scheduling
Part 3, Event-driven multiprocessor scheduling analysis
Part 4, Services and middleware for embedded multiprocessors
Part 5, Achieving multiprocessor quality-of-service

Excerpts from Interfacing PIC Microcontrollers: Embedded Design.
Author Martin Bates reviews the basic sensor types and how they are used in MCU designs along with practical examples of how to implement them:
Part 1: An introduction to sensors and their characteristics
Part 2: A survey of sensor types
Part  3: Designing the interface between a sensor and an MCU

Excerpts from DSP Software Development Techniques for Embedded and Real-Time Systems by Robert Oshana cover every aspect of  embededed development using digital signal processors (DSP):
RTOS scheduling algorithms, static and dynamic
Protecting crtical code and resources
Deadlocks, unsafe states and shared resource corruption
DSP RTOS kernel task prioritization and memory allocation
Multitasking on a DSP and how to schedule tasks
How to write an optimized FIR filter
Testing and Debugging DSP Systems 
Real time data collection and visualization
Using breakpoints, event triggers and program traces
Emulating DSP electrical characteristics and performance
The working of JTAG boundary scan on DSPs
DSP debugging challenges and methodologies

Excerpts from Customizable Embedded Processors, edited by Paolo Ienne and Rainer Leupers
In their contribution to the book, the author from U.C. Berkeley state the case for sub-RISC processing elements as the natural multicore SoC building block:
Part 1: Concurrent architectures and concurrent applications
Part 2: Generating a multicore architecture from an instruction set
Part 3: Deploying applications with Cairn
Part 4: An IPv4 Forwarding Design Example

Excerpts from Networks on Chips: Technology and Tools by Luca Benini and Giovanni De Micheli on the challenges, hardware and software tools and methodologies being developed for next generation multicore networks on chips designs:
Part 7: Computer Aided Software Development tools
Part 6: Communications-exposed programming
Part 5: Task-level parallel programming
Part 4: Programming issues and approaches
Part 3: A review of basic NoC architectures
Part 2: SoC objectives and NoC needs
Part 1: Why on-chip networking?

Excerpts from WiFi Telephony by Praphul Chandra and David Lite where they look at the challenges facing developers of Voice over IP WLAN (VoWLAN) sytems:
Part 1: Challenges facing developers and what's needed to bring systems to market
Part 2: Dealing with inherent fairness among all nodes

Excerpts from Embedded Media Processing by David Katz and Rick Gentile of Analog Devices on how to used Direct Memory Access (DMA) effectively in media based embedded applications: :
Part 4:  Advanced DMA features for moving data effectively and multimedia system examples
Part 3: Guidelines for chosing DMA modes
Part 2: The various types of data flow architectures and when to use them
Part 1: The basics of Direct Memory Access (DMA) design

2006

Excerpts from Applied Control Theory for Embedded Systems by Tim Wescott on the basics of feedback control theory as it relates to embedded systems design of robust, reliable automatic control systems:
Part 1: How to use block diagrams as a control system design language
Part 2: Analyzing control system behavior using block diagrams

Excerpts from Embedded Multitasking with small microcontrollers by Keith Curtis on how to design embedded software for resource-constrained microcontrollers that multitask effectively with out the overhead and cost of an RTOS:
Part 2: The basics of multitasking using an embedded MCU
Part 1: State machine constructs for complex control sequences


Logic 101 - Part 4 - Gray Codes
IPsec, a Tutorial - Part I
Logic 101 - Part 3 - Reed-Muller Logic
Logic 101 - Part 2 - Positive versus negative logic
Logic 101 - Part 1 - Assertion-Level Logic
*Designing An ARM Multithreaded Video/Audio/Motion Recording System: Part 2
*Designing An ARM Multithreaded Audio/Visual/Motion Recording System: Part 1
Audio in the 21st Century
FPGA Architectures from 'A' to 'Z' : Part 2
FPGA Architectures from 'A' to 'Z' : Part 1
An IPv6 Refresher - Part I
Voice over IP (VoIP) - The basics: Part 1
*How to use UML in your SoC hardware/software design: Part 4
*How to use UML in your SoC hardware/software design: Part 3
*How to use UML in your SoC hardware/software design: Part 2
*How to use UML in your SoC hardware/software design: Part 1

We welcome your participation and would like to hear from you. We want to know what kind of information you need and what kind of books you would like to see posted on Embedded.com.

Call me at 602-288-7257 or email me at bccole@acm.org

1

Rate this article: Low High
Current rating
  • .
Embedded.com Career Center
Ready to take that job and shove it?
SEARCH JOBS

Browse all jobs

SPONSOR
RECENT JOB POSTINGS




 :