Author Topic: The best microcontroller development environement  (Read 30436 times)

0 Members and 1 Guest are viewing this topic.

Offline trackman44

  • Regular Contributor
  • *
  • Posts: 67
  • Country: ca
Re: The best microcontroller development environement
« Reply #25 on: November 10, 2013, 07:08:00 am »
Personaly i started with the Arduino UNO. When you download the dev environment software from the Arduino website, you get example code so you can learn to make your own sketches. Then I was interested in making my own PIC programmer, so I found this web site :-
https://sites.google.com/site/thehighspark/arduino-pic18f
Downloaded the latest PICKit2 hex file from Microchip's website, programed a PIC18F2550 then i made my own PICKit2 clone from this site :-
http://www.circuitvalley.com/2011/07/pickit-2-clone-universal-microchip-pic.html
Plugged in the PIC chip I programmed and hey presto, I can program PICs! I also made a PIC18F2550 clone of the Arduino UNO called the Pinguino :-
http://www.pinguino.cc/ The beautiful thing about Pinguino is it's open source. Sketches are almost identical to Arduino's. All in all invested about $80 in parts, blood sweat and tears!
This is one route you may decide to choose. I hope I helped in some way.

Will
How 'bout them Maple Leafs?
 

Offline vvanders

  • Regular Contributor
  • *
  • Posts: 124
Re: The best microcontroller development environement
« Reply #26 on: November 10, 2013, 08:08:09 am »
Definitely Eclipse. Its designed to be the best code development environment. Companies involved are IBM, Google, Oracle, SAP, etc. For most compiler vendors the IDE is just costing them money so they only provide the bare minimum to get newbies started quickly.
Just because there's a bunch of big names behind Eclipse doesn't make it the best. Google is migrating to NetBeans in the latest Android studio.

Granted it'll work eventually and you can learn your ways around it's quirks, issues and bugs, however I'd rather spend my time in VIM and makefiles then touch a project in Eclipse.

IMO I'm a pretty huge fan of what Atmel has done with AVR Studio. They took the Visual Studio shell from Microsoft which is one of the most stable, consistent IDEs out there and wrapped it around AVR in a nice, straightforward way. You get full programming, debugging, hell you can even poke a registers and ports mid-break and see results on the board. AVR is a very well understood platform with loads of resources and examples to get you up and running.
 

Offline JuKu

  • Frequent Contributor
  • **
  • Posts: 566
  • Country: fi
    • LitePlacer - The Low Cost DIY Pick and Place Machine
Re: The best microcontroller development environement
« Reply #27 on: November 10, 2013, 09:03:08 am »
I generally avoid using "free" tools for commercial projects - your tools are the last thing you want to doubt. Strong vendor support is a must when your livelihood depends on it.

It is a different story if you are simply playing with for fun.
"Free" and "Strong vendor support" are not mutually exclusive. In fact, they often go together. Atmel is a good example. Strong vendor support is indeed a must.

Another way to look at the issue os how much free code you get: OS, network, USB, UI, file system...
http://www.liteplacer.com - The Low Cost DIY Pick and Place Machine
 

Offline remixed123

  • Regular Contributor
  • *
  • Posts: 59
  • Country: au
    • Github
Re: The best microcontroller development environement
« Reply #28 on: November 10, 2013, 09:52:35 am »
The best microcontroller development environment is a very subjective thing! This is my subjective opinion, which is coming from the perspective of a professional who designs and develops consumer products.

I pretty much work exclusively with Texas Instruments tool chain for ARM Cortex M4F Microcontrollers (aka Tiva C Series). So that means Code Composer Studio IDE, which is an Eclipsed based IDE. It does the job, I do miss the auto-complete/intellisense feature which you find in IDEs like Microsoft's Visual Studio and Apple's Xcode, also the lack of a Macintosh version is annoying (but something they are looking to correct at some stage). But it does provide the low level stuff that you need to access sometimes, assembly stepping in debug mode, access and ability to change memory directly etc.

One other thing to consider, is not just the IDE, but the SDKs and other environments that are provided. I have recently begun using TI-RTOS (Texas Instrument Real-Time Operating System), which is available for free. working with an RTOS makes life so much easier, and to explain how is more a topic for another thread, but if you want to find out more, check out this link - http://processors.wiki.ti.com/index.php/TI-RTOS

TI also provide TivaWare which includes examples, drivers and code for just about any peripheral, including USB, Wifi, ADC/DAC, Timers,  Graphics, Bootloaders....and whatever.

