Running Linux on a DSP?
Many software developers in recent years have turned to Linux as their operating system of choice. Until the advent of uClinux, however, developers of smaller embedded systems, usually incorporating microprocessors with no MMU, (Memory Management Unit) could not take advantage of Linux in their designs. uClinux is a variant of mainstream Linux that runs on "MMU-less" processor architectures. Perhaps a DSP? If a general purpose DSP has enough of a useable instruction set why not!
Component costs are of primary concern in embedded systems, which are typically required to be small and inexpensive. Microprocessors with on-chip MMU hardware tend to be complex and expensive, and as such are not typically selected for small, simple embedded systems, which do not require them.
Using Linux in devices, which require some intelligence, is attractive for many reasons:
- It is a mature, robust operating system
- It already supports a large number of devices, filesystems, and networking protocols
- Bug fixes and new features are constantly being added, tested and refined by a large community of programmers and users
- It gives everyone from developers to end users complete visibility of the source code
- A large number of applications (such as GNU software) exist which require little to no porting effort
- Linux's very low cost