Embedded Systems Programming
Embedded systems are computer systems that users don't really know are computers. They are in cell phones, telephone systems, automobile engine controls and your computer. The user interacts with them using some very simple user interface and typically does one simple function. A phone call is places or a car is driven. Computers carry out complex operations so that this may happen.
Two other things happen in these systems. The systems interact with the real world and the real world often demands a timely response. For example, when you turn on your car you expect it to start within ten milliseconds. If you press the gas pedal (accelerator pedal, throttle) in your car, you expect to go faster immediately and if you press the brake you expect to stop immediately. Many embedded systems are real-time systems.
The second thing that happens is that these systems are involved in processing of signals using mathematical expressions. DSP or digital signal processing is what this is called. A real world signal is converted to numbers in a computer then these numbers are then processed in the computer using DSP techniques to improve performance or extract information not easily available.
Other important issues for embedded systems programming include reliability of real-time and embedded systems and performance guarentees. Telephones must work in emergencies, cars must not be dangerous, and critical communications over the internet must get through to the receiver. Often these systems have life and death situations associated with them.
Embedded systems programming must take all of these factors into account. Reliability must be designed in and extensive testing must be conducted to ensure reliabile and timely operation. Real world signals must be processed with sufficient accuracy to render correct operation and these systems must remain operational for many years without program upgrades or software changes of any kind. This is the world of embedded systems programming.
RoweBots provides powerful, proven embedded system software components for popular digital signal processors (DSPs), microcontrollers and microprocessors. This software is primarily used for implementing embedded real-time DSP systems. Each of our system software components is carefully crafted for maximum performance and reliability. We offer a wide array of products such as: single and multiprocessor DSP kernels, network stacks, embedded file systems, serial I/O, and DSP I/O libraries. Embedded systems programming is made easy with such tools and components.
For additional general information on embedded system programming for DSP and new multicore processors, follow the links below.
