0% found this document useful (0 votes)
68 views

Using The Arduino Uno With Eclipse

Eclipse is an open-source software development system Can be used to program the Arduino UNO board in C or C++ Allows greater access to and control of microcontroller subsystems

Uploaded by

shark seas
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
68 views

Using The Arduino Uno With Eclipse

Eclipse is an open-source software development system Can be used to program the Arduino UNO board in C or C++ Allows greater access to and control of microcontroller subsystems

Uploaded by

shark seas
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 26

USING THE ARDUINO UNO

WITH ECLIPSE

Milwaukee School of Engineering


Created: June 2011
Last Update: 26 September 2012

Author: Cory J. Prust, Ph.D.


ECLIPSE OVERVIEW

Eclipse is an open-source software development


system
Can be used to program the Arduino UNO board
in C or C++

Allows greater access to and control of


microcontroller subsystems
BEFORE CONTINUING…
 The Arduino UNO drivers must be installed!
 For details, see the Arduino Installation tutorial:
https://faculty-web.msoe.edu/prust/arduino
 Determine which COM port is assigned to the Arduino
UNO board:
 In Windows, click on the Start Menu and open the Control Panel
 Choose System and Security and then, under System, open the
Device Manager
 Under Ports (COM & LPT) locate “Arduino UNO”

IMPORTANT:
Note the “COM” port
OVERVIEW
 Step 1: Installing WinAVR

 Step 2: “Installing” Eclipse

 Step 3: Using Eclipse

 Step 4: Building a Project and Testing the UNO

 Step 5: Creating a New Project

 Step 6: Using the MSOE Support Functions


INSTALLING WINAVR
 WinAVR contains the AVR toolchain (plus many other useful tools):
 avr-gcc: compiles our C programs
 avr-dude: programs the Arduino UNO

 Eclipse will use WinAVR automatically – we just need to install it!

 Download the latest release of WinAVR from


https://faculty-web.msoe.edu/prust/arduino
 Run the installation using default settings.

IMPORTANT: You must use the default installation directory!


C:\WinAVR-20100110
“INSTALLING” ECLIPSE

 Download the Eclipse archive (.zip file) from


https://faculty-web.msoe.edu/prust/arduino

 Extract the .zip file to your D:\ drive


 After unzipping, you should see two folders:
 D:\eclipse
 D:\ARDUINOworkspace

(continued…)
“INSTALLING” ECLIPSE
 The executable is located in D:\eclipse. Double-click to start Eclipse.

D:\eclipse

executable

 For quicker access to Eclipse, create a shortcut to the executable.


USING ECLIPSE

 You will see the following screen - it defines


“D:\ARDUINOworkspace” as the location for your Arduino
projects
 Select “OK”

 You will then see the Eclipse workbench

(continued…)
USING ECLIPSE Build Icon
Pressing this button results in a “build” of
the active project. The result of a
successful build is a “.hex” file which can
be uploaded onto the UNO board.

Upload Icon
Project Explorer Pressing this button sends the program
All projects in the current workspace (in the form of a “.hex” file) to the
(ARDUINOworkspace) are shown here. ATmega328p on the UNO board.
Only the selected project is “active”.

“testArduinoUNO” is a sample project.

Console Window
Messages from the compiler, linker, and
Problems Window programmer will be displayed here.
Displays warning and error messages
that result from the build process.
BUILDING A PROJECT
 The project “testArduinoUNO” has been included as a sample project

 Expand the project in the Project Explorer. You should see the following:

 “testArduinoUNO.c” is the source code. Double-click to open and


examine the code.

(continued…)
BUILDING A PROJECT
 To build the project, click the build icon
 The build may take a minute or two

 Information regarding the build process is shown in the console window.

 The build process generates several files, which can be seen in the Project
Explorer window:

.hex file used to program the


ATmega328p microcontroller
TESTING THE UNO
 Eclipse must know which COM port the UNO board is connected to.
 Select “Project” then “Properties”
 Expand the “AVR” arrow and select “AVRDude”
 The “Programmer configuration” should read “ArduinoUNO”. Click the “Edit” button

 Change the “Override default port (-P)” setting to the correct COM port, and
select “OK” (twice)
 For example, the correct setting for COM5 would be: //./COM5
TESTING THE UNO
 Connect your Arduino UNO board to your laptop
 Press the upload icon

 Information regarding the upload process is shown in the console


window.
 A successful upload results in the following message:

 The yellow LED (marked “L”) should be blinking!


CREATING A NEW PROJECT
 You will need to create new projects in Eclipse, for example, when you
