Pages

Introduction to the IAR Workbench IDE

Summary: A quickstart tutorial to the IAR Workbench IDE. Learn how to create a project, edit files, build solutions, and use the debugger.

Goals

To develop applications to run on the ez430 chip, we use the IAR Embedded Workbench IDE (integrated development environment). Not only does this application provide a powerful code editor, but it also allows a simple one-click deployment of the source code onto the MSP chip using USB as well as hardware debugging capabilities that allow you to trace through actual stack calls. This module is intended to give you an introduction to the IAR Workbench application so that you may create and develop your own ez430 applications.

Create a Project

The very first thing you must do before you can start downloading any code onto the MSP, is to create a project in Workbench that will contain all of the relevant files for your application. When you open Workbench you should see the following window (This window is equivalent to selecting File->New->Workspace and then Project->Create New Project. This window may also be reached through Help->Startup Screen):
Figure 1: Select "Create new project in current workspace" to begin.
Startup Screen
Startup Screen (1beginingwindow.png)
Next, the following window will appear:
Figure 2: Here we select the language in which we shall write our code. Select the 'C' file and then the 'main' option. In one lab, we will program in assembly; for that lab, select the "asm" option.
Project Template Selection
Project Template Selection (2projectselectwindow.png)
Now a Windows Save dialog should appear. Give your project a name and save it in its own seperate folder. A project is not only a C file that contains your code but also several other files (a project file with the ".eww" extention, a project settings folder, a debug folder which contains compiled code outputted by Workbench etc). Keeping the files for your current project in their own folder will help you stay organized. If you save and close your project, opening it again is as simple as opening this folder, and doubleclicking on the Workbench project file, which has a ".eww" extention.

Configure Project Options