Another option for developing on TI ARM if you do not want to develop in C, and can do without inline debug (not something I could ever do without, but lots of Arduino projects are developed in this way...you Arduino developers are a patient lot!) is Energia (http://www.energia.nu/) or if you want to develop on Macintosh and want auto-complete/intellisense then check out embedXcode (http://embedxcode.weebly.com/)

And hi everyone, my first post in this forum.

Glenn.
LightServer - Mobile App controlled, Wi-Fi enabled RGB lighting with music synchronized effects and much more -  https://www.hackster.io/remixed123/lightserver/
 

Offline westfw

  • Super Contributor
  • ***
  • Posts: 4396
  • Country: us
Re: The best microcontroller development environement
« Reply #29 on: November 10, 2013, 09:54:43 am »
Not all aspects of an IDE are subjective.   Several people have mentioned Visual Studio, but it's "single platform" which would eliminate it from some lists quite quickly.
 

Offline timb

  • Super Contributor
  • ***
  • Posts: 2536
  • Country: us
  • Pretentiously Posting Polysyllabic Prose
    • timb.us
Re: The best microcontroller development environement
« Reply #30 on: November 10, 2013, 09:55:35 am »
I've always been partial to MikroElektronika's stuff myself. You get a consistent IDE across a wide range of platforms (PIC, dsPIC, PIC32, AVR, ARM Cortex-M [STM and TI] and 8051) plus three languages (mikroBasic, mikroC and mikroPascal). Because the (huge list of) libraries are supported on all of the platforms you can literally pick right up and move to another vendor with very little changes to your code. Note super expensive at under $300 per platform/language!

I'm currently using mikroBasic [ARM] for a project and I like it a lot. Right now I'm developing for an STM32 but plan on moving over to a Tiva C which will just take a simple recompile of the code! :D
« Last Edit: November 10, 2013, 09:58:06 am by timb »
Any sufficiently advanced technology is indistinguishable from magic; e.g., Cheez Whiz, Hot Dogs and RF.
 

Offline remixed123

  • Regular Contributor
  • *
  • Posts: 59
  • Country: au
    • Github
Re: The best microcontroller development environement
« Reply #31 on: November 10, 2013, 10:22:37 am »
Hi Timb,

The whole concept and implementation of the MikroElektronika suite is well sweet.

The only thing I find annoying about not going with the vendors tool chain is that you usually have to wait for things to be ported. So if you are like me and usually are trying to integrate the latest and greatest into your products, it can be really annoying having to wait for the 3rd party to port over code and drivers or provide working examples, if they ever get around to it. For example, MikroElektronika is still using the Stellaris branding, which was changed to Tiva C almost 6 months ago. If they cannot change something as simple as the branding on their website, what else have they not got around to?

If however, the latest and greatest is not so important, and migrating the same code from one vendor to another is more important, then MikroElektronika is definitely something to look into.

Glenn.

LightServer - Mobile App controlled, Wi-Fi enabled RGB lighting with music synchronized effects and much more -  https://www.hackster.io/remixed123/lightserver/
 

Offline timb

  • Super Contributor
  • ***
  • Posts: 2536
  • Country: us
  • Pretentiously Posting Polysyllabic Prose
    • timb.us
Re: The best microcontroller development environement
« Reply #32 on: November 10, 2013, 11:25:38 am »
If you look at the device list for the ARM compilers, it supports all 50 of the TM4C123xxx chips. They also mention it several places (look at the specifications tab and the Version 4 area). They sell a line of (pretty slick) Stellaris development boards and Stellaris so that may be another reason the branding hasn't fully changed. Plus Stellaris is still the more popular name, even Energia still refers to it as that.

They also have a site called libstock.com which is full of user submitted libraries that are generally pretty good, or at least a decent baseline (here's a port of FreeRTOS to the STM32). You're right though, there are some things on the bleeding edge that just aren't out there. For instance, no TI CC3000 library (but they do have one for a similar Microchip WiFi module). On the other hand, they have a full library for the brand-spanking-new FTDI EVE graphics processing chip; even so far as natively supporting it in their Visual TFT GUI design software.

That said, TI provides a lot of their libraries for IAR and Code Composer, so if you wanted to use something like GCC you'd still have to do some porting, which would be the case here. I find the quality of their libraries to be hit and miss (mostly miss) anyway, so a lot of times I've used them as a baseline to write my own.

They've got a free demo, so it's worth checking out!
Any sufficiently advanced technology is indistinguishable from magic; e.g., Cheez Whiz, Hot Dogs and RF.
 

Offline dannyf

  • Super Contributor
  • ***
  • Posts: 8221
  • Country: 00
Re: The best microcontroller development environement
« Reply #33 on: November 10, 2013, 01:42:22 pm »
The divergent, and sometimes diametrically opposing views should be more than sufficient to answer the original question of what is the best development environment.
================================
https://dannyelectronics.wordpress.com/
 

Offline remixed123

  • Regular Contributor
  • *
  • Posts: 59
  • Country: au
    • Github
Re: The best microcontroller development environement
« Reply #34 on: November 10, 2013, 01:42:43 pm »
"You're right though, there are some things on the bleeding edge that just aren't out there. For instance, no TI CC3000 library"


Ha...I bleed often!
LightServer - Mobile App controlled, Wi-Fi enabled RGB lighting with music synchronized effects and much more -  https://www.hackster.io/remixed123/lightserver/
 

Offline dannyf

  • Super Contributor
  • ***
  • Posts: 8221
  • Country: 00
Re: The best microcontroller development environement
« Reply #35 on: November 10, 2013, 07:20:25 pm »
Quote
MikroElektronika

My experience with them is mixed.

I see the advantage of using one platform across multiple chips - that's why I stick with IAR.

The issues with a closed library system are not that important to me, as I don't utilize their libraries. But a framework of canned libraries to be important to some people.

They are in a difficult spot in my view: the commercial guys probably don't use them; the amaturers probably don't want to pay to use them, given the availability of free tools.

It would be interesting to see how they evolve.
================================
https://dannyelectronics.wordpress.com/
 

Online nctnico

  • Super Contributor
  • ***
  • Posts: 28734
  • Country: nl
    • NCT Developments
Re: The best microcontroller development environement
« Reply #36 on: November 10, 2013, 08:06:48 pm »
As long as they fix bugs & add requested features in the libraries quickly they should be OK.
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline Nerull

  • Frequent Contributor
  • **
  • Posts: 694
Re: The best microcontroller development environement
« Reply #37 on: November 11, 2013, 01:54:16 am »
I generally avoid using "free" tools for commercial projects - your tools are the last thing you want to doubt. Strong vendor support is a must when your livelihood depends on it.

Open source *never* goes out of business.

No, it just gets abandoned.

GCC is a very large, very complex project and the people who know enough to really work on the internals are few and far between. There were some serious issues with many of it's implementations for quite a while that no one could be bothered to work on until CLANG gave them a kick in the behind and woke them up. And you're never going to get much in the way of support.
 

Offline westfw

  • Super Contributor
  • ***
  • Posts: 4396
  • Country: us
Re: The best microcontroller development environement
« Reply #38 on: November 11, 2013, 02:55:35 am »
Meh.  If you're talking about something that has become a major tool (linux, gcc, eclipse), there are many vendors that will offer you "support" of the free software for an added fee.  And if you're big enough that it's really important, you probably have an internal 'tools' group with at least some expertise in fixing things, dealing with vendors to fix things, or dealing with the open source community to fix things.  (You can read that as "free software isn't actually free" if you want to...)

That means that as a beginner, you're in relatively good shape with the right "free" tools, because other people are paying to make sure they work.

Now, for microcontrollers, gcc/eclipse is a bit of an orphan child.  The gcc community is as likely to say "it's not a compiler bug; avr-libc is written wrong!" as to fix an avr "issue", and bugs are likely be present and have low priority for getting fixed.  (One reason that Arduino is using a "quite old" version of gcc is that all of the newer versions had catastrophic bugs wrt the arduino environment.  At least, until quite recently.)  Now - are the avr-gcc users better off than KEIL 8051 compiler users, after KEIL was acquired by ARM?  I dunno; but it's not simply a "free vs commercial" question.
 

Offline remixed123

  • Regular Contributor
  • *
  • Posts: 59
  • Country: au
    • Github
Re: The best microcontroller development environement
« Reply #39 on: November 11, 2013, 02:56:31 am »
I generally avoid using "free" tools for commercial projects - your tools are the last thing you want to doubt. Strong vendor support is a must when your livelihood depends on it.

I have to agree with this statement, additionally there are few "free" tools available that are up to scratch especially when it comes to installing, configuring and UI capabilities. All the time you spend trying to get the tool working could be spent developing.

For people that enjoy tinkering, then these "free" tools are great, but for those of us who have deadlines to meet and clients to keep happy, you better focus on delivering as fast as possible. The cost of skilled labor is usually significantly larger than the cost of tools, no one is going to want to hire someone who says I saved you $200 by not purchasing a specific tool, and by the way it ended up costing you a $1000 in labour for me to get it working.

And as for the above, I am not talking about some of the excellent open source libraries that are well supported or stable and serve a specific task (and have a usable license). These are fantastic and the whole area of open source sharing of libraries is something that any developer would be silly to dismiss. I benefit from these, so always try my best to give back in some way...whether that is giving some time to offer support, some code (when possible) or a donation.

Glenn.
LightServer - Mobile App controlled, Wi-Fi enabled RGB lighting with music synchronized effects and much more -  https://www.hackster.io/remixed123/lightserver/
 

Offline madshaman

  • Frequent Contributor
  • **
  • Posts: 698
  • Country: ca
  • ego trans insani
The best microcontroller development environement
« Reply #40 on: November 11, 2013, 05:09:06 am »
I actually disagree wrt the gnu toolset and not being able to "trust" it.

It's *extremely* well documented and you have the source available.  You also have an entire community of hackers for support.

Another thing about gnu is that you can conceivably create a new back-end to target *any* instruction set and the linker can easily be used to support virtually *any* hardware environment.

Gnu might not be the right tool for the job in some cases (examples: there's not much utility in doing original Windows development with gnu; the vendor specific tools for a given specific hardware platform are likely to exceed gnu in ease-of-use).

Also, gnu might *not* be the right solution for a beginner or for someone who doesn't care to become an expert in code generation.
To be responsible, but never to let fear stop the imagination.
 

Offline Seg

  • Regular Contributor
  • *
  • Posts: 71
  • Country: us
Re: The best microcontroller development environement
« Reply #41 on: November 11, 2013, 06:42:24 am »
A programmer using closed source tools is like an EE using test equipment with the lid welded shut.

Would you use test equipment you were forbidden to ever see a tear down of?

Anyone with a Computer Science degree or equivalent knows how GCC works, because designing and implementing a compiler is a cornerstone of a CS education. The other is writing an OS kernel...

Much like Dave makes fixing complicated electronics look easy, back in 2008 a smart guy named Anthony Green made inventing a virtual CPU architecture, then porting GCC to it look easy:

http://atgreen.github.io/ggx/

Which has apparently since evolved to implementing said architecture in FPGA hardware:

http://moxielogic.org/blog/
 

Offline remixed123

  • Regular Contributor
  • *
  • Posts: 59
  • Country: au
    • Github
Re: The best microcontroller development environement
« Reply #42 on: November 11, 2013, 07:11:24 am »
Would you use test equipment you were forbidden to ever see a tear down of?

Yes. Well actually it is not so much about being forbidden, it is just that I don't have the time or desire to do so. Tools do not have to be toys, educational opportunities or anything else but tools....if they serve their purpose then I'm happy.

For example, I do not need to be able to tear down my car's engine for it to perfectly serve the purpose of getting me from point a to point b.

I measure tools on their effectiveness to deliver what they promise, not on whether I can pull them apart. Many tools let you pull them apart, but do they actually deliver what they promise?

Glenn.
LightServer - Mobile App controlled, Wi-Fi enabled RGB lighting with music synchronized effects and much more -  https://www.hackster.io/remixed123/lightserver/
 

Offline resistor

  • Regular Contributor
  • *
  • Posts: 74
Re: The best microcontroller development environement
« Reply #43 on: November 11, 2013, 07:20:08 am »
I come from a Linux/Unix background, so I generally find no added utility in IDEs.  I do all my editing in vim, and my building with make.

To weigh in on the free vs non-free debate, well, I might be biased because my day job is writing compilers, so I have the skills to go fix a bug in an open source tool if I need to.  Moreover, while I understand that paid support is valuable for professionals, I find it to be a turn-off for me as a hobbyist.  A commercial tool with paid support says to me that I won't be able to get any support, since I can't justify the expense for paying for it, even if there is a gratis/trial version.  With a open source package, I'm both better able to support myself and more likely to be able to find someone who can help me out without paying them.
 

Offline dannyf

  • Super Contributor
  • ***
  • Posts: 8221
  • Country: 00
Re: The best microcontroller development environement
« Reply #44 on: November 11, 2013, 11:52:36 am »
Quote
Would you use test equipment you were forbidden to ever see a tear down of?

Sounds like you don't use Intel chips, Microsoft operating systems, Apple phones, Ford cars, or just about 99.99% of all the things out there, :)

If we all insist on understanding fully, down to the smallest / tiniest elements, things we use, we would still be in the stone age.
================================
https://dannyelectronics.wordpress.com/
 

Offline NiHaoMike

  • Super Contributor
  • ***
  • Posts: 9375
  • Country: us
  • "Don't turn it on - Take it apart!"
    • Facebook Page
Re: The best microcontroller development environement
« Reply #45 on: November 11, 2013, 04:58:04 pm »
Quote
Would you use test equipment you were forbidden to ever see a tear down of?

Sounds like you don't use Intel chips, Microsoft operating systems, Apple phones, Ford cars, or just about 99.99% of all the things out there, :)

If we all insist on understanding fully, down to the smallest / tiniest elements, things we use, we would still be in the stone age.

Intel/AMD chips (and ARM for that matter) have plenty of proprietary stuff locked inside, but at least they're well documented. For those writing programs for such chips, that's really all you need.
Same with Windows, although I only have it as a backup in a VM in case I ever need it. I use Linux since I can easily modify everything in it. And it has a much better audio subsystem, at least if you stick with plain ALSA. Non-server Windows also at least used to have a deliberately crippled network stack but I don't think that's the case any more.
No Apple for me. If it's bad enough to purposely make it hard on advanced users, it's even worse to purposely try to break user applied "tweaks" with every update. I stick with Android, along with hardware popular with the developers. (Some like the honor of owning a "hacked" Apple product, but I have better stuff to do.)
Agree with Ford. Very horrible documentation and a real pain to debug when something goes wrong. In contrast, Toyota at least tells you what signals to expect on many lines so you can take a scope to some control lines and actually get some useful information. Still loads of room for improvement but at least it's one of the better options out there...
Cryptocurrency has taught me to love math and at the same time be baffled by it.

Cryptocurrency lesson 0: Altcoins and Bitcoin are not the same thing.
 

Offline Galenbo

  • Super Contributor
  • ***
  • Posts: 1470
  • Country: be
Re: The best microcontroller development environement
« Reply #46 on: November 11, 2013, 05:29:42 pm »
Quote
MikroElektronika

My experience with them is mixed.

I see the advantage of using one platform across multiple chips - that's why I stick with IAR.

I am a beginner, use the Mikroelektronika environment, like it.
Big disadvantage is that you need the 150-200 dollar license for every variant.

So my PIC-C license doesn't allow me to program a PIC32, or a PIC in Basic.
Yes , they have the free demolimit possibility, this allows you to use it, but once you use libraries it stops.
If you try and take a cat apart to see how it works, the first thing you have on your hands is a nonworking cat.
 

Offline dannyf

  • Super Contributor
  • ***
  • Posts: 8221
  • Country: 00
Re: The best microcontroller development environement
« Reply #47 on: November 11, 2013, 05:53:37 pm »
Quote
but at least they're well documented.

Depending on what "documentation" you are talking about and its availability to you.

The point is that if you insist on understanding everything you use, there is very little you can use.
================================
https://dannyelectronics.wordpress.com/
 

Offline ben1066

  • Contributor
  • Posts: 25
  • Country: gb
Re: The best microcontroller development environement
« Reply #48 on: November 11, 2013, 07:17:36 pm »
Personally I like MSP430. I used to use AVR but got tired with the expensive tools, so tried the MSP430 LP. The Eclipse based toolchain is good, as much as I hate eclipse but the tools are far better. CCSv6 even supports an MSP430 GCC port that gives you unlimited code size which is great. My only complaint is only the new USB launchpad is supported under Code Composer on Linux.
 

Offline andersm

  • Super Contributor
  • ***
  • Posts: 1198
  • Country: fi
Re: The best microcontroller development environement
« Reply #49 on: November 11, 2013, 09:14:54 pm »
GCC is a very large, very complex project and the people who know enough to really work on the internals are few and far between. There were some serious issues with many of it's implementations for quite a while that no one could be bothered to work on until CLANG gave them a kick in the behind and woke them up. And you're never going to get much in the way of support.
My ratio of bugs reported to bugs getting fixed is probably higher for the GNU toolchain than for any other software I've used. And if you need it, there are plenty of companies (like CodeSourcery/Mentor Graphics) that will sell you commercial support. You can even get the usual dongle/license server nonsense that you may be used to!

At my current workplace we have some older products that use dongle-locked compilers. The vendor is no longer supporting that line of MCUs or the compiler, and naturally the dongle drivers don't work on anything newer than Windows XP. Once Microsoft drops support for XP, corporate IT will probably demand that all machines still using it must be taken offline. Since the product in question requires certification, changing compilers would be both a lengthy and expensive process. So if you ask me, betting your livelihood on a closed toolchain is among the worst things you can do.


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf