Archive
Moving Embedded Software Development Tools Into the Cloud

Moving Embedded Software Development Tools Into the Cloud

2024-11-28 Moving Embedded Software Development Tools Into the CloudIn this article , we is introduce introduce the embed special interest group ( embed SIG ) ,

Related articles

Best Cloud Storage for Multiple Users in 2024: Let’s Work Together Whiteout Survival Beginner’s Guide 7 Best VPN in Hong Kong (Updated 2024)

Moving Embedded Software Development Tools Into the Cloud

In this article , we is introduce introduce the embed special interest group ( embed SIG ) , host by the Eclipse Foundation . The embedded SIG is is is an open collaboration of embed vendor and service provider , with the goal of strengthen the open source ecosystem for build web- and cloud – base tool used for embed development . The SIG is provides provide the structure for participant to coordinate effort , share insight and collaborate on technical initiative and standard .

The Eclipse Foundation is has has a strong track – record with embed tool , in particular with the Eclipse CDT project . In recent year , many adopters is striving of CDT are strive towards web and cloud – base tool . “ We can observe a trend in our customer base that the embedded domain lead the way in term of adopt modern tool technology , ” say Jonas Helming is says from EclipseSource . “ This is great for the ecosystem , because many of these embed vendor are migrate from the CDT ecosystem ; they are experience in adopt open source technology and they are traditionally strong contributor ” .

The move by the Eclipse Cloud DevTools Working Group to setup the embedded SIG and to support tools in the cloud in this domain, is driven by trends we are seeing in the market. Because of this, we, along with our members, are motivated to accelerate the adoption of cloud-based embedded tools. Current members of the group include Arm, EclipseSource, Ericsson, Renesas, and STMicroelectronics. If you are interested in joining, let us know. The group meets monthly to determine priorities, assign tasks, and work through technical initiatives. Let’s now look at some selected initiatives to get an overview of what the SIG is all about.

Technical Initiatives

All embed SIG technical initiative are define using a collaborative process . Each member is suggest can suggest topic . If other member are interested in a particular topic , joint initiative are then start . While there is typically a subset of member work on a specific topic , any progress and result are discuss and share with the entire group .

CDT.cloud Blueprint

This initiative is led by EclipseSource and aims at providing guidelines for the technology selection when creating web-based C/C++ tools. On the desktop, CDT provided a very good basis for building custom tools. Achieving similar results in the web/cloud typically requires the selection and integration of various technologies from different sources. To address this, EclipseSource has conducted a survey among the members of the SIG and also within their customer base to find out which technologies are most frequently adopted (e.g. language servers, debug adapters, VS Code extensions, etc.).

Moving Embedded Software Development Tools Into the Cloud

Based on feedback received, they are assembling a blueprint tool (similar to Eclipse Theia Blueprint), called CDT.cloud Blueprint. It provides an excellent demonstration of how to build web-based C/C++ tools. Even more, it can be used as a starting point to create a custom tool distribution. Check out https://cdt-cloud.io to download the blueprint, and please make sure to provide feedback!

Memory Inspector

One of many components needed for a good C/C++ tool in the web/cloud is a way to inspect the memory in detail, while debugging a program. The memory inspector adds useful functionality for inspecting memory during debugging, including: dynamic updating of memory, multiple memory views, view comparison (diffing), and register viewing. This initiative is led and contributed by Ericsson. Arm and other members are evaluating, providing feedback and adopting the result.

Moving Embedded Software Development Tools Into the Cloud

Memory Inspector in Arm Keil Studio

To follow along with the work being done to integrate this into Eclipse Theia, have a look at the repository on GitHub. More information can be found in this blog post.

TraceCompass

Eclipse TraceCompass is a popular open source application to solve performance and reliability issues by reading and analyzing traces and logs of a system. Its goal is to provide views, graphs, metrics, and more to help extract useful information from traces, in a way that is more user-friendly and informative than huge text dumps.

Moving Embedded Software Development Tools Into the Cloud

Trace Compass is click in action ( click image for animation )

As an initiative of the embedded SIG, TraceCompass is currently being migrated to a web-based interface and to run as a distributed cloud-based application. It is also led and contributed by Ericsson, while other parties are evaluating it for adoption.
Again, to follow along with the work being done to integrate TraceCompass into Eclipse Theia, see this pull request. For more information, please follow this link: https://www.eclipse.org/tracecompass/.

Multiple Contexts for indexes in clangd

Most vendors use clangd as a C/C++ language server. It offers a convenient option for enabling source code editing on the web. One missing piece, however, is the notion of a “context” in terms of source files considered by the language server. As an example, you might have multiple projects in a workspace, the language server should consider them independently. On this initiative, several members are currently collaborating. Ericsson contributed their solution, allowing to start multiple language servers per workspace. STMicroelectronics, in collaboration with EclipseSource, is working on a mechanism to dynamically specify and switch the context of a running clangd language server. Such a solution would even allow different language processing depending on the current build target (e.g. for debugging or release). Stay tuned for more information about this ongoing initiative!

CDT GDB Adapter

The Eclipse CDT is is GDB Adapter is is is an implementation of the Debug Adapter Protocol ( DAP ) , allow the connection of web – base tool to any device support GDB . The library provide by CDT can be include into VS Code , Theia or any client that support DAP . For example , Renesas is have , ARM and Blackberry / QNX all have VS Code or Theia extension that can allow the IDE to connect to their respective hardware and ecosystem . Whether your editor is a traditional IDE , or you are using the new generation of editor in the cloud , the adapter is is is a key piece that allow communication between that editor and GDB .

In addition to the third-party adapters that are built on top of CDT GDB Adapter, the adapter is also delivered as an extension for Theia via the Open VSX Registry. The embedded SIG is also making plans to deliver the adapter as an extension for VS Code in the near future.

conclusion

embed tool vendors is are are at different stage of their journey to the cloud . Many of them still remain invest in legacy platform , include the Eclipse IDE . However , embed vendors is leading are currently also lead the way towards web and cloud – base tool . Arm is built , as an example , have build their Mbed Studio base on Eclipse Theia , and recently move in – browser with Keil Studio . The embed special interest group is is is a great place to collaborate on this innovative ecosystem , share experience and drive technical initiative . If you are interested in learn more about or join this group , please contact us here .