Home > Android, Linux, Operating Systems, Processors, Programming, Software management > 2012 Embedded Market Study – Software Development & Processors

2012 Embedded Market Study – Software Development & Processors

November 28th, 2012 Leave a comment Go to comments

I’ve just come across an Embedded System Study by UBM published in April 2012. The company surveyed over 1,700 professionals working on embedded systems who are mainly based in the US (56%),  but also in Europe (21%) and Asia (12%). The report is 87 long, but I found some of the slides are particularly interesting in regards to programming languages, operating systems and software life cycle, as well as processor/micro-controller choices.

Unsurprisingly C (65%), C++ (20%) and assembler (5%) are still the main languages used for embedded software development.

In this report, we also learn that the average team is composed of 14.5 members including 5.6 software engineers, 5.6 hardware engineers and 3.3 firmware engineers. 2012 was the first year they included QA Engineers and system integrators both with 2.6 members on average working on projects lasting from less than 6 months to over 25 months.

Last Embedded Project Duration

UBM survey also provides a breakdown of the project life cycle which shows most of time is spent on implementation and debugging, and documentation is basically an after thought.

Percentage of Time Spent on a Given Stage of Development

Embedded projects currently use as much Commercial OSes as open source OSes (with or without commercial support), but the trend appears to be favorable for open-source OS without commercial support.

Type of Operating System used in Current (left) and Next (right) Project

That’s a relief (to me) to learn that the operating system choice is mainly influenced by software engineering staff & managers. The top three reasons for OS selection are full source code availability (41%), real-time performance (31%) and no royalties (31%). 56% of respondents are currently using or consider using embedded Linux in their next project because it is low cost (72%) and easily adaptable and extensible (54%), but 44% would not use embedded Linux mainly because of software/app/driver incompatibility (39%)  and memory usage (25%). There are also 14% who cited legal reasons for not using embedded Linux.

As discussed by Linux.com, Android is clearly popular in smartphones and tablets, but is also experiencing tremendous growth in embedded systems with 34% of respondents considering using Android in one of their next project within 12 months.

Operating Systems Considered in the Next 12 Months for Embedded Projects.

Note that 4 of the top 5 operating systems (Android, FreeRTOS, Ubuntu and Micrium) are all open source, so there’s clearly an irreversible  move in this direction. The Linux based operating systems listed above (Ubuntu, Debian, Red Hat, Angstrom and MontaVista) represent 36% of the total, and 70% if we include Android in the total.

Most embedded projects use 32-bit micro-processors / micro-controllers (63%), following by 16% who use 16-bit tech, 13% 8-bit and 7% for 64-bit. The trend for 8-bit and 64-bit is stable, 16-bit usage is declining, and 32-bit usage is growing slowly. Most embedded projects have a main processor clock rate below 250 MHz.

Current Embedded Project Main Processor Clock Rate

Finally, when asked to cite ONE vendor with the best ecosystem for the needs of the respondent, Texas Instruments took the lead (19%), followed by Freescale (11%) and Microchip (10%).

Those are just the a few parts I found the most interesting, but you can read the full survey for more details.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

  1. onebir
    November 28th, 2012 at 16:31 | #1

    Matlab??? :s

  2. November 28th, 2012 at 16:39 | #2

    @onebir
    Right, Matlab is the 6th most used “language”. According to the report, Matlab is the number one tool used for “system level design”, before System C. It suppose this is for simulation, before the hardware is ready. I don’t really know about this part, as I’ve never had to use such tools at work.

  1. May 21st, 2013 at 19:30 | #1