More Productivity with Cloud services
March 01, 2021
Arm’s Reinhard Keil is presenting a keynote IoT track at embedded world Digital which explores More Productivity with Cloud Services.
He will give an update on next generation tooling supporting a dual approach of cloud and desktop. Keil’s talk will show how Keil Studio can be deployed as a cloud version. It can load projects created in the classic desktop version, Keil MDK. This gives development teams the flexibility to adopt cloud technology over time.
Reinhard Keil explained: “Cloud services have been growing substantially for several years. Just think about office applications which make documents accessible on various devices, customer relations management systems in customer service or, especially during the COVID-19 pandemic, the numerous video conferences.
“As far as software development is concerned, it is the version management and related tools such as issue tracking which are increasingly being transferred to the cloud. It therefore makes more sense for multinational groups to use services such as GitHub today, rather than maintaining their own IT and server infrastructures. This also enables decentralised development teams or collaborations with other companies, who should not be provided with direct access to in-house IT systems.
“The trend for working from home has increased due to the Corona pandemic and we assume that these alterations in our daily work routines will be long lasting. Here at Arms, we were initially sceptical about the ability of our infrastructure to bear the additional load, but the majority of our staff have been working from home since March 2020, practically without any problems.”
Keil says he can see cloud services playing an important role in the following four areas:
“Software as a service" (SaaS) with software development tools
Instead of installing a software development environment locally on a computer, you can access a finished setup through a cloud provider. The IDE is thereby run over the browser and the actual compiling takes place on a cloud server. This is therefore mostly quicker.
He commented: “We have been using this technology for numerous years with the Arm Mbed platform and, with Keil Studio, we will soon have a cloud based development environment available for all Cortex-M microcontrollers. This system will not cost the user anything for the product evaluation of various microcontrollers and simple projects. You will be able to easily connect the evaluation boards of various semiconductor manufacturers via USB and instantly load, test and edit various sample programmes on the target system. This removes the need for a complicated tool installation and the samples are always up to date. This saves considerable amounts of time when comparing microcontrollers from various manufacturers.”
Continuous Integration (CI) of software amendments
Said Keil: “You can now extend version management services such as GitHub for continuous integration with test systems. This is already common practice in many applications. In the case of embedded applications, the problem typically lies with the target hardware. This is why we provide powerful simulation environments which can model subsystems without any hardware. A CI system then automatically provides the software developer with information, such as e.g. whether one of their amendments has retroactive effects or has been integrated successfully. This means that errors can be identified early on, thereby leading to a faster path to higher quality. The automotive industry in particular already makes widespread use of CI.
Software updates for installed systems
Over the air (OTA) updates are already available on many devices but they still require user interaction. OTA updates will be increasingly automated and will also be implementable for small microcontroller systems. Software development can therefore be stretched and you can initially launch a system with minimal features on the market quicker. These features can then be expanded upon via OTA updates to adapt a product generation, which already is on the market, to new requirements. Not only does this make products more competitive, it can also lead to new business models in the long term.
IoT systems can utilise the cloud to provide precious data to manufacturers. For example, when you can report important parameters via the system status, then potential errors can be punctually identified before they can lead to a system failure. This reduces the required maintenance effort. Also think about operational data i.e. the data which the system receives through sensors in the environment. When you can determine operational peculiarities which have not been considered in development, then you might be able to additionally improve your system's features. The cloud also provides you with enough processing power to implement artificial intelligence (AI) to analyse the datasets of an extensive installation basis.
Any limitations to this approach?
Cloud systems, by definition, require an internet connection, which therefore constitutes a limitation. Instructions tracing in software development requires real-time processing as well as a large bandwidth for the data. This means that in the foreseeable future, such systems will require local processing power and thereby rely on a local tool installation on a desktop computer.
Reinhard Keil explained: “That’s why we have adopted a dual approach for our software development tools: both cloud and desktop based. The cloud variant of Keil Studio can directly load projects from the Keil MDK desktop version and vice versa. This provides the necessary flexibility and enables a gradual transition to cloud technology.
He sees the future being very much around Artificial Intelligence / AI on the edge. He said: “With Arm Cortex-M55 and Ethos-U55/65, we now possess the processor technology which is required in order to implement complex AI in the IoT edge. These processors are now being integrated in microcontrollers by our silicone partners. The requirements for real-time AI can now be fulfilled, which currently is not possible when running the actual AI algorithm on a cloud server. Furthermore, sending the growing data quantities from billions of IoT edge systems for centralised AI over the internet is not sustainable in the long run.”