« Previous - Version 14/16 (diff) - Next » - Current version
Anthony Rowe, 02/02/2008 06:58 pm


= AVR Studio =

This page describes how to use AVR Studio for debugging Nano-RK applications running on a single node. AVR Studio is good for debugging execution of complicated C / Assembly algorithms, or debugging memory problems. It is not good for simulating network interactions or multiple nodes communicating. For that you need a network wide simulation environment.

In order to run Nano-RK inside AVR Studio, you will need version 4.13 build 571 or newer. This can be downloaded for free from the following link: http://www.atmel.com/dyn/products/tools_card.asp?tool_id=2725

'''Step 1: Install AVR StudioBR'''

'''Step 2: Install Service Pack 2BR'''

'''Step 3: Install Nano-RK and WinAVR on a Windows MachineBR''' * This is required so that the source can be correctly linked against the binary file. Using a binary built in linux works except that you will not be able to browse the connected C source, just the assembly (with no comments!).

'''Step 4: Build an elf fileBR''' * The Nano-RK build system automatically builds the elf file when you run make in a project. To test this, go into a project like basic_tasks and type "make". You should see the following files: * main.o * main.d * main.lst * main.eep * main.lss * You may need to run make twice for this one. It is an extended list file with all assembly code for all functions * main.sym * main.map * main.hex * '''main.elf''' * This is the file we need for the simulator! * You can copy this file to a separate debugging directory if you like...

'''Step 5: Start up AVR StudioBR''' * Start-> Programs -> Atmel AVR Tools -> AVR Studio 4

'''Step 6: Load the elf fileBR''' * Click "Open" and navigate to your .elf file * On the next screen, save the .aps file in the same directory. * This file is used to store debugger settings etc

'''Step 7: AVR Simulator SettingsBR''' * For the Debugging Platform select: AVR Simulator * For the Device select: ATmega1281 * Press Finish * make sure you see something like the following in the Messages window:

{{{
Loaded plugin STK500
Loaded partfile: E:\Program Files\Atmel\AVR Tools\PartDescriptionFiles\ATmega1281.xml
AVR Simulator: Please wait while configuring simulator...
AVR Simulator: ATmega1281 Configured OK
Loaded objectfile: E:\Documents and Settings\agr\Desktop\nrk-debug\main.elf
}}}

'''Step 8: Set processor speed BR''' * Go Debug Menu -> AVR Simulator Options * Set Frequency to 8 MHz


= Tips =

'''View -> Memory''' * This lets you look at the various memories on the processor.

'''View -> Watch''' * This lets you monitor particular variables in your code. * Select the variable in your code window and then right click -> Add Watch: "xxx"

'''Setting Breakpoints''' * You can set break points anywhere in your code (even in sections not currently displayed in the debugger) * File -> Open File * Navigate to any source file in Nano-RK * Once it opens, you can right click -> Toggle Breakpoint * This will cause the simulator to stop once it reaches that point

'''Dissassembler Window''' * View -> Disassembler will show the raw assembly * You can switch back and forth from the C code to the assembly code etc


= Trouble? =

If you see the following in the Message Window: {{{
Coordinator: The object file does not contain source code information.
}}}
You probably did not select the elf file (the hex file will load without source) or you are using an old version of AVR Studio.