Setup Eclipse under Linux for AVR Microcontrollers

Programming AVR is easy with Atmel Studio. But same time moving to an Eclipse IDE (Integrated Development Environment) could be logical step. Eclipse has several advantages over Atmel’s provided tools. Eclipse is free IDE and you will be able to work easier and with range of tools inside the same program.

Eclipse IDE is very efficient and provides great features for code reuse along with advance functions such as refactoring and code analysis. You can use Eclipse to develop software for Arduino, AVR, and ARM. These features make eclipse, programmers preferred choice to develop software for microcontrollers. In this tutorial we’ll going to setup Eclipse under Linux for AVR Microcontrollers. This is step-by-step instruction guide. This entire process tested with Ubuntu distribution of Linux. Procedure remains the same with other distributions of Linux and Mac PCs.

Downloading and Installing Eclipse & Plug-Ins

All we need is to install these two software’s:

  1. Eclipse C/C++ CDT
  2. Extreme Burner

Before we install Eclipse C/C++ CDT, on LINUX it is necessary to install the packages; however it’s not much different. We require following packages:

  • gcc-avr
  • binutils-avr
  • avr-libc (Standard AVR C Library)
  • avrdude (basic package that transfer you .hex file into MCU)

We have to manually install these packages from terminal by running following command:

Open Terminal –> sudo apt-get install gcc-avr avr-libc binutils-avr avrdude

After running command on terminal we would get installed all libraries and packages required for Eclipse to work under Ubuntu Linux. Next step is to install Eclipse C/C++ CDT and eXtreme burner (which load hex file to AVR microcontroller). Installation of Eclipse is quiet simple:

Go to Ubuntu Software Center –> search for Eclipse (Eclipse Integrated Development Environment) –> Install

Here at this point we have done with installing software components, now let’s configure Eclipse for AVR MCUs. Open Eclipse by:

From main menu find Programming –> hit on Eclipse to open application

Once we open Eclipse then hit on, Help –> Install New Software –> Insert link http://avr-eclipse.sourceforge.net/updatesite/ to work with box –> hit on Select All –> click on Next –> follow instructions until we get Finish button and hit on it.

update-plugins-eclipse
Update Plug-Ins Eclipse

Let’s Make Fresh New Project:

This is a step-by-step process to create fresh new project in Eclipse. After opening an Eclipse, make sure preferred location of your working directory i.e. workplace.

Then hit on File –> New –> Project–> C/C++ –> C Project –> then hit on Next –> give project name BlinkTest, make sure  Project Type and Toolchains has been chosen properly as shown in figure –> hit on Next –> Next –> choose MCU Type in our case ATmega32 and MCU Frequency(Hz) 1000000 –> Finish.

create-new-eclipse-project
Create New Eclipse Project

At this point we have successfully created new project called BlinkTest under Eclipse. Let’s add source file to write C code.

File –> New –> Source Folder –> name folder as Source (in this case) –> hit on Finish

Next step is to add C source file to project where your real task begins,

Right click on Source –> New –> Source File –> give it name, in our case its main.c –> hit on Finish

create-source-file
Create Source File
write-program
Write Program

Here we’ll find C source file been created in our project directory. Let’s write simple LED blink program and test on real hardware, copy following code snippet into main.c file,

Now we have almost done everything to successfully develop software for your ATMEL AVR device in Eclipse. To build your project, simply click on the hammer in the tool bar or press Ctrl-B or Command-B. Eclipse will the compile your project and generate the necessary firmware files.

In our project folder. We’ll find file named BlinkTest.hex file to program microcontroller. Please refer figure:

generate hexfile under eclipse linux
Generate .hex File Under Eclipse

Congratulation….!!! We have done with most of a part. Only thing left is to load this BlinkTest.hex file into microcontroller. Now we have to look at installation of eXtreme Burner.

Load HEX File into AVR MCU

To get installed eXtreme burner on Ubuntu Linux, we need to download eXtreme Burner from, http://extremeelectronics.co.in/avr-tutorials/gui-software-for-usbasp-based-usb-avr-programmers/

We’ll download xAVR_Ubuntu.tar.gz file. Just unpack this file on desktop:

  1. Open Terminal and Run Command
  2. sudo su and then insert user password to enter into super user mode
  3. Go to xAVR folder on your desktop (through terminal browse xAVR folder)
  4. type ./avrprog on terminal and hit enter

After entering this command on terminal Graphical User Interface will pop up on our screen. The interface is very easy to understand as like Windows. Please, take a reference of provided screenshots,

open-extreme-burner-under-ubuntu-linux
Open eXtreme Burner under Ubuntu Linux
eXtreme-burner-gui-under-Linux
eXtreme Burner GUI under Ubuntu Linux

Finished! The rest is up to you. Now you got everything to develop AVR programs with all the comfort Eclipse offers.

About Umesh Lokhande

Umesh Lokhande holds a Master degree in Scientific Instrumentation from University of Applied Sciences Jena, Germany. and has previously worked at Orbotech, Alere Technologies etc. Umesh is also a founder and first author of BINARYUPDATES.COM

5 comments

  1. Hello,

    Can you tell me why you are using eXtreme Burner to upload the hex file?

    You have already installed avrdude! The eclipse IDE already does the upload.

    Steve

    • Hi Steve

      I do understand your concern. I have chosen eXtreme burner because its great piece of software.

      There is no specific reason but yes after all it come down to personal choice.

      Also I want to aware people that extreme burner not only support windows but Linux as well.
      There is one more reason that many beginners feel comfortable to work with it, i judge from its review…!!!

      Anyways thanks for your comment…I appreciate your time and concern

    • How can I upload hex file into atmega32 without extreme burner.
      The eclipse IDE already does the upload.How? @steve hook
      (I can not upload the hex file) 🙁

      • Hello Sazzad, You can use AVRDUDE Program to upload HEX file onto your ATmega32, if in case you’re not happy with Extreme Burner. AVRDUDE is Command Line Utility which is available for both Windows/Linux Machine.

  2. thanks for the tutorial man! , how do i use it for assembly?

Leave a Reply

Your email address will not be published. Required fields are marked *

Login

Register | Lost your password?