5 embedded development tools to look forward to in 2021
Published: 2021-01-06 09:38:42


## MDK

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/evhwmt1jmlq7i3cihgp1.png)

MDK, namely RealView MDK or MDK-ARM (Microcontroller Development Kit), is an embedded software development tool for ARM processors such as ARM7, Arm-9, Cortex-M0, Cortex-M1, Cortex-M2, Cortex-M3, Cortex-R4, launched based on the uVision UI after ARM acquired Keil.

MDK is designed for microcontroller applications and is powerful enough to satisfy most demanding embedded applications. It is available in four versions: MDK-Lite (free evaluation version), MDK-Essential, MDK-Plus, and MDK-Professional. All versions provide a full-fledged C/C++ development environment, with MDK-Professional including a number of intermediate libraries.

Download MDK5: https://www2.keil.com/mdk5

### Advantage

- Stable and reliable：MDK has been used by many companies, schools and independent developers, and its quality is excellent
 
- Abundant documents：Because of the large number of MDK users, there are numerous resource tutorials online

### Disadvantage

- Expensive：Due to the high price, many small businesses, independent developers, students can not afford the cost of software

- The code editor is terrible：MDK was born a long time ago, the code editor is basically the same as the text editor of the system; Code highlighting, word completion, code formatting, and syntax analysis are important editing functions that are almost non-existent in MDK, so writing code is laborious, which leads to poor coding style and habits for many developers.

***
## RT-Thread Studio

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/3b0lm7zwlawu9vn94ege.png)

RT-Thread Studio is a one-stop RT-Thread development tool created by The RT-Thread IDE team. It makes the development of Internet of Things simple and efficient through an easy-to-use graphical configuration system and rich software package and component resources.

The functions of RT-Thread Studio mainly include project creation and management, code editing, SDK management, RT-Thread configuration, construction configuration, debugging configuration, program download and debugging, etc. And the combination of graphical configuration system, software package and component resources can reduce duplication of work and improve development efficiency.

Rt-thread Studio is developed by the Eclipse platform, and its UI design and style are inherited from Eclipse, which is a huge benefit for developers used to Eclipse. 

Meanwhile, RT-Thread Studio simplifies the complex configuration of Eclipse and simplifies the configuration mode of users as much as possible. It only needs to operate the graphical interface to add components and source code package to the project, which is extremely friendly to developers unfamiliar with Eclipse.

Download RT-Thread Studio: https://realthread-ide.rt-thread.org/Global/RT-Thread-Studio-setup-x86_64-latest.exe

### Advantage

- Free：The RT-Thread Studio community version is free forever
 
- SDK management：The SDK manager for RT-Thread Studio allows you to download and update the latest RT-Thread source package online, as well as numerous SDK packages.

- Get started quickly：It has simple project creation wizard, you can create a project framework by wizard.

- Multiple project frameworks：RT-Thread Studio supports a variety of development frameworks for users to choose from

- What you see is what you get：A new graphical configuration system with support for both architecture and tree diagram configurations

- Rich package support：The software package market provides a wealth of available software package resources to facilitate users to add to their own projects

### Disadvantage

- Not very stable：RT-Thread Studio has just been released and is currently under rapid development with frequent updates, so sometimes it has some bugs.

***
## IAR

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/5iy91thoxpjpr26zs110.png)

IAR Systems is the world's leading provider of embedded Systems development tools and services. Founded in 1983, the company has been providing products and services at every stage of the design, development, and testing of embedded systems, including integrated development environments (IDE) with C/C++ compilers and debuggers, real-time operating systems and middleware, development suites, hardware emulators, and state machine modeling tools.

Headquartered in Sweden in northern Europe, the company has branches in the United States, Japan, Britain, Germany, Belgium, Brazil and China. 

Its best known product is the C compiler IAR Embedded Workbench, which supports microprocessors from many leading semiconductor companies. Many of the world's leading companies are using IAR SYSTEMS 'development tools to develop their leading edge products, from consumer electronics, industrial control, automotive applications, healthcare, aerospace to mobile application systems ...

Moreover, there are several versions of IAR for different embedded development requirements, such as: IAR For ARM，IAR For STM8，IAR For AVR，IAR For 8051 ...

Download IAR: https://www.iar.com/iar-embedded-workbench/

### Advantage

- Stable and reliable：The IAR has been focused on developing tools for decades and is widely recognized by the market, so it is extremely reliable

- Compilation optimization is excellent：The IAR focuses on the development of compiler tools, which compile very quickly and produce small, fast programs

- Clean software UI：Compared to MDK, IAR's software UI looks much better

### Disadvantage

- Expensive：Due to the high price, many small businesses, independent developers, students can not afford the cost of software

- The code editor is terrible：Like MDK, the IAR's code editor is terrible, with some basic functionality missing

***

## Eclipse IDE

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/30aeshz9o7rv92ggoaf7.png)

Eclipse is as a cross-platform free integrated development environment (IDE). It was initially used primarily for Java language development, and different computer languages can be supported by installing different plug-ins for Eclipse. 

Eclipse itself is only a framework platform, and the support of many plug-ins makes it easy for Eclipse to have the flexibility that other relatively fixed IDEs doesn't have. So many software developers use Eclipse as a framework to developing their own ides.

The Eclipse embedded CDT plug-in allows you to create, build, debug, and manage ARM/RISC-V projects (executables and static/shared libraries, 32-bit and 64-bit versions) using the Eclipse IDE.

Download Eclipse Embedded CDT: https://projects.eclipse.org/projects/iot.embed-cdt

### Advantage

- Free：Eclipse is open source software, so you don't have to pay for it

- Cross-platform：Eclipse is developed by Java, so it can run on different operating systems

- More modern UI：Compared to MDK and IAR, Eclipse has a better UI and supports a variety of topics, making the UI less boring

### Disadvantage

- Complex project creation process：The Eclipse IDE has fewer built-in templates, and many settings to configure if you create projects manually

- Complex configurations：Eclipse has many configurations, is very complex, and has many features that you wouldn't normally use

***

## VSCode

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/u472l4xwseenp1k9vtnn.png)

VSCode, full name Visual Studio Code, is a lightweight code editor produced by Microsoft, free, open source and powerful. It supports syntax highlighting, smart code completion, custom hotkeys, parenthesis matching, code snippets, code contrast diff, git, and plug-in extensions. The software supports Windows, Mac and Linux across platforms.

VSCode also has many plug-ins that can be used for embedded development, such as PlatformIO, CMake ...

Download Vscode: https://code.visualstudio.com/

### Advantage

- Free：VSCode is open source software, so you don't have to pay for it

- Cross-platform：VSCode runs on NodeJS, which is cross-platform and therefore can run on different operating systems

- Powerful editing function：VSCode built-in mainstream programming language syntax highlighting, word-based code completion, code fragments ... By installing the appropriate plug-in, you can get stronger code analysis and prompt capabilities.

### Disadvantage

- Configuration is various：VSCode and plug-ins have a lot of configuration, and the configuration is represented in Json text, and if you have too many plug-ins, the configuration becomes cumbersome

- Speed is affected by plug-ins：Too many plug-ins will cause vscode to start and run slower, as well as consume a lot of memory

- Not every plug-in is great：Because many plug-ins are developed by individual developers, the functionality and reliability of plug-ins are not guaranteed