This past week I attended the 2019 Arm Techcon in San Jose, California which hosted a series of technology announcements, developer educational sessions and workshops focused around the Arm ecosystem. It was the 15th annual Arm Techcon and as I attended the various keynotes, walked the show floor and attended the conference sessions, I noticed several major trends that will resonate through-out the embedded systems industry not just over the next year, but over the coming decade. Let’s examine a few of these trends.
Trend #1 – Artificial Intelligence Everywhere
Artificial intelligence and machine learning have become some of the embedded systems industries greatest driving buzz words and at Techcon this year they were everywhere. The conference itself had 70 speaking sessions and as I peruse the conference website, I count 25 sessions on artificial intelligence! There’s talk about AI taking over in the next 25 years, but it’s already conquering industry conferences.
While there talks at the conference ranging from panels on the future of AI, to object detection with neural networks, the talks that I found most interesting were those that discussed AI at the edge. Many of these talks weren’t talking about edge AI running on powerful multicore class-A processors, but instead discussed running AI inferences on microcontrollers! Various applications were discussed for AI running these resource constrained devices ranging from simple object detection and keyword spotting to more interesting techniques like preventative maintenance by processing audio from a motor.
If anything was clear, it was that we can soon expect AI algorithms to be running everywhere, in the cloud, at the edge, on our wearable devices and in our most resource constrained devices.
Trend #2 – End-to-End Security
As I talk and interact with developers, teams and companies through-out the world I’ve generally had the feeling that security is still neglected in IoT devices. While I still hold this view, it was encouraging to see that a major trend was end-to-end security and providing the frameworks, tools and processors that developers need to properly secure their products. For example, I saw that there were several announcements about upcoming processor cores that would provide better isolation within the core to improve security.
There also seemed to be an increasing number of developers attending security related sessions. A few critical topics that I saw discussed the Platform Security Architecture along with the API’s that have been designed around PSA. There was also a lot of discussion around Trusted Firmware for Cortex-M (TF-M) and Arm Trustzone. It’s interesting to see that there are foundational open source security solutions that developers can leverage to help accelerate their security implementations. Of course, you have to first perform a security threats analysis to understand what level of security you need in your system which I gave a talk on at the conference.
Trend #3 – The coming Pervasiveness of Multicore Processors
While the server and PC markets have long made use of multicore processors, developers working on real-time embedded systems have often been able to ignore multiprocessing. Most microcontrollers are just a single processing core and if the application requires multi-tasking, developers often leverage an RTOS to properly schedule multiple tasks on that single CPU. It’s become interesting to see that more and more silicon vendors who manufacture microcontrollers are releasing multicore processors. There seem to be several reasons for this.
First, in order to secure IoT applications, some vendors are opting for multicore solutions. An example of this is the Cypress PSoC 64 secure microcontrollers. These microcontrollers have two cores, a Cortex-M0+ which is used as a secure execution environment and then a Cortex-M4 that is used as a rich execution environment for “non-secure” application core.
Second, multiple cores are becoming necessary to handle all the processing that needs to be done by the application. There are plenty of processors out there, but one that I’ve started to experiment with is the STM32H747 which has one Cortex-M7 core and a second Cortex-M4 core. These processors can be independently controlled so one core might be used to run a machine learning inference while a second core is used to handle sensors and cloud connectivity stacks.
Arm Techcon provided me a wealth of new insights and glimpses about where the industry is focused over the coming year and decade. While there are certainly many additional themes, AI, security and multi-core processing stood out to me as being some of the major themes. Each of these is a foundational technology that supports the IoT and our connected world. Companies might still be struggling to determine exactly what their use cases are for their products, but it’s time that developers start to understand how to leverage these technologies so that when the use cases are fleshed out, they’ll be ready.