chipKIT® Development Platform

Inspired by Arduino™

Debugging + development

Created Sat, 30 Jul 2011 03:52:29 +0000 by pickey


pickey

Sat, 30 Jul 2011 03:52:29 +0000

How does one do debugging of code on Linux? Setting break-points, single-stepping, the usual. What additional hardware adapter is minimally required?

Thanks!


WestfW

Sat, 30 Jul 2011 07:14:25 +0000

Arduino-like environments don't support any of the "usual" advanced debugging capabilities. This is one of the more credible criticisms of Arduino/etc.

OTOH, since arduino (and mpide) use gcc and eventually produce a standard .elf file, you can use vendor-provided tools and simulators and such.


pickey

Sat, 30 Jul 2011 07:52:18 +0000

Thanks muchly for your answer. That's probably why I'm having those problems with arduino too and had hopes pic32 would be more advanced :-(

There is a cross-avr-insight GUI frontend for avr, is that any use for pic32?

And "vendor-supplied tools" is not really happening for Linux, but somehow it should be possible to make this work with gdb or whatever else is at hand, hence my question what might be minimally required in terms of adapters and software.

Thanks.


WestfW

Sat, 30 Jul 2011 08:10:24 +0000

And "vendor-supplied tools" is not really happening for Linux

MPLabX supports linux (and Mac!) (or it is supposed to, eventually.) I don't know what the state of that support is at the moment, or what hardware is supported (the chipKit boards have the standard microchip connector for ICDx or PICKITx), but I was pretty happy to be able to use the pic32 simulator on my mac to debug the atan2 problems recently reported here.

I'm not sure of the status of gdb proxies for microchip hardware. At least a lot of the firmware has published source, which makes such a thing more likely than for the AVR Arduino (Atmel has said very little about their debugging hw support.)

Presumably it would also be possible to put a gdb "remote" client on the MIPs itself and communicate via the serial port. I don't know whether that's been done, either (usually that happens on bigger systems. But the PIC32s aren't THAT small, and the remote clients aren't THAT big...