Embedded Systems

We developed an embedded DSP processor control board for a CCD camera chip

Many programs run on dedicated processors. These programs are called embedded systems, and are found in products such as cars, printers, calculators, cell phones, and many other common devices.

Embedded systems pose a unique set of challenges. They often require an intimate knowledge of the hardware they are running on. One consequence is that they may require the creation of specialized device drivers so that the software can use the hardware it is built for.

Embedded systems are often constrained to have small amounts of memory or processing power, which not only impacts the choice of algorithms, but sometime forces the program to be written in assembly language instead of a higher level language.

Sometimes embedded systems have something they need to be doing continuously, and it is important that they do not fall behind. This is called a real-time system. Guaranteeing that the system will be able to keep up requires knowledge of how long the processor and hardware can take to do different tasks and using this to ensure that it accomplishes each task before the next task becomes available. Often this also requires knowledge of how to write interrupt driven programs and what interrupts can and can’t accomplish.

If you are designing or modifying an embedded system, we have the knowledge and experience to help you out, so please contact us today!