One of the great things about software, compared with hardware, is the ease with which it may be changed and updated. The big downside of software is also the ease with which it can be changed. This ease can make software developers lazy, as they know that they can always fix things later. This is a sharp contrast to chip developers who are fearful of errors, as an ASIC respin is both time consuming and very expensive.
On a desktop computer, updates to system and application software seem to come thick and fast, giving vendors the opportunity to provide us with new features, fix old bugs and introduce new and interesting ones. For embedded systems, the matter is a little more complex … (more…)