IDE Question


I'm currently using the standard free Arduino IDE, to program my Arduino boards. What i find troublesome is that there is no other way to check on variable values than print them out to the serial monitor. I was wondering if there is a way in the standard Arduino IDE to get an overview of all your variables and their value. If not, is there any other IDE's that could be used to program the Arduino Boards? I.e Netbeans?



The value of a variable changes as the code executes. Hence the name variable, instead of constant.

The code executes on a different computer from the one it is compiled and linked on.

That makes building a debugger just a tiny bit harder.

Or perhaps I misunderstood the question, and need for you to elaborate.

I agree with the original suggestion/question. It would indeed be very nice to have an interactive debugger and a software-based "ICE". This is like an in-circuit emulator but with only software. You can check out the wikipedia article about one such product for windows machines: SoftICE from Numega. Basically you can set your breakpoints and watchpoints, etc. It would be quite useful! As an historical note, SoftICE shipped in 1987. Before that we had hardware ICE's like Intel's ICE-85 from about 1977.

Perhaps a simulator would be nice. Where you can create you schema with a gui and simulate the program. Then you would have instant access to the variables

have you tried avr studio?

Great! AVR Studio is available from the Atmel site. Sparkfun offers an ICE for the jtag connector + goodies. thx

JTAG isn’t supported by the ATMega’s used in Aduino’s so you may want to hold your breath a while before rushing off to spend your money on JTAG hardware.

The ATMega’s support debugWire which is a proprietary (not documented) Atmel protocol. The protocol supports an unlimited number of breakpoints as well as inspection of register/variables of a running application. That is pretty much everything needed for a good in circuit debugging tool. Since the protocol is only known to Atmel however you will need an Atmel programmer (I know JTAGICE MKII and AVR Dragon will support debugWire).

An additional complication is that debugWire uses the RESET line and Arduino has an “auto-reset” capacitor that conflicts with debugWire. Also the 10k pullup resistor on the reset line is outside debugWire specifications.

Further still you will need AVR Studio (rather than the Arduino IDE) to get build/debug support for debugWire and with it you loose direct access to Arduino core and contributed libraries.

After seeing the names of the things to look for I started reading. As you point out Ben, things aren't so happening for an Arduino Mega or Due, etc. to have an ICE and Source level debugger, simulator, etc. And the AVR environment is apparently "limited" to C and assembler.