I want to start developing embedded applications on ARM and I am looking into the tools options and honestly it's quite confusing.

I am trying to decide on which IDE and debugger I will be using and so far I see the most common are:



Looking into all this options I can so far see that Keil and IAR are the industry most preferred IDE (despite looking horribly old...but most people say they compile very optimized code), and they do have some free versions.

The real issue for me is which debugger to choose. U-link only works with Keil, and I-jet only works IAR, but J-Link work with both and appear to be very good (I am not aware if using J-Link will leave some IDE special functions unavailable, I am just saying it appears to be good because it's faster to upload code). BUT all of them are really expensive (there is a student version of J-Link but it can't be used for profitable projects so I am inclined to not choose that one).

Then comes the classic poor man's choice: Olimex (around U$50-U$75). But Olimex appears to only work with IAR (and I like to have the ability to use the debugger on the IDE) and some other Open Source softwares only.

What puzzles me is I don't see many people speaking about LPC-Link2 from NXP. It's cheaper than all of them and you can upload J-Link firmware and it will work with IAR and Keil for just U$28,00! Since I don't see many people talking about it, it makes me feel there some "catch", something I am missing on it...

So what I want from this post is basically:

  1. What is your current tools choice (IDE and Debugger)?
  2. Why?
  3. Any tools you used before and didn't like?
  4. Why?
  5. Did I miss any details or important information in my "tools" options small review?
  6. Do you know why people don't speak much about the LPC-Link2? Are there any issues with the debugger? Performance is not good or something else? (this question is optional)

For the moderators:

I know this kind of question is not like the general Q&A type, and it becomes more of a "survey", but it's nice because it will upvote the most trusted and liked tools combinations and it will serve as future reference for future beginners like me (and can be updated as things are released in the market). Please do not close it, this can REALLY help people out!

For the moderators who placed this post on hold:

First of all, this IS the major electronics source of information out there, and there aren't many others to go. For beginners the questions usually will be about "how this works", but also, SPECIALLY in electronics, they will be "which platform should I choose and why?". Is software development there are multiple websites to point out pros and cons, but in electronics there aren't, and most decisions on electronics platforms involves buying equipment, and not being able to find the best one, means people will spend money where they shouldn't.

I made this post as a way to document all the possible combinations of ARM development toolchains and pros and cons of each one, asking people why they choose it. Yes there will be a little of "opinion based", but it will come as well with "references and specific expertise", since I made clear to ask for it. I asked "why people use it" and this will be related to their professional expertise and fields, as states the rules:

Primarily opinion-based - discussions focused on diverse opinions are great, but they just don't fit our format well.

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than on facts, references, or specific expertise.

On the other hand, I saw this post in here, which became even a community wiki, and it isn't closed, or on hold. Why my post, which is more complete and will help even more people (people interested in a IDE and a Debugger, not just a compiler) is going to be on hold?

Honestly this kind of decision and inflexibility only harms the community, and I sincerely ask you to re-open this post, or at least close the community wiki one, otherwise, in my opinion this can be seen as a clear case of double standards.


closed as primarily opinion-based by Leon Heller, placeholder, Keelan, Daniel Grillo, Matt Young Aug 26 '14 at 12:52

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.

  • 1
    \$\begingroup\$ First, your question wasn't closed by moderators, it was closed by 5 ordinary users. Second, this question is clearly off topic because it is asking for product recommendations. That's even a specifically stated off-topic reason. Clearly you haven't bothered to read the rules. No, I'm not going to vote to reopen because it was correctly closed and nothing has changed. \$\endgroup\$ – Olin Lathrop Aug 26 '14 at 21:30
  • \$\begingroup\$ If you want to have a discussion about why this question is put on hold, and if this was a correct decision, the best would be to put a question on Electrical Engineering Meta. \$\endgroup\$ – Keelan Aug 26 '14 at 21:32
  • \$\begingroup\$ Olin I didn't check who voted, and yes, I just read part of it, the part that I quoted. Camil, ok I never used the Meta, didn't knew about it. But why mine has to be closed and the other one doesn't? \$\endgroup\$ – mFeinstein Aug 26 '14 at 22:32
  • \$\begingroup\$ Perhaps a better place to ask this might be one of the ARM product forums such as the STM32 Forum. \$\endgroup\$ – Tut Aug 28 '14 at 10:48
  • \$\begingroup\$ @Tut I wanted to make this as public and independent as possible...besides the stackexchange will "bubble up" the combination that most people use and like, which will show more than the simple answer.....this made me have an idea...time to go to meta... \$\endgroup\$ – mFeinstein Aug 28 '14 at 18:59

