debugWIRE

Ciao a tutti,
E’ possibile fare il debug passo passo dal vivo (verificare valori variabili, stack, etc…) sull’ATMega328P?
Ho letto su wikipedia di debugWIRE e sembra interessante, sapete se si può utilizzare senza hardware aggiuntivo? Come si utilizza?

Usare dei semplici Serial.printf ? no ? :) La debugWIRE la puoi fare usando AVR Studio e simili assieme ad un apposito programmatore/debuger... molto costosi...

Usare dei Serial.printf diventa scomodo alla lunga o quando si hanno molte variabili, per questo stavo chiedendo se c’erano alternative. Pensavo che debugWIRE si potesse usare con un pin del micro collegato al pc con usb o tramite un altro arduino.
E’ difficile vedere lo stack delle chiamate inoltre, un debugger in genere ti permette anche di cambiare “al volo” i valori e risparmiare così un pò di tempo ed evitare il modifica/ricompila/upload/rilancia
Comunque se costano molto questi programmatori… ben tornato printf :slight_smile:

mi pare che AVR Studio abbia un "simulatore" di atmega interno, in cui puoi tetstare il codice (anche riga per riga) senza problemi

Ciao a tutti, E' possibile fare il debug passo passo dal vivo (verificare valori variabili, stack, etc..) sull'ATMega328P? Ho letto su wikipedia di debugWIRE e sembra interessante, sapete se si può utilizzare senza hardware aggiuntivo? Come si utilizza?

Non mi risulta ci sia software Open Source che sia ingrado di fare questo. Come detto la cosa è fattibile anche con avrisp mkii che non è costosissimo, ma di sta cosa non sono certo perchè l'avrisp c'è l'ho da poco e AVR Studio non lo posso provare perchè non ho una licenza swindows.

Tra le altre cose non so se il protocollo debugWire è documentato.

Ciao.

Si può usare debugWIRE in combinazione con AVR Studio 4 (o 5) e AVR Dragon (che ha un costo relativamente basso) per eseguire il debug di codice prodotto con l'IDE di Arduino. Il protocollo debugWIRE (che è proprietario) usa la sola linea di reset per effettuare il debug, ma con Arduino c'è il problema che tale linea ha il condensatore di autoreset che impedisce il corretto funzionamento del debugger (a questo riguardo non sarebbe male che su Arduino si potesse escludere il condensatore con un jumper senza dover violentare la schedina). Dai un'occhiata a questo post su come utilizzare il simulatore di AVR Studio http://arduino.cc/forum/index.php/topic,65968.msg483458.html#msg483458.