Now, we must configure the project options. Make sure the project is selected in the "Files" pane to the left of the screen (the project is the top of the workspace's file tree). Then select Project->Options to get the following screen and make the indicated selections:
Figure 3: Make sure you choose the right processor for your application! Here, I've selected the MSP4302013 (a member of the ez430 series) since that is the chip I plan to use.
Project Options Setup: General Options
Project Options Setup: General Options (3optionssetupwindow.png)
Now select the "Debugger" option and make the following selections:
Figure 4: Here we must select to use the FET (Flash Emulation Tool) Debugger to run our code.
Project Options Setup: Debugger
Project Options Setup: Debugger (4optionsetupdebug.png)
Finally select the "FET Debugger" option and make the following selections:
Figure 5: Now we select the "Verify Download" check box and the "TI USB FET" radio button (while leaving other options as they are) so that our program is properly transferred to the chip.
Project Options Setup: FET Debugger
Project Options Setup: FET Debugger (5optionsetupFETdebugger.png)
Your project is created, saved, and now you may write your code. Only one project may be open at a time.

Adding Files to the Project

If your project consists of more than one file, you will need to add it to the current project. To add a file to your project, chooseProject->Add Files.

Run Your Program!

This is the part you've been waiting for: actually testing your program! Use the Project->Debug menu item to load the currently active project and set your program running. You can also set any breakpoints beforehand; by default, the very first line of executed code is set as a breakpoint. Now that you have started the debug process, the layout of the Workbench program changes slightly. A Debug menu and the "Disassembly", the assembly/machine code instructions at their specific memory addresses on the ez430, appear. To continue the execution of the program, select Debug->Go. If you would like to set breakpoints (in order to view the "path" of program execution or the values of specific variables or registers at a certain point during the program execution) click to the left of a line of code such that a red 'X' appears.
You can pause the debugger when the target is running if you would like to look at the value of certain variables. Select Debug->Break and open a watch window to examine the value of certain variables. It is suggested that you copy the variables you are interested in to temporary global variables. Because local variables go out of scope, it is uncertain if their correct value is maintained when the debugger is paused.
Debugging can be stopped using Debug->Stop. At this point, the watch window will not display your variable values. At this point, you may make any modifications to your program as necessary and restart the debugger from the beginning.
All of the necessary commands have shortcut icons as the following diagram shows:
Figure 6: The program layout during debugging
Workbench: Debug View
Workbench: Debug View (toolbarAfter.png)
Legend:
  1. Make/Debug- This button will compile, load, and run the code onto the chip. This process happens rather rapidly so if the execution of this seems to hang, then something is wrong. Usually disconnecting the tool and/or restarting Workbench solves this problem. Don't forget to save first!
  2. Go- This button is for the Go command in the debug menu; it tells the program to continue execution until the next breakpoint. The buttons to its left are other ways of traversing through breakpoints that you may experiment with.
  3. Stop Debug- Selecting this will end the debugging process. If you want to modify your code then you must stop debugging first.
  4. Dissassembly- This is a map of the memory space of the ez430 and where your code has been placed (in its compiled form).
  5. Current Location- The Green Arrow/Green Highlighting indicates the current instruction being executed.

Good luck!

You're all set to start using the CrossStudio compiler to write embedded microcontroller code. Save often and remember that disconnecting and reconnecting or restarting the program will solve almost all interface problems that you encounter. Don't worry if breakpoints seem a little confusing now. We will go into more depth shortly and a good bit of practice is necessary to use them effectively.

0 comments:

Post a Comment

Share your knowledge

Related Posts Plugin for WordPress, Blogger...

Popular Projects

program for Dual DAC 8051 Microcontroller Based DC Motor Control A Microcontroller Based Turbidity Meter A m -Controller Based Thermostat ASCII to BCD conversion in 8051 AT90LS8515 Digital Message Machine Audio Frequency Response Analyzer Audio Homing Robot Automated Juice Mixer Automated Pet Feeder Autonomous Car Autonomous Parallel Parking RC Car Autonomous Search Robot Autonomous Tank Autonomous Vehicle Contrast Following Rover Autonomous navigating robot BCD number to ASCII in 8051 Balance Bot Blind Bot Blood Pressure Monitor Bloodshed Dev-C++ 5 Compiler/IDE Breath Alcohol Tester Converters on TI MSP430 CrossStudio MSP430 IDE Design of a Real-Time Digital Guitar Tuner Digital Oscilloscope Digital Stethoscope Digital clock project using PIC16C54A microcontroller Digital thermometer ECG monitoring system GPS Data Logger with Wireless Trigger Handwriting Recognition Systm Home Security System Home energy managment IAR Embedded Workbench IDE INFRARED TRACKING SYSTEM IntelliBOT Laser Communications System Line following van MSP-EXP430FG4618 Development Tool and the eZ430 kits MSP430FG4618 device implement a Buzzer tone generator MSP430FG4618 device implement a Real Time Clock MSP430FG4618 device implement a voltage ramp generator MSP430FG4618 device present a message on the LCD Basic Microcontroller(8051) Lab Mivo- RFID based mobile payment system Multi-Zone Fire Alarm System PC based temperature control PIC 16f877 RPM Meter PIC16C54 dual dice electronic project circuit PIC16F84A digital thermometer microcontroller project PIC16F886 horn driver PWM motor contoller with MSP430 Program Block data transfer in 8051 Program to add two BCD numbers in 8051 Program to check whether a 4th bit of a byte is 1 Program to convert ASCII to hex in 8051 Program to count from 0-9 in 8051 Program to count number of 1's in a given data byte in 8051 Program to divide an 8 bit no by another 8 bit number in 8051 Program to find largest of n numbers in 8051 Program to find the LCM of two numbers in 8051 Program to find the square of an 8 bit number in 8051 Program to generate 50msec delay in 8051 Program to implement BCD counter to count from 0-99 in 8051 Program to implement BCD counter to count from 99-0 in 8051 Program to interchange two blocks of data in 8051 Program to multiply 16 bit number by 8 bit number in 8051 Program to search an element in an array in 8051 Program to sort an array of 10 elements in 8051 Programming the ez430 Proximity Security System RAMP wave in 8051 RC Car Controller RObo Dog Radio-controlled Truck Retina color tracker Robotic Arm Controller with GUI Robotic Car Traction Control Safety-sensor vehicle Security Entrance System Self-Powered Solar Data Logger Snake Arm Ultrasonic Positioning Control System Store FFh if 1 Super Train Controller TI MSP430 Microcontrollers Timers on the MSP430 TouchPad Drawing Board Ultra-Sonic Parking Assistant Ultrasonic Parking Controller Ultrasonic Range finder Voice Activated Alarm Clock Voice Recognition Robotic Car Voting Machine Weather Station Web-Monitored Thermostat Wireless Drawing Device Wireless Telemetry Wireless message Communicator Write a C program to display the code of the key pressed in 8051 Zigbee Wireless Relay Control and Power Monitoring System add two multibyte numbers in 8051 convert a decimal number to hex number in 8051 convert an 8bit Hex number to decimal number in 8051 convert hex number to ASCII number in 8051 eZ430-F2013 Development Tool use SD16_A ADC eZ430-RF2500 Development Tool use ADC10 else store 00 in the same location in 8051 find the GCF of two numbers in 8051 find the average of 10 numbers in 8051 generate Fibonacci series in 8051 metal detector project microcontroller using IAR Embedded Workbench program for Elevator Interface in 8051 program for Stepper motor interface in 8051 spectrum analyser square wave in 8051 triangle wave in 8051 voice recognition security system

Sites U missed

Hint

Open Pictures in new page by right click on it, if it is not shown full image.