Skip to main content
Bogdan Golab
Lead
January 19, 2018
Question

Keil vs TrueSTUDIO IDE

  • January 19, 2018
  • 11 replies
  • 5610 views
Posted on January 19, 2018 at 16:19

I have been using Keil IDE for years (as a hobbyist).

Maybe someone who knows both Keil & TrueStudio could share some details about pros & cons.

I know that the primary difference is lack of licensing limits in TS (Keil - 32kB for non F0/L0 MCUs). I have Segger programmer/debugger (read that some  features may need it on TrueStudio).

    This topic has been closed for replies.

    11 replies

    Andrew Neil
    Super User
    January 19, 2018
    Posted on January 19, 2018 at 20:32

    I haven't used TrueStudio but, AIUI, it is just another Eclipse+GCC.

    I have used many Eclipse+GCC.

    I first used Keil (8051 and then ARM) way back in the 90s, but have been away from it for around a decade - mostly with the 

    Eclipse+GCC crowd, plus some VisualStudio based.

    I must say that uVision still seems to be stuck back in the 90s - it is pretty lame by today's 

    standards.

    The Bug Thing about Keil is that you get debugging which Just Works;  setting up the debugging is always a nightmare with 'vanilla' Eclipse - it is the main thing that all the vendor-specific Eclipse offerings (try to) provide.

    And, of course, Keil is vendor-neutral.

    Compiler-wise, Keil is a dedicated cross-compiler, specifically designed for embedded applications. GCC is not - and that shows in a number of places.

    Keil, of course, is now part of ARM - so their compiler really should be good!

    (having said that, ARM themselves do maintain the ARM GCC).

    I haven't done any side-by-side benchmarks recently (meaning, in Cortex days).

    The trouble with all the 

    vendor-specific Eclipse offerings is that they all seem to do a (slightly) different set of tweaks to the 'standard' Eclipse project files - so it is never straightforward to move a project from one to another (or to/from a 'vanilla' Eclipse).

    :(

    I don't know if that is a deliberate attempt at lock-in, or just a by-product?

    HTH

    A complex system that works is invariably found to have evolved from a simple system that worked.A complex system designed from scratch never works and cannot be patched up to make it work.
    Pavel A.
    Super User
    January 19, 2018
    Posted on January 19, 2018 at 20:44

    Ah, free! It's a sweet word - freedom ))

    Just installed it, built a small Cube generated project for my system and got first impressions after uVision5:

     - The compiler and linker are GNU, there already have been observations about quality of gcc code vs. armcc in this forum.

    - Debugger is GDB server on a local ip port, it found my STLINK dongle and seems to work - except of some glitches that can be specific to GNU compiler: especially, weird jumps backwards when stepping thru linear C code.

    - The IDE is obviously Eclipse. It is good news for people comfortable with Eclipse (you can install all your favorite editor plugins and updates). But for a beginner, Eclipse can be intimidating after clean simple IDEs of Keil and IAR.

    - pa

    Alex R
    Associate II
    January 19, 2018
    Posted on January 19, 2018 at 21:04

    Hi,

    I use Keil MDK-ARM and the debugging/tracing capabilities are excellent.

    The IDE editor is ok, but I prefer to edit on another programmer's editor.

    TrueSTUDIO is Eclipse-based, so it may be familiar, as it is used by several other IDE's.

    The new version of TrueSTUDIO for STM32 includes all Pro features at no charge for STM32 developers

    This should include:

    Advanced debugging capabilities

    • CPU fault analyzer
    • Global expressions live watch
    • Real-time data access tracing (SWV)
    • Printf()-style software tracing (ITM)
    • Statistical profiling (SWV)
    • Exception and Interrupt tracing (SWV)
    • Instruction tracing (ETM/ETB + MTB)
    • RTOS Kernel-aware debugging
    • Multi-core/board debugging

    Note that for ETM tracing you would need a Segger J-Trace, not just a J-Link.

    Alex R.

    Pavel A.
    Super User
    January 21, 2018
    Posted on January 21, 2018 at 12:46

    Alex,

    The v 9.0 already is 'pro' so these pro features should be unlocked.

    Have you got the printf over ITM working?

    I could not figure out how to do this in Atollic, In uVision it works for me just fine, either via Keil component or by calling ITM_SendChar directly. In the Atollic gdb - no way?

    Though the editor of uVision looks a bit aged - with this debugger experience as it is now, Keil and IAR don't need to worry yet.

    -- pa

    Bogdan Golab
    Lead
    January 19, 2018
    Posted on January 19, 2018 at 21:37

    Thank you all for your insights.

    Frankly, I do not like eclipse based tools. I use eclipse tools for regular gcc development for Windows and it's too complicated for me when I compare it with Keil.

    Andrew Neil
    Super User
    January 19, 2018
    Posted on January 19, 2018 at 22:30

    I didn't like Eclipse initially, but now going back to Keil shows just how lame uVision is!!

    A complex system that works is invariably found to have evolved from a simple system that worked.A complex system designed from scratch never works and cannot be patched up to make it work.
    Yevpator
    Associate III
    November 17, 2018

    Hello Andrew,

    Would you mind please sharing what you mainly disliked in uVision? I see the most updated version is MDK 5.2.6. Have you ever tried it?

    I am compelled to work Atollic now and after working with it for a month I can tell you that I hate it:

    1. GDB Debugger - WTF ? When I press step in, it goes backwards. Setting a breakpoint in a dead routine, it stops debugging in absolutely other place and etc. I just don't trust it.
    2. IDE -looks nice, but on the other hand, too complicated, not intuitive.
    3. Not stable - too many crashes, where I can't either build or debug until IDE restart (I am using 1 version before the latest).
    4. Sometimes it changes by itself some project configurations .
    5. I tried to use the latest version, but failed to set up the project (not backward compatible)

    I am thinking to convince my boss to move to the MDK, so I am interested to know what are the features you're missing there?

    Zang Man
    Associate II
    January 20, 2018
    Posted on January 20, 2018 at 02:20

    Isn't the free version of Keil limited to 32KB only? In that aspect, I prefer using TrueStudio especially since the latest v9 now is 100% Free for STM32 chips.

    Andrew Neil
    Super User
    January 20, 2018
    Posted on January 20, 2018 at 20:39

    There is a free Keil for STM32L0/F0 which is limited to 256K:

    http://www2.keil.com/stmicroelectronics-stm32/mdk

     

    Otherwise, the 'MDK Lite' is, indeed, limited to 32K:

    http://www2.keil.com/mdk5/editions/lite

     

    but note that commercial use  is now allowed.

    http://www.keil.com/demo/limits.asp

     
    A complex system that works is invariably found to have evolved from a simple system that worked.A complex system designed from scratch never works and cannot be patched up to make it work.
    John Craven
    Senior
    January 22, 2018
    Posted on January 22, 2018 at 16:47

    While it

    TrueStudio

    is '

    just another Eclipse+GCC'

    I can't tell you how many hours i have wasted, trying to follow outdated 'setup guide' for 

    Eclipse, for this use or that use, on window and Linux!  

    Way to many hours! And something always broke, if the setup every ran as the tutorials showed! Every time a total PITA!

    TrueStudio

     downloads, setups up in a click or two. I run CubeMX and my project is setup in

    TrueStudio, in 

    one more click. The first time i use it, there might be a couple clicks/entries to setup an ST-Link or J-Link. And then i am building with no issues! I have used 

    TrueStudio

     since early V7. Upgraded multiple times before the STM V9 with zero issues each time.

    There was more work filling in the download request form and then deleting the subsequent emails from partners trying sell me PRO or other tools, than getting it running! LOL

    Back to 

    '

    just another Eclipse+GCC'...

    The difference, is it works!, and getting productive is uber simple!

    With 

    TrueStudio, 

    All the time spent on

    Eclipse 

    setups and ongoing maintenance, goes to coding, not to waste!

    I never tried the PRO eval, didn't want to know what i was missing! LOL

    Thanks to ST, I now get the pro features too! 

    However, i reserve the right to to tell you if am still happy later, when i am fumbling around with some other IDE, after i need some none STM32 mpu! LOL

    I tried lots of the others.

    I started with free Keil. Hit the 32kb barrier on a project. Pushed my to eval others and settled on

    TrueStudio

    .

    For awhile, i was hard not having some debug features that I had in Keil.

    But i got around that using STM Studio and STM32 ST-LINK Utility with 

    TrueStudio, rather than the PRO version viewer in the IDE.

    Bogdan Golab
    Lead
    January 22, 2018
    Posted on January 22, 2018 at 18:10

    It seems that it works better than what I've seen earlier using other Eclipse based tools (gcc, java).

    Matthew Staben
    Associate
    January 25, 2018
    Posted on January 25, 2018 at 18:58

    A big difference is KEIL is a version controlled compiler and can be used for FDA type projects; GCC cannot.  FDA projects require documented, full re-test of ALL PATHS whenever the checksum changes.  With GCC, the GCC/libraries themselves have to be tested.  Similarly, one likely won't use FreeRTOS for FDA projects because it's not controlled as is Wittenstein's SAFERTOS - unless a full documented, full re-test is performed.  

    fdan00
    Visitor II
    January 29, 2018
    Posted on January 29, 2018 at 13:29

    From the practioners perspective not much difference. Both get the job done. Keil or iar has better support, to a paying customer.

    Truestudio previously supported non stop chips but not any more. It also automatically links on spl. While some may consider that a plus, I personally find it's lack of configurability undesirable, as I write code without Hal or spl.

    Keil 5.0 and later has the right idea in rtp. But it's implementation isn't so great. In that respect, coide got it right, before 2.0. but they are unfortunately dead so you have to manually play with it with newer chips.

    T J
    Senior III
    January 30, 2018
    Posted on January 30, 2018 at 01:35

    Visual Studio is an excellent, well behaved IDE.  but GDB costs over $100.

    Very profession, very fast.

    I use the SWD port, single step, no problem.

    I have programmed '091 '767 L072, L073 all on VS, all very stable.

    I have 1 board left still running on Keil uV5,

    I find it quite difficult to work with.

    I will move it across to VS before the 256k trial runs out

    :(

    I wont be paying in excess of $5000 for that painful, slow, uncooperative, old hand IDE.

    ax0018
    Associate III
    May 15, 2018
    Posted on May 15, 2018 at 16:31

    For educational purposes it would be nice if TS had a pure assembly project option, so that target MCU and debugger can be selected and then everything else is done by the user from scratch. This can easily be done in Keil.