Common Software Tools for Embedded Development

Author | strongerHuang

WeChat Official Account | Embedded Column

Readers have asked: What software tools are generally used in embedded development?

Today, I’ll take some time to organize a list of commonly used software tools, hoping to be helpful for everyone.

Integrated Development Environment (IDE)

Embedded software engineers typically use a few integrated development environments (IDEs). Of course, many engineers also set up their own editors, compilers, and debuggers. Below are several commonly used IDEs.
1. Keil
Keil is an IDE that targets most MCUs on the market, ranging from 8-bit to 32-bit. You can refer to my Keil series tutorial for the history and related introductions about Keil.
Website:

http://www.keil.com

(The official account does not support external links, please copy the link into your browser to open)

Keil has categorized its tools for different manufacturers and types of MCUs, currently offering 4 tools: Keil C51, C166, C251, MDK-ARM.
You can follow the official account ‘strongerHuang’ and reply with the keyword Keil series tutorial to see more content.
2. IAR
Similar to Keil, IAR also targets most MCUs on the market, with many basic features found in both tools, making it a commonly used tool among embedded software engineers.
Website:

http://www.iar.com

IAR also has many tools, such as EWxxx, including: EWARM, EW430, and various other IDE tools.
(Different tools).
Of course, there are many names, another type is: IAR for xxx. For example: IAR for ARM, IAR for STM8, etc.
You can follow the official account ‘strongerHuang’ and reply with the keyword IAR series tutorial to see more content.
3. VS
VS: Microsoft Visual Studio, abbreviated as VS, is a series of development toolkits from Microsoft.
Website:

https://visualstudio.microsoft.com

Many readers should know and have learned about VC++6.0, which was a well-known tool back then. VS has developed from it.
VS is a comprehensive development toolset that includes most of the tools needed throughout the software lifecycle.
4. Eclipse
Eclipse is an open-source, Java-based extensible development platform. In itself, it is merely a framework and a set of services for building development environments through plugin components. Fortunately, Eclipse comes with a standard set of plugins, including the Java Development Kit (JDK).
Website:
https://www.eclipse.org

Currently, many development tools are modified from Eclipse, such as STM32CubeIDE, which many STM32 developers know. You will find that many features are similar to Eclipse.

Including the popular Android development a few years ago, which was also developed based on Eclipse.

The above are some commonly used and general integrated development tools. If you haven’t learned about them, you can get to know them.

For more IDEs, you can refer to my article: Embedded Tools | What Integrated Development Environments Are Commonly Used for Microcontrollers?

Software Version Control Tools

Generally, larger companies will use some version control software to manage the company’s code.

Below are two common tools recommended.

1. Git

Git is a free, open-source distributed version control system designed to handle everything from small to large projects quickly and efficiently.

Website:
https://git-scm.com

Git is easy to learn, occupies little space, and has lightning-fast performance. It has features such as local branches, a convenient staging area, and multiple workflows, similar to SCM tools like Subversion, CVS, Perforce, and ClearCase.

Git is one of the most widely used tools today. My previous company also used Git to set up a server for code management, and the operations were relatively simple.

2. SVN

SVN stands for Subversion, an open-source version control system that efficiently manages code through a branching management system. In short, it is used for multiple people to collaboratively develop the same project, sharing resources, and achieving centralized management.

Website:

https://tortoisesvn.net

Before Git, SVN was the most popular code management tool, and many companies still use it today. There are many tutorials available online, and it is also worth learning and understanding.

Code Reading and Editing Tools

A good code reading and editing tool helps improve development efficiency.

1. Source Insight Source Insight is a project-oriented program editor and code browser with built-in analysis for C/C++, C#, and Java programs. It can analyze source code and dynamically maintain its own symbol database while displaying useful contextual information.

Website:

https://www.sourceinsight.com

(The official account does not support external links, please copy the link into your browser to open)

Most embedded engineers should be familiar with Source Insight, and it is not difficult to use, with many tutorials available online. However, the downside is that it is a paid tool and cannot be used openly.
2. VS Code
VS Code: Visual Studio Code is a truly cross-platform editor from Microsoft.
Website:

https://code.visualstudio.com

Compared to Source Insight, VS Code is a latecomer, having been released in 2015.
Its release has been favored by many software engineers. Indeed, time has proven that VS Code is not only powerful but also free.
3. Notepad–
Notepad– is a text editor for the Windows operating system, featuring a complete Chinese interface and support for multilingual writing (UTF8 technology).
Website:

https://gitee.com/cxasm/notepad–

This tool is one that many engineers should have as a text editor.

For more editing tools, you can refer to the article: Embedded Tools | Common Code Editors Used in Embedded Development

File (Code) Comparison Tools

As software developers, we primarily compare code, such as comparing which codes were modified after changes.

1. Beyond Compare
Beyond Compare is a file comparison tool launched by Scooter Software. Its main purpose is to compare two folders or files and highlight differences in color. The comparison scope includes directories, document contents, etc.
Website:

http://www.scootersoftware.com

This tool is a well-regarded foreign tool, with the only downside being that it is paid, and there are agents in China.
It offers a free trial period, and if you want to use it for free, you need to find a way yourself.
2. Code Compare
Code Compare is also a code comparison tool that supports file and folder comparison, merging, and other functions.
Website:
https://www.devart.com/codecompare/download.html
(The official account does not support external links, please copy the link into your browser to download)
It supports integration with source code version control tools, such as SVN, Git, TFS, Mercurial, and Perforce. Code Compare also supports integration with Visual Studio 2015, 2017, and 2019 development environments.
For more code comparison tools, you can refer to the article: Embedded Tools | Common Code Comparison Tools Used by Software Engineers

Project Management Tools

Generally, project managers or project leaders need to master some project management tools.
1. Microsoft Project
Microsoft Project (or MSP) is a project management software program developed and sold by Microsoft. The software is designed to assist project managers in developing plans, allocating resources for tasks, tracking progress, managing budgets, and analyzing workloads.
Website:

https://products.office.com/zh-cn/previous-versions/microsoft-project-2010

(The official account does not support external links, please copy the link into your browser to open)

This tool is recommended for project managers and product managers to understand and learn.
This is just an introduction; I will introduce more commonly used tools later. Of course, it is not necessary for everyone to spend a lot of time mastering these tools; just understand the basics and spend time learning when needed.
———— END ————
Follow the official account and reply with Embedded Tools』『Software Tools』『Microcontroller to read more related articles.
Reply “Join Group” to join the technical exchange group according to the rules, reply “1024” to see more content.

Common Software Tools for Embedded Development

Common Software Tools for Embedded Development

Click “Read Original” to see more shares.

Leave a Comment