Author Topic: Inexpensive ARM Development Tools  (Read 72396 times)

0 Members and 1 Guest are viewing this topic.

Offline photon

  • Regular Contributor
  • *
  • Posts: 234
  • Country: us
Re: Inexpensive ARM Development Tools
« Reply #50 on: January 12, 2016, 09:32:34 am »
I notice that ARM now has an LLVM compiler. It differs from their GCC compiler in that the customer must now pay a lot of money for the LLVM compiler while their GCC compiler is free. Must be the non-GPL license loop hole.
 

Offline nctnico

  • Super Contributor
  • ***
  • Posts: 26751
  • Country: nl
    • NCT Developments
Re: Inexpensive ARM Development Tools
« Reply #51 on: January 12, 2016, 11:54:39 am »
I notice that ARM now has an LLVM compiler. It differs from their GCC compiler in that the customer must now pay a lot of money for the LLVM compiler while their GCC compiler is free. Must be the non-GPL license loop hole.
I noticed the same! Besides that I'm wondering what the actual code generation improvement is compared to GCC and how long it will take before support for LLVM becomes really mainstream. There is a tendency for some people to declare stuff obsolete because there is something new on the horizon but fail to see the (potential) problems early adopters have to deal with. I don't doubt LLVM looks better under the hood (cleaner sourcecode) but for me as a compiler user I only really care about the output.
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline dannyf

  • Super Contributor
  • ***
  • Posts: 8221
  • Country: 00
Re: Inexpensive ARM Development Tools
« Reply #52 on: January 12, 2016, 12:05:06 pm »
"Must be the non-GPL license loop hole."

Choices are always good.
================================
https://dannyelectronics.wordpress.com/
 

Offline Sal AmmoniacTopic starter

  • Super Contributor
  • ***
  • Posts: 1662
  • Country: us
Re: Inexpensive ARM Development Tools
« Reply #53 on: January 12, 2016, 04:56:00 pm »
Just spent another evening messing around with another Eclipse-based IDE. Why do I put myself through this torture?  |O

Are there any ARM IDEs based on NetBeans? That would be so much better than Eclipse, based on my experience doing non-embedded development with it and my experience with MPLAB X.
Complexity is the number-one enemy of high-quality code.
 

Offline neslekkim

  • Super Contributor
  • ***
  • Posts: 1305
  • Country: no
Re: Inexpensive ARM Development Tools
« Reply #54 on: January 12, 2016, 06:37:08 pm »
GCC + Whatever you're comfortable with, all the way.  This way, I have the same development environment for STM32 (F0->F7), Nordic nRF51, TI CCxxxx, Ralink MIPS, ESP8266, etc..

No commercial IDE even comes close to offering something similar.

What IDE do you use?, eclipse?
Do you have any links/startingpoints etc, on how to set up an environment with multiple toolchains?
When installing vendor specific solutions, the computer gets littered with various versions  of IDE's, toolchains everywhere and so on, would be nice to have one setup at one place so I can move things around, now, if I move anything, I guess I would break everything..
 

Offline ElektroQuark

  • Supporter
  • ****
  • Posts: 1244
  • Country: es
    • ElektroQuark
Re: Inexpensive ARM Development Tools
« Reply #55 on: January 12, 2016, 06:39:44 pm »
Quote from: Sal Ammoniac on Today at 17:56:00
Just spent another evening messing around with another Eclipse-based IDE. Why do I put myself through this torture?  |O

Are there any ARM IDEs based on NetBeans? That would be so much better than Eclipse, based on my experience doing non-embedded development with it and my experience with MPLAB X.



Why not use EmBitz?

Offline nctnico

  • Super Contributor
  • ***
  • Posts: 26751
  • Country: nl
    • NCT Developments
Re: Inexpensive ARM Development Tools
« Reply #56 on: January 12, 2016, 07:43:32 pm »
Or explain what the problem is with Eclipse...
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline photon

  • Regular Contributor
  • *
  • Posts: 234
  • Country: us
Re: Inexpensive ARM Development Tools
« Reply #57 on: January 12, 2016, 07:51:44 pm »
"Must be the non-GPL license loop hole."

Choices are always good.
If you have the money.
 

Offline Sal AmmoniacTopic starter

  • Super Contributor
  • ***
  • Posts: 1662
  • Country: us
