SparkFun Forums 

Where electronics enthusiasts find answers.

Everything ARM and LPC
#131431
rmteo1 wrote:
mindthomas wrote:...Though I can recommend the Raisonance Ride7 IDE as it is free and comes with the GNU GCC compiler. This means that there is no compiling limit at all, and it supports *all STM32 devices.
Ota wrote:...anything not based on Eclipse / Netbeans / VS Shell is out of the scope.
Sorry, I was a little too fast at the reply.
I hope you find what you are seek, Thomas :)
#145288
MikroElektronika released STM32 toolchain about a week ago:
http://www.mikroe.com/eng/categories/vi ... -solution/

Here's how people on mikroE Forum reacted to compilers: http://www.mikroe.com/forum/viewtopic.p ... 10#p189110
The way compiler handles GPIO initialization is quite impressive. The easiest approach so far.

I personally find EasyMx PRO v7 for STM32 board (http://www.mikroe.com/eng/products/view ... for-stm32/) to be one of the best board from mikroElektronika. I especially love the EasyTFT board mounted on GLCD connector. This means that you can place either TFT or GLCD on the board, depending on your application.

Aleksandar
#145329
Look at the user reports/history of bugs/flaws in their compilers and run time libraries for Atmel. They have historically been focused on Microchip/PIC 8, essentially exclusively. They bit off more than they can chew in supporting so many CPUs and libraries.
#149498
All ARM IDEs have compilers that can be invoked from the command line, so if you want to use Eclipse, just use Eclipse? It's fairly easy to set it up to work -- especially now that all the major toolchain manufacturers provide Eclipse plugins for free with their software.

As for specific toolchains, my research group moved from IAR (EWARM) to Keil (MDK) very recently, and it's like night and day. MDK produces phenomenal bytecode compared to GCC and IAR. It's kind of a "no duh", seeing as how they're owned by ARM, and, along with RVDS, is ARM's official toolchain.

Keil's Eclipse plugin is easy to install and works really well, and of all the non-Eclipse IDEs out there, I think their IDE (uVision) is the least shitty.

If you want to go open-source/cheap, try the newer CooCox IDE -- it's Eclipse-based, and totally funky. Really built around CMSIS, which is great.

Just my two cents.
#149499
funkathustra wrote:All ARM IDEs have compilers that can be invoked from the command line, so if you want to use Eclipse, just use Eclipse? It's fairly easy to set it up to work -- especially now that all the major toolchain manufacturers provide Eclipse plugins for free with their software.

As for specific toolchains, my research group moved from IAR (EWARM) to Keil (MDK) very recently, and it's like night and day. MDK produces phenomenal bytecode compared to GCC and IAR. It's kind of a "no duh", seeing as how they're owned by ARM, and, along with RVDS, is ARM's official toolchain.

Keil's Eclipse plugin is easy to install and works really well, and of all the non-Eclipse IDEs out there, I think their IDE (uVision) is the least shitty.

If you want to go open-source/cheap, try the newer CooCox IDE -- it's Eclipse-based, and totally funky. Really built around CMSIS, which is great.

Just my two cents.
I totally agree with you on the CooCox IDE - it's a great solution for hobbyists who don't have thousands of dollars to spend on a Keil license.
We have been using the CoIDE for quite a while now and we really like it. Especially because it also contains the repository which makes a new project even easier to create.
#162023
mindthomas wrote:I totally agree with you on the CooCox IDE - it's a great solution for hobbyists who don't have thousands of dollars to spend on a Keil license.
We have been using the CoIDE for quite a while now and we really like it. Especially because it also contains the repository which makes a new project even easier to create.
Bought an STM32F4Discovery board awhile back, been looking for a decent IDE setup as well.
Is this CooCox IDE still a relevant option as far as freebies go?
About the only other option I've considered is one of the mikroe compilers even at $250USD (probably leaning more towards mikroBasic for ARM, I'm not too fluent in C, and don't really feel like relearning myself completely unless it's absolutely necessary).
#162150
skimask wrote:
mindthomas wrote:I totally agree with you on the CooCox IDE - it's a great solution for hobbyists who don't have thousands of dollars to spend on a Keil license.
We have been using the CoIDE for quite a while now and we really like it. Especially because it also contains the repository which makes a new project even easier to create.
Bought an STM32F4Discovery board awhile back, been looking for a decent IDE setup as well.
Is this CooCox IDE still a relevant option as far as freebies go?
About the only other option I've considered is one of the mikroe compilers even at $250USD (probably leaning more towards mikroBasic for ARM, I'm not too fluent in C, and don't really feel like relearning myself completely unless it's absolutely necessary).
CooCox is an option although you are going to have to forego any idea (very highly recommended) of using BASIC.
#162172
rmteo1 wrote:
skimask wrote:
mindthomas wrote:I totally agree with you on the CooCox IDE - it's a great solution for hobbyists who don't have thousands of dollars to spend on a Keil license.
We have been using the CoIDE for quite a while now and we really like it. Especially because it also contains the repository which makes a new project even easier to create.
Bought an STM32F4Discovery board awhile back, been looking for a decent IDE setup as well.
Is this CooCox IDE still a relevant option as far as freebies go?
About the only other option I've considered is one of the mikroe compilers even at $250USD (probably leaning more towards mikroBasic for ARM, I'm not too fluent in C, and don't really feel like relearning myself completely unless it's absolutely necessary).
CooCox is an option although you are going to have to forego any idea (very highly recommended) of using BASIC.
Are you recommending to use BASIC?
When it comes to microprocessors and even programming in general I would disrecommend using or even learning Basic.

