What you’ll learn:
- What are the essentials to a robust cloud-based dev environment?
- How does cloud-based embedded development streamline the evaluation process?
- The main parts to cloud-based IDE evaluation.
I find it rather odd that we don’t see more embedded development in the cloud. With so many of us working remotely, the opportunity to leverage cloud applications has grown significantly. Cloud-based applications are used extensively for email, office, and collaboration. However, the use of cloud-based development tools is still quite rare.
Why would you want to use a cloud environment for embedded development? The answer is quite simple: to make it easy. The premise behind development tools hosted in the cloud is to facilitate the task of finding, downloading, and installing everything you need for evaluation and development.
The amount of content required just to get started has significantly expanded. As a result, the process can take several hours, if not an entire day. When a new development kit arrives, you just want to get to work—not waste time setting up an environment. And with cloud development tools, you can start using your new development board immediately when it arrives.
Part of the challenge in using a cloud-based tool is accessing all libraries, drivers, and stacks that you need for development. If you still have to download a bunch of software, then you’re not gaining much with a cloud-based tool. For a cloud environment to be useful, all of the required embedded software packages also have to be available in the cloud.
While I feel that it will be a while before cloud-based tools are suitable for everyone to use exclusively for development, in my opinion, they’re ideal for evaluation and initial development. When your new development board arrives, you can simply go to a website. Then that website can identify the board you’re using and direct you how to get started with your evaluation (Fig. 1).
Steps to Take for Evaluation
To begin the evaluation, you will usually experiment with example projects or demo applications. Typically, these are included with the software development kit (SDK) that’s designed for your board. With a cloud-based environment, you should be able to browse through all of this content online without needing to download and install a large SDK (Fig. 2).
Once you’ve found what you’re looking for, a cloud-based integrated development environment (IDE) will let you build that example and then program your development board (Fig. 3). For evaluation, basic capabilities such as stepping and breakpoints would be needed. All of this can be possible from within your browser without needing to install hundreds of megabytes of software.
So why don’t more people use cloud tools? Cloud-based IDEs have been around for several years. They have been popular in university environments because they greatly simplify lab setups. However, commercial use has historically been limited. That’s changing, though, because embedded software packages, or SDKs, you need to perform any sort of meaningful evaluation and development are also available in the cloud.
Another thing to consider when looking at developing in the cloud is the evolution of how developers use and configure software. Instead of searching through detailed application-programming-interface (API) references, users now expect a graphical user interface to configure drivers and other software stacks. The tool then generates the necessary configuration code instead of having to write it by hand (Fig. 4). These configuration tools also must be available in the cloud for a developer to effectively use the provided software.
At some point in your development, you’ll be ready to move to a desktop environment. Even though the cloud and desktop environments may be quite different, the transition from one to the other needs to be smooth. Ensuring that the build system is compatible between the two environments can greatly assist with this transition.
Conclusion
Cloud tools are still a little simple when compared to their desktop counterparts, but they offer a great solution for evaluating and starting development on a microcontroller. What once took most of the day to get started now only takes minutes. As more people start using cloud tools, the level of functionality offered in them will only improve as providers adjust to demand. And in the new world of working remotely for long periods of time, the use of cloud tools will only increase.