Re: Inexpensive ARM Development Tools
« Reply #58 on: January 12, 2016, 10:29:28 pm »
Or explain what the problem is with Eclipse...

It's too bloody sluggish. Opening up a workspace takes a long time. Navigating the UI is sluggish. Downloading code to a board takes too long. Single-stepping code takes 1-2 seconds per step. It all adds up to a poor experience.

And it's not just performance issues. Eclipse has a messed up workspace/project paradigm that's needlessly complicated, poorly designed perspectives, metadata that gets out of sync easily--I could go on and on.

I have used MPLAB X extensively. It's based on NetBeans and it's much faster than Eclipse and without as many of Eclipse's UI quirks. That seems to me to be a better option than Eclipse. Another option is IntelliJ, which is also much nicer than Eclipse and is open source.

What I'm trying to say here is that there are viable alternates to Eclipse (NetBeans and IntelliJ) to base an IDE on (assuming insufficient resources to write an IDE from scratch in a proper language such as C++). Too many companies seem to take the path of least resistance and go with Eclipse, despite its shortcomings. I think the market is ripe for a good alternative.
Complexity is the number-one enemy of high-quality code.
 

Offline nctnico

  • Super Contributor
  • ***
  • Posts: 26751
  • Country: nl
    • NCT Developments
Re: Inexpensive ARM Development Tools
« Reply #59 on: January 13, 2016, 07:11:43 am »
Or explain what the problem is with Eclipse...

It's too bloody sluggish. Opening up a workspace takes a long time. Navigating the UI is sluggish. Downloading code to a board takes too long. Single-stepping code takes 1-2 seconds per step. It all adds up to a poor experience.
As I wrote before: the default theme Eclipse uses can be very slow. Changing the theme made a world of difference to me.
Quote
And it's not just performance issues. Eclipse has a messed up workspace/project paradigm that's needlessly complicated, poorly designed perspectives, metadata that gets out of sync easily--I could go on and on.
The workspace/project paradigm is just fine but it is intended to work on very large projects (workspace) consisting of multiple sub-projects (projects) so it may be overkill for a single microcontroller project. In my use of Eclipse I have VHDL code, PC code and microcontroller code in one workspace.
Metadata getting out of sync is a matter of tweaking the file monitoring settings in Eclipse.

OTOH: nothing helps if your PC is extremely slow. Indexing a large project with lots of includes is going to take a while if you have a slow hard drive.
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline eas

  • Frequent Contributor
  • **
  • Posts: 601
  • Country: us
    • Tech Obsessed
Re: Inexpensive ARM Development Tools
« Reply #60 on: January 13, 2016, 08:42:05 am »
I notice that ARM now has an LLVM compiler. It differs from their GCC compiler in that the customer must now pay a lot of money for the LLVM compiler while their GCC compiler is free. Must be the non-GPL license loop hole.

Must? No. Maybe? Perhaps.  One can charge an arm and a leg for GPL licensed software and give non-GPL software available for free.  So, you should probably consider alternative explanations. There are a few.
 

Offline VEGETA

  • Super Contributor
  • ***
  • Posts: 1916
  • Country: jo
  • I am the cult of personality
    • Thundertronics
Re: Inexpensive ARM Development Tools
« Reply #61 on: January 13, 2016, 11:15:57 am »
So what is the industry standard IDE for ARM MCUs today? I mean, what the professionals use for designing products.

Offline richardman

  • Frequent Contributor
  • **
  • Posts: 427
  • Country: us
Re: Inexpensive ARM Development Tools
« Reply #62 on: January 13, 2016, 01:07:04 pm »
CodeBlocks IDE, which is written in GCC, is quite fast. Our compiler loads and compiles quite fast as well. We could have gone with Eclipse when we were deciding, but the speed issue weighs heavily.
// richard http://imagecraft.com/
JumpStart C++ for Cortex (compiler/IDE/debugger): the fastest easiest way to get productive on Cortex-M.
Smart.IO: phone App for embedded systems with no app or wireless coding
 

Offline cgroen

  • Supporter
  • ****
  • Posts: 631
  • Country: dk
    • Carstens personal web
Re: Inexpensive ARM Development Tools
« Reply #63 on: January 13, 2016, 01:21:10 pm »
So what is the industry standard IDE for ARM MCUs today? I mean, what the professionals use for designing products.

We are using Keil for all of our products in the company, have been doing so for 12 years.
Using it on ARM mostly, but also 805x in the earlier years.
Same for my own hobby projects, always using Keil
 