I did that mistake in my early days, making programs for Windows. And look at me know, right now I am stuck making programs in Visual Basic .NET instead of the more feature rich Visual C# .NET, which is used more commonly on the market.

So for microprocessors especially, programming in C makes all your development a lot more versatile and easier to use on different devices if necessary.

But that's just my opinion!
#162177
No, I am not recommending the use of BASIC that the previous poster indicated he wanted to stay with. It is good that you realized your mistake of going with BASIC. The issue is that many beginning developers are under the misconception that BASIC is easier to use and has all the features/capabilities of C when in reality BASIC encourages sloppy/bad programming habits and has nowhere near the breadth of C which is the industry standard (whether MCU or PC applications).
#162181
rmteo1 wrote:CooCox is an option although you are going to have to forego any idea (very highly recommended) of using BASIC.
Ya, I knew that.
Two totally different worlds.
meh...may as well prep myself for a steep learning curve.
#162182
rmteo1 wrote:No, I am not recommending the use of BASIC that the previous poster indicated he wanted to stay with. It is good that you realized your mistake of going with BASIC. The issue is that many beginning developers are under the misconception that BASIC is easier to use and has all the features/capabilities of C when in reality BASIC encourages sloppy/bad programming habits and has nowhere near the breadth of C which is the industry standard (whether MCU or PC applications).
Ahh, sorry for my misunderstanding. It was the word "forego" in your previous comment that I must have missed :)
I totally agree with your statement about the misconception of BASIC - and I can only say that I've been in the same situation.
#162202
rmteo1 wrote:when in reality BASIC encourages sloppy/bad programming habits
That sounds like a case of the 'pot calling the kettle black'. If you are trying to imply that C encourages good programming habits then you could not be further from the truth. OK - it might be marginally better than BASIC and has improved a little since the 1970's but it is far from ideal.
#162203
mindthomas wrote:And look at me know, right now I am stuck making programs in Visual Basic .NET instead of the more feature rich Visual C# .NET, which is used more commonly on the market.
Do you mean stuck because you haven't learnt C# yet? Otherwise you are not stuck - you could start using C# today without having to throw away your VB code. .NET is specifically designed so that you can intermix code from different languages (more than 40 the last time a counted a few years ago). We regularly use a mix of C# and Component Pascal. In your case you could even decompile your VB code to C# code if you wanted to.
#162213
skimask wrote:
rmteo1 wrote:CooCox is an option although you are going to have to forego any idea (very highly recommended) of using BASIC.
Ya, I knew that.
Two totally different worlds.
meh...may as well prep myself for a steep learning curve.
Actually it is not so much a (steep) learning curve as much as a mindset change. For someone already familiar with programming/coding concepts like yourself it can be accomplished in a very short time frame (I am talking about just a few days) - at least that was the case in my experience.

BTW, these days I work with a programmming language called MQL4 (which is based on C) for applications in the financial investment arena - totally unconnected with microcontrollers and such but it does illustrate the leverage you derive from a knowledge/familiarity with C. Here is an example code fragment:
Code: Select all
   if(myOrderType == 2 && ContinueOpening) 
     {
       if((LastPrice-Ask) >= Pips*Point || OpenOrders < 1) 
         {        
           BuyPrice = Ask;
           LastPrice = 0;
           //----
           if(TakeProfit == 0) 
               tp = 0; 
           else 
               tp = BuyPrice + TakeProfit*Point; 
           //----
           if(InitialStop==0)  
               sl = 0; 
           else 
               sl = BuyPrice - InitialStop*Point; 
           //----
           if(OpenOrders != 0) 
             {
               mylotsi = lotsi;            
               for(cnt = 1; cnt <= OpenOrders; cnt++)
                      if(MaxTrades > 12) 
                          mylotsi = NormalizeDouble(mylotsi*1.5, 1); 
                      else 
                          mylotsi = NormalizeDouble(mylotsi*2, 1); 
             } 
           else 
               mylotsi = lotsi; 
           //----
           if(mylotsi > 100) 
               mylotsi = 100; 
           OrderSend(Symbol(), OP_BUY, mylotsi, BuyPrice, slippage, sl, tp, NULL, 0, 0, 
                     Blue);            
           return(0);
         }
     }