Software Development for Parallel and Multi-Core Processing

Kenn R. Luecke

The embedded software industry wants microprocessors with increased computing functionality that maintains or reduces space, weight, and power (SWaP). Single core processors were the key embedded industry solution between 1980 and 2000 when large performance increases were being achieved on a yearly basis and were fulfilling the prophecy of Moore's Law. Moore's Law states that "the number of transistors that can be placed inexpensively on an integrated circuit doubles approximately every two years." With the increased transistors, came microprocessors with greater computing throughput while space, weight and power were decreasing. However, this 'free lunch' did not last forever. The additional power required for greater performance improvements became too great starting in 2000. Hence, single core microprocessors are no longer an optimal solution.


First Steps with Embedded Systems

Byte Craft Limited
1 comment

This book is intended to fill the need for an intermediate level overview of programming microcontrollers using the C programming language. It is aimed specifically at two groups of readers who have different, yet overlapping needs. The first group are familiar with C but require an examination of the general nature of microcontrollers: what they are, how they behave and how best to use the C language to program them. The second group are familiar with microcontrollers but are new to the C programming language and wish to use C for microcontroller development projects. First Steps with Embedded Systems will be useful both as an introduction to microcontroller programming for intermediate level post-secondary programs and as a guide for developers coping with the growth and change of the microcontroller industry.


An Engineer's Guide to the LPC2100 Series

Trevor Martin
6 comments

This book is intended as a hands-on guide for anyone planning to use the Philips LPC2000 family of microcontrollers in a new design. It is laid out both as a reference book and as a tutorial. It is assumed that you have some experience in programming microcontrollers for embedded systems and are familiar with the C language. The bulk of technical information is spread over the first four chapters, which should be read in order if you are completely new to the LPC2000 and the ARM7 CPU.


Choosing An Ultralow-Power MCU

Mike Mitchell

This application report describes how to compare ultralow-power MCUs. It discusses the key differences between popular low-power MCUs and how to interpret features and specifications and apply them to application requirements


Interrupts, Low Power Modes and Timer A

Erik Cheever

This document contains a lot of what you need to know to get the most out of the MSP430. The MSP430 line is renowned for it's low power usage, and to really utilize it well you have to architect your software to be an interrupt driven device that utilizes the low power modes.


PID Without a PhD

Tim Wescott
7 comments

PID (proportional, integral, derivative) control is not as complicated as it sounds. Follow these simple implementation steps for quick results.


Reed-Solomon Error Correction

C.K.P. Clarke

[Best paper on Reed-Solomon error correction I have ever read -- and it's from the BBC!] Reed-Solomon error correction has several applications in broadcasting,in particular forming part of the specification for the ETSI digital terrestrial television standard, known as DVB-T. Hardware implementations of coders and decoders for Reed-Solomon error correction are complicated and require some knowledge of the theory of Galois fields on which they are based. This note describes the underlying mathematics and the algorithms used for coding and decoding,with particular emphasis on their realisation in logic circuits. Worked examples are provided to illustrate the processes involved.


Memory allocation in C

Leslie Aldridge
4 comments

This article is about dynamic memory allocation in C in the context of embedded programming. It describes the process of dynamically allocating memory with visual aids. The article concludes with a practical data communications switch example which includes a sample code in C.


Advanced Linux Programming

Mark Mitchell
3 comments

This book is intended for learning advanced linux programming.


Red Hat Linux - The Complete Reference

Richard Petersen

This book identifies seven major Linux topics: basic setup, environments and applications, the Internet, servers, administration, and network administration. These topics are integrated into the different ways Red Hat presents its distribution: as a desktop workstation, network workstation, server, and development platform