Author Topic: Alternative to CooCox for STM32 development  (Read 19425 times)

0 Members and 1 Guest are viewing this topic.

Offline Pack34

  • Frequent Contributor
  • **
  • Posts: 667
Alternative to CooCox for STM32 development
« on: May 07, 2016, 02:56:51 pm »
I've been using CooCox at work for STM32 development. I'm about to reboot a project from scratch and figure that this could be a good chance for a clean break.

It's a moderately sized project that has a lot of issues, such as the USB dropping out. The code works but just has odd events that occur and break the firmware. I'm planning to reboot from scratch and start over. Then just copy in all of the code that doesn't have low level hooks into the processor and see where that takes me.

I bring up switching from CooCox because although the IDE seems to function fine, I'm uncertain of the future of the IDE and would prefer to look into something else and I'm willing to pay for it.

I know that IAR is standard for this kind of stuff but it's just going to be out of my price range. I can definitely make the case to purchasing for anything ~$500 to $800 but a 5k purchase will be out of the question.

I also know that Keil is popular, but I've used that with Cypress development and it just feels like a pain to use.

Does anyone have any suggestions to look at?

 

Offline jnz

  • Frequent Contributor
  • **
  • Posts: 465
Re: Alternative to CooCox for STM32 development
« Reply #1 on: May 07, 2016, 03:10:54 pm »
I quite like Keil. Found IAR to be like stepping into a time machine.

It all depends on how you work, but I honestly never saw any appeal in the coocox-like options. Too small to trust IMO, too big where it's easy to hide and miss bugs. I don't know.

I moved from MPLAB to Keil and it was one of the best moves I could have made!
 

Offline dannyf

  • Super Contributor
  • ***
  • Posts: 8229
  • Country: 00
Re: Alternative to CooCox for STM32 development
« Reply #2 on: May 07, 2016, 03:47:12 pm »
Quote
I'm uncertain of the future of the IDE

I think it is dead. Very sad as I'm the biggest fan of theirs.

As an alternative, you can try emblocks/embitz: i have been its user since its beta days (but only for pic24) and have been very happy.

Quote
Does anyone have any suggestions to look at?

I continue to use coide because they support the chips that I play around with.

I have also Keil (4.x) and IAR. vs. CoIDE, they offer better debug support and a more utilitarian editor. Not as user friendly, and can be difficult to set up for a new project - less of a problem in actuality.

I see myself continuing to use CoIDE in the foreseeable future. At least until RTE is sufficiently improved / supported.

Another option that you may try, if you are migrating down from the higher end, is DS-5.
================================
https://dannyelectronics.wordpress.com/
 

Offline richardman

  • Frequent Contributor
  • **
  • Posts: 427
  • Country: us
Re: Alternative to CooCox for STM32 development
« Reply #3 on: May 07, 2016, 05:33:20 pm »
Within that price range, you are either looking at a "freebie" like Embitz, roll your own with Eclipse/GCC, or one of ours
https://imagecraft.com/products/jumpstart-c-tools-menu/jumpstart-c-features The majopr disadvantage of our tools is that it is (currently) Windows only. The plus is that the CodeBlocks IDE loads much faster than Eclipse, and our compiler is much faster than GCC, and we have our own debugger. On top of that, we have JumpStart API which gets people started on the STM32F much faster (which may not matter as much as you probably all the low level bits figured out).

The demo is fully functional for 45 days, and you can contact us if you have any questions.
// 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 Pack34

  • Frequent Contributor
  • **
  • Posts: 667
Re: Alternative to CooCox for STM32 development
« Reply #4 on: May 07, 2016, 06:30:06 pm »
I'm just not interested in rolling my own. I'd rather have a decent quality tool I have to pay for and someone else manages.

I just don't want to be caught with my pnts down nd productivity halts.
 

Offline jnz

  • Frequent Contributor
  • **
  • Posts: 465
Re: Alternative to CooCox for STM32 development
« Reply #5 on: May 07, 2016, 07:28:24 pm »
I'm just not interested in rolling my own. I'd rather have a decent quality tool I have to pay for and someone else manages.

I just don't want to be caught with my pnts down nd productivity halts.

Honestly, I was in the same position and Keil v5 (v6 next couple months) was my choice because it's directly from ARM. I take issue with certain aspects, but at the end of the day, there was just too much support to walk away from Keil or IAR.
 

Offline Pack34

  • Frequent Contributor
  • **
  • Posts: 667
Re: Alternative to CooCox for STM32 development
« Reply #6 on: May 07, 2016, 07:29:42 pm »
I see that IAR has a plugin for eclipse. Dies anyone have experience with this? If the actual iar interface is dated then this could.be an easy transition for me with coocox since it's also elclipse based.
 

Online blueskull

  • Supporter
  • ****
  • Posts: 12657
  • Country: cn
  • Power Electronics Guy
Re: Alternative to CooCox for STM32 development
« Reply #7 on: May 07, 2016, 07:36:29 pm »
Here is a list of tools I have used:
Keil uV5: top tier tool, free for STM32L0 and F0 devices. Free for other devices if final binary is small than 32k. Officially supported by ST.
ImageCraft: better code density than gcc, with easy to use debugger, low cost, $250. My choice for fast prototyping on F0 and F4.
gcc: my golden standard and first choice tool, absolutely C standard compatible, with almost no bugs, but libc is not as efficient as commercial ones.

Tools I know, but have not used:
IAR: no idea about it. Officially supported by ST.
Atollic: free commercial grade tool with no compiler limitations, paid pro version supports advanced debugging. Officially supported by ST.

PS. I'm not a fan of debugger -- I can use serial printf or even a blinking LED plus an o'scope to diagnose 99% of the bugs and do performance and power profiling.
Therefore, even the crudest gcc and serial downloader satisfies my needs.
 

Offline Kilrah

  • Supporter
  • ****
  • Posts: 1808
  • Country: ch
Re: Alternative to CooCox for STM32 development
« Reply #8 on: May 07, 2016, 09:07:25 pm »
Generic text editor, cmake/make/gcc/dfu-util, a serial port for debug and you're done. That's how we do it on the projects I work on.

From my experience on the type of devices I work on (extensive use of on-chip and off-chip peripherals) debugging tools are mostly useless as they break the real-time nature of the application, and most issues are critically linked to events that happen outside of the CPU itself. I'll rather send debug traces over serial or dump them to the device's SD card for low speed stuff (and use LEDs for very slow things!) and toggle pins I can look at on a scope or logic analyzer for high speed stuff.

We do use CoOS as it's makes for a pretty nice lightweight scheduler but never used their other tools.

I found debugging tools useful for the little bit of dabbling I've done on PC programming, but for embedded real-time stuff no way.
« Last Edit: May 07, 2016, 09:11:49 pm by Kilrah »
 

Offline daybyter

  • Frequent Contributor
  • **
  • Posts: 396
  • Country: de
Re: Alternative to CooCox for STM32 development
« Reply #9 on: May 07, 2016, 09:27:45 pm »
I just used the arduino IDE.
 

Offline dannyf

  • Super Contributor
  • ***
  • Posts: 8229
  • Country: 00
Re: Alternative to CooCox for STM32 development
« Reply #10 on: May 07, 2016, 11:35:41 pm »
Quote
I'm not a fan of debugger -- I can use serial printf or even a blinking LED plus an o'scope to diagnose 99% of the bugs

Actually, you don't have to use printf / blinking led / oscope to diagnose 100% of the bugs: think about how people wrote code back in the dark ages.

The use of any debugging tools, being it printf, led or oscope or a hardware debugger, is not a question of "must" but a question of efficiency. It is much easier to inspect the hardware with a debugger than a printf or a blinking led. Sure, there are other ways for you to do that but not as efficiently.

The same is with an IDE, or even a compiler / assembler: it is entirely possible to write in binary. But the use of tools like an assembler, a compiler, an ide and a hardware debugger makes your life easier.

================================
https://dannyelectronics.wordpress.com/
 

Offline dannyf

  • Super Contributor
  • ***
  • Posts: 8229
  • Country: 00
Re: Alternative to CooCox for STM32 development
« Reply #11 on: May 07, 2016, 11:36:55 pm »
Quote
it is entirely possible to write in binary.

I still remember my days of developing DOS .com executables entirely through debug.com.

:)'
================================
https://dannyelectronics.wordpress.com/
 

Online blueskull

  • Supporter
  • ****
  • Posts: 12657
  • Country: cn
  • Power Electronics Guy
Re: Alternative to CooCox for STM32 development
« Reply #12 on: May 07, 2016, 11:38:58 pm »
I still remember my days of developing DOS .com executables entirely through debug.com.

Yes, I did this back in ~03, writing a program to bypass HDD restoration card.
 

Online langwadt

  • Super Contributor
  • ***
  • Posts: 1617
  • Country: dk
Re: Alternative to CooCox for STM32 development
« Reply #13 on: May 08, 2016, 12:56:34 am »
I've been using CooCox at work for STM32 development. I'm about to reboot a project from scratch and figure that this could be a good chance for a clean break.

It's a moderately sized project that has a lot of issues, such as the USB dropping out. The code works but just has odd events that occur and break the firmware. I'm planning to reboot from scratch and start over. Then just copy in all of the code that doesn't have low level hooks into the processor and see where that takes me.

I bring up switching from CooCox because although the IDE seems to function fine, I'm uncertain of the future of the IDE and would prefer to look into something else and I'm willing to pay for it.

I know that IAR is standard for this kind of stuff but it's just going to be out of my price range. I can definitely make the case to purchasing for anything ~$500 to $800 but a 5k purchase will be out of the question.

I also know that Keil is popular, but I've used that with Cypress development and it just feels like a pain to use.

Does anyone have any suggestions to look at?

http://www.openstm32.org/System+Workbench+for+STM32

it is STs own eclipse/gcc


 

Offline dannyf

  • Super Contributor
  • ***
  • Posts: 8229
  • Country: 00
Re: Alternative to CooCox for STM32 development
« Reply #14 on: May 08, 2016, 01:21:53 am »
Quote
I did this back in ~03,

then you would appreciate the beauty of coding in binary, :). no compiler, no ide, no text editor, no linker, .... Nothing between you and your machine, :)

When ever people attempt to show their manhood by insisting on coding in assembly, I always have the urge to tell them that no real men code in ASCII, :)
================================
https://dannyelectronics.wordpress.com/
 

Offline dannyf

  • Super Contributor
  • ***
  • Posts: 8229
  • Country: 00
Re: Alternative to CooCox for STM32 development
« Reply #15 on: May 08, 2016, 01:23:21 am »
If you are making a living off your tools, do yourself a favor and get a commercial one. You don't want to end up in a situation where you have to doubt your tools.
================================
https://dannyelectronics.wordpress.com/
 

Online blueskull

  • Supporter
  • ****
  • Posts: 12657
  • Country: cn
  • Power Electronics Guy
Re: Alternative to CooCox for STM32 development
« Reply #16 on: May 08, 2016, 01:40:20 am »
then you would appreciate the beauty of coding in binary, :). no compiler, no ide, no text editor, no linker, .... Nothing between you and your machine, :)

When ever people attempt to show their manhood by insisting on coding in assembly, I always have the urge to tell them that no real men code in ASCII, :)

Having too much time to spend. I was 11 at that time -- school education. In China every class is 45 minutes long, including computer classes. I have to find something to do during the 45 minutes, and I do not want to play with the stupid Macromedia (not even Adobe) Flash and Authoware.

Backing to topic, I do not think debugging with serial or GPIO is slow. A "proper" debugger, such as the MSP430FET with IAR, freezes 50% of the time I try to download the program.
No, I'm not willing to spend $$$$ on a commercial debugger such as a J-Link, I only use the free chip manufacturer's on board debugger.
 

Offline dannyf

  • Super Contributor
  • ***
  • Posts: 8229
  • Country: 00
Re: Alternative to CooCox for STM32 development
« Reply #17 on: May 08, 2016, 01:49:08 am »
Quote
I do not think debugging with serial or GPIO is slow.

So you suspect that register A doesn't have the right value. So you write a piece of code to print it on the serial window.

While the code is running, you suddenly realize that maybe the real problem is register B. What do you do then? You stop it and add a line to print register A.

With a debugger, you simply walk over to that register and read its value.

Cases like that are plenty.

Now, that's not to say that serial prints have no value - it allows (near) real time reporting which a hardware debugger doesn't do, until recently: swo, RTT and j-scope and the latest st-link v2-1 with integrated virtual comm ports for example are examples where debuggers are integrating some form of real-time reporting capabilities.

================================
https://dannyelectronics.wordpress.com/
 
The following users thanked this post: thm_w

Offline richardman

  • Frequent Contributor
  • **
  • Posts: 427
  • Country: us
Re: Alternative to CooCox for STM32 development
« Reply #18 on: May 08, 2016, 02:05:00 am »
Not sure why we are talking about debugger, but one of the best things is to examine the IO registers. Let's say your I2C EEPROM access just don't work right. You HAVE set up the registers, but what if *something* set them to the wrong things? You never know. Well, you can of course use printf to print them out, but once you know they are indeed correct, you must then remove the printfs so they are useless (I use printf myself to leave bread crumbs). A debugger that lets you look at the IO registers come in handy in that situation. Just check the registers once, and if they are correct, then you can just forget about them and go on to other potential culprits.
// 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
 

Online blueskull

  • Supporter
  • ****
  • Posts: 12657
  • Country: cn
  • Power Electronics Guy
Re: Alternative to CooCox for STM32 development
« Reply #19 on: May 08, 2016, 02:11:16 am »
With a debugger, you simply walk over to that register and read its value.

Just a matter of what one is used to do. I've been programming since 8, and I'm now 13 days to my 24th birthday. I think I can solve most problems without a debugger.
I do not use a debugger even when programming for PC. I only use gdb when my program encounters some really serious problems, such as a sigsegv/sigabrt/sigpipe.
Being said, I'm not a professional programmer. I do EE side of things more than CS or CE sides, but I have some projects that are longer than 10k LOC, one being my senior design, which is an integrated robotic car system with CV algorithm in plain C (>10k LOC including CV, server, MCU and Android app), the other one being a multiphysics simulator for my current research since I can not afford COMSOL (input parser, librarian, meshing engine, platform manager, solvers, user program compiler, simulation engine linker and plotter, in C and C++).

Edit: typo.
« Last Edit: May 08, 2016, 02:14:57 am by blueskull »
 

Online blueskull

  • Supporter
  • ****
  • Posts: 12657
  • Country: cn
  • Power Electronics Guy
Re: Alternative to CooCox for STM32 development
« Reply #20 on: May 08, 2016, 02:14:03 am »
swo, RTT and j-scope and the latest st-link v2-1 with integrated virtual comm ports for example are examples where debuggers are integrating some form of real-time reporting capabilities.

It's more like a work flow thing. I like printf, and I do not care if it is provided by UART or JTAG. In fact, CCES+ICE1000 support printf through JTAG, and I'm happy to use it.
 

Offline ez24

  • Super Contributor
  • ***
  • Posts: 3092
  • Country: us
  • L.D.A.
Re: Alternative to CooCox for STM32 development
« Reply #21 on: May 08, 2016, 02:23:28 am »
Pack34

Have you looked at this :

https://imagecraft.com/

From what I think (their site is a little confusing) the compiler, IDE, and debugger is $400 (commercial version), which is in your price range.  Richard correct me if I am wrong.

They have a development board that comes with a non-commercial compiler license for $100 and $50 for the debugger (forum discount, not documented).  This seems a safe way for a professional to check them out.

They have been around since the 90's and one of them is a member on this forum. And as far as I can tell the only one.  Seems this would be a plus for forum members.

(FYI - I have no connection with them)
« Last Edit: May 08, 2016, 04:33:37 am by ez24 »
YouTube and Website Electronic Resources ------>  https://www.eevblog.com/forum/other-blog-specific/a/msg1341166/#msg1341166
 

Offline Pack34

  • Frequent Contributor
  • **
  • Posts: 667
Re: Alternative to CooCox for STM32 development
« Reply #22 on: May 08, 2016, 02:42:04 am »
If you are making a living off your tools, do yourself a favor and get a commercial one. You don't want to end up in a situation where you have to doubt your tools.

That's precisely why I started this thread. I'd prefer to look at paid tools. I can most likely get anything under a grand approved easy. But anything over that I'll have to convince someone higher up to approve it. Since CooCox still does work on our machines I find it unlikely that I'll get approval.
 

Offline richardman

  • Frequent Contributor
  • **
  • Posts: 427
  • Country: us
Re: Alternative to CooCox for STM32 development
« Reply #23 on: May 08, 2016, 03:51:10 am »

https://imagecraft.com/

From what I think (their site is a little confusing) the compiler, IDE, and debugger is $500 (commercial version), which is in your price range.  Richard correct me if I am wrong.

Hmm... that's bad that if our site is confusing. Can you (or anyone else) send me a PM or email me richard@imagecraft.com with critiques in this area? I will have the web team look into it.

The commercial version of the compiler/IDE starts at $249, and if you want a debugger license, that's $150. So $400-.

For newbies transitioning from AVR/Arduino, the JumpSTart MicroBox is a great way to learn, as mentioned.
// 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 ez24

  • Super Contributor
  • ***
  • Posts: 3092
  • Country: us
  • L.D.A.
Re: Alternative to CooCox for STM32 development
« Reply #24 on: May 08, 2016, 04:42:56 am »

Hmm... that's bad that if our site is confusing. Can you (or anyone else) send me a PM or email me richard@imagecraft.com with critiques in this area? I will have the web team look into it.
I will but it will take awhile.  Just minor confusing points (for me at least).  And I only look at the dev board and what comes with it.

One question - is the $50 non-commercial debugger price (with the dev board) for anyone or just EEVBlog members?  This is one of the issues (again with the dev board).

thanks

YouTube and Website Electronic Resources ------>  https://www.eevblog.com/forum/other-blog-specific/a/msg1341166/#msg1341166
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf