Books and Boards 2006
ToolStick Starter Kit
(ToolStickSK), Silicon Laboratories, $25. www.silabs.com.
Silicon Labs has produced another helpful small kit that lets you experiment with the company’s microcontroller (MCU) architecture. Unlike its earlier sibling, this kit provides a removable 8051F330-based MCU board that offers easy access to the processor’s I/O pins. (To use some pins, you must remove a few components from the MCU board.) A ToolStick base module connects a USB port to the MCU board, which you could use to build a small prototype. Frankly, you cannot beat what you get for 25 bucks.
Software tools provided on a CD-ROM include an integrated development environment (IDE), an evaluation assembler, a linker, and a C compiler from Keil Software. The software loaded easily, and the 12-page manual (printed from a PDF file) provided clear setup instructions. I quickly compiled, ran, debugged and modified the LED-flasher program, which adjusted the flash rate based on a potentiometer setting. Clear instructions explain how to change register values, set breakpoints and watch program variables. I bet most serious users will try the software, see its capabilities, and “upgrade” to full versions of the software and to larger development boards for Silicon Labs’ MCUs.
To help you configure I/O ports for the 8051-based MCU, Silicon Labs offers a configuration wizard, but the documentation doesn’t explain where to find it. Click on the Config2 folder and run Config2.exe. But, before you attempt to configure a target MCU, read the chip’s manual so you know how I/O ports operate.
“DSP Software Development Techniques for Embedded and Real-Time Systems”
Robert Oshana, Elsevier. 2006. 581 pages, with CD-ROM. $69.95. www.newnespress.com.
Engineers can choose from a variety of books about signal-processing theory and algorithms; but until Robert Oshana wrote this thorough volume, no single source addressed DSP-based applications at the project or life-cycle level. This volume does an excellent job, and I recommend it highly.
Oshana’s experience developing DSP applications and teaching others about DSP tips, techniques and tricks led him to find and develop new ways to think about and approach a project. He provides that information in a format that will benefit engineers as well as engineering managers working on DSP projects. Oshana works as an engineering manager for the software development organization in Texas Instruments’ DSP System Group, and he has over 23 years of experience developing real-time embedded systems. So he knows of what he writes.
If you want a review of real-time operating systems for DSP applications, for example, you’ll find it in a 60-page chapter that goes from basic RTOS operations to task scheduling. If you need more information, Oshana provides references at the end of most chapters. The chapter sequence follows a logic path, but readers can jump from chapter to chapter to gather information about specific aspects of DSP development techniques. The well-organized chapters stand on their own.
Don’t expect a heavy does of code or information about algorithm development, though. Instead, Oshana takes a higher-level approach that will help programmers and engineering managers alike.
I particularly liked the author’s approach to optimization, a topic of importance to all developers. Two chapters cover specific software and power optimization techniques, but readers will find optimization nuggets throughout the other chapters, too. Oshana believes — rightly — optimization must apply to an entire project, from start to finish, and not just to final tweaking of pipeline performance and loop timing. Readers will also find useful optimization assistance in Appendix A, which describes software performance engineering.
One aspect of embedded-system design that holds the keys to a successful DSP project involves the careful specification of system performance. Instead of trying to teach readers a formal specification language, Oshana describes how to enumerate sequences and operations, which lead to a fully described state machine. Readers can follow a cell-phone interface example that shows how enumeration yields nine states for the unit. I found this appendix particularly useful and interesting. During a conversation with Oshana, he mentioned his last development project with a team of 100 members benefited greatly from using these same enumeration techniques.
The accompanying CD-ROM from Texas Instruments contains video presentations about TI DSP families and a 120-day trial version of TI’s Code Composer Studio tools for DSP programming. Links lead to other information on the TI Web site.