Author Topic: ARM Toolchain General Discussion  (Read 25731 times)

0 Members and 1 Guest are viewing this topic.

Online nctnico

  • Super Contributor
  • ***
  • Posts: 26755
  • Country: nl
    • NCT Developments
Re: ARM Toolchain General Discussion
« Reply #50 on: July 31, 2014, 11:20:47 pm »
Quote
I didn't look at the CMSIS specification but I bet the function to start an SPI transaction has a port number and some validity checks.

For you own good, don't bet on that as you will lose.
I win: http://www.keil.com/pack/doc/CMSIS/Driver/html/group__spi__interface__gr.html
It is even worse: C++ emulated in C . And didn't MISRA outlaw function pointers? Especially when they are in RAM? :palm: There goes automotive down the drain.
« Last Edit: July 31, 2014, 11:22:27 pm by nctnico »
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline andyturk

  • Frequent Contributor
  • **
  • Posts: 895
  • Country: us
Re: ARM Toolchain General Discussion
« Reply #51 on: August 01, 2014, 12:40:34 am »
It is even worse: C++ emulated in C . And didn't MISRA outlaw function pointers? Especially when they are in RAM? :palm: There goes automotive down the drain.
Yeah, the peripheral driver part of CMSIS looks pretty thin. Not sure why anyone would be motivated to use it. The CMSIS-DSP looks genuinely useful though, and it comes with actual implementations.
 

Offline zapta

  • Super Contributor
  • ***
  • Posts: 6189
  • Country: us
Re: ARM Toolchain General Discussion
« Reply #52 on: August 01, 2014, 05:39:19 am »
Fine if you want a crippled GNU toolchain with a paid upgrade path for full functionality.  :--
Go here for the real deal.

Can you explain? How is it crippled?

I just installed it on the Mac OSX and installation was a breeze. Very tempting.  This is for hobby use, replacing AVR/Arduino. 

Having a simple to install tool chain makes open source projects more open IMO.
 

Offline andyturk

  • Frequent Contributor
  • **
  • Posts: 895
  • Country: us
Re: ARM Toolchain General Discussion
« Reply #53 on: August 01, 2014, 11:35:21 am »
Can you explain? How is it crippled?

I just installed it on the Mac OSX and installation was a breeze. Very tempting.  This is for hobby use, replacing AVR/Arduino. 

Having a simple to install tool chain makes open source projects more open IMO.
Well, saying "crippled" was mostly trash-talk because I've never used LPCXpresso. But I'm biased against solutions where a vendor takes an open source project, wraps it in proprietary features of dubious value, and sells the combination as the greatest thing since sliced bread. When said vendor puts code size limitations into the product as a way to squeeze revenue out of users, I get more snarky.

Sadly, this seems to be the blueprint for chip vendor IDEs.

In the case of LPCXpresso, a 256K code size limitation probably isn't that bad in practice, but I'll object on principle.
« Last Edit: August 01, 2014, 11:49:11 am by andyturk »
 

Online nctnico

  • Super Contributor
  • ***
  • Posts: 26755
  • Country: nl
    • NCT Developments
Re: ARM Toolchain General Discussion
« Reply #54 on: August 01, 2014, 11:45:45 am »
IMHO chip vendors put limits on their free development tools in order not to upset the other compiler vendors.
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline zapta

  • Super Contributor
  • ***
  • Posts: 6189
  • Country: us
Re: ARM Toolchain General Discussion
« Reply #55 on: August 01, 2014, 04:24:01 pm »
Well, saying "crippled" was mostly trash-talk because I've never used LPCXpresso. But I'm biased against solutions where a vendor takes an open source project, wraps it in proprietary features of dubious value, and sells the combination as the greatest thing since sliced bread. When said vendor puts code size limitations into the product as a way to squeeze revenue out of users, I get more snarky.

Sadly, this seems to be the blueprint for chip vendor IDEs.

In the case of LPCXpresso, a 256K code size limitation probably isn't that bad in practice, but I'll object on principle.

The more I play with it, the more I like it. Single package installation of IDE and tool chain, familiar eclipse experience, plenty of examples and support forums, life is good. I just ordered this board and will see how goes

http://www.digikey.com/product-detail/en/OM13014,598/568-7517-ND/2700004

The examples had a few minor compilation errors (#include path uses windows '\' instead of the standard '/') but all examples are built now. Once I will get familiar with the basic stuff I will start trimming down the stuff I don't need and will design my own custom boards. My goal is to standardize on a single ARM MCU instead of the atmega328p I am using now.

This is a great thread. I was trashing between ARM options for some time.
 

Offline CC58

  • Newbie
  • Posts: 8
Re: ARM Toolchain General Discussion
« Reply #56 on: August 05, 2014, 09:05:04 pm »
Well, saying "crippled" was mostly trash-talk because I've never used LPCXpresso. But I'm biased against solutions where a vendor takes an open source project, wraps it in proprietary features of dubious value, and sells the combination as the greatest thing since sliced bread. When said vendor puts code size limitations into the product as a way to squeeze revenue out of users, I get more snarky.

Sadly, this seems to be the blueprint for chip vendor IDEs.

In the case of LPCXpresso, a 256K code size limitation probably isn't that bad in practice, but I'll object on principle.

The more I play with it, the more I like it. Single package installation of IDE and tool chain, familiar eclipse experience, plenty of examples and support forums, life is good. I just ordered this board and will see how goes

http://www.digikey.com/product-detail/en/OM13014,598/568-7517-ND/2700004

The examples had a few minor compilation errors (#include path uses windows '\' instead of the standard '/') but all examples are built now. Once I will get familiar with the basic stuff I will start trimming down the stuff I don't need and will design my own custom boards. My goal is to standardize on a single ARM MCU instead of the atmega328p I am using now.

This is a great thread. I was trashing between ARM options for some time.

After researching Cortex M0/M3 makers and their tools, my choice was hands down NXP with free LPCExpresso .   You can get up and running quickly and with very little expense.  They have debugger on every demo board that costs $20 instead of JLINK for $$$$. Demo board is perforated and allows you to snap off the debugger board and use it on your own PCBs. Since LPCExpresso works out of the box with integrated Eclipse, GCC, debugger, and extensive working libraries specific to M0/M3 it was extremely fast to get something working and almost entirely free. They have a great forum to ask questions too.  NXP Cortex M0/M3 have nice built in bootloaders that allow you to drag and drop source files on your target as if it were a USB stick.  Their bootloaders even have USB libraries built in making it very easy for your code to use USB.
« Last Edit: August 05, 2014, 09:11:57 pm by CC58 »
 

Offline dannyf

  • Super Contributor
  • ***
  • Posts: 8221
  • Country: 00
Re: ARM Toolchain General Discussion
« Reply #57 on: August 05, 2014, 09:24:43 pm »
Quote
my choice was hands down NXP with free LPCExpresso .

Most of what you said is also true for other arm chips. TI's went one step further by placing the "library" in the rom so it saves flash space.
================================
https://dannyelectronics.wordpress.com/
 

Offline rsjsouza

  • Super Contributor
  • ***
  • Posts: 5980
  • Country: us
  • Eternally curious
    • Vbe - vídeo blog eletrônico
Re: ARM Toolchain General Discussion
« Reply #58 on: August 06, 2014, 11:10:53 am »
Sadly, this seems to be the blueprint for chip vendor IDEs.
Perhaps you need to update yourself on what is out there. At least for TI, their IDE only has code-size limitation on their MSP430 compiler (but the optimizer is fully enabled), but they also offer the MSP430GCC with no limitations for free.

For ARM it is even more open: they ship with two compilers with absolutely no limitation: their compiler (armcl) and Linaro's GCC (100% Launchpad GCC based).

Back to the original topic, my usual setup for development in baremetal is Eclipse-based (Code Composer Studio from TI) and for embedded linux is the old combination of vim/makefiles/gcc from the command line.
Vbe - vídeo blog eletrônico http://videos.vbeletronico.com

Oh, the "whys" of the datasheets... The information is there not to be an axiomatic truth, but instead each speck of data must be slowly inhaled while carefully performing a deep search inside oneself to find the true metaphysical sense...
 

Offline dannyf

  • Super Contributor
  • ***
  • Posts: 8221
  • Country: 00
Re: ARM Toolchain General Discussion
« Reply #59 on: August 06, 2014, 11:21:05 am »
Quote
they ship with two compilers with absolutely no limitation

It is tied to their board.
================================
https://dannyelectronics.wordpress.com/
 

Offline rsjsouza

  • Super Contributor
  • ***
  • Posts: 5980
  • Country: us
  • Eternally curious
    • Vbe - vídeo blog eletrônico
Re: ARM Toolchain General Discussion
« Reply #60 on: August 06, 2014, 11:29:20 am »
It is tied to their board.
Not the compiler. The debugger is free for their dev boards but you can use their cheaper XDS100 JTAG with any of their ARM devices. One of  the releases had support for Jlink as well.
Vbe - vídeo blog eletrônico http://videos.vbeletronico.com

Oh, the "whys" of the datasheets... The information is there not to be an axiomatic truth, but instead each speck of data must be slowly inhaled while carefully performing a deep search inside oneself to find the true metaphysical sense...
 

Offline zapta

  • Super Contributor
  • ***
  • Posts: 6189
  • Country: us
Re: ARM Toolchain General Discussion
« Reply #61 on: August 06, 2014, 02:55:25 pm »
Quote
my choice was hands down NXP with free LPCExpresso .

Most of what you said is also true for other arm chips. TI's went one step further by placing the "library" in the rom so it saves flash space.

Does it run on Mac OSX?  That's what I use with the lpcxpresso IDE.
 

Offline Bassman59

  • Super Contributor
  • ***
  • Posts: 2501
  • Country: us
  • Yes, I do this for a living
Re: ARM Toolchain General Discussion
« Reply #62 on: August 08, 2014, 04:58:49 am »
Quote
my choice was hands down NXP with free LPCExpresso .

Most of what you said is also true for other arm chips. TI's went one step further by placing the "library" in the rom so it saves flash space.

Does it run on Mac OSX?  That's what I use with the lpcxpresso IDE.

That was one real good reason why I first thought about NXP's ARMs for a High Speed USB design. I prefer the Silicon Labs parts -- the tools work and are easy to deal with, the parts work as documented (and the documentation is rather good), and their programming dongles are $40 and a dev board is usually less than $100. And oh, wait, now their tools have an OS X version (albeit under WINE). But they don't have a device which handles High Speed USB.

Unfortunately, the part I wanted to use wouldn't do I2S and SPIFI at the same time due to pin conflicts, and next up is Atmel.
 

Offline Sal Ammoniac

  • Super Contributor
  • ***
  • Posts: 1663
  • Country: us
Re: ARM Toolchain General Discussion
« Reply #63 on: September 26, 2014, 02:03:59 am »
Put me down as another vote for Rowley CrossWorks. I use it because it "just works" without any messing around. It's the best $150 I've ever spent on a development tool. I applaud Rowley for making it available to hobbyists for this price.

I use it with an LPC-Link 2, which is a $20 JTAG board that can be downloaded with (legal) FW that makes it look like a Segger J-Link to CrossWorks. It's fast and cheap.

I wanted to like LPCXpresso, but I found so many serious bugs in it that I was spending so much time putting together minimal programs that would replicate these bugs (so I wouldn't have to send them my 15,000 line RTOS) so that the developers could reproduce them that I didn't have any time to spend on my own code.
Complexity is the number-one enemy of high-quality code.
 

Offline zapta

  • Super Contributor
  • ***
  • Posts: 6189
  • Country: us
Re: ARM Toolchain General Discussion
« Reply #64 on: September 26, 2014, 02:37:07 am »
Put me down as another vote for Rowley CrossWorks. I use it because it "just works" without any messing around. It's the best $150 I've ever spent on a development tool. I applaud Rowley for making it available to hobbyists for this price.

If I use code works for open source projects, is it easy to release the source code with make files such that people can *easily* build the with free tools?  Are there dependency that cannot be open sourced?
 

Offline Sal Ammoniac

  • Super Contributor
  • ***
  • Posts: 1663
  • Country: us
Re: ARM Toolchain General Discussion
« Reply #65 on: September 26, 2014, 03:08:03 am »
Put me down as another vote for Rowley CrossWorks. I use it because it "just works" without any messing around. It's the best $150 I've ever spent on a development tool. I applaud Rowley for making it available to hobbyists for this price.

If I use code works for open source projects, is it easy to release the source code with make files such that people can *easily* build the with free tools?  Are there dependency that cannot be open sourced?

I have no idea. That question is probably best addressed to Rowley.
Complexity is the number-one enemy of high-quality code.
 

Offline zapta

  • Super Contributor
  • ***
  • Posts: 6189
  • Country: us
Re: ARM Toolchain General Discussion
« Reply #66 on: September 26, 2014, 03:35:07 am »
I have no idea. That question is probably best addressed to Rowley.

Done ;-)
 

Offline zapta

  • Super Contributor
  • ***
  • Posts: 6189
  • Country: us
Re: ARM Toolchain General Discussion
« Reply #67 on: September 26, 2014, 04:05:13 am »
Yes, its very restrictive indeed. Not a good fit as an editor for open source projects.  I think I will stick with expresso since everyone can download it for free.

According to this site
http://www.rowley.co.uk/crossworks/info_commercial_license.htm
You cannot redistribute source code.

Quote
All Rowley Associates libraries, source code, Redistributables and other files remain Rowley Associates' exclusive property. Regardless of any modifications that you make, you may not distribute any files (particularly Rowley Associates source code and other non-executable files) except those that Rowley Associates has expressly designated as Redistributables. Nothing in the License Agreement permits you to derive the source code of files that Rowley Associates has provided to you in executable form only, or to reproduce, modify, use, or distribute the source code of such files. You are not, of course, restricted from distributing source code or byte code that is entirely your own.
 

Offline Brutte

  • Frequent Contributor
  • **
  • Posts: 614
Re: ARM Toolchain General Discussion
« Reply #68 on: September 26, 2014, 10:16:31 am »
Launchpad (..)Eclipse with EmbSys Registers plugin. Mostly makefiles (..) openocd for flash + debug, with st-util on standby for sanity checks git/svn for version control. Git for new stuff.
+1.
That is my setup!
I would add egit plugin + terminal plugin + gnu-arm plugin + ada plugin.
I am "maintaining" STM32L1 xml files for embsys, bug reports always welcome.

If you are familiar with Eclipse then you can try my SplitCode (alpha).
 

Offline zapta

  • Super Contributor
  • ***
  • Posts: 6189
  • Country: us
Re: ARM Toolchain General Discussion
« Reply #69 on: September 26, 2014, 03:09:22 pm »
According to this site
http://www.rowley.co.uk/crossworks/info_commercial_license.htm
You cannot redistribute source code.

Rowley answered in less than 12 hours.

"You can start crossstudio with a -gcc option in which case it uses an external GCC toolchain - there are some words on this in the help. This is the way to go if you are developing open source software i.e. it won't use any of the CrossWorks library."

Is this a reasonable choice over let's say LPCXpresso?
 

Offline Sal Ammoniac

  • Super Contributor
  • ***
  • Posts: 1663
  • Country: us
Re: ARM Toolchain General Discussion
« Reply #70 on: September 26, 2014, 09:05:37 pm »
Is this a reasonable choice over let's say LPCXpresso?

In my opinion, yes. CrossWorks is much faster than LPCXpresso (it's not based on Eclipse or Net Beans) and has fewer bugs. Although Rowley is a small company, they offer excellent support and have always answered my questions and responded to my bug reports within hours.

CrossWorks is so fast in my setup that it's almost like working in an interpreted environment.
Complexity is the number-one enemy of high-quality code.
 

Offline zapta

  • Super Contributor
  • ***
  • Posts: 6189
  • Country: us
Re: ARM Toolchain General Discussion
« Reply #71 on: September 26, 2014, 11:15:39 pm »
Is this a reasonable choice over let's say LPCXpresso?

In my opinion, yes. CrossWorks is much faster than LPCXpresso (it's not based on Eclipse or Net Beans) and has fewer bugs. Although Rowley is a small company, they offer excellent support and have always answered my questions and responded to my bug reports within hours.

CrossWorks is so fast in my setup that it's almost like working in an interpreted environment.

I installed on my notebook and asked for 30 days license.

It seems that the 30 days license is tied to a specific mac address. What about the paid license, is it tight to a specific machine? Do I need to get the vendor in the loop when installing on other machines?
 

Offline zapta

  • Super Contributor
  • ***
  • Posts: 6189
  • Country: us
Re: ARM Toolchain General Discussion
« Reply #72 on: September 26, 2014, 11:26:19 pm »
I tried to create a new project in Rowley CrossStudio but could not find anything for NXP LPC11U35 (or this board http://www.embeddedartists.com/products/boards/lpc11u35_qsb.php ).  Is this CPU supported?
 

Offline sca

  • Regular Contributor
  • *
  • Posts: 68
Re: ARM Toolchain General Discussion
« Reply #73 on: September 26, 2014, 11:48:05 pm »
 

Offline ehughes

  • Frequent Contributor
  • **
  • Posts: 409
  • Country: us
Re: ARM Toolchain General Discussion
« Reply #74 on: September 27, 2014, 02:17:22 am »
Quote
Real programmers don't use IDEs

Tell me about it!   I mean I write my C code out on papyrus using a custom make ink,   hand compile to the ARMv7 assembly and then translate every line to binary from the manual.  Once that is done use a custom SWD interface that involves me manually bit banging the interface by flipping switches.   It takes a week to get an LED to blink but It is the only true way to show how well endowed I am and that I am Open Source!   I will never be fooled into paying money for a dev tool.  After all,  that makes me look like I am not a "real coder".  It only took me a 1000 hours to come up with that tool chain.

After all,  not invented here, right?  If I didn't do it, it must be crap!

By the way, I make my own papyrus from plants I grow in my back yard.  They are right next to good drugs I have been smoking.

I did try LPCxpresso.   It had such crazy features such as C startup code ,   header files with periperahal access macros, linker files and a debugger that actually showed me register values.   I mean I didn't even did even spend 2 days dicking around with open ocd.    That lazy guy who showed it to me even had stuff working in a few minutes.   I mean,  come one,   he can't be a real programmer. lulz!




 
The following users thanked this post: Sal Ammoniac


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf