Author Topic: Inexpensive ARM Development Tools  (Read 72426 times)

0 Members and 1 Guest are viewing this topic.

Offline Sal AmmoniacTopic starter

  • Super Contributor
  • ***
  • Posts: 1663
  • Country: us
Re: Inexpensive ARM Development Tools
« Reply #125 on: January 21, 2016, 11:07:09 pm »
so you suggest/recommend any beginner in ARM MCUs to just go with Keil from the start and build his experience using it?

For me, I consider buying an STM32 discovery board to learn ARM MCUs, there is an IDE by ST that is good according to what I read. What to do?

Yes, if you were developing a commercial product using an STM32 and had the budget I would recommend you go with Keil or IAR. If you're a hobbyist wanting to learn STM32 then of course I would not recommend either (although both do offer free versions restricted to, I think, 32K of code).

I'd recommend something free, and the two free choices that don't impose code size restrictions that come to mind are Atollic TrueStudio and EmBitz.
Complexity is the number-one enemy of high-quality code.
 

Offline dannyf

  • Super Contributor
  • ***
  • Posts: 8221
  • Country: 00
Re: Inexpensive ARM Development Tools
« Reply #126 on: January 21, 2016, 11:13:14 pm »
"Well, I meant the exact same microcontroller but with different compiler... like PICC vs XC8 fo"

The use of macros obviously depends on the compilers used. However, there are ways around that so you can write code independent (to a large extend) of compilers used.
================================
https://dannyelectronics.wordpress.com/
 

Offline nctnico

  • Super Contributor
  • ***
  • Posts: 26757
  • Country: nl
    • NCT Developments
Re: Inexpensive ARM Development Tools
« Reply #127 on: January 21, 2016, 11:16:11 pm »
And yet I have never worked for a company (several with multi-million turnovers) where we (the firmware engineers) used paid compilers. During the past 25 years I have used Keil's uVision, IARs workbench, Analog Devices dev.... yadda yadda, Freescale's Codewarrior, etc only in very rare
My experience is opposite yours. I've worked in companies that exclusively used tools like Kiel and IAR because these tools come with support and a phone number to call. We've always gotten excellent support from these companies that helps us quickly get past issues that would otherwise take lots of time to solve. What happens if you have an issue with GCC? Who are you going to call? Richard Stallman?

I personally have found IDEs very useful and would never go back to the days of using a compiler with Make, Emacs, and GDB. Sure, all IDEs suck in some way (some more than others), but overall I've found the productivity to be worth it.
I never said IDEs are useless in general. It's just that if you want to use an IDE you need to get a serious IDE which is made by a company which has a core business of making IDEs and preferably standarise around that.
BTW: I can't remember asking a question to a support department which lead to an answer on the same day. Usually it takes days to weeks to get answers to the kind of problems I run into.
« Last Edit: January 21, 2016, 11:18:55 pm by nctnico »
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline dannyf

  • Super Contributor
  • ***
  • Posts: 8221
  • Country: 00
Re: Inexpensive ARM Development Tools
« Reply #128 on: January 21, 2016, 11:18:15 pm »
"when you develop a project using an ARM MCU like Renesas or STM32, do you _always_ use a dev board then use the specific MCU with your own board?"

My code is generally not developed on the target it runs on eventually. In most cases, the code is developed with no specific target in mind.

The choice of the target depends on many factors, sourcing decisions, upgradability, client considerations, manufacturing capabilities of the fabrication shops, ....

Generally, you get a development board with the biggest and baddest chip and rebudget once the code has stabilized.

================================
https://dannyelectronics.wordpress.com/
 

Offline dannyf

  • Super Contributor
  • ***
  • Posts: 8221
  • Country: 00
Re: Inexpensive ARM Development Tools
« Reply #129 on: January 21, 2016, 11:26:05 pm »
For ide choices, you have to ask yourself "who am i"

If you make a living as an embedded engineer, I would say that you are nuts picking anything out of proven vendors like keil or iar. The support is invaluable as every minute you spend waiting for a bug fix is a minute you cannot make money on. Not to mention the "buy IBM" factor.

If you are a hobbyist coding for small projects, it would be crazy for you to buy a commercial license on keil or iar.

Life gets messier if you are somewhere in between.

So end of the day, don't ask what people use, but ask them why they use what they use so you can see if it makes sense for you to follow their decisions.

