I have a few Development kits, LPCXpresso, STM32FDiscovery .
Looking at the tool chains, there are at least 3 choices, IAR Mentor(codesourcery), codeRed and Atollic All seem to be limited in some fashion. And need the dreaded license keys.
Then there is the GNU ARM.
Any recommendations? I did find CooCox, which looks promising as a open environment.
Add Rowley's CrossWorks to the list. It does require a dreaded key but their policy is to license per developer rather than per machine so licensing, e.g., your main box, a lab PC, and a traveling laptop is fine.
It's a good product and the resulting code is unencumbered, as they use their own non-GPL runtime library. It supports a wide variety of JTAG dongles, including Segger's J-Link, ST-Link, Olimex, as well as their own CrossConnect plus a bunch I've never heard of before. Includes an RTOS as part of the package; it's not required -- I normally go with the bare metal approach -- but is available.
Worth checking out, at least. It installs with a 30-day free trial so one gets a reasonable time for evaluation before buying.
I use Gnu Arm; once you figure out what compiler flags to use, what library code to avoid, and what functions you need to stub off yourself (to help avoid the afore-mentioned library code), it works quite well.
--
My liberal friends think I'm a conservative kook.
My conservative friends think I'm a liberal kook.
Why am I not happy that they have found common ground?
Tim Wescott, Communications, Control, Circuits & Software
http://www.wescottdesign.com
I did some floating point tests on the 120MHz STM32F2 today. Was fully expecting mediocre performance since gcc has to emulate the operations in software. But I was amazed at both gcc and the chip:
This was based on a 1000x loop with volatile variables and unrolled 10x within the loop, so 10k iterations overall. Executing from flash. Not very scientific since same data used each time but I checked and the FP routines were being called each time. Need to try again with random data.
Of course you won't see equivalent independent data published for the commercial compilers since they make that *illegal*.
Oops those were bogus, many of the variables would have gone to zero or NANs during execution, allowing the routines to terminate early. Here is a better version, still very crude though. Anyone done better?
--
Failure does not prove something is impossible, failure simply
indicates you are not using the right tools...
nico@nctdevpuntnl (punt=.)
--------------------------------------------------------------
Yeah that's what tipped me off too, but only after I read my post in the newsgroup of course. :)
So avoid double precision divides if really time critical. But it's still pretty impressive I thought. This is a ~3$ microcontroller.
I have been working on some prototype hardware that does some resistance and capacitance measurements. It is really nice to be able to just work directly in Ohms, Amps, Volts, Farads, seconds etc to keep everything straight. Instead of constant fiddling with various scaling factors so everthing fits within an int, then worrying about overflows and underflows all the time.
Absolutemente! I did a lot of data analysis software once upon a time = and it was all in base units until it was printout time, whence i converted = to engineering units.
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.