Offline Sal AmmoniacTopic starter

  • Super Contributor
  • ***
  • Posts: 1662
  • Country: us
Re: Inexpensive ARM Development Tools
« Reply #64 on: January 13, 2016, 02:32:18 pm »
So what is the industry standard IDE for ARM MCUs today? I mean, what the professionals use for designing products.

Keil and IAR. Both of these are in the USD$4-5K range, however, so they are not used much by hobbyists unless the code size limitation imposed by the free versions isn't an issue.
Complexity is the number-one enemy of high-quality code.
 

Offline theatrus

  • Frequent Contributor
  • **
  • Posts: 352
  • Country: us
Re: Inexpensive ARM Development Tools
« Reply #65 on: January 13, 2016, 03:29:41 pm »

I notice that ARM now has an LLVM compiler. It differs from their GCC compiler in that the customer must now pay a lot of money for the LLVM compiler while their GCC compiler is free. Must be the non-GPL license loop hole.

Must? No. Maybe? Perhaps.  One can charge an arm and a leg for GPL licensed software and give non-GPL software available for free.  So, you should probably consider alternative explanations. There are a few.

This is exactly what Microchip does with their PIC16/32 compilers - for an extra $1k you gain back the optimizer settings in GCC. Dubious at best.
Software by day, hardware by night; blueAcro.com
 

Offline theatrus

  • Frequent Contributor
  • **
  • Posts: 352
  • Country: us
Re: Inexpensive ARM Development Tools
« Reply #66 on: January 13, 2016, 03:36:29 pm »

So what is the industry standard IDE for ARM MCUs today? I mean, what the professionals use for designing products.

Last firmware job I had used a parameterized meta builder (which I overhauled a few times): it kicked out project files for IAR as well as Makefiles, depending on the compiler in use for that product variant. There was a big precedent for code reuse in the same repository line, and we had large scale automated tests to avoid regressions on all those variants. There were only 5 firmware developers.

Used Emacs and SublimeText as editors, and only used IAR for debugger access.
Software by day, hardware by night; blueAcro.com
 

Offline Sal AmmoniacTopic starter

  • Super Contributor
  • ***
  • Posts: 1662
  • Country: us
Re: Inexpensive ARM Development Tools
« Reply #67 on: January 13, 2016, 04:49:22 pm »
This is exactly what Microchip does with their PIC16/32 compilers - for an extra $1k you gain back the optimizer settings in GCC. Dubious at best.

Since their compilers are based on GCC, there's nothing stopping anyone from downloading the source from the Microchip site, removing the licence manager code, and compiling it.
Complexity is the number-one enemy of high-quality code.
 

Offline Sal AmmoniacTopic starter

  • Super Contributor
  • ***
  • Posts: 1662
  • Country: us
Re: Inexpensive ARM Development Tools
« Reply #68 on: January 13, 2016, 04:56:23 pm »
OTOH: nothing helps if your PC is extremely slow. Indexing a large project with lots of includes is going to take a while if you have a slow hard drive.

Let's see... My development machine is an 8-core Core i7 Haswell-E box with 32 GB of RAM. The C: drive, where Java and Eclipse reside, is two SSDs in RAID-0. The graphics board is an Nvidia GTX 980Ti.

Do you think this machine is fast enough to run Eclipse?  :-DD
Complexity is the number-one enemy of high-quality code.
 

Offline Godzil

  • Frequent Contributor
  • **
  • Posts: 458
  • Country: fr
    • My own blog
Inexpensive ARM Development Tools
« Reply #69 on: January 13, 2016, 05:02:18 pm »
Nope it's not. All Eclipse aficionados that claim that it's because your computer is not on par, are just experiencing cognitive dissonance.

And I would have recommended CrossWorks, but lots of other already have done here.

Just a few words about their licensing scheme:
- there is now a free license with limited output size
- if you own a named license you are able to run CW on all your own computer and on all the three systems (OS X, Linux and Windows) without restrictions
- they provide both GCC and CLang based compiler
- they provide their own C library (in an open source manner)
- crossword is extensible, you don't have to install all the existing library and can do it on the fly
- no need to Internet access to validate every days that you have the right to use the software
- support is done really quickly and in a really efficient way (I had a really good contact with them)
- and the full price for commercial is only $1500 which compared to all other commercial packages, really cheap. ($150 for a personal non commercial license)
« Last Edit: January 13, 2016, 05:09:25 pm by Godzil »
When you make hardware without taking into account the needs of the eventual software developers, you end up with bloated hardware full of pointless excess. From the outset one must consider design from both a hardware and software perspective.
-- Yokoi Gunpei
 

Offline zapta

  • Super Contributor
  • ***
  • Posts: 6189
  • Country: us
Re: Inexpensive ARM Development Tools
« Reply #70 on: January 13, 2016, 06:04:03 pm »
Nope it's not. All Eclipse aficionados that claim that it's because your computer is not on par, are just experiencing cognitive dissonance.

I am using eclipse professionally on large software projects. When I say large I mean really large, not measly binaries with just a few tens of MBs, and it works just great. Same goes when I use it for small hobby LPCXpresso M0 hobby projects on a low end 11" Macbook Air.

YMMV.
 

Offline Sal AmmoniacTopic starter

  • Super Contributor
  • ***
  • Posts: 1662
  • Country: us
Re: Inexpensive ARM Development Tools
« Reply #71 on: January 13, 2016, 06:25:23 pm »
I am using eclipse professionally on large software projects. When I say large I mean really large, not measly binaries with just a few tens of MBs, and it works just great. Same goes when I use it for small hobby LPCXpresso M0 hobby projects on a low end 11" Macbook Air.

Yep. YMMV. I've often found that people who use Eclipse on embedded projects think it works great because they don't have anything to compare it to.
Complexity is the number-one enemy of high-quality code.
 

Offline Brutte

  • Frequent Contributor
  • **
  • Posts: 614
Re: Inexpensive ARM Development Tools
« Reply #72 on: January 13, 2016, 06:40:20 pm »
I use Eclipse Luna + plug-ins for hobby development on windoze XP. Underclocked CoreDuo 750MHz with 3GB of RAM.

As for stepping speed of Eclipse OP whinges so much about, I have done Hello World project for ARMv7M (STM32L-Discovery) and when I press F6 continuously:

Code: [Select]
printf("Eclipse Luna stepping on ARMv7M + ST-link/V2\n");
for(int iterate=0; iterate != 100; iterate ++){
volatile int step_count =0;
step_count+=1;
step_count+=2;
step_count+=4;
}
it does 16 full loops under 30 seconds (each loop has 4 steps). So that is over two steps per second.
Mind I did not state the are no faster stepping IDEs but OP's 2s sounds impossible (or OP has messed up something badly with setup).
 

Offline Godzil

  • Frequent Contributor
  • **
  • Posts: 458
  • Country: fr
    • My own blog
Re: Inexpensive ARM Development Tools
« Reply #73 on: January 13, 2016, 06:42:50 pm »
How can you compare an "hello world project" with less than 10 lines of code, with a Multi GB project?

I've tryed Eclipse in the different company I have worked to select an IDE, it never has been able to load the full project on each, and on one of these jobs it was nothing more than the Linux kernel...
When you make hardware without taking into account the needs of the eventual software developers, you end up with bloated hardware full of pointless excess. From the outset one must consider design from both a hardware and software perspective.
-- Yokoi Gunpei
 

Offline nctnico

  • Super Contributor
  • ***
  • Posts: 26751
  • Country: nl
    • NCT Developments
Re: Inexpensive ARM Development Tools
« Reply #74 on: January 13, 2016, 06:47:31 pm »
I am using eclipse professionally on large software projects. When I say large I mean really large, not measly binaries with just a few tens of MBs, and it works just great. Same goes when I use it for small hobby LPCXpresso M0 hobby projects on a low end 11" Macbook Air.

Yep. YMMV. I've often found that people who use Eclipse on embedded projects think it works great because they don't have anything to compare it to.
I would not trade Eclipse for Freescale's old Code Warrior, Keil uVision, IAR's Workbench or Visual Studio. Unfortunately there can be several reasons for Eclipse to run slow so you really need to investigate instead of just bashing. Eclipse is (among) the most used IDEs in the world; do you really think that so many people will want to use an IDE which is slow? For example Panda anti-virus made Eclipse take 2 minutes to compile a project which otherwise took 20 seconds.

@Godzil: the Linux kernel does take a while to index and you have to configure Eclipse to use more memory but it can handle the Linux kernel just fine! Been there, done that.
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf