As I have mentioned before, I am always interested in user surveys, as they do offer some kind of glimpse into what is going on the world of embedded software development. The recently published VDC Embedded Engineering Survey [summary available here] shows up some interesting results and trends.
However, it does, like with many surveys, raise nearly as many questions as it provides answers …
One question was about the interrupt response time requirements of the current project. Nearly a quarter of respondents did not know. This is fair enough, as a significant number of applications are not real time at all, so response time [within reason] is inconsequential. However, the top 3 requirements in selecting an OS were:
- Reliability/stability [good!]
- Overall cost [understandable]
- Real time performance [which seems not to matter to 25% of developers]
Of course, this may be explained by the fact that embedded software teams are not uniform. Even if a system does have stringent real time requirements, not every engineer will be involved or concerned with meeting them.
The sourcing of OSes is interesting [particularly to an OS vendor!]. The survey shows that open source is increasing; so are commercial OSes, with about a third of the market. The proportion of systems with no OS at all is going down, which is understandable. Curiously, the use of an in-house OS persists; although reducing, it is still the approach used on about 20% of projects.
Looking beyond the OS itself at the middleware, file systems top the list. My guess is that this is because Linux cannot really be used without one. USB is deployed in over a third of designs, which explains the popularity of any USB-oriented white papers, Web seminars etc. But it seems that that 24.3% of design incorporate a Web browser. I am at a loss to understand this, unless the survey is dominated by smartphone/tablet designers, but I do not believe that this is the case.
The really interesting figure appears when looking at development tool utilization. 60% of projects use a compiler. What do the other 40% do?