Open source is only free if your time is worthless. Right?
I use keil, because Keil is ARM. It's not free. MDK-standard is € 3950,-...back in 2012... for when I asked a single user non-profit license.
Apart from the simplistic notepad it features, it does its job as it's supposed to. With plenty of documentation on the toolchain at http://infocenter.arm.com.
Keil also makes quality dev-boards for a variety of platforms. And uses very decent ulink or segger programmers. Also not free. (yet there are clones)
I must admit, on x64 it sometimes suddenly stops rendering the ui. But I'm still on the latest uvision V4 for project compatibility reason. Why upgrade when it works?
Why isn't this a poll?
3950 euro for a gloryfied notepad? Shudder... I have used Keil's uVision4 as well but it really is stuck in the 80's. I know from my own experience it can do a little bit more than what notepad does but uVision4 doesn't stand a chance when compared to Eclipse. IMHO uVision4 is a prime example on an afterthought IDE tinkered together by interns.
There are some really big companies behind Eclipse like IBM, Google and Oracle. They all had the same problem: no decent IDE so they joined forces and built one. There is proper documentation and if you want support then IBM is happy to sell you support for using Eclipse: http://www-03.ibm.com/software/products/nl/ratielitsuppforecli I'm pretty sure you can get paid support from other parties as well.
Does uV4 not balloon variable values on mouse over? Does it not have a code complete? Can you not quickly find function/variable declaration or instances?
Does uV4 not balloon variable values on mouse over? Does it not have a code complete? Can you not quickly find function/variable declaration or instances? I've seen many people write how superior X is over Y and then fail to give specific tools or features they themselves use to come to that conclusion.
Nice thing about this thread is that most people are very happy with the tools they are using.
I use eclipse cdt with gcc. Works for me.
I think there are two points in this discussion that needs seperation:
- Compiler
- IDE
While we're breaking it down to simple constructs there's
-Engineering and
-Business
Many an ideal engineering practice has been screwed over by business constraints and as this is, generally speaking, an engineering forum, I would of thought most would be espousing the virtues of knowing what the tools are doing, creating and how they are creating/translating their intentions in firmware rather than creating an idea in some high level abstraction, pressing a button on the toolbar and watching shit magically happen on your pcb.
Investing time and money on knowing your engineering craft seems like good engineering to me
What I'm trying to say is that I'd rather pay (more) for the right screwdriver that never fails me so I can focus on where and how to put what screws in, instead of one that requires me to think about how to handle that &#%$! driver.
The correct term would be:
How big is your program? because the free version of keil allows up to 32K I believe.
As an addition to my earlier post: A mistake often made is comparing code size results while using GCC with a standard C library inteded for desktop and server applications. The document linked to by Jeroen3 also steps into that trap. If you pair GCC with a small C library (or even a micro-printf) you can create really small code. This is also an area where commercial microcontroller compiler vendors try to make a difference compared to their competitors.
As an addition to my earlier post: A mistake often made is comparing code size results while using GCC with a standard C library inteded for desktop and server applications. The document linked to by Jeroen3 also steps into that trap. If you pair GCC with a small C library (or even a micro-printf) you can create really small code. This is also an area where commercial microcontroller compiler vendors try to make a difference compared to their competitors.Ok, so libraries follows the compiler/toolchain, not the mcu?, so it can just as well be an bloated gcc library that gives the codesize?
In old old day, one had compilers that optimized and linked in only code that was used (I used TopSpeed modula2), and thus could reduce codesize, isn't things implemented like this in the mcu world?, or is it because the architecture of the libraries ties in too much so one cannot optimize out all unused code in the linking?