Hope it helps.
================================
https://dannyelectronics.wordpress.com/
 

Offline Godzil

  • Frequent Contributor
  • **
  • Posts: 458
  • Country: fr
    • My own blog
Re: Inexpensive ARM Development Tools
« Reply #130 on: January 21, 2016, 11:26:52 pm »
I will not approve such a way, at least for software development, that's how computer today for basic stuff needs a CPU 1000x more powerful that 30 years ago, to basically do the same thing.
There are some domain where I may say yes that 's a solution, but for micro controller "generic" code is rarely a good one.
When you make hardware without taking into account the needs of the eventual software developers, you end up with bloated hardware full of pointless excess. From the outset one must consider design from both a hardware and software perspective.
-- Yokoi Gunpei
 

Offline VEGETA

  • Super Contributor
  • ***
  • Posts: 1916
  • Country: jo
  • I am the cult of personality
    • Thundertronics
Re: Inexpensive ARM Development Tools
« Reply #131 on: January 21, 2016, 11:28:51 pm »
so you suggest/recommend any beginner in ARM MCUs to just go with Keil from the start and build his experience using it?

For me, I consider buying an STM32 discovery board to learn ARM MCUs, there is an IDE by ST that is good according to what I read. What to do?

Yes, if you were developing a commercial product using an STM32 and had the budget I would recommend you go with Keil or IAR. If you're a hobbyist wanting to learn STM32 then of course I would not recommend either (although both do offer free versions restricted to, I think, 32K of code).

I'd recommend something free, and the two free choices that don't impose code size restrictions that come to mind are Atollic TrueStudio and EmBitz.

Well, I will follow your advice and use a free tool when learning STM32 that I think ST provide (based on eclipse I guess). However, when companies hire embedded engineers, will they consider someone who hasn't used Keil/IAR and kept using free tools. How about their compilers?

Different compilers leads to different syntax and stuff like people argued above. So I can not use the code I wrote for, say STM23 or one of their disco boards, when making the actual product unless I go in and re-write many parts of it to suite the new compiler or MCU itself. I still wonder about development of products (based on ARM MCUs) if they breadboard the target MCU (after soldering it on a small PCB) on a breadboard and do stuff like us PIC guys do, or they _always_ get a dev board and build everything around it then get the mcu that was on it and download the program.