What is your current tools choice (IDE and Debugger)?

For IDE I use the Keil and for debugger I use the J-link


For the Keil: because it's simple and support all MCUs from all companies and has a good debugger environment and it's company has a good experince in making and designing compilers and IDEs and somewhat cheaper than other due to these features

For the J-link: it was available to me and a lot compilers and IDEs support it and it support all ARM MCUs and it has many extra features. it's like a standard in the ARM debuggers world.

Any tools you used before and didn't like?

I used the IAR for a couple time. well this swedish compiler is good but was not suitable for me. if you are a professional C coder and you have enough money then it will be a good choice for you as the Keil is. but IAR is very expensive.


I had heared that the IAR is perfect but I never understood why some guys say that the IAR is perfect?

Did I miss any details or important information in my "tools" options small review?

keep in mind, if you don't choose a famous tool for your job and when you faced to a problem, there aren't many guys to consult to you for your problem!

Do you know why people don't speak much about the LPC-Link2? Are there any issues with the debugger? Performance is not good or something else? (this question is optional)

because of the above reason ^ (also IMO)

  • \$\begingroup\$ I never said I don't have enough money, I just don't want to spend thousands of dollars in something that might not be the best option or even necessary. I am inclined to spend as much as U$300 in a debugger but I will rather to spend less. \$\endgroup\$ – mFeinstein Aug 26 '14 at 4:20
  • \$\begingroup\$ What about IDEs, what do you use/like and which debugger do you use/like? If you could answer following the numbers it will be most welcome. \$\endgroup\$ – mFeinstein Aug 26 '14 at 4:21
  • \$\begingroup\$ @mFeinstein Ok, I changed the answer. \$\endgroup\$ – Roh Aug 26 '14 at 5:30
  • \$\begingroup\$ thanks a lot! I agree with you, I prefer to use famous tools so there will be a big community to help. Out of curiosity which is your J-Link model? \$\endgroup\$ – mFeinstein Aug 26 '14 at 5:48
  • \$\begingroup\$ You're welcome. this: shop-us.segger.com/J_Link_p/8.08.00.htm \$\endgroup\$ – Roh Aug 26 '14 at 7:58

Like a lot of engineers I use IAR, but that is mainly for legacy reasons. That is, engineers before me used it to develop products I have to maintain, so I also use it for new products. There is a version of Workbench that is free, with the only limitation being 16K code size, which is enough for quite a few projects.


I'm not sure if you are looking to work with a specific ARM microcontroller or microprocessor, but you might consider MikroE's STM32 tool chain, it's pretty comprehensive: http://www.mikroe.com/stm32/

They have compilers, debuggers, programmers, dev boards, and development accessories.

I have used their PIC compiler and products when I was in college to work on projects. I still use their tools to do rapid prototyping professionally. MikroE's support forums are fairly helpful too.


You can get ULink knockoff for about 20 dollars, and so far it worked very well for me. The only limitation is ,because all of them have the same serial number, that you can connect only one ULink to one PC.

But if you are serious about it and have the money, go for the expensive Jtagjet trace or Ulink pro, they can save a lot of headache.

  • \$\begingroup\$ can you point me some website of this "knockoff"? \$\endgroup\$ – mFeinstein Aug 26 '14 at 20:03
  • \$\begingroup\$ @mFeinstein For example here. The whole ebay is swarming with them. You have to be careful and pick the right version that can be upgraded from uVision (not sure if this particular is suitable). \$\endgroup\$ – venny Aug 26 '14 at 20:12
  • \$\begingroup\$ I found this J-Link: ebay.com/itm/… but it's just too cheap to be true... \$\endgroup\$ – mFeinstein Aug 26 '14 at 20:34

Not the answer you're looking for? Browse other questions tagged or ask your own question.