Software Development

Jeff Bier’s Impulse Response—Proprietary Algorithms Key for Embedded Processor Vendors

Earlier this year my colleagues and I did some crystal ball analysis and identified a number of key trends that we expect to shape the embedded processor market over the next decade. One of these is that we expect embedded processor companies to be increasingly differentiated by their ownership of proprietary algorithms. This may seem out of left field; what do processor companies have to do with proprietary algorithms?  Here’s our reasoning.  Processor prices are dropping, while processor Read more...

HP Licenses Imaging IP for Camera Phones

Late last year Hewlett Packard announced that it was exiting the digital camera market, citing a lack of growth in that business sector.  But just because HP has quit the camera business doesn’t mean it’s abandoning all of its digital camera technologies; the image processing algorithms originally developed for HP’s digital cameras will now be incorporated into cell phones, enabling users to create high-quality prints from pictures taken with camera phones. HP has provided a license of its Read more...

Case Study: Creating Super-efficient Embedded Software

Digital signal processing algorithms are increasingly important in an expanding range of embedded systems. For example, compute-intensive multimedia functions are finding their way into applications from toys to appliances to telephones. As a result, a growing number of system developers face a daunting challenge:  delivering implementations of DSP algorithms that are sufficiently optimized to meet demanding MIPS, memory, and cost requirements while also meeting aggressive schedules.  DSP Read more...

Case Study: Multi-Tiered Software Optimization

To obtain the most efficient code, DSP software must be optimized at four distinct levels. First, the software architecture and data flow must be designed to take maximum advantage of the processor’s resources. Second, the appropriate data types must be selected—too big and you’re wasting resources, too small and your system may not work. Third, the software must be optimized at the algorithm level—perhaps by combining multiple algorithms into a single processing step, or by substituting one Read more...

Microchip Switches to MIPS Core for PIC32

Last month, Microchip announced a new 32-bit microcontroller chip family, the PIC32. With this family, Microchip—a long-time player in 8- and 16-bit microcontrollers—is going after the 32-bit microcontroller market, and making a big change in architecture.   Unlike Microchip’s earlier chips, which were based on the company’s proprietary processor architecture, the new family is based on the MIPS M4K core.  PIC32 chips, which are currently sampling, will operate at up to 72 MHz, with pricing Read more...

Jeff Bier’s Impulse Response—Embedded Processor Wars

For a while there, it seemed as though DSP processors and general-purpose processors (GPPs) were morphing into one another. In an effort to provide better DSP performance, general-purpose processors (GPPs) were incorporating increasingly powerful DSP-oriented features. Meanwhile, as digital signal processing applications got more complex, DSP processors were becoming more CPU-like to enable efficient compilers and support more elaborate operating systems. It was getting hard to tell the DSPs Read more...

Evaluating the DSP Capabilities of the Cortex-R4

In 2004, ARM announced its newest generation of licensable cores, called the “Cortex” family.  Cortex cores span a wide range of performance levels, with Cortex M-series cores at the low end, Cortex R-series cores providing mid-range performance, and the Cortex A-series applications processors offering the highest performance.  The first Cortex core to be announced was the Cortex-M3, and since then ARM has announced several others, including the Cortex-A8 and A9, the Cortex-M1, and the Cortex- Read more...

MATLAB-to-C: Are Embedded Programmers Now Obsolete?

Earlier this month The Mathworks announced embedded C code generation capability for its popular MATLAB tool, which is widely used for digital signal processing algorithm design. According to The Mathworks, the new Embedded MATLAB capability is intended to enable MATLAB users to generate efficient C code directly from MATLAB source code files for use in embedded applications. Embedded MATLAB supports a subset of the MATLAB M language. It also supports a subset of the mathematical functions Read more...

Case Study: How Can You Prove You’ve Got the Best Multimedia Solution?

As multimedia systems grow in complexity, system and SoC developers are increasingly relying on vendors to provide “solutions”—combinations of hardware and software that implement complete multimedia functions such as audio and video compression and decompression.  Vendors have responded by offering a growing number of such solutions. This has created a new challenge for system and SoC developers: vendors’ claims regarding the functionality and performance of their solutions are difficult Read more...

Massively Parallel Processors for DSP: Development Tools

The number of vendors offering massively parallel processors for digital signal processing is growing.  As independent technology analysis company BDTI explained in its earlier article, there are a wide range of architectural approaches, each with unique pros and cons. Regardless of the approach taken, these chips are all highly complex, and they all face a similar challenge: making it easier for users to get their applications up and running. In this article BDTI will discuss some of the new Read more...