Embedded-system design has never been more exciting and challenging. New technologies ranging from 5G to PCI Express Gen 5 to the increased use of machine learning (ML) and artificial intelligence (AI) give developers more choice and more decisions to make, let alone learn.
Dealing with new technologies has always been the bane and allure of embedded systems. The problem these days is that other aspects, such as safety, security and privacy, are part of the puzzle as well and can’t be overlooked. These aspects are no longer optional or uncommon design issues. Almost every system design must address them. It means not doing dumb things like putting a backdoor in a device or assuming an end-user license agreement (EULA) will protect a company when technology errors occur after products are in the field.
Code quality is also becoming critical to all types of embedded systems, not just those dealing with safety- and security-related products like military, avionics, or medical. There’s increased interest in programming languages like Rust and Ada/SPARK for general embedded applications, and C and C++ developers are using tools like static analysis more frequently to improve code quality. This is more arduous, though, because C actually makes it difficult for these tools to provide the level of checking supported by other languages.
Program size and performance are still important, but it’s easier and often more cost-effective to buy more memory or performance for most embedded applications. Trying to squeeze the last byte out of storage or use all of a system’s potential bandwidth is typically a fool’s errand.
Developers should also take advantage of improvements in simulation, test, and measurement. Many of these new or improved tools will address new technologies like 5G and PCIe 5, but a host of existing tools are becoming more readily available and economical. Simulation systems can also expose more debugging information that’s not available on physical systems.
Live Planet’s virtual-reality system uses NVIDIA’s Jetson TX2 to knit video streams from 16 4K cameras.
Platforms like GPGPUs, ML/AI accelerators, and eFPGAs are changing the playing field. NVIDIA’s Jetson TX2 enables products like Live Planet’s virtual-reality system that knits together video from 16 4K cameras (see figure). The newer Jetson AGX Xavier includes even more advanced ML/AI acceleration that improves performance by a factor of 10. This represents just one example of the magnitude of performance increase for new hardware.
Performance disruptions aren’t the only trend. The growth of RISC-V is disrupting Arm’s dominance of the embedded and custom SoC designs even while Arm is pushing into the enterprise and cloud, again.
Unfortunately, this industry has other disruptions that aren’t related to technical advances. Political changes, tariffs, and so on are putting a damper on availability and sales. Distribution-chain considerations may now be a bigger part of the design process.
Then again, if dealing with all of this change was easy, then anyone could do it.