From the early days of computers the hardware engineer regarded the software engineer (programmer) as a necessary evil; totally unintelligible and the root cause of most system crashes. Software engineers on the other hand, viewed the hardware as a platform on which to display their magnificent creation.
I exaggerate of course, but what I am getting at is that essentially, we all have different skills and interests. As time has marched on the demarcation between hardware and software has become blurred with microcode and firmware bridging the gap.
As micro controllers increase in power and the ARM CPU pushes upward into the space previously the reserve of the X86 family, the X86 reaches downwards to also compete in that middle ground.
To make any modern system perform at its best, an operating system is imperative. There are a few choices these days, but for the smaller company, there are probably only three real contenders for embedded system development.
The rise of Linux, Android and Windows...
Linux started life on larger systems with lots of storage and but has since risen to the challenge of the small embedded system, Android came for the other direction with its proliferation in mobile phones it is now appearing in a number of smaller computer applications.
Then there is Windows, starting life as a desktop and server operating system it is now used in many embedded application. Windows 10 is available for ARM but the vast majority of implementations are on X86 architecture. To improve competitiveness with the likes of Android and Linux, Windows 10 IoT Enterprise LTSB has three different licensing models depending upon the performance class of the CPU. The entry level used on low power CPU's provides a cost effective alternative to Open Source alternatives.
The lines are becoming more blurred and the choice is greater than ever.
So from whichever discipline you approach computing, it's a fast moving industry and any fixed ideas need to change rather quickly as technology advances and fashions change.
The old school hardware engineer or software programmer are rapidly becoming extinct and a new breed is taking over.
It's probably true to say that most embedded computer engineers have a broad smattering of many disciplines; electronics, mechanical, software, thermal management with an ever increasing trend towards visual and cosmetic considerations.
It's never boring for the computer engineer.
Want to read more from the BVM team? Simply subscribe and receive the latest news in your inbox!
Was this article useful? Contact us so we can help you find a solution.