The central processing unit (CPU) or system on a chip (SoC) you choose for an embedded system dictates how well the system will work. I have years of experience building embedded systems and offer tips and those from other experts, on picking the best CPU or SoC.
In this article:
An embedded processor is a central processing unit built into an embedded system that controls the system's basic functions. Embedded processors are a type of microprocessor and usually have limited functions. Often, they use minimal power.
Embedded processors come with only the processor in the chip. They require external memory and other external components and peripherals to work. Microcontrollers have everything needed to perform a task—including memory, signal registers, and input/output ports—built into the chip.
Manufacturers use embedded processors when a processor must use limited power. They use microcontrollers for various products with embedded systems, including smartphones, automotive systems, and advanced medical devices.
A system on a chip, or SoC, brings together all components a computer system needs onto a single computer chip. An SoC includes the CPU and other parts like memory, timers, and communication interfaces.
A CPU, or central processing unit, generally comes with only the processor in the chip. Computer and embedded systems sometimes use multiple CPUs. An SoC is a minicomputer on a chip that does all the computing work while a CPU needs other components to complete.
A CPU always requires parts outside of the CPU—including memory, timers, and other components—to do their work. An SoC is like a microcontroller but is much more sophisticated and powerful.
An SoC in an embedded system is a chip that includes all the components that allow the chip to perform a specific function or action for the embedded system. Many embedded systems use SoCs to do their computing work.
The main elements of an embedded SoC include the processor and other components like memory, cache, timers, and input and output ports. The main advantages are that they use less power and can ultimately be a less expensive solution than a CPU.
SoCs often use much less power than a CPU and its extra components or the multiple CPUs that an embedded system sometimes requires. Embedded manufacturers use SoCs when they need a powerful self-contained processor that still takes up little space.
SoCs have all of the components they need, often making them less expensive than the cost of a CPU and the extra components it requires. Veli-Pekka Heinonen, Qt senior product manager, explains, "Many projects have limits, to get below a certain (cost) threshold. So SoCs have been good at the cost-effectiveness side of things."
A primary disadvantage of choosing an SoC is that manufacturers who use them will have limited flexibility in changing the system. For example, with a CPU and external memory, a manufacturer can decide to change or add to external memory. That's not possible with SoCs. You would need to change the entire SoC if the system needs significant modifications.
Since a CPU or SoC is part of the hardware of an embedded system, some people believe hardware designers should choose what to use. But involving software designers in the decision is vital.
That's because how an embedded system ultimately works, including how any software works, will depend on the CPU or SoC. The embedded system will work well only if the hardware and software blend together.
The CPU is the foundation of the embedded system. But you should wait as long as possible to pick one to use. That's because the team will know more about hardware that will work best with the software they’re developing for the system.
You do not want to decide on and purchase a CPU or SoC and then find out that the software your designers have built for the embedded system doesn't work well with it. It’s important to understand what the software requires in terms of memory, power, and performance. Then purchase the best CPU that fits those needs. Learn more about how embedded engineers build an embedded system and develop the software.
Rob Wood, vice president for hardware and embedded security services at security consultancy NCC Group, explains it's also essential that embedded system designers choose a CPU or SoC "only after you have a solid understanding of your security requirements. The SoC is the foundation of your security. Everything outside of this component cannot be trusted. So, the security properties of your SoC will determine the security of the system as a whole. Updating a design with a new SoC can take years of effort. So, the selection is very important."
You'll want to consider many factors when deciding on the right CPU or SoC for your embedded system. You'll, of course, consider overall performance, memory needs, peripheral needs, and costs.
Here are key things to consider when picking a CPU or SoC:
Specific manufacturers make CPUs that are built for and perform well in embedded systems within certain industries. For example, the automotive industry often uses Qualcomm or Renesas processors. The medical industry often uses NXP equipment.
Qt has prepared its embedded product planning and requirements guide to help engineers understand how to approach building an embedded device. The handbook includes a detailed comparison of some of the top SoCs used in embedded systems.
AMD | Intel | NXP | Renesas | TI | |
Eval board | Kontron D3713-V4 mITX | Avnet BOX NUC6CAYS AJL | NXP i.MX 8 QuadMax MEK | R-Car H3 Starter Kit | TI AM572x EVM |
SoC* | AMD Ryzen V1807B | Intel Apollo Lake (Celeron J3455) |
NXP i.MX8 | R-CAR H3 | AM5728 |
Memory | 4 DDR4, 2 DIMM (up to 32GB), ECC option |
2GB onboard DDR (up to 8GB), 32GB eMMC |
LPDDR4 (x64), 32GB eMMC | 384K sys RAM, DDR4, 80MB onboard flash, 8GB eMMC, microSD | 2GB DDR3L, 4GB eMMC, microSD |
Peripherals | HDMI, 4 x DP++, 4K, Vega GPU, PCIe, SATA, audio, GigE, USB 3.1+2.0 |
HDMI, Intel HD 500 GPU, audio, GigE, PCIe, SATA, USB 3.0 + 2.0, WiFi ac, BT, | MIPI, LVDS, 4K, PMIC, GPU, PCIe, audio, GigE, USB 3.0, CAN, up to 4 HDMI displays | HDMI, PowerVR GPU, LVDS, WiFi, BT, audio, Eth 10/100, USB 2.0 | 7" capacitive touch screen, HDMI, audio, PowerVR GPU, GigE, SATA, MiniPCIe, USB 3.0 |
Architecture | x86-64 | x86-64 | ARM-64 | ARM-64 | ARM-32 |
Processing power |
V1807B x 4 core @ 3.8GHz | J3455 x 4 core @ 1.5GHz | A72 x 2 core @ 1.6 GHz; A53 x 4 core @ 1.2 GHz; M4 x 2 core @ 266 MHz | A57 x 4 core @ 1.5 GHz; A53 x 4 core @ 1.2 GHz | A15 x 2 core @ 1.5GHz, M4 x 2 core |
Use cases | Large | Large | Large | Large | Medium |
Power draw | ★ | ★ | ★★ | ★★ | ★★★ |
Longevity | ★★★ | ★★★ | ★★★★★ | ★★★★★ | ★★★★★ |
Unique features |
Up to 4 displays @ 4K | NUC is mini-PC, but SoC is embedded- compatible |
Accel, gyro, pressure, light sensors |
Automotive, EAVB, 440 pin expansion |
Camera option, 2 x C66x DSPs |
★ is the lowest ranking while ★★★★★ is the highest.
* SoCs may include additional features that are unexposed by an eval board.
Most experts believe that SoCs will drive most embedded system processing in the future instead of general-purpose CPUs. Advanced SoCs now integrate memory, a graphics processor, and other important features onto one chip.
Your choice of a CPU or SoC for your embedded system is probably one of the most important decisions you’ll make when building an embedded system. The processor can be one of the most expensive parts of a system, and it must work well with the software. Choosing a CPU that you will end up needing to change later becomes even more expensive. That's because the CPU affects so many other choices you make in building your embedded system.
Qt helps you develop embedded systems that work well and you can get into the market quickly and at a low cost. Qt gives developers the special tools that help them build cutting-edge embedded systems. Those tools help developers with a wide range of applications and needs—including everything from creating two-dimensional and three-dimensional graphical interfaces to building systems featuring advanced automation. With Qt you can have one implementation and cross-deploy from low-end to high-end products, if your product line has both, and something in between as well.
Use our ROI estimator to estimate what your return on investment will be by migrating to Qt.