For decades, we have been accustomed to x86 as a desktop architecture. The introduction of Atom processor based on x86 was expected to be the game changer. It was introduced by Intel to target embedded products like tablets and smartphones, which is a huge market for embedded processors going ahead.
So in a new embedded project, often the choice of the central processing unit (CPU) is limited to x86 and ARM—the two leading architectures. “The selection of processor is mainly based on factors like power requirement, price point of the product, performance requirement, support for interfaces, application domain and licence-free OS (if applicable),” says Bhaskar Trivedi, program manager-embedded division, eInfochips.
According to Trivedi, for any embedded processor to succeed, support for low-power modes, availability of generic external interfaces and in-built capability for high-resolution graphics need to be considered. But it all ultimately depends on the kind of embedded application that you are designing. Many embedded developers believe that for pure embedded or smartphone type of applications ARM is preferable, while for PC-like performance x86 works well. Of course, there is an intermediate where things overlap. In some ways, it is like comparing between a sedan, van and pickup truck. It really depends on what you want to carry.
Leverage PC legacy
The biggest advantage of x86 platform is its desktop legacy. “There is seamless integration with the desktop world, where plenty of tools and applications are available, and the same can be used for embedded development. This way, testing and debugging become a lot easier than on any other platform,” shares Amit Sinha, CEO, Dexcel Electronics Design.
Software development on x86 is relatively easy because of desktop PC penetration. Sinha shares, “The native software developed for desktops will probably work directly on an embedded x86 platform without any cross-compilation.” This applies to applications too.
Justifying further, Nishant Sharma, chief technology officer, KritiKal Solutions, says, “Today, most embedded software projects are run on x86 first, even when the final working product is for another platform. It is one of the most common ‘proof of concept’ platforms. So most operating systems and real-time operating systems (RTOS) have support for x86.” As x86-based embedded platform has PC as the development platform, it gives you the capability to simulate your target directly in a PC.
The good and the bad
The x86 platform was widely adopted for hybrid PC technology-based applications rather than traditional embedded applications. Listing certain merits of working with x86 platform, Trivedi says, “The initial set-up time for software development is quick. Also, the software developed on x86 are scalable, compatible and easy to interface/port to legacy applications. It also significantly reduces the dependency on dedicated hardware.” However, PCB footprint and power requirement need to be evaluated well before choosing x86 for any application.
Performance per watt is the consideration. The demand for more features and functions for less power is increasing with every innovation in the embedded space. Although x86 delivers the greatest performance, when it comes to power efficiency it becomes the least preferred architecture. In the desktop world the push is to achieve more performance, while in the embedded space performance per watt counts.