Micro programming tools

Discussion in 'Embedded Systems and Microcontrollers' started by Col, Jul 16, 2012.

  1. Col

    Thread Starter Member

    Apr 19, 2012

    I've recently started to work in a group of hardware engineers. We develop sensing systems and a bit of microcontroller programming is a necessary task which everyone seems to have been avoiding, or only just doing the minimum to get something working (barely working). Its a very common problem among electronic engineers I guess.

    Personally I have programmed ADuC 8051, and PIC micros using Keil and MPLAB tools. I've always used assembly in the past but in these cases I have been doing major projects with plenty of time. I have some experience with C programming; enough to get simple programs running or to use code libraries and develop my own main functions

    My first project here was on a STM32 micro, and I was pushed towards Eclipse as there was a source project we managed to modify for our goals. Now I'm using an Atmel AT91SAM7, and again I'm trying to use Eclipse. This time I'm going from scratch and I have to say my head is spinning with all the additional stuff GNU tools, GDB servers, J-link programmers, etc. It seems to me the Eclipse is developed by programming gurus... for programming gurus... and is not well suited to the electronic engineer who needs to get simple embedded systems running fast.

    I keep thinking there must be a better way.. can someone advise if there is a IDE for micro programming across platforms. Or maybe my best bet to convince the group to go with one platform and one range of devices. Time wasted trying to figure out new platforms and configure development environments will quicky become very costly!
  2. Brownout

    Well-Known Member

    Jan 10, 2012
    Eclipse is nothing more than an integrated development environment. It allows you to create projects, manage files, etc. Gnu tools are the compliers. These are seperate, but essential tools. It won't matter if you use an IDE other than Eclipse, you'll still need to deal with other tools.

    BTW, if you get too good at programming, they'll make you do all the programming and you won't get a chance to do engineering again.
  3. takao21203

    AAC Fanatic!

    Apr 28, 2012
    Assembler? What was that?

    Actually 1000% productivity reduction.
    And Elaboration how to "optimize" code in terms to save a byte here and there.

    On the other hand, Windows programmers seem to be searching for more and more complicate schemes actually to waste memory.

    Starting a C program...2 hours later, the LED blinks, some code is re-used...what 500 words already used? Must become scared about remaining space. Or was it assembler?

    I used it for some years...

    Seriously...if the product you are using does not give you results straight out of the box, throw it away, use something else! Or hire a programming guru who will sort it all out for you- China, India etc.

    OP should give some information:

    -Code sizes
    -Memory used
    -Number of lines
    -Number of source code files in typical project
    -Number of people working on a project (directly involved in programming)
    -Is code reused?

    If you examine how the ICSP is done by Freescale, or how it was done on the HCS08, you could really have the idea this was done on purpose to create jobs.
  4. hgmjr

    Retired Moderator

    Jan 28, 2005
  5. Col

    Thread Starter Member

    Apr 19, 2012
    Actually I consider my experience in assembly invaluable. It gives a proper understanding of how CPUs work, while C code is a little too abstracted. Though good for rolling out a project fast. As a side note for implanted systems assembly must be used to eliminate any undetermined operation

    Your totally right... if it doesn't work, quickly out of the box then chuck it. I think I'm going to really make a stand against Eclipse and all this open source stuff. If they need a programming guru then hire one instead of trying to force me to be one.

    Sound advice.... I really want to avoid being 'that guy' who gets all the programming tasks. While the other do the real research. But some embedded design is a necessary evil. Just should not do it too well :)

    Nice document thanks, I'll keep it for reference if I ever have the time to further pursue the open source path

    So the decision.... trying out IAR. It looks a bit more integrated and easier to use.