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

0 Members and 1 Guest are viewing this topic.

Offline Pack34Topic starter

  • Frequent Contributor
  • **
  • Posts: 753
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: 593
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: 8221
  • 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 Pack34Topic starter

  • Frequent Contributor
  • **
  • Posts: 753
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: 593
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 Pack34Topic starter

  • Frequent Contributor
  • **
  • Posts: 753
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.
 

Offline Kilrah

  • Supporter
  • ****
  • Posts: 1852
  • Country: ch
Re: Alternative to CooCox for STM32 development
« Reply #7 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: 397
  • Country: de
Re: Alternative to CooCox for STM32 development
« Reply #8 on: May 07, 2016, 09:27:45 pm »
I just used the arduino IDE.
 

Offline dannyf

  • Super Contributor
  • ***
  • Posts: 8221
  • Country: 00
Re: Alternative to CooCox for STM32 development
« Reply #9 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: 8221
  • Country: 00
Re: Alternative to CooCox for STM32 development
« Reply #10 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 langwadt

  • Super Contributor
  • ***
  • Posts: 4391
  • Country: dk
Re: Alternative to CooCox for STM32 development
« Reply #11 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: 8221
  • Country: 00
Re: Alternative to CooCox for STM32 development
« Reply #12 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: 8221
  • Country: 00
Re: Alternative to CooCox for STM32 development
« Reply #13 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/
 

Offline dannyf

  • Super Contributor
  • ***
  • Posts: 8221
  • Country: 00
Re: Alternative to CooCox for STM32 development
« Reply #14 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 #15 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
 

Offline ez24

  • Super Contributor
  • ***
  • Posts: 3082
  • Country: us
  • L.D.A.
Re: Alternative to CooCox for STM32 development
« Reply #16 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 Pack34Topic starter

  • Frequent Contributor
  • **
  • Posts: 753
Re: Alternative to CooCox for STM32 development
« Reply #17 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 #18 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: 3082
  • Country: us
  • L.D.A.
Re: Alternative to CooCox for STM32 development
« Reply #19 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
 

Offline richardman

  • Frequent Contributor
  • **
  • Posts: 427
  • Country: us
Re: Alternative to CooCox for STM32 development
« Reply #20 on: May 08, 2016, 08:25:11 am »
Very simple: $50 NC compiler, $50 NC debugger. These are for everyone (price dropped on the compiler license).

$100 MicroBox includes the NC compiler license, 2 pieces of hardware, and a c ebook. So the -NC debugger is extra $50 on top of that.
// 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 Kilrah

  • Supporter
  • ****
  • Posts: 1852
  • Country: ch
Re: Alternative to CooCox for STM32 development
« Reply #21 on: May 08, 2016, 08:42:11 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?
I hook up a logic analyzer to the I2C lines and check what's actually going on the bus, that way no doubt regardless of where the fault is.
 

Offline richardman

  • Frequent Contributor
  • **
  • Posts: 427
  • Country: us
Re: Alternative to CooCox for STM32 development
« Reply #22 on: May 08, 2016, 08:49:30 am »
I hook up a logic analyzer to the I2C lines and check what's actually going on the bus, that way no doubt regardless of where the fault is.

I do that too. That just tells you what's wrong with the I2C signals. Not where the fault is. Have you looked at generating I2C as master or slave using for example, the STM32F4 subsystems? Yes, I know some people prefer to bit-bang their own, but there are a lot of advantages to use the built-in peripherals, and a logic analyzer does not tell you everything needed.
// 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 Kilrah

  • Supporter
  • ****
  • Posts: 1852
  • Country: ch
Re: Alternative to CooCox for STM32 development
« Reply #23 on: May 08, 2016, 08:53:50 am »
Have you looked at generating I2C as master or slave using for example, the STM32F4 subsystems?
I actually do that :)

For me once I saw what happened (or didn't) on the bus it has always been quick enough to figure out the reason not to warrant bothering to go fetch the debug probe.

 

Online Mechatrommer

  • Super Contributor
  • ***
  • Posts: 11534
  • Country: my
  • reassessing directives...
Re: Alternative to CooCox for STM32 development
« Reply #24 on: May 08, 2016, 09:33:54 am »
i'm not a fan of electric drill, i can solve it with just the mechanical hand drill, or with just level 8th nail punch karate kongfu with my fingertip, to prove that i am a man enough, the same goes with the debugger. not! i'll use what ever necessary at hand in this modern day. hand drill is good, but if i can have electric drill as well, its better, they are many kind of holes today that each is easiest to do with a particular tool. a built in debugger is a proof that a software is.. software enough... imho. meaning that not that i dont use printer, pencil and paper, and hole punch as my debuggers. i'm learning Keil, based on dannyf blog, and if that is not software enough, i'll try CoIDE, based on dannyf blog as well... there are many more saved in my storage ready to be learnt, only if i have 48 hours a day and i can split my self into two.
https://en.wikipedia.org/wiki/List_of_ARM_Cortex-M_development_tools
« Last Edit: May 08, 2016, 09:37:43 am by Mechatrommer »
Nature: Evolution and the Illusion of Randomness (Stephen L. Talbott): Its now indisputable that... organisms “expertise” contextualizes its genome, and its nonsense to say that these powers are under the control of the genome being contextualized - Barbara McClintock
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf