When it comes to Keil and IAR, you might think their integrated development environment interfaces are quite outdated and not user-friendly. But here’s a fact: whether you are a beginner in microcontroller programming or an experienced developer, the usage of Keil and IAR is significantly higher compared to other tools, and it’s not just a little bit.
Let me ask, how many friends here who develop microcontrollers have not encountered Keil or IAR?
According to incomplete statistics, over 90% of beginners in microcontroller programming will come into contact with Keil or IAR. Moreover, many engineers with over ten years of experience continue to use Keil as their main tool.
In fact, there’s another phenomenon that illustrates that Keil and IAR are the main development tools for microcontrollers: many MCU manufacturers recommend using these IDEs, or provide code examples specifically for Keil or IAR projects, especially for domestic 32-bit MCUs (you can find the answer on their official websites).
Having established that Keil and IAR are currently the mainstream integrated development environments for microcontrollers, which one should you choose?
My answer is: install both and use them for a while; whichever you find more suitable or easier to use is the one to go with.
My principle is: there is no best, only what suits you.
However, one thing to note is that before making a choice, you need to learn more and try both. How would you know which one is suitable for you without trying?
Referring back to the choice between Keil and IAR, from my observations and understanding: more people choose Keil over IAR.
Whether through back-end messages, WeChat groups, or private messages, the discussions are predominantly about Keil, while discussions about IAR are relatively sparse.
This means that the current overall situation is: Keil is more popular than IAR.
Why Is Keil More Popular Than IAR?
Both Keil and IAR are mainstream IDEs for developing microcontrollers, but when compared, Keil still surpasses IAR for the following reasons.
1. Keil Is More Suitable for Beginners
A large portion of microcontroller beginners start with the 51 series, and Keil C51 is the best choice for the C51 microcontroller, which leads many beginners to choose Keil and continue using it as their main development tool after entering the workforce.
Additionally, these beginners also use Keil as their primary development tool when working with 32-bit microcontrollers (e.g., STM32, GD32).
2. Smaller Installation Files for Keil
Keil and IAR have different software versions for different types of microcontrollers. Keil offers four types: C51, C251, C166, MDK, etc. IAR has more: EW8051, EWAVR, EWMSP430, EWSTM8, EWARM, etc.
However, regardless of the version, when compared horizontally, Keil performs better in terms of installation package size, installation time, and disk space usage after installation.
Smaller Installation Package for Keil:
For example, the latest version of Keil C51 V9.61 is only 104MB, while IAR EW8051 V10.40 is 421MB.
Similarly, for other versions, for instance, Keil MDK V5.38a is only 887MB, while IAR EWARM V9.40.1 is 1.61GB.
Shorter Installation Time for Keil:
Installation time is hard to quantify as it varies with different computer configurations.
But on the same computer, comparing installation times reveals a significant difference between Keil and IAR, especially for the ARM version software. For instance, the latest version of Keil MDK V5.38a can be installed in just 2 minutes, while the latest version of IAR EWARM V9.40.1 may take up to 10 minutes.
Smaller File Size After Installation for Keil:
Not only is the installation package smaller, but the files (folders) occupied after installation are also smaller. This is particularly true for ARM version software, for instance: Keil MDK V5.36 occupies only 2.7GB after installation, while IAR EWARM V9.30 occupies 8GB of space.
3. Keil Has Lower Computer Configuration Requirements
If you bring out a computer from ten years ago, you can still use Keil, but using IAR might be a bit difficult.
Of course, this refers to the same conditions (installing software from the same time period). For example: using Keil MDK V5.30 and IAR EWARM V8.50, you’ll find that the CPU usage skyrockets when using IAR EWARM, making the fan noise unbearable.
4. Keil Debugging Is More Convenient
When it comes to debugging, for ARM-core chips like STM32 and GD32, if Keil MDK claims it’s second, I doubt anyone would claim first.
Why? Because Keil and STM32 are the “children” of ARM, and while some debugging features/components may be better in other tools, overall, Keil’s debugging capabilities are superior.
Of course, IAR’s debugging features are also strong compared to many other manufacturers’ tools; at least most commonly used features are adequate.
5. Better Compatibility with Keil
Again, comparing Keil MDK and IAR EWARM.
You will find that using a higher version of Keil software to open lower version project files usually poses no problem. For example, using Keil MDK V5 software to open V4 version projects works seamlessly; the official has made it compatible, and you just need to click “migrate.”
In contrast, IAR EWARM often encounters various issues when opening files across major versions, especially when transitioning from V6, V7, to V8.
Of course, Keil also has compatibility issues, but overall, it has fewer problems than IAR.
Finally, everyone is welcome to leave comments and discuss: Do you choose Keil or IAR? What is your reason?