Rowley CrossWorks for ARM - C/C++

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 shit 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 shit 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.

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.

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.