begin a new laboratory assignment.
 IMPORTANT: Keep all of your projects in “ARDUINOworkspace”!

 Select “File – New – C Project”


 Give the project a descriptive name
 e.g., “myFirstProject”

 Project type: “Empty Project”


 Toolchain: “AVR-GCC Toolchain”

 Select “Next”

(continued…)
CREATING A NEW PROJECT
 Click the “Advanced Settings” button
 Expand the “AVR” arrow and select “AVRDude”
 Under “Programmer configuration”, use the drop-down box to select
“ArduinoUNO”

 Expand the “C/C++ Build” arrow and select “Settings”


 Under the “Tool Settings” tab, check the “Generate HEX file for FLASH
memory” option

 Click “OK”, and “Next”

(continued…)
CREATING A NEW PROJECT
 Set the MCU Type to “ATmega328p”

 Set the MCU Frequency (Hz) to “16000000”


 The Arduino UNO board has a 16MHz crystal
which provides the CPU clock to the ATmega328p
 Choose “Finish”

 You will see your new project in the Project


Explorer

Note: The selected


project is “active”

(continued…)
CREATING A NEW PROJECT
 We now need to add a source file (.c)
 From within the Project Explorer, right-click on your project and select
“New – Source File”

 Give your source file a descriptive name


 e.g., “myFirstProject.c”
 IMPORTANT: the file name must end with “.c”

 Choose “Finish”
CREATING A NEW PROJECT

 The source file is now part of your project and will be used
during the build process.

 As a test, copy/paste the source code from the


“testArduinoUNO” project into your new project:
 Experiment with the delay function to alter the blink rate and pattern
 Build the new project
IMPORTANT:
Only the “active” project will be built!
Make a project “active” by selecting it in Project Explorer

 Upload the .hex file to the UNO board


SUMMARY: USING ECLIPSE
CREATE NEW PROJECT

CONFIGURE SETTINGS

ADD “C” Source File

EDIT CODE
in C Source File

BUILD
TEST and DEBUG
Executable Hex File

UPLOAD
Hex File to UNO
USING THE “MSOE” SUPPORT FUNCTIONS
 Within “D:\ARDUINOworkspace” is a directory named “MSOE”
containing a variety of functions:
 delay.c – time delay functions
 lcd.c – LCD control functions
 bit.c – general purpose functions

 These functions can easily be used within Eclipse:


 Must tell Eclipse their location on the filesystem
 Must “include” the files in our source code
 Must properly “call” the functions within our program

 Next, we will modify our program to allow precise timing of the “blink”

(continued…)
USING THE “MSOE” SUPPORT FUNCTIONS
 Step 1: Tell Eclipse the location of the MSOE support functions
 Select “Project” then “Properties”
 Expand the “C/C++ General” arrow and select “Paths and Symbols”
 In the “Includes” tab, “Add” an Include directory “D:\ARDUINOworkspace”

 Select “OK”
 You may be prompted to “rebuild”. Choose “Yes”.

(continued…)
USING THE “MSOE” SUPPORT FUNCTIONS
 Step 2: Include the MSOE support functions in the source code
 We will use the “delay_ms()” function to control the timing
 The function source code must be “included” within our program
 The function itself is contained in a file called “delay.c”

 Add the following line of code:

(continued…)
USING THE “MSOE” SUPPORT FUNCTIONS

 Step 3: Call the function within our program


 The “delay_ms()” function accepts an unsigned 16-bit integer parameter
that controls the time delay (in milliseconds)
 Make the following modifications:

delay_ms(500);
Produces a 500 millisecond delay

(continued…)
USING THE “MSOE” SUPPORT FUNCTIONS
 Save your program and build it!

 The “Problems” tab will alert you to any errors or warnings


that resulted from the build process:
 “0 items” means a successful build!

 Upload the .hex file to the UNO board


 Experiment with the “delay_ms()” function to alter the blink rate and
pattern
ONE FINAL NOTE: THE AVR MATH LIBRARY
 When a program is doing lots of calculations (e.g., floating point, calls to functions
such as “sqrt”, “cos”, etc) it is a good idea to use the AVR Math Library
 The AVR Math Library contains code which has been optimized for use on the
AVR microcontrollers – so things run fast and efficiently!
 To use it:
 Select “Project” then “Properties”
 Expand the “C/C++ General” arrow and select “Paths and Symbols”
 In the “Libraries” tab, “Add” an entry named “m”

 Select “OK”
CONGRATULATIONS!!!

 You now have a fully functioning Arduino UNO


development system in Eclipse!

 Programming the Arduino board in C unlocks the full


functionality of the ATmega328p microcontroller!

 Writing software in C also provides greater flexibility:


 For example, your C programs could easily be “built” for a different microcontroller!

You might also like