go_away

Author Topic: Programming "environments" and chip sets  (Read 1201 times)

0 Members and 1 Guest are viewing this topic.

Offline tjumpTopic starter

  • Jr. Member
  • **
  • Posts: 18
  • Helpful? 0
Programming "environments" and chip sets
« on: November 11, 2008, 09:00:29 AM »
Hi All,

I'm checking for understanding on an issue that has plagued me often; and I may need some clarification on what I'm asking and how I'm asking it as I am not a programming professional.

First, what I am trying to communicate by the term programming "environment":
RoboLab, Interactive C, AVRStudio, Eclipse...these are ???? (please give me a technical term here like IDE or ?) that get loaded onto a workstation and are opened to do programming for an external device (i.e. uC).

Now the question, are these different programming "environments" restricted to specific chip sets? (i.e. ARStudio only programs Atmel AVR chips and not Motorola chips) So, if you have different uCs you may need multiple programming "environments"?

Is it possible/easy to add a few files to an existing programming "environment" to get it to interface with different chips?

Is there a generic programming "environment" that works with all chips?

Any clarification here would be greatly appreciated.

Cheers,
T. Jump

Offline Admin

  • Administrator
  • Supreme Robot
  • *****
  • Posts: 11,660
  • Helpful? 169
    • Society of Robots
Re: Programming "environments" and chip sets
« Reply #1 on: November 13, 2008, 02:47:20 AM »
To program a microcontroller, you need this list of software:

text editor to see your code
compiler to convert your code into machine language
uploader code to transfer it from your PC to an external device
drivers to allow for USB/etc. for hardware communication


The text editor, being no more complicated than notepad, can be used for anything.

The compiler must be specific for the exact microcontroller you are using (check documentation to see what it supports). No exceptions. For example, most people use the open source gcc compiler for all AVR based microcontrollers. AVR Studio for example can use gcc, which is what I do for the Axon and $50 Robot.

The uploader program also needs to support the exact microcontroller you plan to use. Examples are ponyprog, AVRdude, the Axon bootloader I use, etc.

The drivers are specific to your external hardware. For example my Axon uses a special USB driver. If you were to use a MKII hardware programmer, then you install the drivers that come with it.


What an IDE (integrated development environment) does is puts everything into one single easy to use environment. It just makes everything soooo much simpler. If you have ever programmed without an IDE, you'll have found yourself installing/loading several programs and swapping between them repeatedly. The IDE makes sure everything plays nice together with zero effort.

All of those programs you listed are IDEs.

Quote
Is it possible/easy to add a few files to an existing programming "environment" to get it to interface with different chips?
Many IDE's now allow you to integrate external software, such as other compilers or uploaders. Check the documentation on how.

Quote
Is there a generic programming "environment" that works with all chips?
Nope . . . there are waaaaay too many chips in the world to account for them all :P

Offline tjumpTopic starter

  • Jr. Member
  • **
  • Posts: 18
  • Helpful? 0
Re: Programming "environments" and chip sets
« Reply #2 on: November 13, 2008, 10:16:48 PM »
Thanks,

This confirms my understanding.

Cheers!!

 


Get Your Ad Here