So, from what I read, most of you recommend starting up with one of the free tools build around eclipse (manufacturer's own IDEs)... then go for Keil when having some experience. I hope I got it right xD.

Offline nctnico

  • Super Contributor
  • ***
  • Posts: 26757
  • Country: nl
    • NCT Developments
Re: Inexpensive ARM Development Tools
« Reply #132 on: January 21, 2016, 11:39:04 pm »
There are some domain where I may say yes that 's a solution, but for micro controller "generic" code is rarely a good one.
That is old school thinking!! Nowadays a product containing a microcontroller needs 5% of time spend on hardware and 95% on the firmware. In other words: the firmware gets more complex and needing to start from scratch for every product is a no go. Software has become a major asset of any company involved in software development so like any asset this needs carefull consideration and 'nursing'.

Over a decade ago I was in a conference call with a company who made DSP solutions. The company I worked for wanted to use their IP. During that conference call it turned out the software was all written in assembly for a DSP which was about to become obsolete and worse: Motorola wasn't going anywhere with their DSPs so the software got kinda stuck between a rock and a hard place needing a massive amount of work to port it. If the software engineers had written the software in a more portable language/way they could have switched DSP suppliers more easely and create cost savings in their products by using cheaper DSPs. Their initial boards would have been more expensive but the development time would have been less and the value of the investment in the software would not have to be written off so quickly because it would be possible to use more powerfull and cheaper DSPs.
« Last Edit: January 22, 2016, 03:42:28 pm by nctnico »
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline rsjsouza

  • Super Contributor
  • ***
  • Posts: 5980
  • Country: us
  • Eternally curious
    • Vbe - vídeo blog eletrônico
Re: Inexpensive ARM Development Tools
« Reply #133 on: January 26, 2016, 06:50:22 pm »
Over a decade ago I was in a conference call with a company who made DSP solutions. The company I worked for wanted to use their IP. During that conference call it turned out the software was all written in assembly for a DSP which was about to become obsolete and worse: Motorola wasn't going anywhere with their DSPs so the software got kinda stuck between a rock and a hard place needing a massive amount of work to port it. If the software engineers had written the software in a more portable language/way they could have switched DSP suppliers more easely and create cost savings in their products by using cheaper DSPs. Their initial boards would have been more expensive but the development time would have been less and the value of the investment in the software would not have to be written off so quickly because it would be possible to use more powerfull and cheaper DSPs.
Also over a decade ago I was exactly on the same boat: trying to convince several of my customers to shield themselves against obsolescence, while trying to break their resistance to start using real-time kernels. Some moved on, some didn't.
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 andyturk

  • Frequent Contributor
  • **
  • Posts: 895
  • Country: us
Re: Inexpensive ARM Development Tools
« Reply #134 on: January 27, 2016, 12:15:03 am »
My experience is opposite yours. I've worked in companies that exclusively used tools like Kiel and IAR because these tools come with support and a phone number to call. We've always gotten excellent support from these companies that helps us quickly get past issues that would otherwise take lots of time to solve. What happens if you have an issue with GCC? Who are you going to call? Richard Stallman?
If you're getting helpful responses from telephone support for mcu-related technology, you're probably asking very basic questions that an experienced engineer should probably solve on his/her own.

And if the main point of getting on the phone with a vendor is to prove to them (with 'scope traces and/or assembly dumps) that their magic $1k/seat proprietary fairy dust is perhaps seriously broken and not deserving of renewal in a few months, and that you're on the brink of telling management to junk this project and start over with a different mcu/compiler/debug probe, then maybe there isn't so much value in that phone call after all.

 

Offline Sal AmmoniacTopic starter

  • Super Contributor
  • ***
  • Posts: 1663
  • Country: us
Re: Inexpensive ARM Development Tools
« Reply #135 on: January 27, 2016, 02:50:07 am »
If you're getting helpful responses from telephone support for mcu-related technology, you're probably asking very basic questions that an experienced engineer should probably solve on his/her own.

Nope. We ask difficult questions and we get helpful responses from the vendors. Maybe it's just because we know who to talk to.
Complexity is the number-one enemy of high-quality code.
 

Offline Skimask

  • Super Contributor
  • ***
  • Posts: 1433
  • Country: us
Re: Inexpensive ARM Development Tools
« Reply #136 on: January 27, 2016, 04:12:35 am »
Question semi-related to this....
If I'm doing my programming on a Teensy 3.2 (MK20DX256, Cortex M4) using the 'stock' Arduino environment, but incorporating more and more C as I learn the MCU better over time, does that 'count' as an ARM development environment in the same vein as Keil, CooCox,etc.?
I didn't take it apart.
I turned it on.

The only stupid question is, well, most of them...

Save a fuse...Blow an electrician.
 

Offline nctnico

  • Super Contributor
  • ***
  • Posts: 26757
  • Country: nl
    • NCT Developments
Re: Inexpensive ARM Development Tools
« Reply #137 on: January 27, 2016, 10:36:06 am »
If you're getting helpful responses from telephone support for mcu-related technology, you're probably asking very basic questions that an experienced engineer should probably solve on his/her own.
Nope. We ask difficult questions and we get helpful responses from the vendors. Maybe it's just because we know who to talk to.
Every question is difficult in the eyes of the person who is seeking for it's answer  >:D
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline stmdude

  • Frequent Contributor
  • **
  • Posts: 479
  • Country: se
Re: Inexpensive ARM Development Tools
« Reply #138 on: February 05, 2016, 08:51:31 pm »
Well, I will follow your advice and use a free tool when learning STM32 that I think ST provide (based on eclipse I guess). However, when companies hire embedded engineers, will they consider someone who hasn't used Keil/IAR and kept using free tools. How about their compilers?

Not that my company is very "standard", but you'd get extra points for knowing the free tools, as that's what we're using for development and production.
gcc + gdb + openocd are the tools for us, and each developer gets to choose how they (or don't) wrap them with IDEs and whatnot.

SCM/RCS is done in git, since we're living in 2016 these days. :)

And anyone that says that you'll save time by using Keil or IAR are straight up misinformed.
Actual example, shipping product, wearables segment:
Full rebuild time in IAR: 20 minutes
Full rebuild time with GCC in Linux: ~35 seconds

How many times a day are your developers compiling their code?  Multiply that with the speedup you'd get by switching to something like gcc in Linux, and you'll come up with some pretty interesting figures...

And, if that doesn't convince you.
We're currently developing products based on the following MCUs:
Nordic nRF51822, STM32F103, TI CC3300

Guess what? We didn't have to change a thing in our environment when developers switch between projects. Same compiler, same debugger, same jtag software+hardware.. The time saved in getting a developer started is staggering.
 

Offline Sal AmmoniacTopic starter

  • Super Contributor
  • ***
  • Posts: 1663
  • Country: us
Re: Inexpensive ARM Development Tools
« Reply #139 on: February 05, 2016, 09:25:11 pm »
Full rebuild time in IAR: 20 minutes
Full rebuild time with GCC in Linux: ~35 seconds

Are you sure you have IAR configured properly? We use IAR and for an application that nearly fills a Cortex-M4 with 512K of FLASH a full build takes less than a minute. IAR v7.40 is much faster at building than earlier versions were.
Complexity is the number-one enemy of high-quality code.
 

Offline edavid

  • Super Contributor
  • ***
  • Posts: 3381
  • Country: us
Re: Inexpensive ARM Development Tools
« Reply #140 on: February 05, 2016, 09:28:51 pm »
Question semi-related to this....
If I'm doing my programming on a Teensy 3.2 (MK20DX256, Cortex M4) using the 'stock' Arduino environment, but incorporating more and more C as I learn the MCU better over time, does that 'count' as an ARM development environment in the same vein as Keil, CooCox,etc.?

The main difference is that the Arduino "IDE" doesn't support debugging.
 

Offline captbill

  • Contributor
  • Posts: 37
  • Country: us
Re: Inexpensive ARM Development Tools
« Reply #141 on: February 06, 2016, 12:00:41 am »
I found a cool project called CudaText which could easily replace Eclipse if you are willing to do some minor mods. I am (or plan to soon) be setting this up for Astrobe Oberon, which is an Oberon compiler for the LPCxxx family chips (ARM 3/4/5). Granted, the Oberon compiler is MUCH simpler to deal with as far as compilers go, it appears that rigging up any other compiler would be rather strait forward.

CudaText is amazingly fast. Eclipse takes ages to load on my Win7. Cuda opens at the blink of an eye. Quite impressive. It is just all around awesome. I am very impressed at the quality feel of this opensource project. It is a port of 'SynWrite' from Delphi to Lazarus. In fact, SynWrite is also available and has quite a few more features still not ported over. SynWrite perfoms much better than Eclipse but not blazing fast like Cuda.

Also, compare the download sizes:
SynWrite = 13mb
CudaText = <8mb
Eclipse =    166mb



http://wiki.freepascal.org/CudaText

http://sourceforge.net/projects/synwrite/
 

Offline nctnico

  • Super Contributor
  • ***
  • Posts: 26757
  • Country: nl
    • NCT Developments
Re: Inexpensive ARM Development Tools
« Reply #142 on: February 06, 2016, 12:09:26 am »
There is little use in comparing IDE sizes  without looking at how complete the IDE is. Sure Eclipse is large but it has a huge amount of functions and caters to the professional programmers! CudaText OTOH seems to be nothing more than a glorified notepad with a compile button stuck on it so there really is no way to compare it with a package Eclipse.
« Last Edit: February 06, 2016, 12:12:39 am by nctnico »
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline dannyf

  • Super Contributor
  • ***
  • Posts: 8221
  • Country: 00
Re: Inexpensive ARM Development Tools
« Reply #143 on: February 06, 2016, 02:10:14 am »
My favorite editor is sublime, bar none.

It, and editors like notepad+, are nothing more than a gui presentation of the cmd line. For some reason, our experts have a grand fear for them as well.
================================
https://dannyelectronics.wordpress.com/
 

Offline zapta

  • Super Contributor
  • ***
  • Posts: 6189
  • Country: us
Re: Inexpensive ARM Development Tools
« Reply #144 on: February 06, 2016, 02:20:55 am »
My favorite editor is sublime, bar none.

Tried it time ago on a Mac and couldn't figure out how to print. Was this solved since then? I may give it another try.
 

Offline andyturk

  • Frequent Contributor
  • **
  • Posts: 895
  • Country: us
Re: Inexpensive ARM Development Tools
« Reply #145 on: February 06, 2016, 03:45:09 am »
My favorite editor is sublime, bar none.

Tried it time ago on a Mac and couldn't figure out how to print. Was this solved since then? I may give it another try.

Print? On actual paper?

 :-DD
 

Offline Godzil

  • Frequent Contributor
  • **
  • Posts: 458
  • Country: fr
    • My own blog
Re: Inexpensive ARM Development Tools
« Reply #146 on: February 06, 2016, 02:41:55 pm »
My favorite editor is sublime, bar none.

Tried it time ago on a Mac and couldn't figure out how to print. Was this solved since then? I may give it another try.
SublimeText does not provide printing that's true
When you make hardware without taking into account the needs of the eventual software developers, you end up with bloated hardware full of pointless excess. From the outset one must consider design from both a hardware and software perspective.
-- Yokoi Gunpei
 

Offline Sal AmmoniacTopic starter

  • Super Contributor
  • ***
  • Posts: 1663
  • Country: us
Re: Inexpensive ARM Development Tools
« Reply #147 on: February 14, 2016, 08:24:55 am »
Just to clarify, I really like the look and feel of Eclipse. I like its window layout and I like its editor. I like just about everything about it except its performance. That's always the stumbling block for me. It just feels so sluggish and unresponsive after using something like CrossWorks.
On Windows or Linux? Eclipse tends to be rather slow on Windows. When using Eclipse on Linux I get sub-second compile times on my machine for reasonably sized projects including a USB device stack.

Okay, time to regroup and rethink this Eclipse performance issue...

Up to now, I've tried various embedded toolchains based on Eclipse, including LPCXpresso (and CodeRed before that) and Atollic TrueStudio. In every case I was disappointed by the sluggish performance downloading code to boards and especially by the sluggishness when single-stepping code in the debugger.

Today I got a Freescale K64F Freedom board and downloaded Kinetis Design Studio to try it out. Since KDS is based on Eclipse I wasn't expecting much and figured I'd see the same dismal performance I've seen with all other Eclipse-based tools I've tried. I couldn't have been more wrong. KDS downloads code to the board and steps just as fast as my gold standard for performance, Rowley CrossWorks. It's very response and it doesn't get in my way while editing and debugging code.

So now I'm convinced--Eclipse can perform well. What I still don't understand, however, is why TrueStudio and LPCXpresso perform so poorly on the same machine. Is it their configuration, or perhaps their developers didn't bother to optimize anything?  :-// The difference is like night and day: stepping code in TrueStudio takes 1-2 seconds per step; in KDS it's instantaneous.
Complexity is the number-one enemy of high-quality code.
 

Online Howardlong

  • Super Contributor
  • ***
  • Posts: 5315
  • Country: gb
Re: Inexpensive ARM Development Tools
« Reply #148 on: February 14, 2016, 08:57:40 am »
So now I'm convinced--Eclipse can perform well. What I still don't understand, however, is why TrueStudio and LPCXpresso perform so poorly on the same machine. Is it their configuration, or perhaps their developers didn't bother to optimize anything?  :-// The difference is like night and day: stepping code in TrueStudio takes 1-2 seconds per step; in KDS it's instantaneous.

I've always assumed that the problem is trying to provide an agnostic API to hardware debuggers and programmers which require low level system programming, something that Java simply isn't designed for. Either you use JNI or shell out an external program and use RPC. JNI should be fast as it's synchronous but requires closely coupled platform-specific code, whereas shelling out + RPC is easy but usually asynchronous and therefore sloooow particularly if the RPC API is chatty.
 

Offline donotdespisethesnake

  • Super Contributor
  • ***
  • Posts: 1093
  • Country: gb
  • Embedded stuff
Re: Inexpensive ARM Development Tools
« Reply #149 on: February 14, 2016, 11:52:20 am »
So now I'm convinced--Eclipse can perform well. What I still don't understand, however, is why TrueStudio and LPCXpresso perform so poorly on the same machine. Is it their configuration, or perhaps their developers didn't bother to optimize anything?  :-// The difference is like night and day: stepping code in TrueStudio takes 1-2 seconds per step; in KDS it's instantaneous.

Eclipse just provides the basic IDE framework, to get C/C++ environment there is an extra set of plugins. Then for embedded, there is another set of plugins, then for vendor specific stuff and debugging, there are more plugins... so the quality depends on how good the plugin writers are.

KDS comes from Somnium who seem to know their stuff.
Bob
"All you said is just a bunch of opinions."
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf