Embedded Development: 5 Tools to Try in 2021

Written by peter909098 | Published 2021/01/14
Tech Story Tags: programming | embedded-development | embedded-development-tools | embedded-software-dev-process | latest-tech-stories | vscode | eclipse-ide | mdk

TLDR 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. RT-Thread was born in 2006, it is an open source, neutral, and community-based real-time operating system (RTOS) IAR Systems is the world's leading provider of embedded Systems development tools and services. The company has branches in the United States, Japan, Britain, Germany, Belgium, Brazil and China.via the TL;DR App

1. MDK

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.
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.

2. IAR

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 ...
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

3. RT-Thread Studio

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.
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.

4. Eclipse IDE

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.
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

5. VSCode

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 ...
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
Also published on Reddit.

Written by peter909098 | RT-Thread was born in 2006, it is an open source, neutral, and community-based real-time operating system (RTOS).
Published by HackerNoon on 2021/01/14