Hola
stk500 si no confías en los simuladores un depurador te servirá perfectamente, por poner un ejemplo puedes hacer correr el programa hasta una línea de código especifica y ver el contenido de los registros, el estado de los puertos y así saber exactamente que es lo que esta pasando con el programa.
Si nunca depuraste nada y no te interesa depurar en el futuro pues el icd no es para ti.
Yo también era de los que decían: ¿depurar? ¿Para que?
Conocí la depuración programando para PC mucho antes de conocer los PIC y te digo que el tiempo de desarrollo se reduce significativamente.
aunque para depurar pics generalmente lo hago en el MPLAB, mi opción favorita es la de "run to cursor" que me permite parar el programa en muchos puntos usando un solo breakpoint.
Con un icd3 tienes opción de más breakpoints además de los que tienen los PIC por hardware y la ejecución se hace más rápido.
Nocturno
No es que tenga ningún botloader, lo que pasa es que para la depuración se nesecita que este activada una bandera en la CPU del PIC que es precisamente la bandera de debug. El estado de esta bandera no se puede modificar en tiempo de ejecución por lo que requiere que se grabe un nuevo firmware.
ademas esta bandera habilita otros recursos para el debug. con estas opciones activadas seria imposible que el CPU del pic corra de manera normal.
De la misma manera para depurar un programa de PC ¿porque no puedes depurar del exe? ¿Por que nenecitas correr el programa en modo debug?
migsantiago
un break point no es más que una dirección en el programa en la que el contador de programa se detendrá en esa dirección, algo similar pasa con cualquier CPU al depurar un programa.
el PIC cuenta con breakpoints por hardware, se graba una dirección en este y el contador de programa al llegar a esa dirección se detendrá, puedes modificar esa dirección en cualquier momento.
según se el pic16f877x tiene 1 breakpoint (nunca depure en estos)
el PIC 18f4550/2550 tiene tres breakpoints por hardware (estos si los depure)
pero al final ¿Que es un breakpoint?
no es nada más y nada menos que un registro que guarda una dirección (algo así como un puntero) cuando se llega a esta dirección el CPU se detiene y se envía el estado de los registros del PIC
aqui tienes mas información. es sobre depuración en general pero es aplicable a pics.
Cryn
El ICD2 es un muy buen grabador/depurador pero el ser muy caro nunca tuve la oportunidad de tenerlo, a pesar de ser algo antiguo sigue siendo vigente y valido.
esta basado en el PIC 16f877.
el pickit2 es una excelente herramienta la verdad no le veo que tenga nada que envidiarle al ICD2 al contrario veo muchas cosas que el ICD2 tiene que envidiarle al pickit2 además de que es libre en HARDWARE y SOFTWARE y tiene unos accesorios que son extremadamente útiles (al menos para mi) estos son el logic analizer y el uart tool.
además de eso se puede variar el voltaje,
soporta en depuración y grabación una gran variedad de pics y también la función de grabar el programa sin PC(esta solo la uso para dejar boquiabiertos a algunos).
esta basado en el pic18f2550
el pickit3 esta todavía muy verde pero parece que llegara muy lejos, pero por el momento el pickit 2 sigue siendo la mejor opción (entre los pickit).
esta basado en un PIC 24, no me acuerdo en cual pero es uno de los que tienen soporte para USB OTG
El ICD3 es la mejor herramienta además de los breakpoints por hardware se le pueden añadir breakpoints por software es rápido que da miedo.
esta basado en un fpga Xilinx spartan y un dspic33fj256.
aqui tienen unas fotos de sus interiores.aquí esta la muchas veces posteada tabla de comparación de microchip.
salu2:)
es la primera vez que hago un post tan largo y como no dormí bien en 2 días espero no haberme equivocado en nada.