SparkFun Forums 

Where electronics enthusiasts find answers.

Everything ARM and LPC
By paul_l_curtis
stevech wrote:My problem with Rowley is that it's mostly an Editor/IDE/project manager atop public domain GCC, and perhaps their own improvements to the public C libraries. It's very good at that. But at the core, you are dependent on the freeware support, debugging, and keep-up-with-latest-hardware in GCC.
Actually, you do mis-state. GCC is not public domain--it is free software, but certainly not public domain. That being said, we do not use "public" C libraries, we use our own. And what else? Oh, yeah, all that target device support. And all those JTAG adapters. And a royalty-free RTOS. And support. And on Linux. And Solaris. And Mac OS X.

Oh dear, where's Keil and IAR on Mac OS? What about Linux? Solaris? Gee, no bullet points there. Do they support Cortex-M3 using FTDI devices? Oh, my, clean out of luck. Say, what's the cost of that RTOS? What do you mean, "it's not included"? Sheesh, those Rowley guys must really be sick not charging for it, eh?
stevech wrote:Also look carefully as to how well JTAG is supported in a debugger. IAR (and Keil I assume) support "Flash Breakpoints". So you can have any number of in-Flash or in-RAM breakpoints, not just the small number (2?) that JTAG gives you.

Rowley may correct me on this if I'm misstating.
Say, how much do you pay for Segger's flash breakpoint ability? OK, free on some architectures, but in general? How about flash breakpoints using one of those cheapie wigglers? Or an FTDI device? Where's all that good JTAG support? How about if you want to have a look at your JTAG chain, where's that JTAG chain explorer?

No cost for breakpoints in flash with us, whatever processor or JTAG adapter you need.

Got a hobby and need a nice system? IAR and Keil will sell you a reduced-price version without limitation then, I guess? No? Why's that then? Why can't hobbyists get professional tools to tinker? $150 gets you an not-cut-down-but-don't-use-for commercial-profit copy of CrossWorks. And all the target support. And RTOS. And flash breakpoints on any device that supports reflashing.

Gee, I guess we\re a pretty lame tool vendor. Gotta do better.

Sorry for the prod, but sometimes I guess people are just ready to put their money with big tool vendors to be safe, happy, and contented, wrapped in the cotton wool of a support contract. However, I don't see many people complaining about our service or products in real life.

Just $0.02 from a biased individual.
By cfb
seulater wrote:and produced the fastest code.
Beware of using speed of code as a way of comparing the suitability of development tools. It is too simplistic a measure. Reliability and predictability of code generation are significantly more important factors if you want to develop good working software in the most efficient way.

"Make it work first and then make it work fast."

or, putting it another way:

"You can get to your destination much faster by riding a motorcycle with no brakes ..."
By seulater
again true. We have 14 tests that we put the compilers through. One of which is speed. We have used CW for ARM for over 3 years now. we have a host of devices out there all using CW for ARM. In those 3 years of writing thousands and thousands of lines of code we never once encountered a problem or bug using CW for ARM. That says allot in and of itself for them.
By kpainter
I dumped IAR in favor of Rowley mainly because I was having problems with IAR, primarily with the debugger. I have been very happy with Crossworks.

Some of the major things I like:
1. CTL. This is a very capable RTOS. You get the source code included with Crossworks! I was using the IAR PowerPac RTOS for which I had purchased the source $$$. I haven't had any problems migrating my code to CTL. They have a wizard for setting up a new CTL project for any supported target.

2. v2.0 has Flash Breakpoints! Who doesn't want unlimited breakpoints in flash on an ARM7? This is a separate $1000+ license for IAR and it is tied to an individual JLink.

3. I had major problems with the JLink being slow and disconnecting a lot under IAR. I tried multiple JLinks and computers all exhibiting the same problems. I updated the JLink software with every minor version upgrade hoping SEGGER would fix whatever was causing me problems. I thought it was the JLink that was fundamentally at fault. Not so. This completely cleared up with Rowley.

4. cross_studio_io.h Crossworks has a library of functions that allow you to do input/output (including print to a debug window in the IDE) from your target through the debugger. You can open files on the host computer for read/write from your target. That is pretty cool when you think about it. I have been contemplating using these functions for system calibration at final test in a major system I am working on.

I think they provide a tremendous value for the money.
By stevech
Happy your happy. I use J-link with IAR and it's problem free. Including flash breakpoints.
By kpainter
I use J-link with IAR and it's problem free. Including flash breakpoints.
Well, Flash Breakpoints were not free when I dumped them. And neither was the JLink interface problem free. I have to tell you, I spent a LOT of time fighting with IAR to fix my problems. I was obviously not pleased. I spent a LOT of money with them too - approaching $30K I purchased the IAR PowerPac RTOS, PowerPac FS and PowerPack USB - with source code for all. It was the USB that really didn't work "out of the box", as advertised. Our customer ultimately pulled the plug on this particluar project... Out of curiosity, I ported my application, the File system and the USB stack to Crossworks and CTL (the RTOS is the most convoluted piece of **** I have ever had the misfortune to come into contact with) and it worked perfectly. You have to realize that this was a violation of their EULA but I figured that since the project crashed in part to them selling **** that didn't work, what the hell does it matter?

So, if it all has improved since then, I am happy for them (since they get to stay in business). But, they didn't do themselves any favors with me.
By FrancisNH
I purchased a Crossworks personal use license and find it hard to use. For example, the CTL (Crossworks Tasking Library) is not automatically compiled or linked into your project when you use it. Everyone is a newbie at the beginning. Getting link errors you waste time trying to figure out why the build fails only to discover the IDE doesn't even know where its own libraries are or that they need to be built and added to the project.. These are manual procedures you are forced to take when you don't yet know how. Neither does the documentation give any example how to build a library or inform you this step has to be taken.

The documentation is short on context and details a new user needs to know, and examples don't always work because they are abbreviated. It suffers because seemingly the authors are so mentaly immersed in the products framework, he/she does not see the unspoken assumptions and procedures new readers need to know.

The painful example above caused me to lose a lot of confidence in the tool because of its failure to notify and instruct how libraries like the CTL must be built and included in any project using CTL. Requiring the user to manually do these library builds and includes at all is a big short coming.
By gm
Are the necessary packages installed for your platform? If so, then there should be a template you can use that will automatically link in the CTL package. For instance, if you have the ST Nucleo F103RB package installed you can then create a new project using the template "A CrossWorks Tasking Library executable for STMicroelectronics ST_Nucleo_F103RB" when prompted to "Select new project template".

I have been using CrossWorks for about 8 years and have always been very satisfied with the product and support.